2. Installation¶
The Recipe System is distributed as part of DRAGONS. DRAGONS is available as a conda package. The installation instructions below will install all the necessary dependencies.
The use of the bash
shell is required by Anaconda.
2.1. Install Anaconda¶
If you already have Anaconda installed, you can skip this step and go to the Install DRAGONS section below. If not, then your first step is to get and install Anaconda. You can download it at:
Choose the version of Python that suits your other Python needs. DRAGONS is compatible with Python 3.7. We recommend that you install the standard Python 3 version of Anaconda, the specific Python version can be adjusted later.
If you have downloaded the graphical installer, follow the graphical installer instructions. Install in your home directory. It should be the default.
If you have downloaded the command-line installer, type the following in a
terminal, replacing the .sh
file name to the name of the file you have
downloaded. The /bin/bash -l
line is not needed if you are already
using bash. The command-line installer allows for more customization of the
installation.
$ /bin/bash -l
$ chmod a+x Anaconda3-2019.03-MacOSX-x86_64.sh
$ ./Anaconda3-2019.03-MacOSX-x86_64.sh
($
indicates the terminal prompt.)
Note
To prevent the Anaconda “base” environment from loading automatically, do:
$ conda config --set auto_activate_base false
2.2. Install DRAGONS¶
Anaconda requires the use of the bash shell. tcsh
or csh
will not
work. If you are using (t)csh, your first step is:
$ /bin/bash -l
Make sure that ~/anaconda3/bin/activate
is in your PATH
by doing:
$ which activate
The Anaconda installer should have added conda configurations to the
~/.bash_profile
for you. If activate
is not found, try:
$ source ~/.bash_profile
If activate
is still not found, you might have to add
export PATH=~/anaconda3/bin:$PATH
to your ~/.bash_profile
using your
favorite text editor, and run the source
command above again.
Note
Sometimes the Anaconda installer will install the software in
~/anaconda3
instead of simply ~/anaconda
. Just
check in your home directory which one of the tow possibilities was used.
The code Anaconda adds to the .bash_profile will automatically activate anaconda. To activate or deactivate Anaconda manually:
$ conda activate
$ conda deactivate
Now that Anaconda works, we add the needed astronomy software. Add the Astroconda channel and the Gemini channel. Those channels host the conda astronomy packages.
$ conda config --add channels http://ssb.stsci.edu/astroconda
$ conda config --add channels http://astroconda.gemini.edu/public
The next step is to create a virtual environment and install the DRAGONS software and its dependencies in it. The name of the environment can be anything you like. Here we use “dragons” as the name and we install Python 3.7.
$ conda create -n dragons python=3.7 dragons
Or, to include things like ds9
$ conda create -n dragons python=3.7 dragons stsci
Most users will probably want to install the extra astronomy tools that come
with the stsci
conda package.
To use this environment, activate it:
$ conda activate dragons
You will need to activate the environment whenever you start a new shell.
If you are planning to use it all the time, you might want to add the
command to your .bash_profile
, after the “conda init” block.
Note
As a side note, if you are going to use PyRAF regularly, for example to
reduce Gemini data not yet supported in DRAGONS, you should be installing
Python 2.7 as well in a different environment, along with the gemini
,
iraf-all
and pyraf-all
conda packages. Do not use PyRAF from the
Python 3 environment; PyRAF is very slow under Python 3.
$ conda create -n geminiconda python=2.7 iraf-all pyraf-all stsci gemini
DRAGONS and the Recipe System do not need IRAF, PyRAF. Only DRAGONS v2 is compatible with Python 2.7. See the Gemini website for information on how to configure IRAF (http://www.gemini.edu/node/11823)
2.3. Configure DRAGONS¶
DRAGONS requires a configuration file located in ~/.geminidr/
:
$ cd ~
$ mkdir .geminidr
$ cd .geminidr
$ touch rsys.cfg
Open rsys.cfg
with your favority editor and add these lines:
[calibs]
standalone = True
database_dir = ~/.geminidr/
Then configure ds9
buffer configurations:
$ cd ~
$ cp $CONDA_PREFIX/lib/python3.7/site-packages/gempy/numdisplay/imtoolrc ~/.imtoolrc
$ vi .bash_profile # or use your favorite editor
Add this line to the .bash_profile:
export IMTOOLRC=~/.imtoolrc
2.4. Test the installation¶
Start up the Python interpreter and import astrodata
and the
gemini_instruments
packages:
$ python
>>> import astrodata
>>> import gemini_instruments
If the imports are successful, i.e. no errors show up, exit Python (Ctrl-D).
Now test that reduce
runs. There may be some delay as package modules
are compiled and loaded:
$ reduce --help
This will print the reduce help to the screen.
If you have Gemini FITS files available, you can test that the Recipe System is functioning as expected as follow (replace the file name with the name of your file):
$ reduce N20180106S0700.fits -r prepare
If all is well, you will see something like:
--- reduce, v3.0.0 ---
All submitted files appear valid
Found 'prepare' as a primitive.
================================================================================
RECIPE: prepare
================================================================================
PRIMITIVE: prepare
------------------
PRIMITIVE: validateData
-----------------------
.
PRIMITIVE: standardizeStructure
-------------------------------
.
PRIMITIVE: standardizeHeaders
-----------------------------
PRIMITIVE: standardizeObservatoryHeaders
----------------------------------------
Updating keywords that are common to all Gemini data
.
PRIMITIVE: standardizeInstrumentHeaders
---------------------------------------
Updating keywords that are specific to NIRI
.
.
.
Wrote N20180106S0700_prepared.fits in output directory
reduce completed successfully.