Published January 17, 2025 | Version v2.52.0
Software Open

GEOS-ESM/MAPL: MAPL 2.52.0

Description

This release of MAPL has many new features and fixes over MAPL 2.52.

Among the new features are:

  • Added the ability to read netCDF tile files
  • Added a new optional start_date and start_time to control the output window for each History collection. No output will be written before then. If not specified, these default to the beginning of the experiment.
  • Added loggers when writing or reading weight files
  • Added new option to AGCM.rc overwrite_checkpoint to allow checkpoint files to be overwritten. By default still will not overwrite checkpoints
  • The trajectory sampler netCDF output variable location_index_in_iodafile can be turned off, after we add two control variables: use_NWP_1_file and restore_2_obs_vector for users. When set to true, the two options will select only one obs file at each Epoch interval, and will rotate the output field index back to the location vector inthe obs file before generating netCDF output.
  • Support splitfield: 1 in HISTORY.rc for trajectory sampler

The fixes include better freeing of MPI communicators (which were accumulating during long runs) and better behavior of calls when NaNs are present.

All testing with GEOS shows this is zero-diff to MAPL 2.51

NOTE: Below you'll see that we are now generally testing MAPL (in CI) with ESMF 8.8.0. At the moment, ESMF 8.8.0 is not required for MAPL 2. It is a requirement for MAPL 3 but we have not yet added any use of ESMF 8.8 specific features in MAPL 2.

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 subroutine to read nc4 tile file
  • Added optional start_date and start_time to control the output window for each History collection. No output will be written before then. If not specified, these default to the beginning of the experiment.
  • Added utility to prepare inputs for ExtDataDriver.x so that ExtData can simulate a real GEOS run
  • Added loggers when writing or reading weight files
  • Added new option to AGCM.rc overwrite_checkpoint to allow checkpoint files to be overwritten. By default still will not overwrite checkpoints
  • The trajectory sampler netCDF output variable location_index_in_iodafile can be turned off, after we add two control variables: use_NWP_1_file and restore_2_obs_vector for users. When set to true, the two options will select only one obs file at each Epoch interval, and will rotate the output field index back to the location vector inthe obs file before generating netCDF output.
  • Support splitfield: 1 in HISTORY.rc for trajectory sampler

Changed

  • Changed MAPL_ESMFRegridder to require the dstMaskValues to be added as grid attribute to use fixed masking, fixes UFS issue
  • Increased formatting width of time index in ExtData2G diagnostic print
  • Updated GitHub checkout action to use blobless clones
  • Update CI to use Baselibs 7.29.0 by default
    • This provides ESMF 8.8.0
  • Update components.yaml
    • ESMA_env v4.34.0
      • Update to MPT 2.30 at NAS
      • Update to Baselibs 7.29.0 (ESMF 8.8.0)
    • ESMA_cmake v3.56.0
      • Use LOCATION Python FIND_STRATEGY

Fixed

  • Free MPI communicators after reading and/or writing of restarts
  • Fixed the behavior of MAPL_MaxMin in presence of NaN
  • Fixed bug with return codes and macros in udunits2f

What's Changed

  • Add loggers when reading and writing weights by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/3233
  • fixes #3242 by @bena-nasa in https://github.com/GEOS-ESM/MAPL/pull/3243
  • Fix udsystem bug with macros and return codes by @darianboggs in https://github.com/GEOS-ESM/MAPL/pull/3258
  • Remove comments in UDSystem.F90 by @darianboggs in https://github.com/GEOS-ESM/MAPL/pull/3260
  • fixes #3262 by @bena-nasa in https://github.com/GEOS-ESM/MAPL/pull/3269
  • Feature/bmauer/geos simulator by @bena-nasa in https://github.com/GEOS-ESM/MAPL/pull/3282
  • Feature/atrayano/history start stop by @atrayano in https://github.com/GEOS-ESM/MAPL/pull/3278
  • fixes #3280 by @bena-nasa in https://github.com/GEOS-ESM/MAPL/pull/3281
  • Updates for Ford docs by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/3285
  • Auto GitFlow - main → develop by @github-actions in https://github.com/GEOS-ESM/MAPL/pull/3287
  • Bugfix/atrayano/maxmin support for nan by @atrayano in https://github.com/GEOS-ESM/MAPL/pull/3290
  • Properly freeing MPI communicators after reading or writing restarts by @atrayano in https://github.com/GEOS-ESM/MAPL/pull/3303
  • Bugfix/atrayano/fix of mpi comm free fix by @atrayano in https://github.com/GEOS-ESM/MAPL/pull/3310
  • Added protection for null mpi communicator by @atrayano in https://github.com/GEOS-ESM/MAPL/pull/3316
  • Update GitHub Actions to use blobless clones by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/3318
  • Trajectory sampler: use a single obs file at each Epoch time and restore obs location for output by @metdyn in https://github.com/GEOS-ESM/MAPL/pull/3326
  • Added subroutine to read NC4 tile file by @weiyuan-jiang in https://github.com/GEOS-ESM/MAPL/pull/3321
  • Move to use Baselibs 7.29.0 by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/3327
  • fixed kind=8 by @weiyuan-jiang in https://github.com/GEOS-ESM/MAPL/pull/3340
  • Prepare for 2.52.0 Release by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/3335
  • GitFlow: Merge Develop Into Main for 2.52 release by @mathomp4 in https://github.com/GEOS-ESM/MAPL/pull/3346

Full Changelog: https://github.com/GEOS-ESM/MAPL/compare/v2.51.2...v2.52.0

Files

GEOS-ESM/MAPL-v2.52.0.zip

Files (2.5 MB)

Name Size Download all
md5:fdd1f7e8ec6b0bb2778f215c0247d233
2.5 MB Preview Download

Additional details

Related works

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

Software