MAPL 3.0.0-alpha.1
Pre-release
Pre-release
·
58 commits
to develop
since this release
This is a new alpha release of MAPL v3. Much of this work was refactoring and file movement with some fixes and updates as detailed below.
This version of MAPL was tested with:
- Intel Fortran Classic (
ifort) 2021.13 - Intel Fortran (
ifx) 2025.3 - GCC 14.2.0 and 15.2.0
- NAG 7.2
- Flang 22.1
The libraries this version of MAPL is currently tested with are below.
- Baselibs 8.27.0
- netcdf-c 4.9.2
- netcdf-fortran 4.6.1
- ESMF 9.0.0b10 (Note: MAPL 3 requires ESMF 9)
- GFE 1.23.0
- gFTL 1.17.0
- gFTL-shared 1.12.0
- pFUnit 4.16.0 (optional)
- fArgParse 1.10.0 (if
-DBUILD_WITH_FARGPARSE=YES, default=YES) - pFlogger 1.18.0 (if
-DBUILD_WITH_PFLOGGER=YES, default=YES)
- UDUNITS2 2.28.8
Also, if you build with Baselibs and/or -DUSE_F2PY=ON, you should use (at least):
- ESMA_cmake v4.37.0
We recommend most external users set -DUSE_F2PY=OFF
We also require CMake 3.24 or higher.
From CHANGELOG.md
Added
FieldBundleFilterfor filtering field bundles by predicate.- Generic checkpointing support:
MAPL_GridCompSetCheckpointadded to public
API;StatisticsGridCompandGridCompnow use the generic checkpoint mechanism. MAPL_GridCompAddChild: new overloads accepting either a setservices procedure
or a DSO name + procedure name.MAPL_GriddedComponentDriverandMAPL_DriverInitializePhasesadded to
public API.StatisticsGridComp: extended to support variance of a single field.FieldBundleGetPointerToData: added REAL64 overloads for 2D/3D index/name variants.MAPL_STATEITEM_VECTORitem type support in ACG spec files.PFIOlayer now has a public API umbrella.- Re-export
PackedDateCreate,PackedTimeCreate,PackedDateTimeCreate, and
StrTemplatethrough the top-levelMAPLumbrella module. to_string(integer_to_string) added tomapl_StringUtilities.
Changed
- MAPL v3 directory restructuring complete: consolidated sources into
infrastructure/,superstructure/,enums/,utils/,mp_utils/, and
base/; renamedgridcomps/subdirectories to canonical lowercase names;
removed all3gsuffixes from module and directory names; unified the
mapl3g_module namespace undermapl_. - Public API lockdown: all layer umbrella modules now carry explicit
private+public ::declarations. Internal shim files dissolved; symbols
routed through proper export umbrellas. - Namespace standardization: all internal module names follow the
mapl_<Name>_modconvention. Unprefixed enum constants and types renamed to
MAPL_-prefixed equivalents. Temporary backward-compatible aliases for unprefixed
names are provided where needed (e.g.VerticalStaggerLocenums) pending
updates in downstream consumers. MAPL_GridCompAddVarSpecreplaced byMAPL_GridCompAddSpec(avoids exposing
VariableSpecthroughuse MAPL); old interface removed.Cap.F90andGEOS.F90moved intomapl/;CapGridCompnow invoked via DSO.- CI updated to Baselibs 8.32.0 and circleci-tools orb v5;
components.yaml
updated to ESMA_env v5.22.0 / GEOSpyD 26.3.2.
Fixed
- Various compiler fixes: NVHPC build failure in
OpenMP_Support.F90;ifx
linker issue with error-handling thunks; NAG dangling pointer in checkpoint
directory helper; IEEE trap suppression for sNaN on-Ktrap=fpbuilds. VariableSpec/VectorClassAspect: fixed vector component naming lifecycle
(names now resolved at create-time rather than deferred to add-to-state).- ACG lookup mappings made bidirectional so aliases and actual values are
interchangeable in spec files.
Removed
- Legacy error handling interfaces
MAPL_RTRN,MAPL_Vrfy,MAPL_ASRT, and
mapl_ExceptionHandling_mod. - Dead code:
utils/TimeUtilities.F90,ESMF_Subset.F90, and other unused modules.
What's Changed
- relaxed tolerance for grid_is_ok by @weiyuan-jiang in #4906
- Integration branch: enums relocation + regularization + labeler bump by @tclune in #4914
- Phase 4: Create infrastructure/ layer (closes #4925) by @tclune in #4928
- Phase 5: Create superstructure/ layer by @tclune in #4931
- Phase 6: Rename gridcomps/ subdirectories to canonical lowercase names (closes #4938) by @tclune in #4939
- Improve vector field naming and expose vector state item support by @pchakraborty in #4926
- Update .mlc.toml file by @mathomp4 in #4929
- Phase 7+8: Lowercase dirs, dissolve shared/, geom/, esmf_utils/ stubs (#4905) by @tclune in #4943
- Bump devops-infra/action-pull-request from 1.0.2 to 1.1.1 by @dependabot[bot] in #4934
- Feature/wdboggs/add variance statistic by @darianboggs in #4933
- MAPL: fix vector component naming lifecycle by @pchakraborty in #4946
- Add real64 cases to FieldBundleGetPointer by @pchakraborty in #4948
- Add missing public symbols to MAPL umbrella (fixes #4949) by @tclune in #4954
- Phase 9: Rename mapl3g_ module namespace to mapl_ (closes #4944) by @tclune in #4955
- MAPL3 generic: remove vector_component_names from specs and parser by @pchakraborty in #4956
- v3: Fix NVHPC build failure in OpenMP_Support by @mathomp4 in #4950
- Re-export PackedDateCreate, PackedTimeCreate, and StrTemplate from MAPL umbrella by @tclune in #4964
- Rename internal modules to mapl__mod and enforce gridcomps use MAPL umbrella (#4958/#4959) by @tclune in #4962
- Bump devops-infra/action-pull-request from 1.1.1 to 1.2.0 by @dependabot[bot] in #4987
- Migrate base3g comms to infrastructure layer (closes #4970) by @tclune in #4989
- Bump devops-infra/action-pull-request from 1.2.0 to 1.2.1 by @dependabot[bot] in #4993
- Remove 3g suffix from module and directory names (closes #4971) by @tclune in #4990
- Flatten infrastructure/ directory tree (issue #4972) by @tclune in #4991
- Replace MAPL_GridCompSpecs_ACG.py with MAPL_GridCompSpecs_ACGv3.py in MAPL3 by @darianboggs in #4966
- Consolidate enums into enums/ layer and introduce MAPL_ API constants (issue #4973) by @tclune in #4995
- Fix HorzIJ in MAPL3G to get local indices by @bena-nasa in #4960
- Add mapl_ prefix to initialize_constants (#4976) by @tclune in #4998
- Hide 30 unused entities from MAPL umbrella module by @tclune in #5002
- Fixes #5001. Fields need to be initialized after call to ESMF_FieldEm… by @atrayano in #5003
- Bugfix/wdboggs/fix acg lookup dict by @darianboggs in #5007
- v3: Bring some CI updates over from main by @mathomp4 in #4988
- feat(#5004): Implement two-tier umbrella module pattern by @tclune in #5008
- Standardize umbrella module filenames by @tclune in #5013
- Fix ieee_is_nan sNaN trap in Test_FieldFill.pf for -Ktrap=fp by @mathomp4 in #5012
- Add support for MAPL_STATEITEM_VECTOR in ACG by @darianboggs in #5018
- Remove FileMetadataUtils dep from MAPL.vertical by @tclune in #5019
- Bump devops-infra/action-pull-request from 1.2.0 to 1.2.1 by @dependabot[bot] in #5009
- Incremental infrastructure restructuring (#5014) by @tclune in #5022
- Rename Export_X/Internal_X umbrella files to Export/Internal (#5021) by @tclune in #5025
- Lock down Export umbrella modules; rename unprefixed enums to MAPL_-prefixed (Phase 1, #5026/#5029) by @tclune in #5032
- Feature/#5040 eliminate additional modules by @tclune in #5042
- Fixes #5004 (partially) by @tclune in #5043
- Guard IEEE halting mode in Test_FieldFill on macOS by @mathomp4 in #5024
- v3: Update CI to Baselibs 8.32.0, v5 orb by @mathomp4 in #5053
- Fixes #5034 by @tclune in #5060
- Fixes #5044 by @bena-nasa in #5059
- Fixes #5062 - cleanup by @tclune in #5067
- Cleanup/restrict public exports by @tclune in #5075
- Bump devops-infra/action-pull-request from 1.2.1 to 1.2.3 by @dependabot[bot] in #5077
- MAPL: add GridComp checkpoint directory helper by @pchakraborty in #5074
- MAPL: add FieldBundleFilter; refactor StateGet and RestartHandler by @pchakraborty in #5078
- Feature/#5011 make unpackdatetime unambiguous by @darianboggs in #5085
- Fixes #5086 by @tclune in #5087
- Fixes #5081 Feature/#5081 fix indirect umbrellas by @tclune in #5088
- Delete legacy procedures in error handling by @aoloso in #5092
- Fixed #$#5096 eliminate interface libs by @tclune in #5097
- Eliminate Internal.F90 umbrella modules by @tclune in #5100
- Fixes #5045 by @bena-nasa in #5072
- Suppress NAG module timestamp warnings for Spack-installed ESMF by @mathomp4 in #5089
- Fixes #5113 by @tclune in #5122
- Fixes #5114 by @tclune in #5123
- Fixes #5105 by @bena-nasa in #5126
- Fix #5125: exclude tests from default ALL target by @mathomp4 in #5127
- Fixes #5120 by @tclune in #5124
- Remove utils/TimeUtilities.F90 by @darianboggs in #5028
- Add MAPL_GriddedComponentDriver and MAPL_DriverInitializePhases to public API by @pchakraborty in #5129
- Fixes 5117. Removed mapl_ prefix for leaf components. by @atrayano in #5130
- Mapl prefix umbrella by @aoloso in #5128
- Feature/wdboggs/refactor utils mapl by @darianboggs in #5132
- Feature/#5116 geom prefixes by @tclune in #5134
- Fixes #5073 by @bena-nasa in #5138
- Fix run-nag-build-discover nag-build failure in MAPL.esmf_utils.tests by @aoloso in #5140
- Fixes #5135 by @tclune in #5142
- Fixes #5144 by @bena-nasa in #5145
- Removed remaining MAPL_ prefix from enums and updated CHANGELOG by @aoloso in #5143
- Move Cap.F90 and GEOS.F90 to mapl by @bena-nasa in #5141
- Aoloso/clean use esm by @aoloso in #5098
- Removed the remaining "USE PFIO". This required the public object "Va… by @aoloso in #5146
- Strip MAPL_ prefix from ESMF infrastructure; rename Comms, SimpleAlarm; move ESMF_Interfaces by @pchakraborty in #5149
- Move make_dim_key by @darianboggs in #5153
- Strip MAPL_ prefix from ESMF and hconfig infrastructure (issue #5109) by @pchakraborty in #5154
- Move stats gc to generic checkpointing by @bena-nasa in #5152
- Feature/5131 remove mapl prefix by @atrayano in #5157
- Add MAPL_-prefix aliases for VerticalStaggerLoc enums; update internal uses by @pchakraborty in #5162
- v3: Clean up changelog by @mathomp4 in #5083
Full Changelog: v3.0.0-alpha.0...v3.0.0-alpha.1