-
Notifications
You must be signed in to change notification settings - Fork 0
Programming language resources
Many numerically-intensive science applications (such as GEOS-Chem) are written in Fortran, which generates highly-optimized executables suitable for running on HPC installations. There are several Fortran compilers available, but we recommend the GNU Fortran (aka gfortran), which is open-source, and therefore suitable for running in cloud computing environments.
- GNU Fortran Compiler page on the GEOS-Chem wiki
- Intel Fortran Compiler page on the GEOS-Chem wiki
- FortranTutorial.com
- Introduction to Modern Fortran (by Cambridge Univ, UK)
- Fortran tutorial (by Victor Decyk, UCLA
- Fortran 90 for the Fortran 77 programmer
- Using OpenMP parallelization with Fortran (by openmp.org)
- Degenerate Conic blog by Jacob Williams -- interesting Fortran developments
We use GCPy and other Python code to analyze and visualize output from GEOS-Chem simulations. Python, which is open-source, contains many packages that are suitable for scientific applications. Please also see our list of Python tools for GEOS-Chem.
By default mamba installs your packages in your home directory under ~/.conda. While a safe place to keep this data it is also very low performance due to filesystem latency. It also makes it hard to share your Python environments with other people on the cluster.
You can tell mamba to install to a different location. We recommend using your holylabs directory space (e.g. /n/jacob_lab/Lab/seasfs01/Users/YOUR-USERNAME) as it should have very low latency. Follow these steps:
-
Make sure that the Python 3.10.9 module is loaded into your Linux environment.
$ module list python Currently Loaded Modules Matching: python 1) module load python/3.10.9-fasrc01
If python is not loaded, then type:
$ module load module load python/3.10.9-fasrc01 -
Create the following directory:
$ cd /n/jacob_lab/Lab/seasfs01/Users/YOUR-USERNAME $ mkdir -p mamba
-
Add the following environment variables to your
~/.my_personal_settingsor~/.bash_aliasesfile (whichever one you have):# Specify installation path for Python packages and environments export CONDA_PREFIX="/n/jacob_lab/Lab/seasfs01/Users/YOUR-USERNAME/mamba" export CONDA_ENVS_PATH="${CONDA_PREFIX}/envs" export CONDA_PKGS_DIRS="${CONDA_PREFIX}/pkgs" # Specify where Python configurations will be stored export XDG_CONFIG_HOME="${CONDA_PREFIX}/.config"
-
Apply the changes by typing one of these commands:
$ source ~/.my_personal_settings # If you have a ~/.my_personal_settings file $ source ~/.bash_aliases # If you have a ~/.bash_aliases file
-
Create the environment. We recommend using a YAML configuration file (such as
$ mamba env create -n ENV-NAME --file=CONFIG-FILE-NAMEwhere
ENV-NAMEis the name of your Python environment andCONFIG-FILE-NAMEis the name of a YAML configuration file containing a list of packages to be installed. If you don't have a configuration file, you can modify an existing configuration file (such as theenvironment.ymlfile that ships with GCPy). -
To activate the environment, type:
$ conda activate envand to deactivate the environment, type:
$ conda deactivate
Group members: Feel free to add Need links here.