Pandeia Configuration Dictionaries
Descriptions of keywords in the JWST Pandeia configuration dictionary, valid keyword values (when applicable), and examples of adjusting Pandeia configuration dictionaries to produce particular outputs, are provided in this article.
On this page
Pandeia configuration dictionaries are Python dictionaries, and may be created or edited as such. While it is possible to create a Pandeia configuration dictionary from scratch, it is generally preferable to modify an existing dictionary.
Creating Pandeia configuration dictionaries
Pandeia configuration dictionaries may be created entirely from scratch, imported from JSON files, or created by using Pandeia's build_default_calc
function. Instructions on importing pandeia configuration information from JSON files can be found in the Pandeia Quickstart article.
Configuration dictionary structure
The Pandeia configuration dictionary has the following structure:
calculation
: optional dictionary, contains flags to turn on and off the various calculation parameters. If set toTrue
, the effect is on; if set toFalse
, the effect is off; if set toNone
, the effect is set to the default.noise
: dictionary, contains flags to turn on and off the available noise parameterscrs
: boolean/None, flag to turn on and off the cosmic ray contribution to the noise value.ffnoise
: boolean/None, flag to turn on and off the flat field contribution to the noise
effects
: dictionary, contains flags to turn on and off detector and sky effectssaturation
: boolean/None, flag to turn on and off checks for saturation, and the effects of saturation and signal to noise
configuration
: dictionary, contains parameters related to the scene being observed and the instrument configuration.scene_size
: floating point value, the default size of the scene in arcseconds (the scene will always be a square, with size values referring to the length of a single side)max_scene_size
: floating point value, the maximum size to which the scene can grow in order to include all sources.dynamic_scene
: boolean, whether the scene should dynamically grow to include all sources (up to a maximum ofmax_scene_size
)instrument
: dictionary, contains the instrument configuration parametersaperture
: string, the aperture to be used.disperser
: string, the disperser to be used (if any)filter
: string, the filter to be used (if any)instrument
: string, the instrument to be used (if usingbuild_default_calc
, the value provided for the instrument will be set here)mode
: string, the mode to be used (if usingbuild_default_calc
, the value provided for mode will be set here)
detector
: dictionary, contains the detector configurationngroup
: integer, the number of groups in each rampnint
: integer, the number of ramps in each exposurenexp
: integer, the number of exposuressubarray
: string, which subset of the detector to use (or 'full' to use the entire detector)readout_pattern
: string, which readout pattern to use
strategy
: dictionary, what observing strategy to use. The exact contents vary by strategy, but a typical strategy contains:aperture_size
: floating point, the size of the exposure aperturesky_annulus
: list of 2 floating point values. The inner and outer radius of the annulus in which the sky count rate will be measuredunits
: string, the units of the aperture size and sky annulusbackground_subtraction
: boolean, flag to turn realistic background subtraction on and off. If on, the sky background is measured through the sky annulus or similar special region. If off, the sky background is set to the estimated value through the aperture.target_type
: string, optional: the type of target being observed.target_source
: integer, which source to include in the observation. Only checked iftarget_type
is 'source'.display_string
: string, for information, the name of the observing method being used.method
: string, the internal function name of the observing method being used.target_xy
: list of 2 floating point values: the pixel location of the target.
background
: the background value. Either a string with valuenone
,minzodi
, orecliptic
, or a list of 2 arrays containing the wavelength (μm) and background flux (MJy/sr).background_level
: the background level. A string with the valuelow
,medium
, orhigh
; if background isminzodi
, the valuebenchmark
is also allowed.scene
: list of dictionaries, one for each source in the scene. Each source dictionary includes:position
: dictionary, containing information about the source position. By default, all parameters should always be present in the position dictionary, but Pandeia will interpret any missing parameter as having the value 0.position_parameters
: list of strings, one for each parameter present. Possible parameters are:x_offset
: float, the offset of the source in the x direction from the center of the scene, in arcsecondsy_offset
: float, the offset of the source in the y direction from the center of the scene, in arcsecondsorientation
: float, the angle of the source with respect to the positive scene x axis, in degrees
Each parameter named in the position parameters list must be present in the position dictionary as a separate key of the defined type.
shape
: dictionary, containing information about the source shapegeometry
: string, one ofpoint
,flat
,gaussian2d
,sersic
,sersic_scale
, orpower
. Different shapes require different shape parameters, as follows:point
: Does not require any other parameters. Parameters present will be ignored.flat
: Requires the parametersmajor
andminor
to be present.gaussian2d
: Requires the parametersmajor
andminor
to be present.sersic
: Requires the parametersmajor
,minor
, andsersic_index
to be present.sersic_scale
: Requires the parametersmajor
,minor
, andsersic_index
to be present.power
: Requires the parametersr_core
andpower_index
to be present.
shape_parameters
: list of strings, one for each parameter present. Possible parameters are:major
: float, length of the major axis, in arcseconds.minor
: float, length of the minor axis, in arcseconds.sersic_index
: float, index of the sersic profile. An index of 1.0 yields an exponential profile, 0.5 a gaussian profile, and 4.0 a de Vaucouleurs profile.power_index
: float, index of the power law spatial profile.
norm_method
: string, defines where the profile is to be normalized. Possible values areinteg_infinity
,surf_center
, andsurf_scale
. (For flat profiles, "surf_scale" is not valid; for power law profiles, neither "surf_scale" nor "integ_infinity" are valid.)surf_area_units
: string, defines the area unit of the surface brightness normalization. Possible values arenull
(for integ_infinity only),arcsec^2
, orsr
.Each parameter named in the shape parameters list must be present in the shape dictionary as a separate key of the defined type.
spectrum
: dictionary, containing information about the source SED.name
: string, name of the source. Provided for information, not referenced by the engine during the calculation.spectrum_parameters
: list of strings, one for each parameter present. Possible parameters are:redshift
: float, redshift of the source. Redshift is applied after the spectrum has been created, but before extinction has been added, before continuum normalization, and before any emission lines have been added.lines
: list of dictionaries, giving information on each line to be added to the SED. NOTE that redshift, extinction, and normalization will not be applied to any lines specified here. Each line dictionary has the following parameters:id
: string or integer. Identifier given to the line. Not used internally.name
: string. Name of the line. Not used internally.emission_or_absorption
: string, line type. Currently, all lines are treated as emission lines.center
: float, central wavelength of the line, in microns.width
: float, FWHM of the line in km/s.strength
: float, line strength, definition depends on line type:Emission Lines: line strength in erg/cm^2/s
Absorption Lines: central optical depth
profile
: string, line profile, currently the only supported value isgaussian
sed
: dictionary, provides the parameters of the source continuum SED. Contains the following keys:sed_type
: string, defines the type of SED. Possible values areno_continuum
,flat
,powerlaw
,blackbody
,phoenix
,hst_calspec
,brown2014
,brown2019
,comp_qso
,cool_dwarfs
,pne
,novae
,stellar_pop
,sun_planets
,swire
, andinput
. Depending on the SED type chosen, other parameters may be needed.no_continuum
: takes no parametersflat
: takes 'unit'powerlaw
: takes 'unit' and 'index'blackbody
: takes 'temp'phoenix
: takes 'key' (ifperform_calculation
is run with webapp=True) or takes 'teff', 'log_g', and 'metallicity' (ifperform_calculation
is run with webapp=False)brown2014
,brown2019
,comp_qso
,cool_dwarfs
,hst_calspec
,pne
,novae
,stellar_pop
,sun_planets
,swire:
takes 'key', which loads a specific spectrum.input
: takesspectrum
, a list of wavelength and flux arrays.
unit
: string, eitherfnu
orflam
. Used by flat and power law spectra.index
: float, exponent of the power law. Used by power law spectra.temp
: float, temperature of the blackbody. Used by blackbody spectra.key
: string, the type of source to model. Used by phoenix, hst_calspec, and galaxies spectra. Valid values are shown below in the appendix.t_eff
: float, effective temperature of the phoenix model star, in K. Allowed range is 2000 to 70,000.log_g
: float, logarithm of the surface gravity of the phoenix model star, in cgs units. Allowed range is 0.0 to 5.5.metallicity
: float, logarithm of the metallicity of the phoenix model star, relative to solar metallicity. Allowed range is -4.0 to 0.5.spectrum
: list of 2 arrays, or ndarray. The wavelength (μm) and flux (mJy) arrays of the SED to use. In an ndarray, wavelength is the 0th index, and flux the 1st index.
normalization
: dictionary defining the source brightness. Contains the following keys:type
: string, defines the type of normalization. Possible values areat_lambda
,hst
,jwst
,photsys
, andnone
. Depending on the normalization type chosen, other parameters may be needed.none
takes no parameters.hst
takesbandpass
,norm_flux
, andnorm_fluxunit
jwst
takesbandpass
,norm_flux
, andnorm_fluxunit
photsys
takesbandpass
,norm_flux
, andnorm_fluxunit
at_lambda
takesnorm_wave
,norm_waveunit
,norm_flux
, andnorm_fluxunit
norm_wave
: float, reference wavelength in units ofnorm_waveunit
, used byat_lambda
.norm_waveunit
: string, specifies the wavelength units used for normalization, used byat_lambda
. Available values arem
,nm
,um
(micron),mm
,micron
,microns
,angstrom
norm_flux
: float, reference flux value in units ofnorm_fluxunit
, used by all normalization methods other thannone
.norm_fluxunit
: string, specifies the flux units used for normalization. Used by all methods other thannone
. Available values areflam
,fnu
,vegamag
,abmag
,mjy
,ujy
(micro-Jansky),njy
,jy
bandpass
: string, specifies the bandpass forhst
,jwst
, andphotsys
normalizations. Possible values are shown in the appendix
extinction
: dictionary defining the wavelength-dependent extinction between the source and the observer. Contains the following keys:law
: string, the extinction law being used. Values include 7 models from Weingartner & Draine (2001) (3 generic Milky Way models:mw_rv_31
,mw_rv_40
,mw_rv_55
; 2 LMC models:lmc_avg
andlmc_2
; one SMC model:smc_bar
, and thehd210121
model), and one Chapman (2009) model:chapman09
.value
: float, the extinction value, in units ofunit
unit
: string, the units of the extinction value, eithernh
for hydrogen column density ormag
for magnitudes.bandpass
: the bandpass in which the extinction is measured, only used if the unit ismag
.
Sample code creating a background spectrum using the JWST Background Tool (JBT)
Note that, in order to use the JWST Backgrounds Tool (JBT), it must be installed in your Conda environment (i.e., by typing "pip install jwst-backgrounds
" at the command line). For more information on the JBT, see JWST Backgrounds Tool article.
Creating a scene with a custom galaxy spectrum and a foreground star
If the scene above is run through Pandeia, the resulting output image will be generated, as shown in Figure 1.
Creating a sample slitless spectrograph observation of a superimposed star and galaxy
Figure 2 shows a set of 3 slitless spectra created with the MIRI P750L slitless spectrograph, one of each scene source individually, and a final observation of the combined scene. Note that the 3 separate spectra result from 3 separate Pandeia observations with the same instrument and detector settings, but different source lists.
Sample code
Creating a source galaxy with a redshifted emission line
Appendices valid values for configuration dictionary
The following are valid values for configuration dictionaries:
config
['spectrum']['sed']
sed_type
=phoenix
key may have the following values:
o3v
o5v
o6i
o7v
o8i
o9v
b0v
b0iii
b0i
b1v
b3v
b5iii
b5v
b5i
b8v
a0i
a0v
a1v
a5i
a3v
a5v
f0i
f0v
f5i
f2v
f5v
f8v
g0v
g0iii
g2v
g5v
g0i
g8v
g5iii
g5i
k0v
k0iii
k2v
k0i
k5v
k5iii
k7v
k5i
m0i
m0iii
m0v
m2i
m2v
m5v
sed_type = k93model
key may have the following values:
o5v
o7v
o9v
b0v
b1v
b3v
b5v
b8v
a1v
a3v
a5v
f0v
f2v
f5v
f8v
g2v
g5v
g8v
k0v
k4v
k7v
m2v
f0i
g5i
sed_type
=hst_calspec
key may have the following values:
agk81d266
bd+17d4708
bd+28d4211
bd+75d325
feige34
feige110
gd50
gd71
gd108
gd153
grw+70d5824
g191b2b
hz21
hz43
hz44
lb227
lds749b
ngc7293
p330e
solar
sirius
vb8
vega
wd1657+343
wd0308-565
wd0947+857
wd1057+719
sed_type
=brown2014
key may have the following values:
Values present in the web UI
ngc_3690
ngc_6240
ngc_5953
ic_4553
ngc_5256
ngc_3521
ngc_4125
ngc_4552
cgcg_049-057
ngc_0337
ngc_4138
ii_zw_096
ngc_0695
ngc_4725
ugca_219
ngc_3079
ngc_6090
mrk_33
Values that will work, but are not present in the web UI
ngc_4579
ngc_4670
ugc_05101
ngc_4860
ugc_04881
cgcg_436-030
ngc_0520
ngc_1144
ngc_7673
ngc_7674
ngc_7679
ngc_7771
ngc_3627
mrk_0475
ngc_0584
ic_5298
ngc_0628
ngc_4385
ngc_5653
ngc_4387
ngc_4660
iras_08572+3915
ngc_2388
ic_0691
ngc_4473
ngc_4889
mrk_0930
ngc_5257
ugc_12150
ngc_3938
ngc_0750
ngc_4551
ngc_4550
ngc_4559
ngc_4926
arp_118
ngc_1614
ngc_7591
ngc_7592
ngc_5258
ugc_08335_nw
arp_256_s
iii_zw_035
arp_256_n
ngc_4486
iras_17208-0014
ugca_166
ugc_09618_n
ngc_2537
ngc_6052
ngc_2623
mrk_1490
ngc_1275
ngc_0855
ngc_3265
ngc_4254
ngc_5992
ngc_4536
ngc_4826
ngc_4631
ngc_2798
ugc_06850
ugc_06665
ngc_4321
ugc_09618_s
ngc_5033
ngc_7585
ngc_1068
ic_0860
ngc_3379
ngc_5055
ngc_0660
ngc_5194
ngc_5195
ngc_4621
ngc_3310
ngc_4625
ngc_5713
ugca_410
haro_06
ngc_4088
ngc_7331
ngc_0474
ngc_5866
mrk_0331
cgcg_453-062
ngc_4168
ic_0883
ngc_3870
ngc_4676_a
mrk_1450
ugc_08696
ic_4051
ngc_5104
ngc_4194
ngc_7714
ngc_2403
ugc_08335_se
ngc_4365
ngc_3190
um_461
ugca_208
ngc_3198
ngc_3351
ngc_4569
ugc_09618
ngc_3049
ngc_4594
ngc_4458
ngc_4450
ngc_3773
- type =
brown2019
- key may have the following values:
3c273
ark_120
mrk_231
ngc_5728
ngc_7469
pg_0052+251
- key may have the following values:
- type =
comp_qso
- key may have the following values:
qso
- key may have the following values:
- type =
cool_dwarfs
- key may have the following values:
2000
1900
1800
1700
1600
1500
1400
1300
1200
1100
1000
900
800
700
600
550
500
450
400
350
300
250
200
- key may have the following values:
- type =
novae
- key may have the following values:
kilonova
sne91bg
sneia
sneiax
sneib
sneii_fast
sneii_slow
- key may have the following values:
- type =
pne
- key may have the following values:
pne_100k
pne_30k
pne_50k
pne_53k
pne_70k
- key may have the following values:
- type =
stellar_pop
- key may have the following values:
ssp_a6.00_zm0.50
ssp_a6.00_zm1.00
ssp_a6.00_zm1.50
ssp_a6.00_zm2.00
ssp_a6.00_zm2.50
ssp_a6.00_zp0.00
ssp_a6.00_zp0.25
ssp_a6.25_zm0.50
ssp_a6.25_zm1.00
ssp_a6.25_zm1.50
ssp_a6.25_zm2.00
ssp_a6.25_zm2.50
ssp_a6.25_zp0.00
ssp_a6.25_zp0.25
ssp_a6.50_zm0.50
ssp_a6.50_zm1.00
ssp_a6.50_zm1.50
ssp_a6.50_zm2.00
ssp_a6.50_zm2.50
ssp_a6.50_zp0.00
ssp_a6.50_zp0.25
ssp_a6.75_zm0.50
ssp_a6.75_zm1.00
ssp_a6.75_zm1.50
ssp_a6.75_zm2.00
ssp_a6.75_zm2.50
ssp_a6.75_zp0.00
ssp_a6.75_zp0.25
ssp_a7.00_zm0.50
ssp_a7.00_zm1.00
ssp_a7.00_zm1.50
ssp_a7.00_zm2.00
ssp_a7.00_zm2.50
ssp_a7.00_zp0.00
ssp_a7.00_zp0.25
ssp_a7.25_zm0.50
ssp_a7.25_zm1.00
ssp_a7.25_zm1.50
ssp_a7.25_zm2.00
ssp_a7.25_zm2.50
ssp_a7.25_zp0.00
ssp_a7.25_zp0.25
ssp_a7.50_zm0.50
ssp_a7.50_zm1.00
ssp_a7.50_zm1.50
ssp_a7.50_zm2.00
ssp_a7.50_zm2.50
ssp_a7.50_zp0.00
ssp_a7.50_zp0.25
ssp_a7.75_zm0.50
ssp_a7.75_zm1.00
ssp_a7.75_zm1.50
ssp_a7.75_zm2.00
ssp_a7.75_zm2.50
ssp_a7.75_zp0.00
ssp_a7.75_zp0.25
ssp_a8.00_zm0.50
ssp_a8.00_zm1.00
ssp_a8.00_zm1.50
ssp_a8.00_zm2.00
ssp_a8.00_zm2.50
ssp_a8.00_zp0.00
ssp_a8.00_zp0.25
ssp_a8.25_zm0.50
ssp_a8.25_zm1.00
ssp_a8.25_zm1.50
ssp_a8.25_zm2.00
ssp_a8.25_zm2.50
ssp_a8.25_zp0.00
ssp_a8.25_zp0.25
ssp_a8.50_zm0.50
ssp_a8.50_zm1.00
ssp_a8.50_zm1.50
ssp_a8.50_zm2.00
ssp_a8.50_zm2.50
ssp_a8.50_zp0.00
ssp_a8.50_zp0.25
ssp_a8.75_zm0.50
ssp_a8.75_zm1.00
ssp_a8.75_zm1.50
ssp_a8.75_zm2.00
ssp_a8.75_zm2.50
ssp_a8.75_zp0.00
ssp_a8.75_zp0.25
ssp_a9.00_zm0.50
ssp_a9.00_zm1.00
ssp_a9.00_zm1.50
ssp_a9.00_zm2.00
ssp_a9.00_zm2.50
ssp_a9.00_zp0.00
ssp_a9.00_zp0.25
ssp_a9.25_zm0.50
ssp_a9.25_zm1.00
ssp_a9.25_zm1.50
ssp_a9.25_zm2.00
ssp_a9.25_zm2.50
ssp_a9.25_zp0.00
ssp_a9.25_zp0.25
ssp_a9.50_zm0.50
ssp_a9.50_zm1.00
ssp_a9.50_zm1.50
ssp_a9.50_zm2.00
ssp_a9.50_zm2.50
ssp_a9.50_zp0.00
ssp_a9.50_zp0.25
ssp_a9.75_zm0.50
ssp_a9.75_zm1.00
ssp_a9.75_zm1.50
ssp_a9.75_zm2.00
ssp_a9.75_zm2.50
ssp_a9.75_zp0.00
ssp_a9.75_zp0.25
ssp_a10.00_zm0.50
ssp_a10.00_zm1.00
ssp_a10.00_zm1.50
ssp_a10.00_zm2.00
ssp_a10.00_zm2.50
ssp_a10.00_zp0.00
ssp_a10.00_zp0.25
ssp_a10.10_zm0.50
ssp_a10.10_zm1.00
ssp_a10.10_zm1.50
ssp_a10.10_zm2.00
ssp_a10.10_zm2.50
ssp_a10.10_zp0.00
ssp_a10.10_zp0.25
- key may have the following values:
- type =
sun_planets
- key may have the following values:
sun
jupiter
saturn
uranus
neptune
- key may have the following values:
- type =
swire
- key may have the following values:
elliptical_2gyr
elliptical_5gyr
elliptical_13gyr
spiral_s0
spiral_sa
spiral_sb
spiral_sc
spiral_spi4
spiral_sd
spiral_sdm
- key may have the following values:
config
['spectrum']['normalization']
type =
hst
bandpass may have the following values:
wfc3,uvis1,f336w
wfc3,uvis1,f438w
wfc3,uvis1,f475w
wfc3,uvis1,f555w
wfc3,uvis1,f606w
wfc3,uvis1,f625w
wfc3,uvis1,f775w
wfc3,uvis1,f814w
wfc3,uvis1,f850lp
wfc3,ir,f098m
wfc3,ir,f105w
wfc3,ir,f110w
wfc3,ir,f125w
wfc3,ir,f140w
wfc3,ir,f160w
acs,wfc1,f435w
acs,wfc1,f475w
acs,wfc1,f555w
acs,wfc1,f606w
acs,wfc1,f625w
acs,wfc1,f775w
acs,wfc1,f814w
acs,wfc1,f850lp
nicmos,2,f110w
nicmos,2,f160w
type =
jwst
bandpass may have the following values:
nircam,sw_imaging,f070w
nircam,sw_imaging,f090w
nircam,sw_imaging,f115w
nircam,sw_imaging,f150w
nircam,sw_imaging,f200w
nircam,sw_imaging,f212n
nircam,lw_imaging,f277w
nircam,lw_imaging,f356w
nircam,lw_imaging,f444w
niriss,imaging,f090w
niriss,imaging,f115w
niriss,imaging,f140m
niriss,imaging,f150w
niriss,imaging,f277w
niriss,imaging,f480m
miri,imaging,f560w
miri,imaging,f770w
miri,imaging,f1000w
miri,imaging,f1280w
miri,imaging,f1500w
miri,imaging,f1800w
miri,imaging,f2100w
miri,imaging,f2550w
miri,imaging,fnd
type =
photsys
bandpass may have the following values:
2mass,j
2mass,h
2mass,ks
bessell,j
bessell,h
bessell,k
cousins,i
cousins,r
gaia,g
johnson,v
johnson,r
johnson,i
johnson,j
johnson,k
msx,a
msx,b1
msx,b2
msx,c
msx,d
msx,e
sdss,u
sdss,g
sdss,r
sdss,i
sdss,z
spitzer,irac3.6
spitzer,irac4.5
spitzer,irac5.8
spitzer,irac8.0
spitzer,mips24
wise,w1
wise,w2
wise,w3
wise,w4