E3SM-Unified 1.12.0 release notes
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:
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.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.jsonfiles across parallel processes.Added
fill_nan()to replacenp.nanwith proper CMOR fill values.Preserved legacy Xarray
compat,join, anddata_varsbehaviors 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:
ncremapfixes OpenMP use for horizontal & vertical regriddingncclimo --rgn_sttautomatically selects only 2D spatial variables for global timeseriesncksS1D ELM gridifier can aggregate fields over all Urban landunit typesncremapbetter 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.7for 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.0adds two new features and is designed for use withzppy-interfaces v0.2.0.Users may now include
pcmdi_diags.zppycurrently supportsmean_climate,variability_modes_cpl,variability_modes_atm, andsynthetic_plots. Support forensowill come in a later release. Please note we are considering this to be a "beta release" ofpcmdi_diags. Please let the developers know if you encounter any issues by posting on the discussion page. Example cfgs usingpcmdi_diagsare available here and here.The
global_time_seriestask now has improved performance and clearer distinctions between its operating modes (i.e., a multi-plot PDF or viewers similar to those ofe3sm_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, supportingjob_nbrin thets_task, fixing the regex fortc_analysis, and fixing year looping for land model-vs-model ine3sm_diags.
zppy-interfaces 0.2.0:
Adds support for the new features (
pcmdi_diagsand improvements toglobal_time_series) included inzppy v3.1.0.
zstash 1.5.0:
zstash v1.5.0includes 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.
zstashwill 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:
Email me directly
Post an issue: E3SM-Unified GitHub Issues
Or join the conversation on Slack: #e3sm-help-postproc
Thanks for being part of the community,
β Andrew, Xylar, and the Infrastructure Team
Β