Skip to content

Releases: GEOS-ESM/MAPL

MAPL 2.8

12 Jul 17:34
e66a362
Compare
Choose a tag to compare

DOI

This is a minor revision update to MAPL. The minor number has changed due to a change in how to build MAPL. MAPL now exclusively uses the GFE Namespace method of linking to libraries in CMake. This means that users of MAPL 2.8 and higher should use at least these versions of the GFE libraries:

  • gFTL 1.4
  • gFTL-shared 1.3
  • pFUnit 4.2
  • fArgParse 1.1
  • yaFyaml 0.5
  • pFlogger 1.5

Before, users could pass -DESMA_USE_GFE_NAMESPACE=OFF when building MAPL to use the older libraries, but this is no longer supported (and the flag will do nothing).

For GEOS-ESM users, this means using ESMA_env 3.3 (equivalent to Baselibs 6.2.4) and ESMA_cmake 3.5.

Beyond this are many other fixes and changes (see below). The most notable is a fix to MAPL that is non-zero-diff for GEOS users using the Ops GOCART Emissions. There was a bug (race condition, essentially) in how grids were created for emissions. This is now fixed in MAPL 2.8.


From CHANGELOG.md

Added

  • Unit tests can now use the _RC macro for checking results from
    calls to ESMF. The file must first CPP define either I_AM_PFUNIT
    or I_AM_FUNIT (serial) and then #include "MAPL_ErrLog.h".

Changed

  • Activated ESMF logging for unit tests.
  • Fixed problem in unit testing framework that results in
    "harmless" warnings/errors in the ESMF log.
  • Update CMake to exclusively use GFE Namespace. This means that when building MAPL, users should use the latest versions of GFE libraries (gFTL, gFTL-Shared, pFlogger, fArgParse, yaFyaml, pFUnit)
  • Update ESMA_cmake to v3.5.1 (macOS fix)
  • Updated the CI to do both GNU and Intel builds of MAPL and GEOSgcm on CircleCI. (Note that for now the GEOSfvdycore build is turned off due to cost of CI)
  • Updated the CI to store logfile artifacts from CircleCI builds

Fixed

  • Fix format for writing out large number
  • Fixed CMAKE_Fortran_MODULE_DIRECTORY for some directories
  • Update handling of file coordinates when creating grids from file. Now if identified as a standard grid compute coordinates. Option to allow this to be overrided and use file coordinates. Fixed issue if two files are identified as a standard grid but has very slightly different coordinates causing one or the other to be used depending on which file is used first.
  • Fixed bug with corner case in the new logic to compute lons if matching one of our standard grids
  • Fix for NAG Build

MAPL 2.7.3

24 Jun 16:10
c182071
Compare
Choose a tag to compare

DOI

This is a bugfix update to MAPL. Per Issue #899:

Both MAPL and GOCART assume that grid coordinates are in radians. However, this may not be the case if the grid is provided externally, as it happens for the UFS aerosol component.

This update ensures coordinates are in radians.


From CHANGELOG.md

Fixed

  • Ensure grid coordinates are always provided in radians

MAPL 2.7.2

23 Jun 17:08
18193a2
Compare
Choose a tag to compare

DOI

This is a zero-diff update to MAPL. It has bug fix for building MAPL with GCC 9.3.0


From CHANGELOG.md

Fixed

  • Add support for GNU Fortran 9.3.0

MAPL 2.7.1

11 Jun 17:07
f654c70
Compare
Choose a tag to compare

DOI

This is a mostly zero-diff update to MAPL. It has bug-fixes for NOAA/UFS to allow MAPL to build as a Static Library (-DBUILD_SHARED_MAPL=OFF) though the default for the option remains ON.

Also various updates and fixes as seen below.

ETA: It was later found that MAPL 2.7.1 is non-zero-diff for GEOS when using the Ops emissions. This is due to a bug (see Issue #887) exposed by the 2D flip bug fixed in this release.


From CHANGELOG.md

Added

  • Add more function in pfio_MAPL_demo.F90
  • Add option BUILD_SHARED_MAPL to build shared or static library
  • Regrid_Util.x now checks if file exsts and captures the units and long_name of the input for the output file
  • Add --with_esmf_moab to enable MOAB Mesh in ESMF

Changed

  • Set logical values in flap commmand line without true or false values
  • Set required CMake Version to 3.17
  • Updates to enable use of GFE namespaces (requires Baselibs v6.2.4 or higher)
    • ESMA_cmake v3.5.0
    • ESMA_env v3.3.0
    • Update CI to use 6.2.4 CI images

Fixed

  • Allow MAPL to build if subrepos are cloned with any mepo style (prefix, postfix, naked)
  • Add missing variable declaration preventing MAPL from building if H5_HAVE_PARALLEL is defined
  • Protect against trying to flip 2D variable in ExtData if there are mixed 2D/3D in file

MAPL 2.7.0

25 May 14:03
ef9b35e
Compare
Choose a tag to compare

DOI

This is a zero-diff update to MAPL but has a minor release bump due to a change in how the interface to Options are handled. This update means code that before did:

type (MAPL_Cap) :: cap
type (MAPL_FlapCapOptions) :: cap_options
cap_options = MAPL_FlapCapOptions(description = 'GEOS AGCM', &
                                  authors     = 'GMAO')

now must do:

type (MAPL_FlapCLI) :: cli
type (MAPL_CapOptions) :: cap_options
cli = MAPL_FlapCLI(description = 'GEOS AGCM', & 
                   authors     = 'GMAO')
cap_options = MAPL_CapOptions(cli)

This was changed to facilitate working with UFS.


From CHANGELOG.md

Removed

  • Remove file MAPL_FlapCapOptions.F90

Added

  • Added a file MAPL_FlapCLI.F90

Changed

  • Added a MAPL_CapOptions constructor
  • Change FlapCapOptions to FlapCLI which is not a sub class of
    MAPL_CapOptions any more.

MAPL 2.6.8

20 May 17:21
a106ed0
Compare
Choose a tag to compare

DOI

This is a zero-diff update to MAPL with bug fixes including one to the Shmem code that can cause hangs on various systems.


From CHANGELOG.md

Changed

  • Adopting Fortran submodules to improve compilation.
  • Added a pfio demo for MAPL FLAP users

Fixed

  • Fixed pfio_MAPL_demo.F90
  • Fixed mismatch of ESMF_Initialize() and ESMF_Finalize()
  • Fixed bug in MAPL_Shmem causing infinite loop when relesing shared memory
  • Moved down adding pflogger in CMakeLists.txt
  • Added condition to find pflogger

MAPL 2.6.7

12 May 20:41
5d72491
Compare
Choose a tag to compare

DOI

This is a zero-diff update to MAPL with bug fixes needed for ADAS development as well as other fixes.


From CHANGELOG.md

Added

  • New interface to MAPL_GetResource to pass config rather than MAPL object

Changed

  • Re-org subroutine finalize_io_clients_servers to avoid missing calls
  • Use ESMF_Finalize instead of MPI_Finalize in Cap
  • Allow the NRL Solar Data table read function to skip commented lines
  • Updated components.yaml to be in sync with GEOSgcm:
    • ESMA_env v3.2.1
    • ESMA_cmake v3.4.0

Fixed

  • Added return code in start_global_profiler()
  • Fixed during-run timer output for perpetual year runs
  • Fixed bug prevent "little" cfio from reading new cubed sphere files

MAPL 2.6.6

29 Apr 16:59
e010aac
Compare
Choose a tag to compare

DOI

This is a zero-diff release that fixes a bug in MAPL 2.6.5 (#820) when running GEOS with Debug options.


From CHANGELOG.md

Fixed

  • Fixed bug in SimpleCommSplitter.F90

MAPL 2.6.5

28 Apr 20:17
b101095
Compare
Choose a tag to compare

DOI

MAPL 2.6.5 is a zero-diff patch release on MAPL. (NOTE: For unknown reasons, this is non-zero-diff when running the 2-moment microphysics in GEOSgcm. Nothing in MAPL was a floating-point change, so we believe this is due to issues in the 2-moment code itself.)


From CHANGELOG.md

Removed

  • pFIO/KeywordEnforcer.F90 duplicated functionality now in
    shared/KeywordEnforcer.F90, and has been removed in favor of the
    other.

Added

  • A new flag to timestamp average collections at the beginning of the averaging interval
  • Ability to run MultiGroupServer and model in a single node
  • Add command line option --one_node_output
  • Ability to split fields with ungridded dimensions (and not only 4d).
  • Ability to add alias names to the split fields
  • Added MAPL_SimpleBundleCreateEmpty procedure to MAPL_SimpleBundleCreate.
  • Add MAPL_TransposeaRegridderMod to MAPL_Mod
  • Nearest-neighbor interpolation option for ExtData (keyword: 'E')
  • Added pflogger_stub directory. With -DBUILD_WITH_PFLOGGER=OFF, it is built and linked to replace pFlogger library.
  • Added new CI test using Intel oneAPI
  • Add function to free communicators that is split by SimpleCommSplitter
  • Add with_io_profiler option

Changed

  • Changed the interface to TimeData to have an optional "funits" argument (defaults to "minutes")
  • Changed time units to "days" for monthly collections
  • Simplified the logic for timestamping offsets
  • Setting and getting UNGRIDDED_DIMS attribute uses now single quoted string
  • Do not output cubed_sphere and orientation variables in native
    History output as pFIO at present does not handle string variables
  • Updated Python scripts to work with Python 2 or 3. Scripts were:
    • base/mapl_tree.py
    • base/mapl_vlist.py
    • Apps/MAPL_GridCompSpecs_ACG.py
    • Nullified pointers for deactivated optional state elements for
      the grid compe spec code generator ACG.
  • Updated components.yaml:
    • ESMA_env v3.2.0 (Baselibs 6.1.0 <==> ESMF 8.1.0)
    • ESMA_cmake v3.3.9 (adds ability to see GFE namespace option, BUILD_WITH_PFLOGGER)
  • Update CI images to 6.1.0
  • Updated MAPL to have the ability to use the new GFE namespace in CMake. (gftl --> GFTL::gftl).
    • The default in ESMA_cmake v3.3.8 is not enabled. To enable use -DESMA_USE_GFE_NAMESPACE=ON.
    • NOTE: This requires Baselibs 6.2.0 or higher when using Baselibs.
  • Updated the non-PersistSolar branch of MAPL_SunGetSolarConstantFromNRLFile to use Solar Cycle 24 as we are now in Cycle 25.

Fixed

  • Add _RETURN(_SUCCESS) to MAPL_SimpleBundle routines
  • Fixed possibly uninitialized values when handling members of Segment_T derived type. Helps on the Rome nodes.
  • Fixed print diagnostics for monthly collections (proper reporting of frequency, duration, eliminated acc_interval)
  • Fixed another bug related to the incorrect time increment for monthly averaged collections
  • Fixed few memory leaks (average and stampOffset arrays were allocated twice)
  • Fixed a bug related to incorrect time increment attribute for a monthly collection
  • Fixed a bug related to the naming scheme for split fields when ungrid size is 1
  • Fixed unset UNGRIDDED_DIMS attribute bug
  • Fixes ESMF logging errors related to expressions in History
  • Fixed error handling in profiler/BaseProfiler.F90
  • Fix memory leak when using fast_oserver in write_restart_by_oserver
  • Bumped cube version to 2.91 in global metadata
  • Change calls to system_clock() to be INT64 (#511)
  • CMake updates to allow NAG Fortran build
  • Converted some remaining real*8-type declarations to be real(kind=REAL64)-style
  • Eliminated (almost) all compiler warnings for Intel compiler
  • Removed conditional around declaring pointers in code emitted by grid comp ACG.
  • Fixed bugs in ESMFL and MAPL_CFIOReadParallel to support GEOSadas
  • Remove some unnecessary MPI_Comm_dup calls. Some of those call are actually bugs

MAPL 2.6.4

18 Mar 13:51
Compare
Choose a tag to compare

DOI

MAPL 2.6.4 is a zero-diff patch release on MAPL.


From CHANGELOG.md

Added

  • Add support for multi-run-phase for root gridcomp

Fixed

  • Fixed spliiting the same field in multiple collections
  • Fix out-of-bound access when printing pFIO message
  • Removed program tstqsat.F90 from MAPL.base library. A followup
    should add cmake logic to create an executable or just delete the
    file.
  • CMake workaround for macOS + Intel oneAPI FLAP bug (#644)