Skip to content

MAPL 2.31.0

Compare
Choose a tag to compare
@mathomp4 mathomp4 released this 28 Nov 23:29
· 2378 commits to main since this release
59485b4

DOI

This release of MAPL has many new features and updates including:

  • Fixes for the NVIDIA compiler
  • New function to remove variable from FileMetadata object
  • Added file name to errors when reading netCDF files
  • Added capability to Automatic Code Generator to detect inconsistencies in spec files at build time
  • Add support for netCDF quantize.
    • Note this requires netCDF-C v4.9.0 and netCDF-Fortran v4.6.0, but our CMake does have a test
      to make sure the netCDF library was compiled with support. This test uses NETCDF_INCLUDE_DIRS and as such
      within GEOS requires the use of ESMA_cmake v3.20.0 or later to (possibly) succeed.
  • Added subroutine to calculate IJ indexes of given lats lons for cubed-sphere grid

The libraries this version of MAPL has been tested with are below.

  • Baselibs 7.5.0
    • netcdf-c 4.8.1
    • netcdf-fortran 4.5.4
    • ESMF 8.3.0
    • GFE 1.4.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.4.1 (optional)
      • fArgParse 1.3.0 (optional)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES)

In order to use the new netCDF quantize support in MAPL, you need to use the equivalent to Baselibs 7.7.0 (which MAPL and GEOS will soon move to):

  • Baselibs 7.7.0
    • netcdf-c 4.9.0
    • netcdf-fortran 4.6.0
    • ESMF 8.4.0
    • GFE 1.8.0
      • gFTL 1.8.1
      • gFTL-shared 1.5.0
      • pFUnit 4.6.1 (optional)
      • fArgParse 1.4.1 (optional)
      • pFlogger 1.9.1 (if -DBUILD_WITH_PFLOGGER=YES)
      • yaFyaml 1.0.4 (if -DUSE_EXTDATA2G=YES)
      • FLAP geos/v1.10.0 (if -DBUILD_WITH_FLAP=YES)

From CHANGELOG.md

Fixed

  • Fixed the subroutine that removes a variable from FileMetadata Object
  • Defined real64 constants in consistent way
  • Workarounds for NVIDIA compiler

Added

  • Added a function to remove a variable from FileMetadata object.
  • Added assert to NetCDF4_get_var.H to print variable name if data retrieval fails
  • Added to asserts in NetCDF4_get_var.H to print out file if there are error getting variables
  • Added capability to Automatic Code Generator to detect inconsistencies in spec files at build time
  • Add support for netCDF quantize.
    • Note this requires netCDF-C v4.9.0 and netCDF-Fortran v4.6.0, but our CMake does have a test
      to make sure the netCDF library was compiled with support. This test uses NETCDF_INCLUDE_DIRS and as such
      within GEOS requires the use of ESMA_cmake v3.20.0 or later to (possibly) succeed.
  • Added subroutine to calculate IJ indexes of given lats lons for cubed-sphere grid

Changed

  • Updated to ESMA_cmake v3.20.0
    • This is to support the NETCDF_INCLUDE_DIRS used in the quantize support test
  • Updated to ESMA_env v4.7.0
    • This has many updates including moving to netCDF-C v4.9.0 and netCDF-Fortran v4.6.0. The other updates:
      • Baselibs v7.6.0
        • ESMF v8.4.0
        • zlib 1.2.13
        • curl 7.86.0
        • netCDF-C 4.9.0
        • netCDF-Fortran 4.6.0
        • NCO 5.1.1
        • CDO 2.1.0
  • Removed some unneeded use statements in ExtDataGridCompNG.F90. This seemed to let this new quantize support build with Intel
  • Changed nbits internally to be nbits_to_keep. Note that externally, you still use nbits: in HISTORY.rc

What's Changed

  • Auto GitFlow - main → develop by @github-actions in #1786
  • Bump devops-infra/action-pull-request from 0.5.1 to 0.5.2 by @dependabot in #1790
  • Add status check after retrieving variable data from NetCDF file by @lizziel in #1792
  • Auto GitFlow - main → develop by @github-actions in #1801
  • Auto GitFlow - main → develop by @github-actions in #1804
  • Bump devops-infra/action-pull-request from 0.5.2 to 0.5.3 by @dependabot in #1807
  • Auto GitFlow - main → develop by @github-actions in #1815
  • define real64 constants more consistently by @weiyuan-jiang in #1799
  • Fixes #1800. Add file name to NC4 asserts by @mathomp4 in #1813
  • Fixes for NVIDIA by @mathomp4 in #1823
  • add function to remove a variable from meta data by @weiyuan-jiang in #1825
  • Bugfix/wjiang/rm var from meta by @weiyuan-jiang in #1827
  • Add capability to check MAPL Spec options (fields) to Automatic Code Generator (ACG) by @darianboggs in #1829
  • add subroutine to calculate global IJ index for cubed sphere grid by @weiyuan-jiang in #1782
  • Add netCDF quantize support by @mathomp4 in #1810
  • GitFlow: Merge develop into main for release by @mathomp4 in #1835

Full Changelog: v2.30.3...v2.31.0