MAPL 2.41.0
This is a minor release of MAPL with many changes and fixes to MAPL 2.40. Prominent updates include:
- Updates for ongoing trajectory sampling work
- Updates and improvements to documentation
- Changes to
MAPL_Resource.F90
to allow NVIDIA compilers to build this file - Adding a new benchmark suite
- Cleaning up much of the code to reduce compiler warnings and remarks at compile time:
- Converted all uses of
mpif.h
touse mpi
- Converted all uses of
character*
tocharacter(len=)
- Removed many unused variables
- Added many
_UNUSED_DUMMY()
calls - Converted statement functions to internal functions
- Converted all uses of
- and more as noted in the
CHANGELOG.md
below
All tests show this to be zero-diff to MAPL 2.40
The libraries this version of MAPL is currently tested with are below.
- 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 should use:
- ESMA_cmake v3.34.0
We recommend most external users set -DUSE_F2PY=OFF
From CHANGELOG.md
Added
- Saved weights and points for the vertical interpolation
- Added new benchmark suite. Initial benchmarks are:
- measuring raw bandwidth of a filesystem with multiple independent streams
- measuring the
MPI_Gatherv()
used in writing checkpoints. - a combo benchmark that does both operations
- Added the ability to read string attributes of variables. This is as opposed to "character" attributes - a distinction made by NetCDF. Previously a small kludge had been used to allow reading string attributes, but was limited to attributes on the global var.
- Added markdown documentation for select items such as ExtData, History and a few other sources
- Trajectory sampler with Epoch time span
- Added utility to convert binary files used by MAPL_ReadForcing to NetCDF
- Allow a negative "update_offset" keyword in the sampling section of ExtData2G's input file by prepending the ISO time duration with a negative sign. I.E -PT12H for example
- Added three new macros
_HERE
: Returns the current file and line number_RETURN_IF(cond)
: Returns if the condition is true_RETURN_UNLESS(cond)
: Returns if the condition is false
- Created a new
docs
directory that has the following subdirectoriestutorial
: what used to be a top directory (with the same content)user_guide
: a new directory that will serve as MAPL User's Guide.
- OSSE project: trajectory sampler (regrid to IODA file locations), capable of ingesting multiple files and regridding via one route-handle
Changed
- Converted hinterp.F to free format (hinterp.F90)
- Modified tilegrid creation to use index flag ESMF_INDEX_DELOCAL instead of ESMF_INDEX_USER
- Renamed "geom" subdir and library to "field_utils"
- Updated CircleCI to use v11.2.0 bcs
- Backported changes in
pfio
fromrelease/MAPL-v3
to enablepfio
unit tests - Update
components.yaml
- ESMA_cmake v3.34.0 (Support for Intel Fortran under Rosetta2, updated NAG flags)
- Cleanup Fortran
- Converted all uses of
mpif.h
touse mpi
- Converted all uses of
character*
tocharacter(len=)
- Removed many unused variables
- Added many
_UNUSED_DUMMY()
calls - Converted statement functions to internal functions
- Converted all uses of
- Lowered optimization of
ExtDataGridCompMod.F90
andExtDataGridCompNG.F90
to -O1 on Intel to speed build
Fixed
- Fixed the lines order to get the right idle_worker in MultiGroupServer.F90
- Corrected a typo for checking if fpp macro
_FILE_
was previously defined. - Add call to initialize pFlogger layer for the unit tests.
- Rename
mpi_comm
tocomm
inMAPL_HistoryGridComp.F90
to avoid GNU- MPT bug at NAS
- Fix problem with macros in base/MAPL_Resource.F90 uncovered while compiling with the NVIDIA Fortran compiler.
The macros in MAPL_Resource.F90 had long lines which exceeded the line length limit of the NVIDIA compiler.
Change the macros into include files (.h) with macros and Fortran code.
Removed
- Deleted MAPL_HeapMod.F90. This file was doing crazy nonstandard things and is not used anywhere else. A new cleaner implementation based upon containers could be readily created if the functionality is ever missed.
What's Changed
- Trajectory sampler by @metdyn in #2265
- Fixes #2268 - rename geom subdir by @tclune in #2269
- Clean up more geom to field_utils by @mathomp4 in #2272
- ReadForcing binary file converter by @bena-nasa in #2276
- Auto GitFlow - main → develop by @github-actions in #2279
- Auto GitFlow - main → develop by @github-actions in #2285
- Update tile_formatter.py by @bena-nasa in #2288
- Fixes #2290 - pflogger in unit tests by @tclune in #2291
- Auto GitFlow - main → develop by @github-actions in #2297
- Feature/hack for ExtData for using G5NR files with sample inputs for AIST project by @bena-nasa in #2296
- Feature/jk/doc check by @JulesKouatchou in #2301
- Feature/atrayano/#2304 index user by @atrayano in #2305
- change for new EASE gridname in bcs by @weiyuan-jiang in #2307
- Read string attribute from netCDF variable by @metdyn in #2313
- Feature/bmauer/markup docs in source by @bena-nasa in #2311
- Update to BCs 11.2.0 by @mathomp4 in #2316
- Backport pfio changes from MAPL3 to enable tests by @mathomp4 in #2321
- Update ESMA_cmake for Intel Fortran Rosetta support by @mathomp4 in #2323
- Feature/tclune/reduce compiler warnings by @tclune in #2324
- Bump actions/checkout from 3 to 4 by @dependabot in #2328
- Fix MPT + GNU bug at NAS by @mathomp4 in #2345
- get back to main to get the right idle_worker by @weiyuan-jiang in #2348
- Auto GitFlow - main → develop by @github-actions in #2350
- Tweak optimization for faster Intel Release build by @mathomp4 in #2354
- Bugfix/wdboggs/convert mapl resource macros by @darianboggs in #2326
- Cleanup more MAPL Intel Debug Messages by @mathomp4 in #2346
- Trajectory sampler to ingest multiple IODA files via one route handle by @metdyn in #2353
- Remove a few more unused variables by @mathomp4 in #2364
- Feature/jk/docs by @JulesKouatchou in #2356
- Feature/tclune/io bench by @tclune in #2361
- Feature/wjiang/vertical indices by @weiyuan-jiang in #2210
- Prepare for 2.41.0 Release by @mathomp4 in #2369
- Gitflow: Merge Develop into Main by @mathomp4 in #2370
Full Changelog: v2.40.4...v2.41.0