Reference Files
The photom
step uses PHOTOM
and pixel AREA reference files.
The AREA reference file is only used when processing
imaging and NIRSpec IFU observations.
PHOTOM Reference File
- REFTYPE:
PHOTOM
The PHOTOM reference file contains conversion factors for putting pixel values into physical units.
Reference Selection Keywords for PHOTOM
CRDS selects appropriate PHOTOM references based on the following keywords. PHOTOM is not applicable for instruments not in the table. All keywords used for file selection are required.
Instrument |
Keywords |
---|---|
FGS |
INSTRUME, DETECTOR, DATE-OBS, TIME-OBS |
MIRI |
INSTRUME, DETECTOR, BAND, DATE-OBS, TIME-OBS |
NIRCam |
INSTRUME, DETECTOR, DATE-OBS, TIME-OBS |
NIRISS |
INSTRUME, DETECTOR, DATE-OBS, TIME-OBS |
NIRSpec |
INSTRUME, EXP_TYPE, DATE-OBS, TIME-OBS |
Standard Keywords
The following table lists the keywords that are required to be present in all reference files. The first column gives the FITS keyword names. The second column gives the jwst data model name for each keyword, which is useful when using data models in creating and populating a new reference file. The third column gives the equivalent meta tag in ASDF reference file headers, which is the same as the name within the data model meta tree (second column).
FITS Keyword |
Data Model Name |
ASDF meta tag |
---|---|---|
AUTHOR |
model.meta.author |
author |
DATAMODL |
model.meta.model_type |
model_type |
DATE |
model.meta.date |
date |
DESCRIP |
model.meta.description |
description |
FILENAME |
model.meta.filename |
N/A |
INSTRUME |
model.meta.instrument.name |
instrument: {name} |
PEDIGREE |
model.meta.pedigree |
pedigree |
REFTYPE |
model.meta.reftype |
reftype |
TELESCOP |
model.meta.telescope |
telescope |
USEAFTER |
model.meta.useafter |
useafter |
NOTE: More information on standard required keywords can be found here: Standard Required Keywords
Type Specific Keywords for PHOTOM
In addition to the standard reference file keywords listed above, the following keywords are required in PHOTOM reference files, because they are used as CRDS selectors (see Reference Selection Keywords for PHOTOM):
Keyword |
Data Model Name |
Instruments |
---|---|---|
DETECTOR |
model.meta.instrument.detector |
FGS, MIRI, NIRCam, NIRISS |
EXP_TYPE |
model.meta.exposure.type |
All |
BAND |
model.meta.instrument.band |
MIRI |
Tabular PHOTOM Reference File Format
PHOTOM reference files are FITS format. For all modes except MIRI MRS, the PHOTOM file contains tabular data in a BINTABLE extension with EXTNAME = ‘PHOTOM’. The FITS primary HDU does not contain a data array. The contents of the table extension vary a bit for different instrument modes, as shown in the tables below.
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
FGS |
Image |
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
MIRI |
Image |
filter |
string |
12 |
N/A |
subarray |
string |
15 |
N/A |
||
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
The MIRI Imager PHOTOM reference file can contain an optional BINTABLE extension named “TIMECOEFF”, containing coefficients for an time-dependent correction. The format of this additional table extension is as follows:
EXTNAME |
XTENSION |
NAXIS |
Dimensions |
Data type |
---|---|---|---|---|
TIMECOEFF |
BINTABLE |
2 |
TFIELDS = 3 |
float32 |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
MIRI |
LRS |
filter |
string |
12 |
N/A |
subarray |
string |
15 |
N/A |
||
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
||
nelem |
integer |
scalar |
N/A |
||
wavelength |
float |
array |
microns |
||
relresponse |
float |
array |
unitless |
||
reluncertainty |
float |
array |
unitless |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRCam |
Image |
filter |
string |
12 |
N/A |
pupil |
string |
12 |
N/A |
||
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRCam |
WFSS |
filter |
string |
12 |
N/A |
pupil |
string |
15 |
N/A |
||
order |
integer |
scalar |
N/A |
||
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
||
nelem |
integer |
scalar |
N/A |
||
wavelength |
float |
array |
microns |
||
relresponse |
float |
array |
unitless |
||
reluncertainty |
float |
array |
unitless |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRISS |
Image |
filter |
string |
12 |
N/A |
pupil |
string |
12 |
N/A |
||
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRISS |
SOSS |
filter |
string |
12 |
N/A |
pupil |
string |
15 |
N/A |
||
order |
integer |
scalar |
N/A |
||
photmj |
float |
scalar |
MJy/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/(DN/sec) |
||
nelem |
integer |
scalar |
N/A |
||
wavelength |
float |
array |
microns |
||
relresponse |
float |
array |
unitless |
||
reluncertainty |
float |
array |
unitless |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRISS |
WFSS |
filter |
string |
12 |
N/A |
pupil |
string |
15 |
N/A |
||
order |
integer |
scalar |
N/A |
||
photmjsr |
float |
scalar |
MJy/steradian/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/steradian/(DN/sec) |
||
nelem |
integer |
scalar |
N/A |
||
wavelength |
float |
array |
microns |
||
relresponse |
float |
array |
unitless |
||
reluncertainty |
float |
array |
unitless |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRSpec |
Fixed Slit |
filter |
string |
12 |
N/A |
grating |
string |
15 |
N/A |
||
slit |
string |
15 |
N/A |
||
photmj |
float |
scalar |
MJy/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/(DN/sec) |
||
nelem |
integer |
scalar |
N/A |
||
wavelength |
float |
array |
microns |
||
relresponse |
float |
array |
unitless |
||
reluncertainty |
float |
array |
unitless |
- Data model:
Instrument |
Mode |
Column name |
Data type |
Dimensions |
Units |
---|---|---|---|---|---|
NIRSpec |
MOS and IFU |
filter |
string |
12 |
N/A |
grating |
string |
15 |
N/A |
||
photmj |
float |
scalar |
MJy/(DN/sec) |
||
uncertainty |
float |
scalar |
MJy/(DN/sec) |
||
nelem |
integer |
scalar |
N/A |
||
wavelength |
float |
array |
microns |
||
relresponse |
float |
array |
unitless |
||
reluncertainty |
float |
array |
unitless |
Row Selection
A row of data within the table is selected by the photom
step based on
the optical elements in use for the exposure. The selection attributes are
always contained in the first few columns of the table. The remaining
columns contain the data needed for photometric conversion.
The row selection criteria for each instrument/mode are:
- FGS:
No selection criteria (table contains a single row)
- MIRI:
Imager and LRS: Filter and Subarray
MRS: Does not use table-based reference file (see below)
- NIRCam:
All: Filter and Pupil
- NIRISS:
Imaging: Filter and Pupil
Spectroscopic: Filter, Pupil, and Order number
- NIRSpec:
IFU and MOS: Filter and Grating
Fixed Slits: Filter, Grating, and Slit name
Note: For spectroscopic data the Nelem column should be present. Its value must be greater than 0, and Nelem entries are read from each of the Wavelength and Relresponse arrays. Nelem is not used for imaging data because there are no columns containing arrays.
The primary header of the tabular PHOTOM reference files contains the keywords PIXAR_SR and PIXAR_A2, which give the average pixel area in units of steradians and square arcseconds, respectively.
MIRI MRS Photom Reference File Format
- Data model:
For MIRI MRS, the PHOTOM file contains 2-D arrays of conversion factors in IMAGE extensions. The FITS primary HDU does not contain a data array. The format and content of the MIRI MRS PHOTOM reference file is as follows:
EXTNAME |
XTENSION |
NAXIS |
Dimensions |
Data type |
---|---|---|---|---|
SCI |
IMAGE |
2 |
1032 x 1024 |
float |
ERR |
IMAGE |
2 |
1032 x 1024 |
float |
DQ |
IMAGE |
2 |
1032 x 1024 |
integer |
PIXSIZ |
IMAGE |
2 |
1032 x 1024 |
float |
DQ_DEF |
BINTABLE |
2 |
TFIELDS = 4 |
N/A |
TIMECOEFF_CH1 [1] |
BINTABLE |
2 |
TFIELDS = 5 |
N/A |
TIMECOEFF_CH2 [1] |
BINTABLE |
2 |
TFIELDS = 5 |
N/A |
TIMECOEFF_CH3 [1] |
BINTABLE |
2 |
TFIELDS = 5 |
N/A |
TIMECOEFF_CH4 [1] |
BINTABLE |
2 |
TFIELDS = 5 |
N/A |
Footnotes
The SCI extension contains a 2D array of inverse sensitivity factors corresponding to each pixel in a 2D MRS slice image. The sensitivity factors are in units of (MJy/pixel)/(DN/sec). The ERR extension contains a 2D array of uncertainties for the SCI values, in the same units. The DQ extension contains a 2D array of bit-encoded data quality flags for the SCI values. The DQ_DEF extension contains a table listing the definitions of the values used in the DQ array. The PIXSIZ extension contains a 2D array of pixel sizes (i.e. solid angles), in units of square-arcsec.
The SCI and PIXSIZ array values are both divided into the science product SCI and ERR arrays, yielding surface brightness in units of mJy/sq-arcsec.
Scalar PHOTMJSR and PHOTUJA2 values are stored in primary header keywords in the MIRI MRS PHOTOM reference files and are copied into the science product header by the photom step.
The TIMECOEFF_CH tables contain the parameters to correct the MRS time-dependent throughput loss. If these tables do not exist in the reference file, then the MIRI MRS time-dependent correction is skipped.
Constructing a PHOTOM Reference File
The most straight-forward way to construct a tabular PHOTOM reference file is to populate a data model within python and then save the data model to a FITS file. Each instrument mode has its own photom data model, as listed above, which contains the columns of information unique to that instrument.
A NIRCam WFSS photom reference file, for example, could be constructed as follows from within the python environment:
>>> import numpy as np
>>> from stdatamodels.jwst import datamodels
>>> filter = np.array(['GR150C', 'GR150R'])
>>> pupil = np.array(['F140M', 'F200W'])
>>> order = np.array([1, 1], dtype=np.int16)
>>> photf = np.array([1.e-15, 3.e-15], dtype=np.float32)
>>> uncer = np.array([1.e-17, 3.e-17], dtype=np.float32)
>>> nrows = len(filter)
>>> nx = 437
>>> nelem = np.zeros(nrows, dtype=np.int16) + nx
>>> temp_wl = np.linspace(1.0, 5.0, nx, dtype=np.float32).reshape(1, nx)
>>> wave = np.zeros((nrows, nx), np.float32)
>>> wave[:] = temp_wl.copy()
>>> resp = np.ones((nrows, nx), dtype=np.float32)
>>> resp_unc = np.zeros((nrows, nx), dtype=np.float32)
>>> data_list = [(filter[i], pupil[i], order[i], photf[i], uncer[i], nelem[i],
... wave[i], resp[i], resp_unc[i]) for i in range(nrows)]
>>> data = np.array(data_list,
... dtype=[('filter', 'S12'),
... ('pupil', 'S15'),
... ('order', '<i2'),
... ('photmjsr', '<f4'),
... ('uncertainty', '<f4'),
... ('nelem', '<i2'),
... ('wavelength', '<f4', (nx,)),
... ('relresponse', '<f4', (nx,)),
... ('reluncertainty', '<f4', (nx,))])
>>> output = datamodels.NrcWfssPhotomModel(phot_table=data)
>>> output.save('nircam_photom_0001.fits')
'nircam_photom_0001.fits'
AREA Reference File
- REFTYPE:
AREA
The AREA reference file contains pixel area information for a given instrument mode.
Reference Selection Keywords for AREA
CRDS selects appropriate AREA references based on the following keywords. AREA is not applicable for instruments not in the table. All keywords used for file selection are required.
Instrument |
Keywords |
---|---|
FGS |
INSTRUME, DETECTOR, DATE-OBS, TIME-OBS |
MIRI |
INSTRUME, DETECTOR, FILTER, EXP_TYPE, DATE-OBS, TIME-OBS |
NIRCam |
INSTRUME, DETECTOR, FILTER, PUPIL, EXP_TYPE, DATE-OBS, TIME-OBS |
NIRISS |
INSTRUME, DETECTOR, FILTER, PUPIL, EXP_TYPE, DATE-OBS, TIME-OBS |
NIRSpec |
INSTRUME, DETECTOR, FILTER, GRATING, EXP_TYPE, DATE-OBS, TIME-OBS |
Standard Keywords
The following table lists the keywords that are required to be present in all reference files. The first column gives the FITS keyword names. The second column gives the jwst data model name for each keyword, which is useful when using data models in creating and populating a new reference file. The third column gives the equivalent meta tag in ASDF reference file headers, which is the same as the name within the data model meta tree (second column).
FITS Keyword |
Data Model Name |
ASDF meta tag |
---|---|---|
AUTHOR |
model.meta.author |
author |
DATAMODL |
model.meta.model_type |
model_type |
DATE |
model.meta.date |
date |
DESCRIP |
model.meta.description |
description |
FILENAME |
model.meta.filename |
N/A |
INSTRUME |
model.meta.instrument.name |
instrument: {name} |
PEDIGREE |
model.meta.pedigree |
pedigree |
REFTYPE |
model.meta.reftype |
reftype |
TELESCOP |
model.meta.telescope |
telescope |
USEAFTER |
model.meta.useafter |
useafter |
NOTE: More information on standard required keywords can be found here: Standard Required Keywords
Type Specific Keywords for AREA
In addition to the standard reference file keywords listed above, the following keywords are required in AREA reference files, because they are used as CRDS selectors (see Reference Selection Keywords for AREA):
Keyword |
Data Model Name |
Instrument |
---|---|---|
DETECTOR |
model.meta.instrument.detector |
All |
EXP_TYPE |
model.meta.exposure.type |
MIRI, NIRCam, NIRISS, NIRSpec |
FILTER |
model.meta.instrument.filter |
MIRI, NIRCam, NIRISS, NIRSpec |
PUPIL |
model.meta.instrument.pupil |
NIRCam, NIRISS |
GRATING |
model.meta.instrument.grating |
NIRSpec |
Reference File Format
AREA reference files are FITS format. For imaging modes (FGS, MIRI, NIRCam, and NIRISS) the AREA reference files contain 1 IMAGE extension, while reference files for NIRSpec spectroscopic modes contain 1 BINTABLE extension. The FITS primary HDU does not contain a data array.
Imaging Modes
- Data model:
The format of imaging mode AREA reference files is as follows:
EXTNAME |
XTENSION |
NAXIS |
Dimensions |
Data type |
---|---|---|---|---|
SCI |
IMAGE |
2 |
ncols x nrows |
float |
The SCI extension data array contains a 2-D pixel-by-pixel map of relative pixel areas, normalized to a value of 1.0. The absolute value of the nominal pixel area is given in the primary header keywords PIXAR_SR and PIXAR_A2, in units of steradians and square arcseconds, respectively. These keywords should have the same values as the PIXAR_SR and PIXAR_A2 keywords in the header of the corresponding PHOTOM reference file.
NIRSpec Fixed-Slit Mode
- Data model:
The BINTABLE extension has EXTNAME=’AREA’ and has column characteristics
shown below. There is one row for each of the 5 fixed slits, with slit_id
values of “S200A1”, “S200A2”, “S400A1”, “S200B1”, and “S1600A1”. The pixel
area values are in units of square arcseconds and represent the nominal
area of any pixel illuminated by the slit.
Column name |
Data type |
---|---|
slit_id |
char*15 |
pixarea |
float |
NIRSpec MOS Mode
- Data model:
The BINTABLE extension has EXTNAME=’AREA’ and has column characteristics shown below. There is one row for each shutter in each MSA quadrant. The quadrant and shutter values are 1-indexed. The pixel area values are in units of square arcseconds and represent the nominal area of any pixel illuminated by a given MSA shutter.
Column name |
Data type |
---|---|
quadrant |
integer |
shutter_x |
integer |
shutter_y |
integer |
pixarea |
float |
NIRSpec IFU Mode
- Data model:
The BINTABLE extension has EXTNAME=’AREA’ and has column characteristics
shown below. There is one row for each of the 30 IFU slices, with the
slice_id
values being 0-indexed (i.e. range from 0 to 29). The pixel
area values are in units of square arcseconds and represent the nominal
area of any pixel illuminated by a given IFU slice.
Column name |
Data type |
---|---|
slice_id |
integer |
pixarea |
float |