GEOS-ESM/MAPL: MAPL 2.68.0
Authors/Creators
- Matt Thompson1
- Ben Auer
- Tom Clune
- Weiyuan Jiang
- Darian Boggs
- Atanas Trayanov
- Yonggang Yu2
- Amidu Oloso
- Gian Villamil-Otero
- Raffaele Montuoro
- William Jamieson3
- Natalie Patten
- Peter Norris
- Lizzie Lundgren
- Elliot Sherman
- Jules Kouatchou
- Bill Putman
- Liam Bindle
- pchakraborty
- Scott Rabenhorst4
- Mike Manyin
- Florian Deconinck5
- Patricia Castellanos
- Sebastian David Eastham6
- Bin Zhao
- rtodling
- scivision
- John Eismeier
- Rolf Reichle5
- 1. SSAI/GMAO
- 2. saic.com
- 3. Space Telescope Science Institute
- 4. GMAO
- 5. NASA Goddard Space Flight Center
- 6. Imperial College London
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_MAPL3CMake option (OFFby 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*exceptsymbols.
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*exceptsymbols when initializing MPI. - Fixed some warnings with
mlclink checker
Added
- Added "read and bcast" pattern for
MAPL_ReadTilingNC4 - Added optional
tilelonsandtilelatsto create a simple locstream - Add
MAPL_SUPPORT_MAPL3CMake option to reduce MAPL2 to a support library for use alongside MAPL3. WhenON, the generic layer, gridcomps, Apps, benchmarks, docs, Python bridge, and top-level Tests are disabled; all CMake targets are renamed with aMAPL2.*prefix controlled by theMAPL_TARGET_PREFIXvariable. Default isOFF(no change in behavior). - When
MAPL_SUPPORT_MAPL3=ON, the umbrella module inMAPL/MAPL.F90is renamed frommodule MAPLtomodule MAPL2(and the alias fromMAPL_ModtoMAPL2_Mod);use MAPLin hybrid mode is intentionally undefined.use ESMF_CFIOModis now unconditional in both modes. - Add
.mlc.tomlfile to configuremlclink 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-v3from themainbranch - CTest dashboard configuration files (
CTestDashboard.cmake,CTestConfig.cmake,CTestCustom.cmake) ported fromrelease/MAPL-v3to support nightly CI/CD testing
Changed
- Skip expensive CI on draft PRs to match CircleCI behavior
- Added
ready_for_reviewtrigger andif: github.event.pull_request.draft == falsecondition toworkflow.yml,spack-ci.yml, andnag_build_discover.yml
- Added
- Add
concurrencygroups 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.ymlto scope concurrency per PR number rather than per ref
- Added to
- Update
components.yamlto 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
- Update to Baselibs 8.27.0
- 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
- ESMA_env v5.21.0
- Add CTest scheduling metadata for pFIO tests so parallel
ctestruns 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_namefor easier identification CTestDashboard.cmakenow combinesinstallandbuild-teststargets into a single build step to accurately capture total build time in CDash- CDash nightly GitHub Actions workflow now triggers scheduled builds from
mainwhile testing therelease/MAPL-v3branch
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]
icxsupport, 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
- Repository URL
- https://github.com/GEOS-ESM/MAPL