Packages in the E3SM Unified conda environment
This page is a catalog of the packages and versions that make up each version of the E3SM-Unified metapackage. E3SM-Unified is intended to create a single conda environment that includes all of E3SM's analysis and diagnostics software.
The metapackage is maintained by @Xylar Asay-Davis and @Andrew Nolan .
Using the metapackage on E3SM supported machines
Please see Diagnostics and Analysis Quickstart#Accessingmetapackagesoftwarebyactivatingacondaenvironment
Installing the metapackage
To install your own version of the metapackage (typically on a machine not supported by E3SM), install miniforge3, typically for Linux and x86_64, then run the following:
conda create -n e3sm-unified -c conda-forge -c e3sm e3sm-unified python=3.13If you plan to use MPI from conda-forge, you will want to use the mpich or openmpi builds of e3sm-unified. For example, for mpich:
conda create -n e3sm-unified-mpich -c conda-forge -c e3sm "e3sm-unified=*=mpi_mpich_*" python=3.13This is only appropriate on Linux and OSX laptops and workstations, as the MPI packages from conda-forge do not work on HPC.
For MacOS M1 users: the MacOS x86 distribution of mambaforge works on M1 and M2 architectures. Apple maintains “Rosetta 2” for backwards compatibility. It should be seamless to the user, but there may be a pop-up asking to install Rosetta if it is not already installed. MacOS Conda installs work better with zsh (updated bash).
Tables of metapackage content
The list of packages installed as required by E3SM (and their pinned stable version) is below. Also listed is the person in charge of maintaining the pinned version. Contents of previous versions are also listed below.
For previous versions see: https://e3sm.atlassian.net/wiki/spaces/DOC/pages/3236233332
Current Version
e3sm-unified 1.12.0
Release candidate testing start date: | Oct 8, 2025 | Postponing release to accommodate numerous remaining | |
Release date: | Nov 25, 2025 |
| |
Main Packages | |||
package | version | maintainer(s) | Notes |
|---|---|---|---|
python | >=3.11,<3.14 | @Xylar Asay-Davis | Default python version (used for supported machines) will be 3.13 |
R | no spec | @Sinha, Eva |
|
cdo
| no spec | @Jill Chengzhu Zhang |
|
cime_gen_domain | 6.1.59 | @Xylar Asay-Davis | @Walter Hannah feels that this should be removed and replaced with the new python version `generate_domain_files_E3SM.py` that currently lives in the E3SM repo here: @Xylar Asay-Davis: This can be removed since we will have |
chemdyg | 1.1.1 | @Hsiang-He Lee @Qi Tang |
|
e3sm_diags | 3.1.0 | @Jill Chengzhu Zhang @Tom Vo |
|
e3sm_to_cmip | 1.13.0 | @Anthony Bartoletti @Tom Vo @Jill Chengzhu Zhang |
|
e3sm-tools | 3.0.2 | @Xylar Asay-Davis | A set of tools useful for E3SM:
|
geometric_features | 1.6.1 | @Xylar Asay-Davis |
|
globus-cli | >=3.15.0 | @Ryan Forsyth |
|
ilamb | 2.7.2 | @Jill Chengzhu Zhang | With system MPI on compute nodes |
ipython | nospec | @Jill Chengzhu Zhang |
|
jupyter | nospec | @Jill Chengzhu Zhang |
|
livvkit | 3.2.0 | @Michael Kelleher |
|
mache | 2.0.0 | @Xylar Asay-Davis |
|
moab | 5.6.0 | @Vijay M | With system MPI on compute nodes |
mosaic | 1.2.1 | @Andrew Nolan |
|
mpas-analysis | 1.14.0 | @Xylar Asay-Davis |
|
mpas_tools | 1.4.0 | @Xylar Asay-Davis |
|
nco | 5.3.6 | @Charlie Zender | With system MPI on compute nodes |
pcmdi_metrics | 4.0.1 | @Jill Chengzhu Zhang | We will need a new version that drops the dependency on CDAT |
squadgen | 1.2.2 | @Xylar Asay-Davis |
|
tempest-remap | 2.2.0 | @Xylar Asay-Davis | With system compilers on compute nodes |
tempest-extremes | 2.4 | @Xylar Asay-Davis | With system MPI on compute nodes |
uxarray | >=2024.12.0 | @Jill Chengzhu Zhang |
|
xcdat | 0.10.1 | @Tom Vo |
|
zstash | 1.5.0 | @Ryan Forsyth |
|
zppy | 3.1.0 | @Ryan Forsyth |
|
zppy-interfaces | 0.2.0 | @Ryan Forsyth |
|
mkdoc dependencies | |||
package | version | maintainer(s) |
|
mkdocs-material | nospec | @Naser Mahfouz |
|
pymdown-extensions | nospec | @Naser Mahfouz |
|
mkdocs-monorepo-plugin | nospec | @Naser Mahfouz |
|
mdutils | nospec | @Naser Mahfouz |
|
mkdocs-bibtex | ==2.18.0 | @Naser Mahfouz |
|
mkdocs-redirects | nospec | @Naser Mahfouz |
|
markdownlint-cli2 | nospec | @Naser Mahfouz |
|
Dependencies | |||
package | version | maintainer(s) |
|
blas | nospec | @Xylar Asay-Davis |
|
bottleneck | nospec | @Xylar Asay-Davis |
|
cartopy | >=0.17.0 | @Jill Chengzhu Zhang |
|
cmocean | nospec | @Xylar Asay-Davis |
|
dask | 2025.9.1 | @Xylar Asay-Davis |
|
dogpile.cache | nospec | @Chris Golaz |
|
eofs | nospec | @Luke Van Roekel |
|
esmf | 8.9.0 | @Xylar Asay-Davis | With system MPI on compute nodes |
esmpy | 8.9.0 | @Xylar Asay-Davis |
|
f90nml | nospec | @Xylar Asay-Davis |
|
ffmpeg | nospec | @Xylar Asay-Davis @Luke Van Roekel |
|
genutil | 8.2.1 | @Jill Chengzhu Zhang |
|
globus-sdk | nospec | @Ryan Forsyth |
|
gsw | nospec | @Xylar Asay-Davis |
|
hdf5 | 1.14.6 | @Jill Chengzhu Zhang @Xylar Asay-Davis |
|
ipygany | nospec | @Erika Roesler |
|
libnetcdf | 4.9.3 | @Xylar Asay-Davis |
|
lxml | nospec | @Xylar Asay-Davis |
|
matplotlib | 3.10.6 | @Jill Chengzhu Zhang @Xylar Asay-Davis |
|
metpy | nospec | @Jim Benedict |
|
mpi4py | nospec | @Xylar Asay-Davis | With system MPI on compute nodes |
nb_conda | nospec | @Jill Chengzhu Zhang |
|
ncview | 2.1.8 | @Jill Chengzhu Zhang |
|
ncvis | 2024.01.26 | @Jill Chengzhu Zhang |
|
nc-time-axis | nospec | @Naser Mahfouz | Nifty package to correctly plot the time axis with xarray |
netCDF4 | 1.7.2 nompi | @Xylar Asay-Davis |
|
notebook | nospec | @Xylar Asay-Davis | We want jupyter notebooks to work… |
numpy | >=2.0.0 | @Xylar Asay-Davis |
|
output_viewer | 1.3.3 | @Jill Chengzhu Zhang @Ryan Forsyth |
|
pillow | nospec | ||