Skip to content

Releases: GEOS-ESM/MAPL

MAPL 2.37.0

03 Apr 16:38
7bf627f
Compare
Choose a tag to compare

DOI

This release of MAPL has some bug fixes relating to stretched grid use. It also has a new feature in History to allow the accumulation in non-instantaneous collections to be reset independently of the writing frequency if requested.

Testing shows GEOSgcm is zero-diff compared to v2.36.0


The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)

  • Baselibs 7.8.1
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.1 (ESMF 8.4.0 required, but 8.4.1 recommended as it has a bug fix)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

Also, if you build with -DUSE_F2PY=ON, you will need:

  • ESMA_cmake v3.28.0

We recommend most external users set -DUSE_F2PY=OFF


From CHANGELOG.md

Added

  • New feature in History to allow the accumulation in non-instantaneous collections to be reset independently of the writing frequency if requested.
  • new macro _RETURN_IF(cond) to provide a succinct early return in procedures with return codes.

Fixed

  • Fixed bug in CubedSphereGridFactory when constructing a grid from a file
  • Cleaned up cubed-sphere grid factory and NCIO to produce files with consistent capitalization and types for the stretching factor

What's Changed

Full Changelog: v2.36.0...v2.37.0

MAPL 2.36.0

24 Mar 14:28
8725f96
Compare
Choose a tag to compare

DOI

This release of MAPL has a few updates.

  1. Added updates to MAPL_GetResource to allow it to print arrays when called with the config interface
  2. Adds a new XY grid factory to create regional grids on any input set of 2D lons and lats. NOTE: This grid factory is experimental and the API may change or it might be superseded by another grid factory. It was added here for GEOSgcm development needs. If you would like to use this, please contact us.
  3. Converted files in Python/MAPL to Python 3. Note that if you set -DUSE_F2PY=OFF this does not matter. If you use this, you must use ESMA_cmake v3.28.0.

Testing with GEOSgcm shows this to be zero-diff.


The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)

  • Baselibs 7.8.1
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.1 (ESMF 8.4.0 required, but 8.4.1 recommended as it has a bug fix)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

Also, if you build with -DUSE_F2PY=ON, you will need:

  • ESMA_cmake v3.28.0

We recommend most external users set -DUSE_F2PY=OFF

From CHANGELOG.md

Added

  • Added config array overload to MAPL_GetResource
  • Implemented new generic XY grid factory to create regional grids on any input set of 2D lons and lats
    • NOTE: This grid factory is experimental and the API may change or it might be superseded by another grid factory

Changed

  • Updated components.yaml to match GEOSgcm v10.25.1
    • ESMA_env v4.8.0 → v4.9.1 (Move to Baselibs 7.8.1: ESMF v8.4.1)
    • ESMA_cmake v3.24.0 → v3.28.0 (Detection of additional sites, updated Intel Fortran flags, updates for Python3 support)
  • Converted files in Python/MAPL to Python 3.
    • NOTE 1: This will require changes to codes that call MAPL's Python layer.
    • NOTE 2: If building with F2PY support, you will need to use ESMA_cmake v3.28.0 or later if using in a mixed Python 2/3 environment

What's Changed

  • Auto GitFlow - main → develop by @github-actions in #1999
  • Auto GitFlow - main → develop by @github-actions in #2004
  • Auto GitFlow - main → develop by @github-actions in #2007
  • Auto GitFlow - main → develop by @github-actions in #2009
  • Closes #1453. Add config array overload to GetResource by @mathomp4 in #1686
  • Update to ESMA_env v4.9.1, ESMA_cmake v3.27.0 by @mathomp4 in #2011
  • Auto GitFlow - main → develop by @github-actions in #2023
  • Feature/bmauer/general xy grid by @bena-nasa in #2020
  • Feature/jkouatch/new readme md by @JulesKouatchou in #2015
  • Convert MAPL/Python to Python 3 by @mathomp4 in #1860
  • GitFlow: Merge Develop into main for 2.36.0 release by @mathomp4 in #2031

Full Changelog: v2.35.3...v2.36.0

MAPL 2.35.3

17 Mar 12:34
c271ace
Compare
Choose a tag to compare

DOI

This patch release of MAPL has a bug fixe for handling of climatological emissions in ExtData2G when passing a year boundary. This release also contains preliminary Ford documentation for the MAPL API which can be found at https://geos-esm.github.io/MAPL/.

Testing shows this to be zero-diff for GEOSgcm (save for cases where the bug was triggered).

NOTE TO EXTERNAL USERS OF MAPL: This release of MAPL includes a code that is built with f2py. If you do not have a need for this code, it is recommended you set:

-DUSE_F2PY=OFF

when building MAPL. Even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.


The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Fixed

  • Fixed bug in climatologies with ExtDataV2 when wrapping around the year

Added

  • Added Ford documentation

What's Changed

Full Changelog: v2.35.2...v2.35.3

MAPL 2.35.2

06 Mar 17:01
c263c94
Compare
Choose a tag to compare

DOI

This patch release of MAPL has a bug fixes for handling of climatological emissions in ExtData2G as well as additional fixes for passing grids through the CAP as done by UFS users.

NOTE TO EXTERNAL USERS OF MAPL: This release of MAPL includes a code that is built with f2py. If you do not have a need for this code, it is recommended you set:

-DUSE_F2PY=OFF

when building MAPL. Even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.


The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Changed

  • Updated ExtData test case2 to handle a wider range of test times for more robust testing

Fixed

  • Fixed bug in climatology hanlding of data in ExtDataV2 that occurred depending on the start date of the application relative to the length of the application run time
  • Fixed set_grid. The cf_root is not created when it is called. Instead, use config from CAP.rc

Removed

  • Removed test case 2 for ExtDataV1 as there as an apparent bug in climatologies that has been fixed for ExtDataV2 but there appears to be a different but in ExtDataV1 that causes the extended case 2 to fail

What's Changed

Full Changelog: v2.35.1...v2.35.2

MAPL 2.35.1

02 Mar 00:27
7da78c3
Compare
Choose a tag to compare

DOI

This patch release of MAPL has a bugfix when running with monthly history collections.

NOTE TO EXTERNAL USERS OF MAPL: This release of MAPL includes a code that is built with f2py. If you do not have a need for this code, it is recommended you set:

-DUSE_F2PY=OFF

when building MAPL. Even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.


The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Fixed

  • Fix issue when running with monthly history collections

What's Changed

Full Changelog: v2.35.0...v2.35.1

MAPL 2.35.0

01 Mar 19:54
a6af7b1
Compare
Choose a tag to compare

DOI

This minor release of MAPL has many new features and changes as detailed below. All testing with GEOSgcm has shown it to be zero-diff.

NOTE: This is zero-diff in regards to the state of GEOSgcm. Due to a bug fix in the bit-shaving algorithm, if you use nbits: in your History, it will be non-zero-diff for history output, see #1947

NOTE TO EXTERNAL USERS OF MAPL: This release of MAPL includes a code that is built with f2py. If you do not have a need for this code, it is recommended you set:

-DUSE_F2PY=OFF

when building MAPL. Even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.


The libraries this version of MAPL is currently tested with are below. (No change since last release of MAPL)

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Added

  • Added subroutines to read char type in Netcdf
  • Added a subroutine add_variable to Netcdf4_Fileformatter
  • Add a function to get the area of a spherical polygon to the spherical geometry module
  • Created layout independent version of the "DownBit"/"pFIO_ShaveMantissa" routines when running in MPI codes
  • Added subroutine MAPL_SunGetLocalSolarHourAngle() in base/MAPL_sun_uc.F90. This
    provides a convenient local solar hour angle diagnostic which will be used to detect local
    solar noon via the EXAMPLE OF USE in the subroutine header. See DESCRIPTION in code
    for more details. Provides the TRUE local solar hour angle (i.e., with equation of time
    included), but can also provide the MEAN value (without EOT) via FORCE_MLSHA=.TRUE.
    optional argument.
  • Add shavemantissa f2py code. This is used by AeroApps.
    • NOTE: If you do not have a need for this code, build with -DUSE_F2PY=OFF. Note that even if you try to build the f2py code, it might fail anyway due to issues with the Python stack on the machine. ESMA_cmake has code that "tests" if f2py works. If it doesn't, it should failover gracefully.

Changed

  • Changed set_grid method so users have a chance to specify the grid type
  • Renamed get_regrid_method and translate_regrid_method to regrid_method_string_to_int and regrid_method_int_to_string
    respectively in RegridMethods.F90. This was done so we could add get_regrid_method to the AbstractRegridder. The new names
    more accurately reflect what the RegridMethods functions do.
  • Changed call to MAPL_SunOrbitCreate() inside MAPL_Generic.F90 to call to new function
    MAPL_SunOrbitCreateFromConfig(), the latter which get the orbital parameters from the MAPL
    state's Config. In this way no default orbital parameter values need appear in MAPL_Generic.F90.
    Rather, these default values are encapsulated where they belong in Sun_Mod in base/MAPL_sun_uc.F90
    and are now explicitly named and commented on at the head of the module. This is a structural
    zero-diff change.
  • Created MAPL.profiler logger and moved throughput, per-component, and global timers to use it
  • Moved most of the MAPL_GetResource generic subroutine to a new module, MAPL_ResourceMod, in base.
    The specific subroutines remain in MAPL_GenericMod to maintain the interface in one module, but
    most of the functionality is in MAPL_ResourceMod now.
  • Update "build like UFS" CI test
  • Converted the History Gridded Component to use _RC and _STAT macros

Fixed

  • Changed the type of output counters to INT64 for large file.
  • Tested optional arguments arrdes in MAPL_WriteVars
  • Added the correct values to halo corner of LatLon grid
  • Fixed range in halo of LatLonGridFactory
  • Corrected issue with native output having metadata saying it was bilinearly regridded. Now sets these files to have
    regrid_method: identity
  • Fix bug in mapl_acg.cmake that caused unnecessary rebuilds
  • Fixed error handling for refactored MAPL_GetResource

What's Changed

New Contributors

Full Changelog: v2.34.3...v2.35.0

MAPL 2.34.3

14 Feb 17:31
ecbaecd
Compare
Choose a tag to compare

DOI

This patch release of MAPL 2.34 fixes a bug in ExtData2G when used in "Replay" mode in the GEOSgcm

All testing shows zero-diff.


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

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Added

  • Added test cases 28 and 29 to ExtData testing framework

Fixed

  • Fix bug in ExtData2G when used in "Replay" in the GEOSgcm

What's Changed

Full Changelog: v2.34.2...v2.34.3

MAPL 2.34.2

19 Jan 15:12
cfad78e
Compare
Choose a tag to compare

DOI

This release of MAPL fixes a bug in ExtDataDriver.x to re-enable its use of the multigroup oserver.


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

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Fixed

  • Fixed bug with ExtDataDriver.x when enabling oserver on dedicated resources

What's Changed

  • Reenable use of multi group server in ExtDataDriver.x by @bena-nasa in #1934

Full Changelog: v2.34.1...v2.34.2

MAPL 2.34.1

13 Jan 15:49
5d0c6ec
Compare
Choose a tag to compare

This patch of MAPL 2.34 fixes an issue (#1923) concerning WRITE_RESTART_BY_OSERVER.

All testing is zero-diff with GEOSgcm save for cases with WRITE_RESTART_BY_OSERVER: YES where it fixes a bug with that code path.


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

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Fixed

  • Fixed bug when writing 4D fields to checkpoint files with the PFIO server via the WRITE_RESTART_BY_OSERVER option

What's Changed

Full Changelog: v2.34.0...v2.34.1

MAPL 2.34.0

05 Jan 15:25
14b9789
Compare
Choose a tag to compare

DOI

This release of MAPL contains many new features and updates. Among the changes are:

  1. Fixed the naming convention of the split field name (#1874). For this, before on split fields in History you'd get out DU, DU002, DU003. But now MAPL will do DU001, DU002, DU003
  2. Updates for better support of State Specs in GOCART (see GEOS-ESM/GOCART#202)
    1. Support for * expansion in long names
    2. Support to fill %d in long names
  3. Various updates for ongoing OpenMP support with MAPL and Gridded Components
  4. Added requirement for ESMF 8.4.0 in CMake
  5. Minor changes for stricter Debug builds

NOTE: Updates 1 and 2 above will change History both variable names and metadata. The data will be zero-diff, but comparators will be confused by the name change on split fields as well as different metadata if tested for.


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

  • Baselibs 7.7.0
    • netcdf-c 4.9.0 (Needed for quantize support, but not required for all of MAPL)
    • netcdf-fortran 4.6.0 (Needed for quantize support, but not required for all of MAPL)
    • ESMF 8.4.0 (Required)
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (if -DBUILD_WITH_FARGPARSE=YES, default=YES)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES, default=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES, default=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES, default=YES)

From CHANGELOG.md

Added

  • Added MAPL_find_bounds => find_bounds and MAPL_Interval => Interval to MAPL.F90 for use when doing component level OpenMP
  • Added requirement for ESMF 8.4.0 in find_package() call
  • Modified Apps/MAPL_GridCompSpecs_ACG.py to use the * capability for LONG_NAME like SHORT_NAME
  • Added CMake code to apply stricter debug flags when building MAPL as Debug
  • Added subroutine MAPL_MethodAdd to MAPL_Generic.F90
  • Added subroutines get_callbacks and copy_callbacks to OpenMP_Support.F90
    • These added subroutines are to support "callback" procedures when inside OpenMP parallel region for mini states for component level threading.
  • Added ability to expand "%d" in the long name when we split fields for History

Changed

  • Update components.yaml
    • ESMA_cmake v3.24.0 (defines stricter debug flags for Intel, preliminary support for ifx)
  • Reduced amount of CI tests to reduce cost
  • Added message to label enforcer (requires v3)
  • Fixed the naming convention of the split field name (#1874)
    • NOTE: This could change the name of any field in HISTORY using field splitting. The data will be the same, but the name will be
      different.

Fixed

  • Fixed procedure "find" in CFIOCollection.F90 that was missing a _RETURN(_SUCCESS) at the end

What's Changed

Full Changelog: v2.33.0...v2.34.0