Installing ISIS¶
Prerequisites¶
Conda
If you don't have conda yet, download and install it. We recommend getting conda through MiniForge.
x86 emulation on ARM Macs - Rosetta
If you have an ARM mac and want to run the x86 version of ISIS, you will need Rosetta.
Conda Environment¶
# ARM Macs Only - Setup the new environment as x86_64
export CONDA_SUBDIR=osx-64
#Create a new conda environment to install ISIS in
conda create -n isis python>=3.9
#Activate the environment
conda activate isis
# ARM Macs Only - Force installation of x86_64 packages, not ARM64
conda config --env --set subdir osx-64
Channels¶
# Add conda-forge and usgs-astrogeology channels
conda config --env --add channels conda-forge
conda config --env --add channels usgs-astrogeology
# Check channel order
conda config --show channels
Channel Order: usgs-astrogeology
must be higher than conda-forge
Show the channel order with:
You should see:
If conda-forge
is before usgs-astrogeology
, add usgs-astrogeology again to bring up. Set channel priority to flexible instead of strict.
Downloading ISIS¶
The environment is now ready to download ISIS and its dependencies:
Environmental Variables¶
ISIS requires these environment variables to be set in order to run correctly:
ISISROOT
- Directory path containing your ISIS installISISDATA
- Directory path containing the ISIS Data Area
Setting Environmental Variables
The Conda Env method is recommended, and the Python Script automates that method:
Requires Conda 4.8 or above
Check your conda version, and update if needed:
-
Activate your ISIS environment.
-
This command sets both required variables (fill in your
ISISDATA
path):conda env config vars set ISISROOT=$CONDA_PREFIX ISISDATA=[your data path]
-
Re-activate your isis environment.
The environment variables are now set and ISIS is ready for use every time the isis conda environment is activated.
By default, running this script will set ISISROOT=$CONDA_PREFIX
and ISISDATA=$CONDA_PREFIX/data
:
python $CONDA_PREFIX/scripts/isisVarInit.py
You can specify a different path for $ISISDATA
using the optional value:
python $CONDA_PREFIX/scripts/isisVarInit.py --data-dir=[path to data directory]
Now every time the isis environment is activated, $ISISROOT
and $ISISDATA
will be set to the values passed to isisVarInit.py.
This does not happen retroactively, so re-activate the isis environment:
conda deactivate
conda activate isis
export
sets a variable in your current shell environment until you close it. Adding export
commands to your .bashrc
or .zshrc
can make them persistent.
Use the python script per instructions from the old readme.
The ISIS Data Area¶
Many ISIS apps need extra data to carry out their functions. This data varies depending on the mission, and may be quite large, so it is not included with ISIS; You will need to download it separately.
Installation Complete
If you followed the above steps and didn't encounter any errors, you have completed your installation of ISIS.
Updating ISIS¶
If ISIS was already installed with Conda, you can update it with:
Uninstalling ISIS¶
To uninstall ISIS, deactivate the ISIS Conda Environment, and then remove it. If you want to uninstall conda as well, see your conda installation's website (Miniforge if you installed conda with the above instructions).
ISIS in Docker¶
The ISIS production Dockerfile automates the conda installation process above. You can either build the Dockerfile yourself or use the usgsastro/isis image from DockerHub.
Download the production Docker file, build, and run it:
Mounting the ISIS data area¶
Usually you'll want to mount an external directory containing the ISIS data. The data is not included in the Docker image.
docker run -v /my/data/dir:/opt/conda/data -v /my/testdata/dir:/opt/conda/testData -it usgsastro/isis bash
Then download the data into /my/data/dir to make it accessible inside your container.