MAPL 2.40.0
This minor release of MAPL includes many new features as well as new requirements for building.
The main new feature is the ability of ExtData to now fill variables on MAPL "tile" grids as well as the ability for ExtDataDriver.x
to run on "tile" grids.
Also, with this version of MAPL, we now require ESMF 8.5.0 because MAPL has now replaced yaFyaml for YAML support with ESMF_HConfig. Per the release notes:
One major new development available with 8.5.0 is the addition of a hierarchical configuration class: ESMF_HConfig. This class provides YAML 1.2 support through the ESMF Fortran API. The ESMF_HConfig class integrates with the existing configuration class ESMF_Config for backward compatibility, and allows ESMF user code to seamlessly access, modify, and create information in YAML format. This new capability is leveraged within ESMF and NUOPC to provide a YAML alternative when specifying ESMF_Initialize() parameters, NUOPC attribute, petList, or run sequence information.
Note that MAPL 2.40 now has new requirements for building. MAPL now requires:
- ESMF 8.5.0
- gFTL 1.10.0
- gFTL-shared 1.6.1
- fArgParse 1.5.0 (if
-DBUILD_WITH_FARGPARSE=YES
, default=YES
) - pFlogger 1.9.5 (if
-DBUILD_WITH_PFLOGGER=YES
, default=YES
)
Of these, only ESMF and gFTL-shared are hard "code will not build" requirements. However, the other GFE libraries minimum versions were updated to latest versions to capture bugfixes.
Also, since we now use ESMF_Hconfig for YAML support in MAPL, yaFyaml is no longer used. Likewise, we have deprecated FLAP use and by default BUILD_WITH_FLAP
is NO
.
The libraries this version of MAPL is currently tested with are below. (This is a change since MAPL 2.39)
- 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 will need:
- ESMA_cmake v3.31.0
We recommend most external users set -DUSE_F2PY=OFF
From CHANGELOG.md
Added
- Add ability of ExtData to fill variables on MAPL "tile" grids.
- Added print of regrid method during History initialization
- Added ability to use an
ESMF.rc
file to pass in pre-ESMF_Initialize
options to ESMF (see ESMF Docs for allowed flags.- NOTE: File must be called
ESMF.rc
- NOTE: File must be called
- Added ability to run ExtDataDriver.x on a MAPL "tile" grid
- Add ability to introduce a time-step delay in ExtDataDriver.x to simulate the timestep latency of a real model
- Added a MAPL_Sleep function, equivalent to some vendor supplied but non-standard sleep function
- sampling IODA file with trajectory sampler (step-1): make it run
- Convert ExtData to use ESMF HConfig for YAML parsing rather than YaFYAML
- Set required ESMF version to 8.5.0
- Add StationSamplerMod for station sampler
- Added ReplaceMetadata message and method to replace oserver's metadata
- Added field utilities to perform basic numeric operations on fields
- Update arithemetic parser to work with any rank and type of ESMF fields
- For ExtDataDriver.x only, added logging config to Tests/ExtDataDriverMod.F90 to enable Logger there
- Added new fill option and run mode for ExtDataDriver.x
Changed
- Updates to GFE library dependency
- Require gFTL v1.10.0
- Require gFTL-shared v1.6.1
- Require fArgParse v1.5.0
- Require pFlogger v1.9.5
- Removed yaFyaml as dependency
- Updated programs using FLAP for command line parsing to use fArgParse instead
- Updated
components.yaml
to use Baselibs 7.14.0- ESMA_env v4.9.1 → v4.19.0
- Baselibs 7.14.0
- esmf v8.5.0
- GFE v1.11.0
- curl 8.2.1
- HDF5 1.10.10
- netCDF-C 4.9.2
- netCDF-Fortran 4.6.1
- CDO 2.2.1
- NCO 5.1.7
- Move to MPT 2.28 at NAS, and other various changes for TOSS4 at NAS
- Remove Haswell from
build.csh
- Baselibs 7.14.0
- ESMA_cmake v3.28.0 → v3.31.0
- Clean up for TOSS4 changes at NAS
- Add
QUIET_DEBUG
flag - Suppress some common warnings with Intel Debug
- ESMA_env v4.9.1 → v4.19.0
- Make the GEOSadas CI build separate as it often fails due to race conditions in GSI
- Update CI to use BCs v11.1.0 and Baselibs 7.14.0
- Updates to support building MAPL with spack instead of Baselibs
- Add
FindESMF.cmake
file tocmake
directory (as it can't easily be found via spack) - Move
CMAKE_MODULE_PATH
append statement up to findFindESMF.cmake
before wefind_package(ESMF)
- Default
BUILD_WITH_FLAP
toOFF
as we don't build it in spack - Explicitly build GEOSadas in CI with
-DBUILD_WITH_FLAP=ON
as GEOSadas is still behind in moving to use fArgParse
- Add
Fixed
- Created cubed-sphere grid factory with files split by face
- Removed unneeded and confusing default in History Grid Comp (see #2081)
- Fixes in CMake for fArgParse transition
Deprecated
- Deprecate the use of FLAP for command line parsing in favor of fArgParse. FLAP support will be removed in MAPL 3
What's Changed
- Auto GitFlow - main → develop by @github-actions in #2140
- Auto GitFlow - main → develop by @github-actions in #2156
- Auto GitFlow - main → develop by @github-actions in #2164
- Move GEOSadas CI build to separate job by @mathomp4 in #2165
- create cubed-sphere grid from files split by face by @weiyuan-jiang in #2159
- Update to ESMA_env 4.17.0, move from FLAP to fArgParse by @mathomp4 in #2068
- Bump mheap/github-action-required-labels from 4 to 5 by @dependabot in #2179
- Auto GitFlow - main → develop by @github-actions in #2181
- Fixes #2147 field operations by @bena-nasa in #2160
- Auto GitFlow - main → develop by @github-actions in #2189
- ExtDataDriver.x updates for benchmarking by @bena-nasa in #2191
- Add Logging config to Tests/ExtDataDriverMod.F90 by @metdyn in #2175
- add ReplaceMetadata message and method for pfio by @weiyuan-jiang in #2186
- Feature/bmauer/fixes #2149 by @bena-nasa in #2196
- Update CI BCs to v11.1.0 by @mathomp4 in #2203
- station sampler by @metdyn in #2176
- Auto GitFlow - main → develop by @github-actions in #2208
- Fixes #2081. Remove unneeded and confusing default in History by @mathomp4 in #2211
- Move ExtData2G to HConfig by @bena-nasa in #2218
- Trajectory sampler for IODA file: step-1 by @metdyn in #2220
- Require ESMF 8.5.0 and 8.5.0b22 at least by @mathomp4 in #2221
- Fixes for fargparse use in CMake by @mathomp4 in #2222
- Temporary action fix for push to dev by @mathomp4 in #2223
- Auto GitFlow - main → develop by @github-actions in #2227
- Feature/bmauer/extdatadriver delay by @bena-nasa in #2237
- GitFlow: Handmerge main into develop - 2023-Jul-18 by @mathomp4 in #2242
- Get ExtDataDriver.x running on tiles by @bena-nasa in #2246
- Fixes #2133. Add ability to set ESMF Logging mode at Run Time by @mathomp4 in #2233
- Updates to allow building MAPL with Spack instead of Baselibs by @mathomp4 in #2229
- Fixes #2244. Add print of regrid method to history init by @mathomp4 in #2245
- Feature/bmaure/extdata on tiles by @bena-nasa in #2252
- Update to Baselibs 7.14.0 (ESMF 8.5.0, GFE 1.11.0) by @mathomp4 in #2255
- Prepare for MAPL 2.40.0 by @mathomp4 in #2257
- GitFlow: Merge develop into main by @mathomp4 in #2258
New Contributors
Full Changelog: v2.39.7...v2.40.0