Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/GEOS-ESM/MAPL
MAPL is a foundation layer of the GEOS architecture, whose original purpose is to supplement the Earth System Modeling Framework (ESMF)
https://github.com/GEOS-ESM/MAPL
Last synced: 3 months ago
JSON representation
MAPL is a foundation layer of the GEOS architecture, whose original purpose is to supplement the Earth System Modeling Framework (ESMF)
- Host: GitHub
- URL: https://github.com/GEOS-ESM/MAPL
- Owner: GEOS-ESM
- License: apache-2.0
- Created: 2019-07-03T15:40:39.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-06-11T16:42:07.000Z (5 months ago)
- Last Synced: 2024-06-11T16:48:39.506Z (5 months ago)
- Language: Fortran
- Homepage: https://geos-esm.github.io/MAPL/
- Size: 2.71 GB
- Stars: 26
- Watchers: 22
- Forks: 18
- Open Issues: 172
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- open-sustainable-technology - MAPL - A foundation layer of the GEOS architecture, whose original purpose is to supplement the Earth System Modeling Framework. (Climate Change / Earth and Climate Modeling)
README
# MAPL Repository
[![GEOS-ESM](https://circleci.com/gh/GEOS-ESM/MAPL.svg?style=svg)](https://app.circleci.com/pipelines/github/GEOS-ESM/MAPL)
[![DOI](https://zenodo.org/badge/195083467.svg)](https://zenodo.org/badge/latestdoi/195083467)
MAPL 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:
1. **shared** - low level utilities that are used throughout the remainder of MAPL.
2. **profiler** - time and memory profiling utility
3. [**pfio**](https://github.com/GEOS-ESM/MAPL/tree/main/pfio) - high-performance client-server I/O layer
4. **base** (formerly MAPL_Base) - legacy core of MAPL. This layer will gradually evaporate under further refactoring.
5. **generic** (under construction) - new home for MAPL extension of ESMF framework.
6. **oomph** - next gen generic will eventually disappear
7. **gridcomps** - Cap, [History](https://github.com/GEOS-ESM/MAPL/tree/main/gridcomps/History), and [ExtData](https://github.com/GEOS-ESM/MAPL/tree/main/gridcomps/ExtData2G) gridcomps used by all GEOS configurations.
8. **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.
9. **griddedio** - layer between ESMF container and pfio library
10. **field_utils** - utilities for manipulating data on ESMF fields in a rank- and typekind-agnostic wayMAPL also has a variety of other auxiliary directories:
1. **include** - include files used by external gridded components.
2. **Apps** - various Python and Perl scripts used by gridded components.
3. **Python** - beginnings of a run-time scripting framework for GEOS configurations
4. **cmake** - CMake build macros
5. **Tests** - miscellaneous standalone drivers.
6. **pflogger_stub** - workaround for apps that wish to avoid a dependency on pFlogger
7. **pfunit** - pFUnit (unit testing framework) extensions for ESMF components
8. **benchmarks** - miscellaneous benchmarking scripts
9. **docs** - documentation## Installing MAPL
Please see the [INSTALL.md](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:
[MAPL Tutorial](https://github.com/GEOS-ESM/MAPL/blob/main/docs/tutorial/README.md)
A [MAPL User's Guide](https://github.com/GEOS-ESM/MAPL/blob/main/docs/user_guide/README.md) is also available to have an in depth description of MAPL components.
## Contributing
Please check out our [contributing guidelines](CONTRIBUTING.md).
## License
All files are currently licensed under the Apache-2.0 license, see [`LICENSE`](LICENSE).
Previously, the code was licensed under the [NASA Open Source Agreement, Version 1.3](LICENSE-NOSA).