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
We highly recommend installing into a fresh python environment, such as ones provided by the Anaconda Python distribution, to avoid problems. If you experience issues after installing the Pandeia Engine, consider starting again with a fresh python installation and a clean new set of data files.

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):

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.

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

Installation script
#!/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.

  • No labels