E3SM Unified Environment v1.3.0

  • November 13, 2019
  • Releases
  • E3SM Unified Environment Logo

    The E3SM project uses several different software packages for its visualization, diagnostic, evaluation and analysis needs, such as CDAT, MPAS Analysis, E3SM Diagnostics, A-PRIME Diagnostics, ARM Diagnostics, ILAMB, NCO, etc. Each of these software tools requires its own unique environment and can depend on other external software packages. To ensure there is no conflict between these disparate packages, E3SM developed what is called the E3SM Unified Environment based on the Conda open-source package and environment management system.


    E3SM-Unified v1.3.0 includes Python 3 and has been deployed on all supported machines (Anvil/Blues, Compy, Cori, Cooley, ACME1, and Rhea). E3SM-Unified is an Anaconda environment that includes as much E3SM analysis software as possible. The E3SM project is maintaining the unified anaconda environment, which includes modules needed by all E3SM developed tools, to ensure that once users install this environment, they will be able to run any of the supported E3SM tools.

    Users can access the environment by sourcing the script load_latest_e3sm_unified.sh with the command :

    ” source  <activate_path>/load_latest_e3sm_unified.sh ”

    where <activate_path> is the path to the activation script. See the E3SM Unified Environment page for the path to the .sh file on each supported machine.


    If users do not have access to a supported supercomputer, they can install the E3SM-Unified package on their own machines. The E3SM Unified Environment page includes instructions for installing the environment on a personal machine.

    Older Environments

    E3SM-Unified has been deployed with Python 3.7, which all of the E3SM packages now support. Python 2.7 is no longer supported unless users wish to load one of the older environments. E3SMUnified environments take up quite a bit of space and (more importantly) include hundreds of thousands of files. Because of this, only the last three versions (1.2.5, 1.2.6 and 1.3.0) will remain installed. To activate one of these older environments, see the following E3SM internal Confluence page: Diagnostics and Analysis Quickstart. Versions older than 1.2.5 can be accessed by following instructions in Packages in the E3SM Unified conda environment on the E3SM internal Confluence website.

    System MPI and mpi4py

    An experimental environment has been added to the E3SM Unified environment where the mpi4py package has been built with system MPI support. This experimental environment is activated with the shell script: load_latest_e3sm_unified_sysmpi.sh. The experimental environment is expected to allow ILAMB and custom scripts with mpi4py to run across multiple nodes.

    Note: testing has shown that the E3SM_Diagnostics (E3SM_Diags) tool does not work well in this environment, because of an incompatibility between the custom ESMF package (without MPI support) included and the ESMPy package. It is not feasible to rebuild all packages that use MPI with the system MPI because of other dependencies such as libnetcdf that are simply too complex. This experimental environment is only likely to be useful for packages that use mpi4py and not other MPI-dependent packages (E3SM_Diags, MPAS-Analysis, NCO, Processflow, ESMPy, ESMF and likely others).

    Contact: Xylar Asay-Davis, Los Alamos National Laboratory

    Send this to a friend