Level3 Associations: Rules

Data Grouping

JWST exposures are identified and grouped in a specific order, as follows:

  • program

    The entirety of a science observing proposal is contained within a program. All observations, regardless of instruments, pertaining to a proposal are identified by the program id.

  • observation

    A set of visits, any corresponding auxiliary exposures, such as wavelength calibration, using a specific instrument. An observation does not necessarily contain all the exposures required for a specific observation mode. Also, exposures within an observation can be taken with different optical configurations of the same instrument

  • visit

    A set of exposures which sharing the same source, or target, whether that would be external to the observatory or internal to the instrument. The can be many visits for the same target, and visits to different targets can be interspersed among themselves.

  • group

    A set of exposures that share the same observatory configuration. This is basically a synchronization point between observatory moves and parallel instrument observations.

  • sequence


  • activity

    A set of exposures that are to be taken atomically. All exposures within an activity are associated with each other and have been taken consecutively.

  • exposure

    The basic unit of science data. Starting at Level1b, an exposure contains a single integrations of a single detector from a single instrument for a single snap. Note that a single integration actually is a number of readouts of the detector during the integration.


All rules have as their base class DMS_Level3_Base This class defines the association structure, enforces the DMS naming conventions, and defines the basic validity checks on the Level3 associations.

Along with the base class, a number of mixin classes are defined. These mixins define some basic constraints that are found in a number of rules. An example is the AsnMixin_Base, which provides the constraints that ensure that the program identificaiton and instrument are the same in each association.

The rules themselves are subclasses of AsnMixin_Base and whatever other mixin classes are necessary to build the rule. Conforming to the Class Naming scheme, all the final Level3 association rules begin with Asn_. An example is the Asn_Image rule.

The following figure shows the above relationships. Note that this diagram is not meant to be a complete listing.


Figure 1: Level3 Rule Class Inheritance

Level3 Rules

Association Definitions: DMS Level3 product associations

class jwst.associations.lib.rules_level3.Asn_Image(*args, **kwargs)[source]

Non-Association Candidate Dither Associations

class jwst.associations.lib.rules_level3.Asn_WFSCMB(*args, **kwargs)[source]

Wavefront Sensing association


Defined by TRAC issue #269

class jwst.associations.lib.rules_level3.Asn_MIRI_LRS_FIXEDSLIT(*args, **kwargs)[source]

MIRI LRS Fixed slit

class jwst.associations.lib.rules_level3.Asn_MIRI_LRS_SLITLESS(*args, **kwargs)[source]

MIRI LRS Slitless

class jwst.associations.lib.rules_level3.Asn_NIR_SO_SLITLESS(*args, **kwargs)[source]

NIRISS Single-Object Slitless

class jwst.associations.lib.rules_level3.Asn_NRS_FIXEDSLIT(*args, **kwargs)[source]

NIRSPEC Fixed Slit

class jwst.associations.lib.rules_level3.Asn_NRS_MSA(*args, **kwargs)[source]


class jwst.associations.lib.rules_level3.Asn_MIRI_IFU(*args, **kwargs)[source]



Define product name.

class jwst.associations.lib.rules_level3.Asn_NRS_IFU(*args, **kwargs)[source]


class jwst.associations.lib.rules_level3.Asn_Coron(*args, **kwargs)[source]



Coronography is nearly completely defined by the association candidates produced by APT.

Tracking Issues:

  • github #311