- Fortran 92.8%
- Python 3.2%
- C 1.4%
- C++ 1.1%
- Makefile 0.8%
- Other 0.5%
This merge release addresses several issues in the MPAS-Atmosphere model and in the MPAS infrastructure. Specific changes include: * Fix crashes in the atm_srk3 routine when MPAS-A is compiled without defining DO_PHYSICS, as is done when the MPAS-A dynamical core is used in, e.g., CAM or CAM-SIMA. (PR #1448) * Limit the saturation vapor pressure, e_s, used in the Kessler microphysics to a value at or below 99% of the full pressure. Prior to this change, the saturation vapor pressure formula in Kessler could produce unphysically large values of e_s at very low pressures (high model tops) and cause the model to blow up. (PR #1452) * Fix an issue with multiple occurrences of the same namelist option in the specification for the optional active_when attribute for a Registry-defined package. With this fix, an active_when attribute may contain logic that uses a given namelist option more than once. (PR #1461) * Fix a bug that occurs when the number of soil layers in Noah-MP is not the default (4 layers), resulting in the model not conserving water. (PR #1459) * Fix broken builds with GEN_F90=true by adding missing include paths to the Makefile recipes that are used when MPAS is compiled with GEN_F90=true. (PR #1465) * Switch the allocation of surface arrays to be based on the choice of surface layer scheme rather than on the choice of PBL scheme. This change allows model simulations that use a surface layer scheme but no PBL scheme to run correctly, for example, real-data simulations that use LES options in MPAS-A. (PR #1460) |
||
|---|---|---|
| .github | ||
| cmake | ||
| docs | ||
| src | ||
| testing_and_setup | ||
| .gitignore | ||
| CMakeLists.txt | ||
| INSTALL | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
MPAS-v8.4.1
The Model for Prediction Across Scales (MPAS) is a collaborative project for developing atmosphere, ocean, and other earth-system simulation components for use in climate, regional climate, and weather studies. The primary development partners are the climate modeling group at Los Alamos National Laboratory (COSIM) and the National Center for Atmospheric Research. Both primary partners are responsible for the MPAS framework, operators, and tools common to the applications; LANL has primary responsibility for the ocean model, and NCAR has primary responsibility for the atmospheric model.
The MPAS framework facilitates the rapid development and prototyping of models by providing infrastructure typically required by model developers, including high-level data types, communication routines, and I/O routines. By using MPAS, developers can leverage pre-existing code and focus more on development of their model.
BUILDING
This README is provided as a brief introduction to the MPAS framework. It does not provide details about each specific model, nor does it provide building instructions.
For information about building and running each core, please refer to each core's user's guide, which can be found at the following web sites:
Code Layout
Within the MPAS repository, code is laid out as follows. Sub-directories are only described below the src directory.
MPAS-Model
├── src
│ ├── driver -- Main driver for MPAS in stand-alone mode (Shared)
│ ├── external -- External software for MPAS (Shared)
│ ├── framework -- MPAS Framework (Includes DDT Descriptions, and shared routines. Shared)
│ ├── operators -- MPAS Opeartors (Includes Operators for MPAS meshes. Shared)
│ ├── tools -- Empty directory for include files that Registry generates (Shared)
│ │ ├── registry -- Code for building Registry.xml parser (Shared)
│ │ └── input_gen -- Code for generating streams and namelist files (Shared)
│ └── core_* -- Individual model cores.
│ └── inc -- Empty directory for include files that Registry generates
├── testing_and_setup -- Tools for setting up configurations and test cases (Shared)
└── default_inputs -- Copies of default stream and namelists files (Shared)
Model cores are typically developed independently. For information about building and running a particular core, please refer to that core's user's guide.