For Pandeia Engine v4.0 & v2024.9
Python Requirements:
Required | Recommended |
---|---|
python >=3.9 |
3.12.3 |
numpy >=1.21 |
1.26.3 |
scipy >=1.9.2 |
1.13.0 |
astropy >=5.3 |
6.0.1 |
photutils | 1.12.0 |
synphot >=1.0 | 1.4.0 |
stsynphot >=1.0 | 1.3.0 |
setuptools | 69.5.1 |
Installing the Pandeia Engine requires a python environment with the dependencies listed above, a set of telescope-specific datafiles, and an optional (but highly recommended) second set of data files for additional spectral manipulation capabilities.
1. Code
The engine can be installed with
pip install pandeia.engine==4.0
or for Roman:
pip install pandeia.engine==2024.9
Then set up the data files.
2. Data
2.1. Required Data
In order to function, the Pandeia Engine requires one set of reference data (containing instrument definitions):
- James Webb Space Telescope: https://stsci.app.box.com/v/pandeia-refdata-v4p0-jwst
- Nancy Grace Roman Space Telescope: https://stsci.box.com/v/pandeia-refdata-v2024p9-roman
Download and untar the files to a suitable location.
Environment variable: $pandeia_refdata
must point to the location of the top of the data file tree (the directory containing the VERSION_PSF file)
Installing both data packages
You CAN untar both sets of files to the same location and run calculations for JWST and Roman (or use JWST bandpasses for normalization with Roman). The sole difference between the packages are the jwst/ and roman/ directories. You can either untar the second telescope on top of the first one and overwrite any files when prompted, or copy just the second telescope's directory into the $pandeia_refdata location.
- The base Synphot reference atlas. The Synphot reference atlases (https://archive.stsci.edu/hlsp/reference-atlases) are used to provide more spectroscopic functionality.
-
Only Synphot 1 (normalization bandpasses, HST bandpasses) is required: https://archive.stsci.edu/hlsps/reference-atlases/hlsp_reference-atlases_hst_multi_everything_multi_v16_sed.tar
-
Once untarred, the files will produce a directory tree of grp/redcat/trds. The pandeia.engine uses the contents of the trds directory.
2.2. Recommended Data
The rest of the Synphot datasets are optional and enable specific classes of template spectra.
- Synphot 2 (Stellar and Galactic Model Files - brown2014, pickles, bz77)
- Synphot 3 (Castelli & Kurucz 2004 Atlas - ck04models)
- Synphot 4 (Kurucz 1993 Atlas - k93models)
- Synphot 5 (Phoenix models - phoenix)
- Synphot 7 (JWST ETC Spectra - atmo2020, brown2019, comp_qso, swire, novae, stellar_pop, solsys, pne)
Once untarred, the files will produce a directory tree of grp/redcat/trds. The pandeia.engine uses the contents of the trds directory.
Environment variable: $PYSYN_CDBS must point to the trds directory (NOT grp)
3. Verify Installation
Open up a terminal with access to the conda installation, and type
python -c "import pandeia.engine; pandeia.engine.pandeia_version()"
If properly installed and configured, it should show the refdata version and synphot data directory, like this:
Pandeia Engine version: 4.0 Pandeia RefData version: 4.0 Pysynphot Data: /your/data/directory/synphot
or for Roman:
Pandeia Engine version: 2024.9 Pandeia RefData version: 2024.9 Pysynphot Data: /your/data/directory/synphot
4. Helper Script
The following script (which can also be added to your .bashrc or .bash_profile file) assumes you are operating in a BASH shell where a python installation has been installed and activated, that you've installed the pandeia refdata in ${HOME}/data/pandeia
, and the cdbs folder from the additional dataset moved and renamed to ${HOME}/data/synphot
#!/bin/sh export PYSYN_CDBS=${HOME}/data/synphot export pandeia_refdata=${HOME}/data/pandeia
Once in place, "source
"ing this file will set up the pandeia environment.