For Pandeia Engine v1.5.1
Python Requirements:
Required | Recommended |
---|---|
python 2.7+ | 3.6.5 |
numpy 1.13.3+ | 1.15.4 |
scipy >1.4 | 1.1.0 |
astropy 2--3 | 2.0.9 |
photutils | 0.4 |
pysynphot | 0.9.12 |
setuptools | 40.8.0 |
pandeia.engine v1.5.1 is not compatible with scipy 1.4+ or astropy 4+
pandeia.engine v1.5.1 is the final version compatible with Python 2.7
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.
Code
We recommend using the Anaconda python distribution.
- Follow its installation instructions to set up a new environment if you do not already have one.
- Once installed, from a terminal with access to the conda environment, type "
conda config --add channels http://ssb.stsci.edu/astroconda
" to install the Astroconda channel. - Create an AstroConda environment with the STScI package installed. For example, to create an environment named "pandeia" working under python 3.6, type
conda create -n pandeia stsci scipy=1.1 astropy=2 python=3.6
from a terminal with access to the conda environment.
4. Then, install the engine itself:
pip install pandeia.engine==1.5.1
It should also be possible to install the Pandeia Engine and all its dependencies by simply running "pip install pandeia.engine==1.5.1"
but this is not recommended and users are likely to run into more issues if it is installed this way.
Then set up the data files.
Data
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-v1p5p1
- Nancy Grace Roman Space Telescope: https://stsci.box.com/v/pandeia-refdata-v1p5p1-wfirst
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)
*Both telescope datasets may be untarred to the same location to produce an engine that can work with either telescope; any files the two packages have in common may be overwritten.
Recommended Data
- An additional dataset: http://archive.stsci.edu/pub/hst/pysynphot/ can be used to provide more spectroscopic functionality (phoenix spectral models, normalization by HST bandpasses, normalizing in among others).
Once untarred, the files will produce a directory tree of grp/hst/cdbs. The pandeia.engine uses the contents of the cdbs directory.
Environment variable: $PYSYN_CDBS
must point to the cdbs directory (NOT grp)
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: 1.5.1 Pandeia RefData version: 1.5.1 Pysynphot Data: /your/data/directory/pysynphot
Helper Script
The following script assumes you are operating in a terminal where a conda installation has been installed in $HOME/anaconda
and has been 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/pysynphot
conda config --add channels http://ssb.stsci.edu/astroconda conda create -n pandeia stsci numpy scipy=1.1 astropy=2 python=3.6 mkdir -p ~/anaconda/envs/pandeia/etc/conda/activate.d cat >>~/anaconda/envs/pandeia/etc/conda/activate.d/env_vars.sh <<EOF #!/bin/sh export PYSYN_CDBS=${HOME}/data/pysynphot export pandeia_refdata=${HOME}/data/pandeia EOF mkdir -p ~/anaconda/envs/pandeia/etc/conda/deactivate.d cat >>~/anaconda/envs/pandeia/etc/conda/deactivate.d/env_vars.sh <<EOF #!/bin/sh unset PYSYN_CDBS unset pandeia_refdata EOF conda activate pandeia pip install pandeia.engine==1.5.1
This creates a pandeia environment in an already-existing conda installation (line 2) and installs the pandeia.engine (line 16), and sets up two scripts (line 4, line 10) to automatically set and unset the required environment variables every time you activate and deactivate the pandeia environment.
Once this is done, "conda activate pandeia"
and "conda deactivate pandeia"
should perform all of the setup required.