Skip to content

shanebyrneonmars/PTYS551_2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PTYS 551: Remote Sensing of Planetary Surfaces

This graduate course will focus on the use of remote sensing in the study of rocky and icy planetary surfaces. It is not a science course, but rather intended to provide technical knowledge of how instruments work and practical techniques to deal with their datasets. In this course, we will cover how different types of remote-sensing instruments work in theory and practice along with case studies (student-led) of specific planetary science instruments. We will discuss what datasets are generated by these instruments, their limitations and where they can be located. Lab sessions will provide experience in how these data are processed, visualized and intercompared. The class consists of two lectures and a 2-hour lab session each week.

Ptys 551 Conda Environments

We recommend two conda environments to participate in this class created using the code below. You'll need to install miniforge3. Installation packages and instructions are at: https://github.com/conda-forge/miniforge?tab=readme-ov-file#download

Once installed activate the base environment and install nb_conda_kernels so Jupyter Notebook can be run and can find any of your other environments. Usually it's bad form to install anything in the base environment - but nb_conda_kernels is an exception. I also install numpy, because I want to use IDL kernels in these notebooks sometimes and the IDL-PYTHON bridge needs it.

conda activate
conda install nb_conda_kernels numpy=1.26.4

Once conda is setup up like this we'll create two environments. Firstly, using the commands below, create an environment called ptys551 and install many packages within it that will be useful later. Note the numpy version has to be the older one... many packages don't support v2.0 yet. If you're trying to start over and want to erase the current ptys551 environment then the first command just removes the existing ptys551 environment (it's harmless to run if that environment doesn't exist). One package isn't available on conda forge and needs to be installed with pip within the ptys551 environment as shown in the code below.

conda env remove -n ptys551
conda create -n ptys551 python=3.10 numpy=1.26.4 ipykernel scipy matplotlib scikit-learn spiceypy proj gmt gdal pandas rasterio tqdm spectral glob2 pyqt jupyterlab wget

### Add one more package with pip that is not available on conda-forge
conda activate ptys551
pip install outlier-utils                                                                                                                                                                                           
conda deactivate

The second environment we need (called asp) is for the Integrated Software for Imagers and Spectrometers (ISIS) and Ames Stereo Pipeline (ASP) packages. Unfortunately, there's an irreconcilable conflict between this install and the packages in the ptys551 environment so it needs to be a separate environment for now. The ISIS and ASP packages will only take about 2.5 GB, but ISIS suppport data (next section) will take about 45 GB. After installation, an initialization script (and the 2nd activate command) sets the two environment variables needed: $ISISROOT and $ISISDATA. Note the --data-dir flag when calling the initialization script. This should be set to the local directory where you want to store the ISIS data i.e. change the /Users/shane/ISISDATA to something else.

Newer Macs with Apple silicon processors (M1/M2/M3 chips) are not natively supported, but can still run this software in emulation mode. If using one of these processors then set this environment variable before proceeding with setenv CONDA_SUBDIR osx-64 (tcsh syntax) or export CONDA_SUBDIR=osx-64 (bash syntax).

conda create -n asp
conda activate asp

# This following line is only needed if using an Apple Silicon processor
conda config --env --set subdir osx-64

conda config --env --add channels conda-forge
conda config --env --add channels usgs-astrogeology
conda config --env --add channels nasa-ames-stereo-pipeline

conda install -c nasa-ames-stereo-pipeline -c usgs-astrogeology -c conda-forge stereo-pipeline==3.3.0 wget
python $CONDA_PREFIX/scripts/isisVarInit.py --data-dir=/Users/shane/ISISDATA
conda activate asp

With the asp environment activated, you should be able to run the downloadIsisData program with the commands below to fetch all the spice kernels and calibration data for various missions along with the mission-independent base data needed. Note, we exclude the SPK and CK kernels in each mission as they're enormous (explanation of what all these kernels contain will be in the class). We'll use the USGS webservice to access these data instead.

downloadIsisData base $ISISDATA 
downloadIsisData lro $ISISDATA --exclude="{spk/**,ck/**}"
downloadIsisData mro $ISISDATA --exclude="{spk/**,ck/**}"
downloadIsisData cassini $ISISDATA --exclude="{spk/**,ck/**}"
downloadIsisData galileo $ISISDATA --exclude="{spk/**,ck/**}"
downloadIsisData messenger $ISISDATA --exclude="{spk/**,ck/**}"
downloadIsisData newhorizons $ISISDATA --exclude="{spk/**,ck/**}"

That's it!

PS: if you later receive errors about missing calibration files in the LRO or MRO directories then see the README file in the missing_ISISDATA_files directory.

About

Remote Sensing of Planetary Surfaces

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published