Releases: GEOS-ESM/MAPL
MAPL 2.66.0
This release of MAPL is mainly for a fix in some sorting code used in GEOS for our boundary condition construction. An integer overflow was found at very-high resolution.
Beyond that are minor infrastructure updates to ESMA_env and ESMA_cmake as well as our beginning efforts at using ML agents with MAPL development.
This is zero-diff to MAPL v2.65
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
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.24.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b08 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.72.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Guarded against 32-bit integer overflow in QSswap
Added
- Added 9 modular OpenCode agent skills for MAPL development workflows (replaces AGENTS.md)
- mapl-setup: First-time environment configuration
- mapl-build: Building with NAG, gfortran, Intel compilers
- mapl-testing: Running and debugging tests with pFUnit
- fortran-style: MAPL Fortran coding standards
- mapl-error-handling: Error handling macros and best practices
- github-workflow: Git/GitHub conventions and PR process
- remote-build: Building on bucy with Intel compiler
- pfunit-troubleshooting: Debug pFUnit test failures
- compiler-switching: Switch between compilers safely
- Added
.rgignoreto have ripgrep ignore common build directories
Changed
- Update
components.yamlESMA_envv5.17.0- Update to Baselibs 8.24.0
- ESMF v9.0.0b08
- GFE v1.22.0
- pFUnit v4.15.0
- curl 8.17.0
- NCO 5.3.6
- CDO 2.5.4
- Various updates for Athena/Turin/TOSS5 at NAS
- Support for Athena/Turin/TOSS5 at NAS
- Update
build.cshto support Athena/Turin/TOSS5 at NAS- Also remove Haswell
- Update
- Update to Baselibs 8.24.0
ESMA_cmakev3.72.0- Add
USES_TERMINALto ourteststarget to ensure output is shown as tests run with Ninja - Updates for f2py and f2py3 for running on macOS with Spack
- Add Athena frontend nodes for NAS detection
- Remove
ctestpre-test build
- Add
What's Changed
- Feature/add clinerules by @tclune in #4365
- v2: Add .rgignore file by @mathomp4 in #4372
- v2: Update components - 2026-Feb-09 by @mathomp4 in #4371
- Fixed 32-bit integer overflow bug in sort.c by @atrayano in #4381
- Add OpenCode agent skills for MAPL development by @tclune in #4393
- v2: Prepare for 2.66.0 release by @mathomp4 in #4400
- GitFlow: Merge develop into main for 2.66 release by @mathomp4 in #4404
Full Changelog: v2.65.0...v2.66.0
MAPL 2.65.0
This is a new minor release of MAPL.
The main impetus for this release is it is part of a two-part fix for a memory leak found in the GEOSgcm mkiau code (used in Replay). This leak is seen prominently if you run replay for a long time on many cores.
This release also adds a new protection against doing time-averaged History output when the ref_time is incompatible with the frequency and start time in cap_restart. Before, the initial History output would be empty (all MAPL_UNDEF or 0.0) and this could cause unintended consequences down the line. So MAPL 2.65 takes the safe route where it now will halt if this condition is detected.
All tests show this is zero-diff to MAPL 2.64
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
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.24.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b08 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.68.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Added
- Added implementation for
mapl_GetPartition()with unit tests. Replaces logic that will disappear with MAPL2 - Added backwards compatibility with non-CF dimensionless vertical coordinate in ExtData2G
- Added logic in History to check for consistent History and averaging coupler alarms
Changed
- added formating string to the pFlogger call in
FileBundleRead.F90to avoid processing incidental '%' characters in the filename - replaced
rc=statuswith_RCinMAPL_read_bundle MAPL_read_bundlenow logs the filename instead of the file template- added optional argument "NoGarbage" to
MAPL_BundleDestroy - Updated CI to use Baselibs 8.24.0
- This provides ESMF 9.0.0b08
- Update ifx tests to 2025.3 (enabled by ESMF 9.0.0b08)
What's Changed
- Fixes #4238 - mapl_GetPartition() by @tclune in #4239
- Tclune patch 1 by @tclune in #4243
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #4247
- v2: Update CI to Baselibs 8.24.0 by @mathomp4 in #4275
- Auto GitFlow - main → develop by @github-actions[bot] in #4281
- Auto GitFlow - main → develop by @github-actions[bot] in #4283
- ExtData2G backwards compatibility with non-CF vertical coord by @lizziel in #4300
- Added support to fix a memory leak in mkIAU by @atrayano in #4333
- Fixed #4331. Added logic to check consistency between History and by @atrayano in #4343
- v2: Prepare for 2.65.0 release by @mathomp4 in #4337
- GitFlow: Merge develop into main for 2.65.0 release by @mathomp4 in #4348
Full Changelog: v2.64.2...v2.65.0
MAPL 2.64.2
This is a patch release on MAPL v2.64 with a fix for ExtData. A bug was found in ADAS testing where GAAS AOD files were not being read and a flaw in the file-finding logic was found. This was fixed on v2.57.1 and forward-ported to main.
This is zero-diff to v2.64.1 (unless the bug was triggered).
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
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.20.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.68.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Fixed issue with
find_any_filewhere bad logic caused issues with GAAS files not being read (forward port of MAPL 2.57.1 fix)
What's Changed
Full Changelog: v2.64.1...v2.64.2
MAPL 2.57.1
This is a patch on MAPL v2.57.0 with a fix for ExtData. A bug was found in ADAS testing were GAAS AOD files were not being read. A flaw in logic was found.
This is zero-diff to v2.57.0 save where the bug was triggered.
This version of MAPL was tested with:
- Intel Fortran Classic (
ifort) 2021.6.0 and 2021.13 - Intel Fortran (
ifx) 2025.0 - GCC 13.2.0 and 14.2.0
- NAG 7.2
The libraries this version of MAPL is currently tested with are below.
- Baselibs 7.33.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 8.8.1 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.16.0
- gFTL 1.15.2
- gFTL-shared 1.10.0
- pFUnit 4.11.1 (optional)
- fArgParse 1.9.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.16.1 (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 v3.62.1
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Fixed issue with
find_any_filewhere bad logic caused issues with GAAS files not being read
Full Changelog: v2.57.0...v2.57.1
MAPL 2.64.1
This is a patch release of MAPL 2.64. It restores a workaround for GNU for binary restart reads. This is used in the GEOS single column model (SCM).
This is zero-diff to v2.64.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
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.20.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.68.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Restore workaround for binary restart reads with GNU
- Brings back changes from PR #1038: Added a workaround for a gfortran bug that handles end-of-file incorrectly (returns IOSTAT=5001).
What's Changed
Full Changelog: v2.64.0...v2.64.1
MAPL 2.64.0
This release of MAPL has an update for MAPL_LocStream to support work ongoing in GEOSldas, adding the ability to pass Pfaffstetter index.
All tests show this is zero-diff to MAPL 2.63
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
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.20.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.68.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Added
- Added
pfaf_indextoMAPL_Locstream - Added a simple MAPL_LocstreamCreate
Changed
- Enforced presence of
gridwhen reading binary tile file
What's Changed
- added pfaf index to MAPL_Locstream by @weiyuan-jiang in #4000
- GitFlow: Merge develop into main for 2.64 release by @mathomp4 in #4229
Full Changelog: v2.63.1...v2.64.0
MAPL 2.63.1
This is a patch release on MAPL 2.63. This release fixes an issue needed for 1-d tile space output in netCDF format.
All tests show it zero-diff to MAPL 2.63.0
This version of MAPL was tested with:
- Intel Fortran Classic (
ifort) 2021.6.0 and 2021.13 - Intel Fortran (
ifx) 2025.3 - GCC 13.2.0, 14.2.0, and 15.2.0
- NAG 7.2
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.20.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.68.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Changed
- Combine MAPL_Grid_interior and MAPL_GridgetInterior
- This is needed for 1-d tile space output in netCDF4 format
What's Changed
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #4195
- Feature/wjiang/combine interio by @weiyuan-jiang in #4132
- GitFlow: Merge develop into main for 2.63.1 release by @mathomp4 in #4205
Full Changelog: v2.63.0...v2.63.1
MAPL 2.63.0
This release of MAPL 2 has many new updates and fixes.
The main updates are to handling of Tile grids for use in GEOSldas. There are also updates to the ACG Writer for our ongoing transition to MAPL3 as well as many internal changes to the CI.
All testing with GEOSgcm shows this to be zero-diff to MAPL 2.62
This version of MAPL was tested with:
- Intel Fortran Classic (
ifort) 2021.6.0 and 2021.13 - Intel Fortran (
ifx) 2025.3 - GCC 13.2.0, 14.2.0, and 15.2.0
- NAG 7.2
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.20.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.20.0
- gFTL 1.16.0
- gFTL-shared 1.11.0
- pFUnit 4.13.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.17.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 v3.68.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Removed obsolete pfio test
- Fix a memory leak in trajectory sampler due to misuage of FieldRegrid which should be FieldRedist
- Fixed
mapl_acg.cmaketo allow for more than one StateSpecs file per target - Fix NVHPC issue with IEEE halting code
- Fix a misspelled
MAPL_LIBRARY_TYPEinvertical - Workaround for Flang
Added
- Added updated version of
MAPL_GridCompSpecs_ACG_writer.py - Added 'Gridname' attribute to history output
- Create TilgridIO's outbundle from output grid and deallocate mGriddedIO in History
- Added TileGridIO.F90 to output NC4 History file in tile space. The collection's format should be 'CFIO'
- Added bit shave to TileGridIO
Changed
- Update CI
- Use Baselibs 8.20.0
- Add gcc15 test
- Use organization reusable workflows
- Run CI build test with NAG on PRs
- Update
README_ACG_WRITER.md - Update
components.yamlESMA_envv5.16.0- Update to Baselibs 8.20.0
- GFE v1.20.0
- gFTL v1.16.0
- gFTL-shared v1.11.0
- fArgParse v1.10.0
- pFUnit v4.13.0
- yaFyaml v1.6.0
- pFlogger v1.17.0
- NCO 5.3.5
- This is mainly for ifx 2025.2 support
- Requires CMake 3.24
- GFE v1.20.0
- Update to Baselibs 8.20.0
ESMA_cmakev3.68.0- Update
ifxflags to match as close as possible toifortflags - Update site detection for NAS
- Updates for f2py and flang
- Update
Removed
- Removed TileIO.F90. It is integrated into TileGridIO.F90
What's Changed
- v2: Update CI, Add gcc15 test by @mathomp4 in #4094
- v2: Add support for more than one StateSpecs per target by @mathomp4 in #4103
- Auto GitFlow - main → develop by @github-actions[bot] in #4107
- v2: Update CI to use reusable workflows by @mathomp4 in #4111
- v2: Fix issue with NVHPC and halting by @mathomp4 in #4110
- NC4 file in tile space for History output by @weiyuan-jiang in #4097
- Auto GitFlow - main → develop by @github-actions[bot] in #4120
- Auto GitFlow - main → develop by @github-actions[bot] in #4123
- Fix a memory leak in trajectory sampler by @metdyn in #4057
- Feature/wjiang/destroy mgridded by @weiyuan-jiang in #4126
- Bump devops-infra/action-pull-request from 0.6.1 to 1.0.0 by @dependabot[bot] in #4130
- v2: Update CI to Baselibs 8.20 by @mathomp4 in #4137
- v2: Fix misspelled MAPL_LIBRARY_TYPE by @mathomp4 in #4145
- Bump devops-infra/action-pull-request from 1.0.0 to 1.0.2 by @dependabot[bot] in #4140
- Feature/wjiang/gridname in history by @weiyuan-jiang in #4148
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #4153
- Document ACG Writer by @darianboggs in #4157
- Auto GitFlow - main → develop by @github-actions[bot] in #4163
- remove obsolete pfio test by @weiyuan-jiang in #4139
- v2: Add aider dot directories to gitignore by @mathomp4 in #4141
- v2: Update to ESMA_env 5.16.0, ESMA_cmake 3.68.0 by @mathomp4 in #4173
- Fixes #4172 - flang workarounds by @tclune in #4174
- v2: Turn on NAG build CI on PRs by @mathomp4 in #4181
- make bit shaving work on nc4 tile space output by @weiyuan-jiang in #4190
- v2: Prepare for 2.63.0 release by @mathomp4 in #4193
- GitFlow: Merge develop into main for 2.63.0 release by @mathomp4 in #4196
Full Changelog: v2.62.2...v2.63.0
MAPL 2.62.2
This is a patch release of MAPL 2.62. This fixes a bug when one of the two names in an ExtData2G rule for a vector is contained is a substring in another item, for example UA;VA and EVAP
Testing shows this is zero-diff to MAPL 2.62.1
This version of MAPL was tested with:
- Intel Fortran Classic (
ifort) 2021.6.0 and 2021.13 - Intel Fortran (
ifx) 2025.2- NOTE:
ifx2025.2 support is currently a bit of a work-in-progress as it requires changes in upstream GFE libraries (pFlogger and pFUnit) as well as ESMA_cmake v3.65.0. Once releases are made of the GFE libraries, this will become simpler.
- NOTE:
- GCC 13.2.0, 14.2.0, and 15.2.0
- NAG 7.2
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.19.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.19.0
- gFTL 1.15.2
- gFTL-shared 1.10.0
- pFUnit 4.11.1 (optional)
- fArgParse 1.9.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.16.1 (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 v3.65.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Fixed bug when one of the two names in an ExtData2G rule for a vector is contained is a substring in another item, for example UA;VA and EVAP
What's Changed
- Fixes #4158 by @bena-nasa in #4160
Full Changelog: v2.62.1...v2.62.2
MAPL 2.62.1
This is a patch release of MAPL 2.62. This fixes a bug when regridding with grid that has PET with no DEs.
Testing shows this is zero-diff to 2.62.0
This version of MAPL was tested with:
- Intel Fortran Classic (
ifort) 2021.6.0 and 2021.13 - Intel Fortran (
ifx) 2025.2- NOTE:
ifx2025.2 support is currently a bit of a work-in-progress as it requires changes in upstream GFE libraries (pFlogger and pFUnit) as well as ESMA_cmake v3.65.0. Once releases are made of the GFE libraries, this will become simpler.
- NOTE:
- GCC 13.2.0, 14.2.0, and 15.2.0
- NAG 7.2
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.19.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b03 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.19.0
- gFTL 1.15.2
- gFTL-shared 1.10.0
- pFUnit 4.11.1 (optional)
- fArgParse 1.9.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.16.1 (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 v3.65.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Fixed
- Fixed bug when regridding with grid that has PET with no DEs
What's Changed
- v2: Update INSTALL.md by @mathomp4 in #4093
- Auto GitFlow - main → develop by @github-actions[bot] in #4095
- v2: Add NAG CI Runner by @mathomp4 in #4106
- fixes #4118 by @bena-nasa in #4119
- Prepare for 2.62.1 release by @mathomp4 in #4122
Full Changelog: v2.62.0...v2.62.1