E3SM-Unified 1.12.0 release notes

E3SM-Unified 1.12.0 release notes

image-20251024-081543.png

DearΒ E3SMΒ Team,

πŸš€ New E3SM-Unified Release: Version 1.12.0 is Here!

We’re excited to announce the release of E3SM-Unified 1.12.0 β€” our latest Conda + Spack environment, packed with essential tools for analysis, pre-processing, and post-processing for all E3SM developers and users.

πŸ†• What’s New in 1.12.0

Updated Tools:
ChemDyg, E3SM-Diags, e3sm_to_cmip, LIVVKit, MOAB, MPAS-Analysis, MPAS-Tools, NCO, xcdat, zppy, and zstash β€” all freshly updated and ready to go! The default Python environment now uses Python 3.13.

⚠️ Important Notices:

  1. This release no longer supports CDAT packages (cdms2, cdtime, cdutil, genutil, etc.).
    Users who rely on these libraries should use an older version of E3SM-Unified and begin transitioning to modern alternatives such as xarray and xcdat, as CDAT is no longer supported or maintained.

  2. There is a known issue with using X forwarding to display the ncvis GUI on macOS machines with Apple Silicon (e.g. M3 chips).
    As a workaround, run the following command on your local machine and then restart XQuartz:

defaults write org.xquartz.X11 enable_render_extension 0

Alternatively, you can use the fallback environment E3SM Unified 1.9.0, which does not exhibit this issue.

Activation

As in previous versions, you can access the environment as usual by sourcing an activation script:

Andes:

sourceΒ /ccs/proj/cli115/software/e3sm-unified/load_latest_e3sm_unified_andes.sh

Anvil:

sourceΒ /lcrc/soft/climate/e3sm-unified/load_latest_e3sm_unified_anvil.sh

Aurora:

sourceΒ /lus/flare/projects/E3SMinput/soft/e3sm-unified/load_latest_e3sm_unified_aurora.sh

Chrysalis:

sourceΒ /lcrc/soft/climate/e3sm-unified/load_latest_e3sm_unified_chrysalis.sh

Compy:

sourceΒ /share/apps/E3SM/conda_envs/load_latest_e3sm_unified_compy.sh

Dane:

source /usr/workspace/e3sm/apps/e3sm-unified/load_latest_e3sm_unified_dane.sh

Frontier:

sourceΒ /ccs/proj/cli115/software/e3sm-unified/load_latest_e3sm_unified_frontier.sh

Perlmutter (login or CPU nodes):

sourceΒ /global/common/software/e3sm/anaconda_envs/load_latest_e3sm_unified_pm-cpu.sh

ALCF Polaris:

sourceΒ /lus/grand/projects/E3SMinput/soft/e3sm-unified/load_latest_e3sm_unified_polaris.sh

Details

TheΒ new versionΒ has been deployed on all supported machines: Andes, Anvil, Aurora, Chrysalis, Compy, Dane, Frontier, Perlmutter, and ALCF Polaris (not to be confused with the E3SM Polaris software).

Note: We encourage users at OLCF to use Andes, rather than Frontier, for processing and analysis.

On 7 machines (Anvil, Aurora, Chrysalis, Compy, Dane, Frontier, and Perlmutter) there areΒ 6 packages of interest -- ESMF, ILAMB, MOAB, NCO, TempestExtremes and TempestRemap -- thatΒ have been built with Spack using system compilers and MPI libraries.Β  When you load E3SM-Unified on a compute node, you will have access to these versions, which can be run in parallel and which will typically runΒ more efficiently than their counterparts in conda packages.

The tools needed to build E3SM documentation locally with mkdoc are also included to E3SM-Unified.

For a full list of the packages and their versions in this version E3SM-Unified, please consult confluence.

Important Updates in 1.12.0

ChemDyg 1.1.0:

  • Updates to be compatible with zppy (v3.0.0)

  • Some minor fixes

E3SM-Diags 3.0.1 and 3.1.0 :

  • New features:

    • Support for plotting data on native grids (e.g., cubed-sphere, unstructured grids) using UXarray, see example-native-grid-visualization

    • Snapshot analysis on core diagnostic sets (lat_lon, lat_lon_native, polar, zonal_mean_2d, meridional_mean_2d, zonal_mean_2d_stratosphere), allowing analysis of individual time steps of model data, see example-snapshot-analysis. model vs obs support will be included in next releases.

    • Full support of 2d land variable in model vs model run.

    • Included AR and ETC detection script for standalone use.

  • User-facing Bug fixes and Enhancements

    • Fixed tropical_subseasonal set by supporting processing year values less than 1000

    • Fixed streamflow diagnostics to support dynamic resolution

    • Added v3LR to baseline in Taylor Diagram and CMIP comparison plots

    • Updated tropical_subseasonal set for EAMxx output

e3sm_to_cmip v1.13.0 (since 1.11.3):

  • Added support for new v3 atmosphere variable handlers.

  • Introduced 3D aerosol species mixing ratio variable.

  • Centralized results directories, revamped logging, and improved logger readability.

  • Optimized entry point and argument parsing for faster runtime setup.

  • Matched variable handlers by compatible frequency and raw variable names.

  • Fixed MPAS handler logging and temporary directory issues to prevent file collisions and hanging.

  • Ensured unique user_metadata.json files across parallel processes.

  • Added fill_nan() to replace np.nan with proper CMOR fill values.

  • Preserved legacy Xarray compat, join, and data_vars behaviors for stability.

View the full changelog for more information.

LIVVKit 3.1.0:

  • Handles missing performance files more gracefully

  • Improves file diff section header titles

MOAB 5.6.0:

  • iMOAB, BfB, and remapping: Unified iMOAB API for online and offline linear map workflows, faster parallel SCRIP and domain file reading with dynamic partitioning, correct RLL grid rank propagation, and fully BfB reproducible map projections using arbitrary decompositions.

  • CAAS and visualization: Added parallel CAAS nonlinear bounds-preserving filter and enhanced MOAB VisIt plugin support to visualize linear map couplings alongside meshes and fields.

  • Regression and comparison tools: Expanded regression testing with the compare H5M utility, added new tools to compare projection data and offline maps generated with mbtempest, and improved metadata handling to ensure consistent grid rank/dimension of meshes and fields.

  • Detailed changelogs provide more information about all updates.

mosaic 1.2.1:

  • Mirroring of planar periodic meshes across periodic boundaries.

  • Better support for directly plotting from restart files.

MPAS-Analysis 1.14.0:

  • Enhanced ocean and sea-ice diagnostics: more robust conservation time series, expanded variables for polar regions and mass flux analysis, improved barotropic streamfunction handling, and fixes for hangs and missing projections.

  • Broader and more flexible analysis capabilities: support for custom climatology maps (2D/3D), improved transect processing (including NetCDF transects), addition of wind-stress-curl map plots, and better handling of anomalies and regional time series.

NCO 5.3.6:

  • ncremap fixes OpenMP use for horizontal & vertical regridding

  • ncclimo --rgn_stt automatically selects only 2D spatial variables for global timeseries

  • ncks S1D ELM gridifier can aggregate fields over all Urban landunit types

  • ncremap better detects and warns about corrupt input

xcdat 0.10.1 (since 0.8.0):

  • Added options to output regridding weights and infer vertical target data.

  • Introduced weight thresholds for spatial and temporal averaging.

  • Improved time frequency inference using median delta calculation.

  • Enhanced coordinate handling and added curvilinear grid support.

  • Fixed major xgcm and xESMF integration issues and regridding alignment.

  • Preserved legacy Xarray open_mfdataset() behaviors to prevent breaking changes.

  • Constrained cf_xarray >= 0.10.7 for correct non-monotonic bounds handling.

  • Removed mask from grid creation to fix xESMF issues.

  • Improved performance and stability across regridding and temporal operations.

  • View the full changelog for more information.

zppy 3.1.0:

  • zppy v3.1.0 adds two new features and is designed for use with zppy-interfaces v0.2.0.

    • Users may now include pcmdi_diags. zppy currently supports mean_climate, variability_modes_cpl, variability_modes_atm, and synthetic_plots. Support for enso will come in a later release. Please note we are considering this to be a "beta release" of pcmdi_diags. Please let the developers know if you encounter any issues by posting on the discussion page. Example cfgs using pcmdi_diags are available here and here.

    • The global_time_series task now has improved performance and clearer distinctions between its operating modes (i.e., a multi-plot PDF or viewers similar to those of e3sm_diags).

  • Other improvements include adding provenance cfg files to the output and web directories for easier debugging, removing machine specific paths, updating the default cfg for ilamb, supporting job_nbr in the ts_task, fixing the regex for tc_analysis, and fixing year looping for land model-vs-model in e3sm_diags.

zppy-interfaces 0.2.0:

  • Adds support for the new features (pcmdi_diags and improvements to global_time_series) included in zppy v3.1.0.

zstash 1.5.0:

  • zstash v1.5.0 includes two important updates:

    • Globus authentication has been simplified. Now, instead of running a "toy problem", pasting an auth code twice, and then running the desired command, users can immediately run their desired command and will only be prompted for an auth code once. Additionally, there is no longer a need to delete a token file except when switching to a new destination endpoint.

    • zstash will now detect database corruptions such as a tar appearing multiple times.


πŸ”­ Looking Ahead: Version 1.13.0

We’re planning to kick off testing for v1.13.0 in March, with an expected release in April 2026.
Do you have suggestions for packages or version updates? We are especially interested in hearing about AI/ML packages you would like incorporated into unified. Please reach out on the v1.13.0 GitHub discussions page for inquiries about package updates and additions.


πŸ“¬ As always, reach out with questions:

Thanks for being part of the community,
– Andrew, Xylar, and the Infrastructure Team

Β