JWST ETC Instrument Throughputs

Throughputs for all four JWST science instruments can be calculated with the Pandeia engine using files found in the pandeia_data directory.

On this page

An important component of the Pandeia engine download is the data directory, referred to as pandeia_data. This directory contains all the data files necessary for running calculations in Pandeia engine calculations. These data are also identical to those used in calculations with the JWST Exposure Time Calculator (ETC) web application. These data may also be used to compute throughputs for the various instruments and observing modes.

Instructions for downloading and installing the Pandeia engine and the pandeia_data directory are found in the Installing Pandeia article.

Calculating throughputs

All files relevant for calculating throughputs for the four JWST science instruments are found in the jwst folder of pandeia_data. The sub-directories in this folder are detectormiri, nircam, niriss, nirspec, and telescope. Relevant sub-directories in each of the instrument folders are filter, optical, and qe.

Users interested in throughputs for the various instrument modes should use the get_total_eff() function included in the Pandeia engine. This function considers all files for relevant instrument elements and properties (listed in the sections below) and outputs the throughput across a desired wavelength range. Below is a code snippet showing the use of the get_total_eff() function.

from pandeia.engine.instrument_factory import InstrumentFactory

# set up your wavelengths
wave = [wavelengths_you_want]

# create a configured instrument
instrument_factory = InstrumentFactory(config=conf)

# where conf is a configuration dictionary for a calculation:
#  conf={
#        "detector": {
#            "nexp": 1,
#            "ngroup": 10,
#            "nint": 1,
#            "readout_pattern": "deep2",
#            "subarray": "full"
#        },
#        "dynamic_scene": true,
#        "instrument": {
#            "aperture": "sw",
#            "disperser": null,
#            "filter": "f150w2",
#            "instrument": "nircam",
#            "mode": "sw_imaging"
#        }

# get the throughput of the instrument over the desired wavelength range
eff = instrument_factory.get_total_eff(wave)


  • Getting the correct total throughput for the SOSS cross-disperser gr700xd requires setting instrument_factory.order = 1 (or 2) before running instrument_factory.get_total_eff()

The total throughput calculated using the procedure above does not include pupil losses, which can be significant for coronagraphic imaging and the NIRISS AMI mode. Pupil losses can be extracted from the PSF files using the FITS keyword PUP_THRU. These pupil losses are achromatic, so can be ignored for color calculations, but should be considered for absolute photometry. The code snippet below, which is a continuation of the code above, shows how to account for pupil losses:

pupil = instrument_factory.psf_library.get_pupil_throughput(wave[0],conf['instrument']['instrument'],conf['instrument']['aperture'])
eff = eff * pupil


  • The quantum efficiency (QE) files in this directory are not used by the ETC or the Pandeia engine. The relevant QE files for the science instruments are in the /miri/qe, /nircam/qe, /niriss/qe, and /nirspec/qe sub-directories.


  • The /miri/optical sub-directory contains files for the three MIRI MRS dichroics that split the light into the four separate IFUs (channels). Reflection and transmission profiles are provided for each of the three dichroics. As shown in the schematic in the MIRI Optics and Focal Plane article, the light path to the four different channels is complex. Two separate wheels contain three dichroics for each of the three wavelength ranges (Short (A), Medium (B), and Long (C)). In the file names, the dichroics are labeled "dich1", "dich2", and "dich3", followed by an "s" for the short wavelength range, "m" for the medium wavelength range, or "l" for the long wavelength range, and "trans" for transmission or "refl" for reflection. The light paths taken to each channel are outlined below and indicate which files are used in calculating the throughput for each:

    • Channel 1: Reflection off dichroic 1.

    • Channel 2: Transmission through dichroic 1, reflection off dichroic 2.

    • Channel 3: Transmission through dichroics 1 & 2, reflection off dichroic 3.

    • Channel 4: Transmission through dichroics 1, 2, & 3.

  • The /miri/optical sub-directory also contains transmission files for the germanium coatings on the four-quadrant phase masks (4QPMs) for coronagraphic imaging. Keep in mind that these transmission files are also relevant for target acquisition (TA) using the 4QPMs.
    • The jwst_miri_ge_ar1_trans file applies to the F1065C and F1140C 4QPMs.
    • The jwst_miri_ge_ar2_trans file applies to the F1550C 4QPM.
  • The QE file for the MIRI imaging detector, jwst_miri_imager_qe, is used for calculating throughputs for MIRI Imaging, MIRI Imaging Time Series, MIRI Low Resolution Spectroscopy (LRS) Slit, MIRI Low Resolution Spectroscopy (LRS) Slitless, and MIRI Coronagraphic Imaging.
  • The MIRI MRS is composed of two separate detectors. The jwst_miri_mrs-sw_qe file is the relevant QE file for Channel 1 and Channel 2 of the MRS ("sw" stands for "short wavelength"). Similarly, jwst_miri_mrs-lw_qe is the relevant QE file for Channel 3 and Channel 4 of the MRS (lw stands for "long wavelength").


  • The jwst_nircam_sw-lyot_trans_modmean and jwst_nircam_lw-lyot_trans_modmean files in the /nircam/optical sub-directory are the average transmissions of Module A and Module B for coronagraphic imaging with the Lyot spots.

  • The jwst_nircam_wlp4 and jwst_nircam_wlp8 optical transmission files correspond to the weak lenses, used in the NIRCam SW Time Series mode.

  • The jwst_nircam_sw_dbs and jwst_nircam_lw_dbs files are the dichroic beam splitter (DBS) for each channel which directs incoming illumination to the shortwave (SW) or longwave (LW) channel.
  • The jwst_nircam_moda_com_substrate_trans is for the coronagraphic optical substrate for Module A which is used for coronagraphic imaging mode. 
  • The jwst_nircam_sw_qe and jwst_nircam_lw_qe files apply to any observations made from 0.6 to 2.3 μm and 2.4 to 5.0 μm, respectively.


  • The jwst_niriss_nrm_trans file under the filter sub-directory is used for the Aperture Masking Interferometry (AMI) mode. "NRM" refers to the non-redundant mask that enables the AMI mode.

  • Three options are available in the /niriss/optical sub-directory:
    • jwst_niriss_internaloptics_throughput: Used when neither the CLEAR nor CLEARP slots are selected in the filter and pupil wheels, respectively.
    • jwst_niriss_internaloptics-clear_throughput: Used when the CLEAR slot is selected in the filter wheel and a filter or grating is selected in the pupil wheel.
    • jwst_niriss_internaloptics-clearp_throughput: Used when the CLEARP slot is selected in the pupil wheel and a filter or grating is selected in the filter wheel.



  • The telescope sub-directory contains the throughput of the optical telescope element (OTE)jwst_telescope_ote_thruput. This file is relevant for calculating throughputs for all observing modes since all light first passes through the OTE before entering the optical paths of the science instruments.



Latest updates
    Updated for ETC v1.6 

  • Updated for ETC v1.5