Level 3 Associations: Technical Specifications¶
Logical Structure¶
Independent of the actual format, all Level 3 associations have the following structure. Again, the structure is defined and enforced by the Level 3 schema
- Top level, or meta, key/values
- List of products, each consisting of
- Output product name template
- List of exposure members, each consisting of
- filename of the input exposure
- Type of exposure
- Errors from the observatory log
- Association Candidates this exposure belongs to
Example Association¶
The following example will be used to explain the contents of an association:
{
"degraded_status": "No known degraded exposures in association.",
"version_id": "20160826t131159",
"asn_type": "image3",
"asn_id": "c3001",
"constraints": "Constraints:\n opt_elem2: CLEAR\n detector: (?!NULL).+\n target_name: 1\n exp_type: NRC_IMAGE\n wfsvisit: NULL\n instrument: NIRCAM\n opt_elem: F090W\n program: 99009",
"asn_pool": "mega_pool",
"asn_rule": "Asn_Image",
"target": "1",
"program": "99009",
"products": [
{
"name": "jw99009-a3001_t001_nircam_f090w",
"members": [
{
"exposerr": null,
"expname": "jw_00001_cal.fits",
"asn_candidate": "[('o001', 'observation')]",
"exptype": "science"
},
{
"exposerr": null,
"expname": "jw_00002_cal.fits",
"asn_candidate": "[('o001', 'observation')]",
"exptype": "science"
}
]
}
]
}
Association Meta Keywords¶
The following are the top-level, or meta, keywords of an association.
- program optional
- Program number for which this association was created.
- target optional
- Target ID for which this association refers to. DMS currently uses the TARGETID header keyword in the Level2 exposure files, but there is no formal restrictions on value.
- asn_type optional
- The type of association represented. See level3-asn-association-types
- asn_id optional
- The association id. The id is what appears in the asn-DMS-naming
- asn_pool optional
- Association pool from which this association was created.
- asn_rule optional
- Name of the association rule which created this association.
- degraded_status optional
- Error status from the observation logs. If none the phrase “No known degraded exposures in association.” is used.
- version_id optional
- Version identifier. DMS uses a time stamp with the format
yyyymmddthhmmssCan be None or NULL - constraints optional
- List of constraints used by the association generator to create this association. Format and contents are determined by the defining rule.
products Keyword¶
Association products have to components:
- name optional
The string template to be used by Level 3 processing tasks to create the output file names. The product name, in general, is a prefix on which the individual pipeline and step modules will append whatever suffix information is needed.
If not specified, the Level3 processing modules will create a name root.
- members required
- This is a list of the exposures to be used by the Level 3 processing tasks. This keyword is explained in detail in the next section.
members Keyword¶
members is a list of objects, each consisting of the following
keywords
- expname required
- The exposure file name
- exptype required
Type of information represented by the exposure. Possible values are
sciencerequiredThe primary science expsoures. There is usually more than one since Level3 calibration involves combining multiple science exposures. However, at least one exposure in an association needs to be
science.psfoptionalExposures that should be considered PSF references for coronagraphic and AMI calibration.
- exposerr optional
- If there was some issue the occured on the observatory that may have
affected this exposure, that condition is listed here. Otherwise the
value is
null - asn_candidate optional
- Contains the list of association candidates this exposure belongs to.
Editing the member list¶
As discussed previously, a member is made up of a number of keywords, formatted as follows:
{
"expname": "jw_00003_cal.fits",
"exptype": "science",
"exposerr": null,
"asn_candidate": "[('o001', 'observation')]"
},
To remove a member, simply delete its corresponding set.
To add a member, one need only specify the two required keywords:
{
"expname": "jw_00003_cal.fits",
"exptype": "science"
},