MAPL 2.51.0
This release of MAPL has many new updates and changes. Some highlights include:
- Support for the Intel
ifx
compiler (including in CI)- Note that MAPL Unit tests only work with
ifx
2025.0, though 2024.2 can work with GEOSgcm
- Note that MAPL Unit tests only work with
- Allow lat-lon grid factory to detect and use CF compliant lat-lon bounds in a file when making a grid
- Added a call in GenericRefresh to allow GC's refresh method to be called; in support of CICE6 rewind
- Add ability to use an
ESMF_CONFIG_FILE
environment variable to specify name of file to pass in pre-ESMF_Initialize
options to ESMF (see ESMF Docs for allowed flags) - Added commandline options to
checkpoint_benchmark.x
andrestart_benchmark.x
to allow for easier testing of different configurations. Note that the old configuration file style of input is allowed via the--config_file
option (which overrides any other command line options) - Fixed issue of some Baselibs builds appearing to support zstandard. This is not possible due to Baselibs building HDF5 and netCDF as static libraries
- Preliminary support for llvm-flang
- NOTE: MAPL does not yet work with llvm-flang. But some updates were added here for development testing.
- Trajectory sampler: fix a bug when group_name does not exist in netCDF file and a bug that omitted the first time point
- Fixed a bug where the periodicity around the earth of the lat-lon grid was not being set properly when grid did not span from pole to pole
There are also new build requirements for MAPL 2.51:
- CMake 3.24
- ESMF 8.6.1
All tests show this to be zero-diff to MAPL 2.50
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.27.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 8.7.0 (Note: MAPL only requires 8.6.1 at the moment)
- GFE 1.16.0
- gFTL 1.14.0
- gFTL-shared 1.9.0
- pFUnit 4.10.0 (optional)
- fArgParse 1.8.0 (if
-DBUILD_WITH_FARGPARSE=YES
, default=YES
) - pFlogger 1.14.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.55.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Added
- Added macro
_RETURN(_SUCCESS)
to fetch_data - Allow update offsets of ±timestep in ExtData2G
- Minor revision (and generalization) of grid-def for GSI purposes
- Add ability to use an
ESMF_CONFIG_FILE
environment variable to specify name of file to pass in pre-ESMF_Initialize
options to ESMF (see ESMF Docs for allowed flags. - Allow lat-lon grid factory to detect and use CF compliant lat-lon bounds in a file when making a grid
- PFIO/Variable class, new procedures to retrieve string/reals/int attributes from a variable
- Added a call in GenericRefresh to allow GC's refresh method to be called; in support
of CICE6 rewind
Changed
- Change minimum CMake version to 3.24
- This is needed for f2py and meson support
- Refactored tableEnd check
- Added commandline options to
checkpoint_benchmark.x
andrestart_benchmark.x
to allow for easier testing of different configurations. Note that the old configuration file style of input is allowed via the--config_file
option (which overrides any other command line options) - Update ESMF version for Baselibs to match that of Spack for consistency
- Update
components.yaml
- ESMA_env v4.32.0
- Baselibs 7.27.0
- ESMF 8.7.0
- curl 8.10.1
- NCO 5.2.8
- CDO 2.4.4
- GSL 2.8
- jpeg 9f
- Various build fixes
- Baselibs 7.27.0
- ESMA_cmake v3.55.0
- Fixes for using MAPL as a library in spack builds of GEOSgcm
- Various backports from v4
- Code for capturing
mepo status
output - Fixes for f2py and meson (NOTE: Requires CMake minimum version of 3.24 in project for complete functionality)
- Fixes for
MPI_STACK
code run multiple times
- ESMA_env v4.32.0
- Updates to CI
- Use v7.27.0 Baselibs
- Use GCC 14 for GNU tests
- Add pFUnit-less build test
- Enable ifx tests
- Improve some writes to be more informative
- In
base/MAPL_CFIO.F90
, addedIam
to a print statement so that when a read fails we know which routine failed - In
gridcomps/ExtData2G/ExtDataConfig.F90
, print out the name of the duplicate collection that causes model to fail
- In
Fixed
- Fixed issue of some Baselibs builds appearing to support zstandard. This is not possible due to Baselibs building HDF5 and netCDF as static libraries
- Workaround ifx bug in
pfio/ArrayReference.F90
(NOTE: This currently targets all versions of ifx, but will need to be qualified or removed in the future) - Updates to support llvm-flang
- Trajectory sampler: fix a bug when group_name does not exist in netCDF file and a bug that omitted the first time point
- Fixed a bug where the periodicity around the earth of the lat-lon grid was not being set properly when grid did not span from pole to pole
What's Changed
- Allow update offsets based on timestep for extdata2g by @darianboggs in #3099
- Turn off zstandard with Baselibs by @mathomp4 in #3098
- Auto GitFlow - main → develop by @github-actions in #3110
- Update to ESMA_env v4.31.0 (ESMF 8.7.0) by @mathomp4 in #3114
- This grid-def file is used in GSI by @rtodling in #3120
- Update CI to use Baselibs 7.27.0 by @mathomp4 in #3116
- Auto GitFlow - main → develop by @github-actions in #3134
- Update to use GCC 14 in CI GNU runs by @mathomp4 in #3138
- Add options to benchmark scripts by @mathomp4 in #3097
- Add CMake to skip ExtData2G unit test if pfunit not found by @mathomp4 in #3157
- Trajectory sampler: minor bug fix by @metdyn in #3168
- check tableEnd efficiently by @weiyuan-jiang in #3178
- CI changes for GEOSadas by @mathomp4 in #3197
- Updates for f2py-meson support by @mathomp4 in #3202
- Auto GitFlow - main → develop by @github-actions in #3208
- Feature/bmauer/fixes #3210 by @bena-nasa in #3211
- Feature/fixes #3175 by @bena-nasa in #3212
- Fix up CI image code by @mathomp4 in #3214
- Added return to fetch_data by @weiyuan-jiang in #3179
- More informative error messages by @AgilentGCMS in #3161
- Fixes #2845. Allow ESMF_CONFIG_FILE to specify ESMF control file by @mathomp4 in #3174
- WIP: Fixes needed for flang by @mathomp4 in #3176
- Workaround for ifx bug by @mathomp4 in #3185
- support for CICE6(or others) to rewind by @zhaobin74 in #2982
- Prepare for 2.51.0 Release by @mathomp4 in #3224
- GitFlow: Merge develop into main for 2.51 release by @mathomp4 in #3226
New Contributors
- @rtodling made their first contribution in #3120
- @AgilentGCMS made their first contribution in #3161
- @zhaobin74 made their first contribution in #2982
Full Changelog: v2.50.3...v2.51.0