Skip to content

Releases: GEOS-ESM/MAPL

MAPL 2.44.3

28 Mar 22:34
670bc7e
Compare
Choose a tag to compare

DOI

This is a patch release of MAPL 2.44 which fixes a unit test. This is zero-diff to MAPL 2.44.2 and should have no effect on users of MAPL.


This version of MAPL was tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below. NOTE: Changes here from MAPL 2.43 and earlier, namely ESMF and GFE

  • Baselibs 7.17.2
    • netcdf-c 4.9.2
    • netcdf-fortran 4.6.1
    • ESMF 8.6.0 (required)
    • GFE 1.12.0
      • gFTL 1.11.0
      • gFTL-shared 1.7.0
      • pFUnit 4.8.0 (optional)
      • fArgParse 1.6.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.11.0 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with Baselibs and/or -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.40.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • The bundle I/O unit test was failing on NAG. Partly due to an untrapped return code, but also some weird issue with setting values in ESMF Config. Probably not a bug in the compiler but something in ESMF or MAPL handling line continuations.

What's Changed

Full Changelog: v2.44.2...v2.44.3

MAPL 2.44.2

26 Mar 13:49
761fc2b
Compare
Choose a tag to compare

DOI

This is a patch release of MAPL 2.44. This release fixes a bug with time_ave_util.x when the input files have a level size of 1.

This is trivially zero-diff for GEOSgcm to MAPL 2.44.1 as it only affects this utility.


This version of MAPL was tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below. NOTE: Changes here from MAPL 2.43 and earlier, namely ESMF and GFE

  • Baselibs 7.17.2
    • netcdf-c 4.9.2
    • netcdf-fortran 4.6.1
    • ESMF 8.6.0 (required)
    • GFE 1.12.0
      • gFTL 1.11.0
      • gFTL-shared 1.7.0
      • pFUnit 4.8.0 (optional)
      • fArgParse 1.6.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.11.0 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with Baselibs and/or -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.40.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • Fixed bug in time_ave_util.x when the input files have a level size of 1

What's Changed

Full Changelog: v2.44.1...v2.44.2

MAPL 2.44.1

20 Mar 13:48
c5707a2
Compare
Choose a tag to compare

DOI

This is a patch release of MAPL 2.44. This release fixes a bug where bit-shaved, instantaneous binary output in History was modifying the original export state passed.

Note this means that if you were outputting bit-shaved instantaneous History output, this possibly could be non-zero-diff (if one of the exports in this collection was not purely diagnostic). We have only seen this with GEOSldas, the GEOSgcm does not usually output binary history.


This version of MAPL was tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below. NOTE: Changes here from MAPL 2.43 and earlier, namely ESMF and GFE

  • Baselibs 7.17.2
    • netcdf-c 4.9.2
    • netcdf-fortran 4.6.1
    • ESMF 8.6.0 (required)
    • GFE 1.12.0
      • gFTL 1.11.0
      • gFTL-shared 1.7.0
      • pFUnit 4.8.0 (optional)
      • fArgParse 1.6.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.11.0 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with Baselibs and/or -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.40.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • Fix bug where bit-shaved, instantaneous binary output in History was modifying the original export state passed

What's Changed

Full Changelog: v2.44.0...v2.44.1

MAPL 2.44.0

09 Feb 14:21
b09ae30
Compare
Choose a tag to compare

DOI

This release of MAPL has many new features and fixes. Among the new features and fixes are:

  • Various improvements to History "Samplers" that sample model data at geolocations of simulated instruments. These include support for both trajectories (time dependent lat/lon) and swaths (time-dependent scans)
  • Added memory utility, MAPL_MemReport that can be used in any code linking MAPL
  • Added capability in the MAPL ESMF regridding wrapper to apply a destination mask if the destination grid contains a mask
  • Updates for using MAPL with GEOS in a hybrid MPI+OpenMP paradigm
  • Various fixes for NVHPC work

Also, with this version of MAPL, we now require ESMF 8.6.0 as MAPL now uses functionality only supported in that version. Moreover, all references to ESMF as a CMake target are now done as ESMF::ESMF. This is supported in Baselibs build with ESMA_cmake v3.40.0 (required for Baselibs builds) and for non-Baselibs builds (i.e., spack) via a newer FindESMF.cmake file (currently from ESMF develop and will be in ESMF 8.6.1+).

Note though that builds using MAPL and using Baselibs (aka as GEOSgcm is currently run) are not required to move to the ESMF::ESMF target everywhere. ESMA_cmake adds aliases so that esmf, ESMF and ESMF::ESMF are all supported. The change to ESMF::ESMF was for external users who found that MAPL was bringing in ESMF as a target, but ESMF was not available so CMake was then added -lESMF to link lines which caused failures.


MAPL is currently tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below. NOTE: Changes here from MAPL 2.43 and earlier, namely ESMF and GFE

  • Baselibs 7.17.2
    • netcdf-c 4.9.2
    • netcdf-fortran 4.6.1
    • ESMF 8.6.0 (required)
    • GFE 1.12.0
      • gFTL 1.11.0
      • gFTL-shared 1.7.0
      • pFUnit 4.8.0 (optional)
      • fArgParse 1.6.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.11.0 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with Baselibs and/or -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.40.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Added

  • Added nf90 interface to read and write 1d string
  • Convert from ABI Fixed Grid to lon/lat coordinates used in MAPL_XYGridFactory (supporting geostationary GOES-R series)
  • Modify trajectory sampler for a collection with multiple platforms: P3B (air craft) + FIREX
  • Modify swath sampler to handle two Epoch swath grids
  • Handle regrid accumulate for time step (1 sec) during which no obs exists
  • Use IntState%stampoffset(n) to adjust filenames for an epoch time
  • parse "GOCART::CO2" from 'geovals_fields' entry in PLATFORM
  • Add call MAPL_InitializeShmem to ExtDataDriverGridComp.F90
  • Read swath data on root, call MAPL_CommsBcast [which sends data to Shmem (when Shmem initialized) or to MAPL_comm otherwise]. This approach avoids race in reading nc files [e.g. 37 files for 3 hr swath data]
  • Added memory utility, MAPL_MemReport that can be used in any code linking MAPL
  • Added capability in XY grid factory to add a mask to the grid any points are missing needed for geostationary input data
  • Added capability in the MAPL ESMF regridding wrapper to apply a destination mask if the destination grid contains a mask
  • Added INSTALL.md file to provide instructions on how to install MAPL

Changed

  • Updated ESMF required version to 8.6.0
  • Allocate gridded fields to use the pinflag option needed for the Single System Image (SSI) capability.
  • Made changes to allocate fields to use farray instead of farrayPtr. This allows explicit specification of indexflag required by the new MAPL field split functionality. This functionality allows a clean way to create a new field from an exiting field where the new field is a 'slice' of the existing field with the slicing index being that of the trailing ungiridded dim of the existing field.
  • Replaced RC=STATUS plus _VERIFY(RC) in Base_Base_implementation.F90 with just _RC in line with our new convention.
  • Updated CI to use Open MPI 5.0.0 for GNU
  • Enable Ninja for CI builds of MAPL
  • Removed use of ESMF_HAS_ACHAR_BUG CMake option and code use in MAPL_Config.F90. Testing has shown that with ESMF 8.6 (which is
    now required), NAG no longer needs this workaround.
  • Refactor the CircleCI workflows for more flexibility
  • Fix field utils issue - add npes argument to test subroutine decorators.
  • Change MAPL CMake to use ESMF::ESMF target instead of esmf or ESMF as the imported target name
    • Updated FindESMF.cmake to match that of ESMF develop as of commit da8f410. This will be in ESMF 8.6.1+
    • Requires ESMA_cmake 3.40.0 or later as this adds the ESMF::ESMF target ALIAS for Baselibs and non-Baselibs builds
  • Changed CMakePresets.json
    • Updated to version 7 and required CMake 3.27.0 (the minimum version that supports CMakePresets.json v7)
    • Changed build style on NCCS machines to by default put build and install directories in a user-specified directory so as not to
      pollute swdev

Fixed

  • Restore missing submodule interfaces
  • Explictly use some iso_c_binding types previously pulled in through ESMF. This is fixed in future ESMF versions (8.7+) and so
    we anticipate this here
  • Add explicit Fortran_MODULE_DIRECTORY to CMakeLists.txt in benchmarks to avoid race condition in Ninja builds
  • Add check to make sure ESMF was not built as mpiuni
  • Fixed failing tests for field_utils.
  • Various fixes for NVHPC work

What's Changed

Full Changelog: v2.43.2...v2.44.0

MAPL 2.43.2

06 Feb 15:18
70d50bc
Compare
Choose a tag to compare

DOI

This is a hotfix on MAPL 2.43 which fixes a memory leak affecting regional masking. Temporary ESMF field was created but never destroyed.

This is zero-diff to MAPL 2.43.1


MAPL is currently tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below.

  • Baselibs 7.14.0
    • netcdf-c 4.9.2 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.1 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.5.0 (required)
    • GFE 1.11.0
      • gFTL 1.10.0
      • gFTL-shared 1.6.1
      • pFUnit 4.7.3 (optional)
      • fArgParse 1.5.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.5 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.34.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • Fixed memory leak affecting regional masking. Temporary ESMF field was created but never destroyed

What's Changed

Full Changelog: v2.43.1...v2.43.2

MAPL 2.43.1

29 Jan 21:16
ea78b36
Compare
Choose a tag to compare

DOI

This is a hotfix for MAPL 2.43 which fixes an issue with PFIO when client root process passes no data AND using multi group server (see #2557).


MAPL is currently tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below.

  • Baselibs 7.14.0
    • netcdf-c 4.9.2 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.1 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.5.0 (required)
    • GFE 1.11.0
      • gFTL 1.10.0
      • gFTL-shared 1.6.1
      • pFUnit 4.7.3 (optional)
      • fArgParse 1.5.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.5 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.34.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • Added 0-size message to o-server root processes (fixes #2557)

What's Changed

Full Changelog: v2.43.0...v2.43.1

MAPL 2.43.0

21 Dec 14:44
65c37d3
Compare
Choose a tag to compare

DOI

This is a minor release of MAPL. It has various updates and fixes as delineated below. Some highlights are:

  • Updates for ongoing work with trajectory and station sampling
  • Examples on how to use the Automatic Code Generator
  • Fixes for use of the MAPL Python code with Python 3
  • Fixes for GCC 13 which is still NOT SUPPORTED but this allows for further testing
  • Fix to allow ExtData2G to be built as static library

MAPL is currently tested with:

  • Intel Fortran Classic 2021.6.0 (Classic 2021.10.0 seems to work, ifx does not yet work)
  • GCC 12.3.0 (13 not supported)
  • NAG 7.1

The libraries this version of MAPL is currently tested with are below.

  • Baselibs 7.14.0
    • netcdf-c 4.9.2 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.1 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.5.0 (required)
    • GFE 1.11.0
      • gFTL 1.10.0
      • gFTL-shared 1.6.1
      • pFUnit 4.7.3 (optional)
      • fArgParse 1.5.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.5 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.34.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Added

  • Station sampler: add support to Global Historical Climatology Network Daily (GHCN-D)
  • Add to trajectory sampler DEFINE_OBS_PLATFORM for reading multiple IODA files. To do this, we add union_platform function for observation.
  • New directory (docs/tutorial/grid_comps/automatic_code_generator) containing an example showing how to automatically generate the source code using the MAPL_GridCompSpecs_ACG.py tool.
  • Added/modified a few _ASSERT calls in ExtData, to better explain what is wrong in .yaml file

Changed

  • Change the verification of the grid in MAPL_GetGlobalHorzIJIndex to avoid collective call
  • Swath grid step 1: allow for destroying and regenerating swath grid and regenerating regridder route handle, and creating
    allocatable metadata in griddedIO. Modifications are made to GriddedIO.F90, MAPL_AbstractRegridder.F90, and MAPL_EsmfRegridder.F90.
  • Swath grid step 2: add control keywords for swath grid. Allow for filename template with DOY. Allow for missing obs files. User needs to specify index_name_lon/lat, var_name_lon/lat/time, tunit, obs_file_begin/end/interval, Epoch and Epoch_init.
  • Update CI to Baselibs 7.17.0 (for future MAPL3 work) and the BCs v11.3.0 (to fix coupled run)
  • Update components.yaml
    • ESMA_env v4.24.0 (Baselibs 7.17.0)
  • Update CI to use circleci-tools v2
  • Changed the Python MAPL __init__.py file to restore behavior from pre-Python3 transition where we did from foo import *. Also fix up other Python2 code to Python3.

Fixed

  • Fixed bug broken multi-step file output in History under certain template conditions
  • [#2433] Implemented workarounds for gfortran-13
  • Missing TARGET in GriddedIO - exposed runtime error when using NAG + debug.
  • Allow ExtData2G to be built as SHARED or STATIC

What's Changed

  • Automatic Code Generator Sample Code (0 diff) by @JulesKouatchou in #2420
  • avoid collective call inside subroutine MAPL_GetGlobalHorzIJIndex by @weiyuan-jiang in #2436
  • Auto GitFlow - main → develop by @github-actions in #2442
  • Fixes #2433 Minor changes for gfortran-13. by @tclune in #2443
  • Auto GitFlow - main → develop by @github-actions in #2449
  • Update CI and components to match latest GEOSgcm by @mathomp4 in #2459
  • Swath grid for MAPL_HistoryGridComp by @metdyn in #2458
  • Auto GitFlow - main → develop by @github-actions in #2461
  • Auto GitFlow - main → develop by @github-actions in #2472
  • Update to circleci-tools v2 orb; ESMA_env v4.24 by @mathomp4 in #2466
  • Auto GitFlow - main → develop by @github-actions in #2480
  • Auto GitFlow - main → develop by @github-actions in #2488
  • fixes #2487 by @bena-nasa in #2490
  • Bump actions/upload-artifact from 3 to 4 by @dependabot in #2493
  • Fixes #2499: Allow ExtData2G to be built static by @mathomp4 in #2500
  • Print helpful information for certain ExtData problems. by @mmanyin in #2452
  • Add type obs_platform to Trajectory Sampler by @metdyn in #2465
  • Station sampler: add support to Global Historical Climatology Network Daily (GHCN-D) by @metdyn in #2477
  • Restore MAPL Python2 import behavior by @mathomp4 in #2496
  • Prepare for MAPL 2.43.0 release by @mathomp4 in #2503
  • GitFlow: Merge develop into main for release by @mathomp4 in #2504

New Contributors

Full Changelog: v2.42.4...v2.43.0

MAPL 2.42.4

11 Dec 15:55
ed117a2
Compare
Choose a tag to compare

DOI

This is a patch release of MAPL 2.42. It fixes issues found by NAG in our unit tests.

All testing shows it zero-diff to MAPL 2.42.3


The libraries this version of MAPL is currently tested with are below.

  • Baselibs 7.14.0
    • netcdf-c 4.9.2 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.1 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.5.0 (required)
    • GFE 1.11.0
      • gFTL 1.10.0
      • gFTL-shared 1.6.1
      • pFUnit 4.7.3 (optional)
      • fArgParse 1.5.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.5 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.34.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Changed

  • Improved error message for missing labels in GridManager.

Fixed

  • Corrected some unit tests (and test utilities) to fix dangling pointers detected by NAG. Most (possibly all) of these changes are already on release/MAPL-v3, but it was getting annoying to have NAG fail unit tests with develop branch.
  • Fix for CMake an Apple. Needs to set __DARWIN as an fpp flag. (Only used by NAG, but ...)

What's Changed

Full Changelog: v2.42.3...v2.42.4

MAPL 2.42.3

06 Dec 15:55
9e0f2d1
Compare
Choose a tag to compare

DOI

This is a patch release of MAPL 2.42. It fixes an issue with MAPL_Abort() which was passing an uninitialized integer to MPI_Abort() resulting in spurious false successes when running ctest.

This is zero-diff to MAPL 2.42.2


The libraries this version of MAPL is currently tested with are below.

  • Baselibs 7.14.0
    • netcdf-c 4.9.2 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.1 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.5.0 (required)
    • GFE 1.11.0
      • gFTL 1.10.0
      • gFTL-shared 1.6.1
      • pFUnit 4.7.3 (optional)
      • fArgParse 1.5.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.5 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.34.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • MAPL_Abort() was passing an uninitialized integer to MPI_Abort() resulting in spurious false successes when running ctest. Maybe was happening frequently, but CI would be blind to this.

What's Changed

Full Changelog: v2.42.2...v2.42.3

MAPL 2.42.2

05 Dec 16:17
d3d165c
Compare
Choose a tag to compare

DOI

This is a patch release of MAPL 2.42 with fixes for the NAG compiler.

All changes show zero-diff for GEOSgcm compared to MAPL 2.42.1


The libraries this version of MAPL is currently tested with are below.

  • Baselibs 7.14.0
    • netcdf-c 4.9.2 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.1 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.5.0 (required)
    • GFE 1.11.0
      • gFTL 1.10.0
      • gFTL-shared 1.6.1
      • pFUnit 4.7.3 (optional)
      • fArgParse 1.5.0 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.5 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=NO)

Also, if you build with -DUSE_F2PY=ON, you should use:

  • ESMA_cmake v3.34.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Fixed

  • Corrected some unit tests (and test utilities) to fix dangling pointers detected by NAG. Most (possibly all) of these changes are already on release/MAPL-v3, but it was getting annoying to have NAG fail unit tests with develop branch.

What's Changed

Full Changelog: v2.42.1...v2.42.2