Published April 7, 2026 | Version v2.68.0
Software Open

GEOS-ESM/MAPL: MAPL 2.68.0

Description

This release includes many updates for both MAPL2 and for the upcoming move to MAPL3 as well as fixes for GEOSgcm development

This includes the introduction of a transitional mode to support MAPL3, enhancements to locstreams and tile file reading, and CDash and CI/CD pipelines. and several bug fixes.

Key Highlights:

  • MAPL3 Transitional Support: Added the MAPL_SUPPORT_MAPL3 CMake option (OFF by default) to compile MAPL2 as a support library alongside MAPL3, renaming targets with a MAPL2.* prefix.

  • Component Updates: Updated components.yaml to match GEOSgcm v12, bumping ESMA_env to v5.21.0 (Baselibs 8.27.0, featuring ESMF v9.0.0b10 and GFE v1.23.0), and ESMA_cmake to v4.36.0 with multiple macOS and f2py fixes.

  • CI/CD Enhancements:

    • CDash nightly workflows configured to build and test release/MAPL-v3 from main.
    • Expensive CI is now skipped on draft PRs.
    • Concurrency groups have been added to GitHub Actions to prevent runner limits.
  • New Features:

    • Added a "read and bcast" pattern for MAPL_ReadTilingNC4.
    • Simple locstreams can now be created with optional tilelons and tilelats.
    • Added support for creating a halo based on local displacement members (LDE).
    • Python bridge updates to support Python 3.12+, fix Python-side GPU uploads, and support the icx compiler.
    • Guarded IEEE halting mode calls on macOS Flang to resolve missing fe*except symbols.

All testing shows this is zero-diff to MAPL 2.67

This version of MAPL was tested with:

  • Intel Fortran Classic (ifort) 2021.13
  • Intel Fortran (ifx) 2025.3
  • GCC 13.2.0, 14.2.0, and 15.2.0
  • NAG 7.2
  • Flang 22.1.0

The libraries this version of MAPL is currently tested with are below.

  • Baselibs 8.27.0
    • netcdf-c 4.9.2
    • netcdf-fortran 4.6.1
    • ESMF 9.0.0b10 (Note: MAPL only requires 8.6.1 at the moment)
    • GFE 1.23.0
      • gFTL 1.17.0
      • gFTL-shared 1.12.0
      • pFUnit 4.16.0 (optional)
      • fArgParse 1.10.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.18.0 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
    • UDUNITS2 2.28.8

Also, if you build with Baselibs and/or -DUSE_F2PY=ON, you should use (at least):

  • ESMA_cmake v4.36.0

We recommend most external users set -DUSE_F2PY=OFF

We also require CMake 3.24 or higher.

From CHANGELOG.md

Fixed

  • Python bridge: support for icx, fix GPU upload python side and updated base API to support python 3.12+
  • Guard IEEE halting mode calls on macOS flang to avoid missing fe*except symbols when initializing MPI.
  • Fixed some warnings with mlc link checker

Added

  • Added "read and bcast" pattern for MAPL_ReadTilingNC4
  • Added optional tilelons and tilelats to create a simple locstream
  • Add MAPL_SUPPORT_MAPL3 CMake option to reduce MAPL2 to a support library for use alongside MAPL3. When ON, the generic layer, gridcomps, Apps, benchmarks, docs, Python bridge, and top-level Tests are disabled; all CMake targets are renamed with a MAPL2.* prefix controlled by the MAPL_TARGET_PREFIX variable. Default is OFF (no change in behavior).
  • When MAPL_SUPPORT_MAPL3=ON, the umbrella module in MAPL/MAPL.F90 is renamed from module MAPL to module MAPL2 (and the alias from MAPL_Mod to MAPL2_Mod); use MAPL in hybrid mode is intentionally undefined. use ESMF_CFIOMod is now unconditional in both modes.
  • Add .mlc.toml file to configure mlc link checker
  • Added a new feature: create a halo based on local displacement members, local-displacement-ensemble (LDE), requested some time ago by Arlindo da Silva
  • CDash nightly workflow configured to build and test release/MAPL-v3 from the main branch
  • CTest dashboard configuration files (CTestDashboard.cmake, CTestConfig.cmake, CTestCustom.cmake) ported from release/MAPL-v3 to support nightly CI/CD testing

Changed

  • Skip expensive CI on draft PRs to match CircleCI behavior
    • Added ready_for_review trigger and if: github.event.pull_request.draft == false condition to workflow.yml, spack-ci.yml, and nag_build_discover.yml
  • Add concurrency groups to GitHub Actions workflows to prevent hitting runner concurrency limits on PRs
    • Added to workflow.yml, changelog-enforcer.yml, enforce-labels.yml, markup-link-checker.yml, validate_yaml_files.yml
    • Fixed spack-ci.yml to scope concurrency per PR number rather than per ref
  • Update components.yaml to match GEOSgcm v12
    • ESMA_env v5.21.0
      • Update to Baselibs 8.27.0
        • ESMF v9.0.0b10
        • GFE v1.23.0
          • gFTL v1.17.0
          • gFTL-shared v1.12.0
          • fArgParse v1.11.0
          • pFUnit v4.16.0
        • Better support for LLVM Flang
      • Fixes for Athena at NAS
      • Updates for DSL work
    • ESMA_cmake v4.36.0
      • Multiple fixes for f2py with spack and on macOS
      • CMake updates mainly for MAPL3 work
    • ecbuild geos/v3.13.1
  • Add CTest scheduling metadata for pFIO tests so parallel ctest runs do not overlap the pFIO performance cases in the same working directory.
  • Update CI to use Baselibs 8.27.0
  • CDash nightly GitHub Actions workflow now allows manual selection of branch, CMake build type, and compiler via workflow_dispatch
  • CDash nightly GitHub Actions workflow now includes the branch name in the CDash build_name for easier identification
  • CTestDashboard.cmake now combines install and build-tests targets into a single build step to accurately capture total build time in CDash
  • CDash nightly GitHub Actions workflow now triggers scheduled builds from main while testing the release/MAPL-v3 branch

What's Changed

  • Guard IEEE halting on macOS flang by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4474
  • v2: Update components to match GEOSgcm v12 by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4503
  • v2: Updates for ctest in parallel by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4510
  • Fix MAPL Docs by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4519
  • Auto GitFlow - main → develop by @github-actions[bot] in https://github.com/GEOS-ESM/MAPL/pull/4520
  • [Python Bridge] icx support, gpu upload/download fix, python 3.12+ API update by @FlorianDeconinck in https://github.com/GEOS-ESM/MAPL/pull/4523
  • v2: Update CI to Baselibs 8.27.0, Fixes for mlc by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4561
  • Feature/lde by @atrayano in https://github.com/GEOS-ESM/MAPL/pull/4584
  • Add CDash nightly workflow by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4587
  • Fix CMake 4.3.1 install in CDash workflow by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4591
  • Auto GitFlow - main → develop by @github-actions[bot] in https://github.com/GEOS-ESM/MAPL/pull/4590
  • GitFlow: Merge main into develop by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4592
  • v2: Skip expensive CI jobs on draft PRs by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4588
  • v2: Update ESMA_env and ESMA_cmake by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4596
  • Port CDash nightly workflow to main branch by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4599
  • Auto GitFlow - main → develop by @github-actions[bot] in https://github.com/GEOS-ESM/MAPL/pull/4601
  • Fix markup-link-checker wretry action mapping by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4602
  • Add MAPL_SUPPORT_MAPL3 CMake option by @tclune in https://github.com/GEOS-ESM/MAPL/pull/4613
  • Propose fix some typos by @jeis4wpi in https://github.com/GEOS-ESM/MAPL/pull/4605
  • add optional tilelats and tilelons to create simple locstream by @weiyuan-jiang in https://github.com/GEOS-ESM/MAPL/pull/4534
  • Add "read and bcast"pattern for MAPL_ReadTilingNC4 by @weiyuan-jiang in https://github.com/GEOS-ESM/MAPL/pull/4562
  • v2: Prepare for 2.68.0 release by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4619
  • GitFlow: Merge develop into main for 2.68 release by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/4621

New Contributors

  • @jeis4wpi made their first contribution in https://github.com/GEOS-ESM/MAPL/pull/4605

Full Changelog: https://github.com/GEOS-ESM/MAPL/compare/v2.67.0...v2.68.0

Files

GEOS-ESM/MAPL-v2.68.0.zip

Files (2.6 MB)

Name Size Download all
md5:c6cf3b2cde71a731b4c1f2008d51fdb8
2.6 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/GEOS-ESM/MAPL/tree/v2.68.0 (URL)

Software