Skip to content

MAPL 2.35.0

Compare
Choose a tag to compare
@mathomp4 mathomp4 released this 01 Mar 19:54
· 1601 commits to main since this release
a6af7b1

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