You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MAPL (Modeling Analysis and Prediction Layer) is a foundation layer of the GEOS architecture, whose original purpose is to supplement the Earth System Modeling Framework (ESMF). MAPL fills in missing capabilities of ESMF, provides higher-level interfaces for common boiler-plate logic, and enforces various componentization conventions across ESMF gridded components within GEOS.
MAPL has 10 primary subdirectories for Fortran source code:
shared - low level utilities that are used throughout the remainder of MAPL.
base (formerly MAPL_Base) - legacy core of MAPL. This layer will gradually evaporate under further refactoring.
generic (under construction) - new home for MAPL extension of ESMF framework.
oomph - next gen generic will eventually disappear
gridcomps - Cap, History, and ExtData gridcomps used by all GEOS configurations.
MAPL_cfio - this is a deprecated lower-level I/O layer that is generally replaced by GMAO_pFIO. Not all of the strings have been cut yet. Sometime soon, this directory will be eliminated.
griddedio - layer between ESMF container and pfio library
field_utils - utilities for manipulating data on ESMF fields in a rank- and typekind-agnostic way
MAPL also has a variety of other auxiliary directories:
include - include files used by external gridded components.
Apps - various Python and Perl scripts used by gridded components.
Python - beginnings of a run-time scripting framework for GEOS configurations
cmake - CMake build macros
Tests - miscellaneous standalone drivers.
pflogger_stub - workaround for apps that wish to avoid a dependency on pFlogger
pfunit - pFUnit (unit testing framework) extensions for ESMF components
benchmarks - miscellaneous benchmarking scripts
docs - documentation
Installing MAPL
Please see the INSTALL.md file for instructions on how to install
MAPL. This also contains information on how to install the required dependencies
including subrepositories MAPL expects.
Using MAPL
You can find simple examples on how to use MAPL components in ESMF applications at: