Skip to content

MAPL 2.69.0

Choose a tag to compare

@mathomp4 mathomp4 released this 15 May 16:03
· 61 commits to main since this release
07af541

DOI

Note to developers

This will be the last version of MAPL v2 based on the develop branch. MAPL v3 is now in active development and the develop branch will soon be MAPL v3 based.

We will branch main off of v2.69.0 as release/v2 and all PRs for MAPL v2 should be based on the release/v2 branch.


This release includes bug fixes, an enhancement to ExtDataDriver.x, and the removal of the short-lived MAPL_SUPPORT_MAPL3 build option.

Key Highlights:

  • New RUN_LIKE_MODEL option in ExtDataDriver.x: Controls whether the clock ticks before (model-like) or after (default/legacy) each step, making it easier to reproduce true model behavior in testing (#4886).

  • ExtData2G non-CF vertical coordinate compatibility: Improved handling of non-CF dimensionless vertical coordinates; standard_name is now mapped to long_name for better compatibility with non-CF inputs (#4802).

  • Bug Fixes:

    • Fixed a bug in WireComponent affecting TerminateImport and removed an unnecessary _ASSERT in MAPL_TerminateImportAllBut (#4674).
    • Fixed an informative error message when extrapolation is attempted without a valid range in ExtData2G (#4649).
    • Fixed SIGFPE (integer divide by zero) in MAPL_LoadBalanceMod when the load balancing algorithm evaluates maximum differences to zero (#4643).
    • Python bridge: removed an odd 3rd-party dependency caused by importing no_type_check outside the standard library (#4800).
    • Relaxed the comparison standard for grid_is_ok (#4870).

All testing shows this is zero-diff to MAPL 2.68.0


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

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.37.0

We recommend most external users set -DUSE_F2PY=OFF

We also require CMake 3.24 or higher.


From CHANGELOG.md

Fixed

  • Relaxed comparison standard for grid_is_ok. Added a test program to querry index
  • Fixed bug in WireComponent affecting TerminateImport
  • Removed unnecessary _ASSERT in MAPL_TerminateImportAllBut
  • Fixed bug so that an informative error message will be emitted when extrapolation is attempted to be used without a valid range in ExtData2G
  • Fixed SIGFPE (integer divide by zero) in MAPL_LoadBalanceMod when load balancing algorithm evaluates maximum differences to zero.
  • Python bridge: remove odd 3rd party dependency due to importing no_type_check outside of the standard library

Added

  • Add new RUN_LIKE_MODEL options to ExtDataDriver.x to control whether clock ticks before (like model) or after (default and behaviour before this)

Changed

  • Switch 6 lightweight CI workflows to ubuntu-slim runner to reduce concurrency pressure on ubuntu-latest (#4841)
  • Update components.yaml
    • ESMA_cmake v4.37.0
      • Add Coverage CMake build type
  • Update CTest configuration for Coverage tests
  • Changed standard_name to long_name in handling of non-CF dimensionless vertical coordinate in ExtData2G

Removed

  • Removed MAPL_SUPPORT_MAPL3 CMake build option and all associated MAPL_TARGET_PREFIX variable logic (GH-4633). The dual-mount MAPL2+MAPL3 approach has been abandoned in favour of a single-mount MAPL3-only strategy.

What's Changed

Full Changelog: v2.68.0...v2.69.0