Releases: MPAS-Dev/MPAS-Model
MPAS Version 7.0
This major release of MPAS introduces significant new features in the MPAS-Atmosphere model as well as minor fixes and clean-up to the software infrastructure.
Atmosphere
Significant new features or changes to MPAS-Atmosphere v7.0 include:
- The capability to perform limited-area simulations on the surface of the sphere.
- An update to the physics schemes in the 'mesoscale_reference' suite to match the scheme versions in the Weather Research and Forecasting (WRF) model v4.0.3; the WSM6 scheme matches WRF v4.1.
- The addition of two new upper absorbing layer formulations.
- An initial relative humidity field that is computed w.r.t. ice for temperatures below freezing, consistent with the computation used for the model output files.
- A fix for the communication of effective radii between the WSM6 and RRTMG schemes when
config_microp_re=true
. - The ability to specify an explicit list of model level heights when constructing the vertical coordinate surfaces in the init_atmosphere core.
- A change to the default sources of data for terrain height and land use category to GMTED2010 and MODIS 20-class, respectively.
- Added MODIS-based sources for monthly albedo, monthly vegetation fraction, and maximum snow albedo; these MODIS datasets are now the default.
IMPORTANT NOTE: The updated physics schemes require new look-up tables, in particular, for the Noah land-surface model. The checkout_data_files.sh
script that is run at build time should correctly update these tables, but tables in other run directories will need to be manually updated.
Infrastructure
Changes to the shared MPAS infrastructure include:
- A new build target, llvm, to enable building MPAS with the clang and flang compilers.
- Updates to the xlf build target to support building on Linux/POWER systems with the XL compilers.
- Various minor fixes and clean-up.
MPAS Version 6.3
This minor release addresses two minor issues in MPAS-Atmosphere.
-
The default setting for config_o3climatology was previously 'false',
which caused the model to use a single seasonal ozone profile everywhere
in the model domain when the RRTMG radiation schemes was used. The default
is now 'true', which causes the model to use the same monthly ozone
climatology for RRTMG as is used by the CAM radiation schemes. -
Model simulations using a non-integer timestep would result in 'xtime'
variables in model output files that were incorrect, which caused problems
when trying to restart the model at the correct time. The xtime variable
is now correct when the valid time of output files has no fractional
seconds.
MPAS Version 6.2
This minor release addresses two issues in the MPAS infrastructure with how character strings are read from netCDF files via PIO, and it adds the 'recursive' attribute to the mpas_log_write routine to avoid errors raised by several newer compilers when critical errors are written.
MPAS Version 6.1
This minor release of MPAS corrects some minor issues with the sea-ice biogeochemistry. It fixes the restartability test with BGC, corrects some BGC namelist flags and removes the zero value for a BGC dimension.
MPAS Version 6.0
This major release of MPAS introduces the MPAS-Seaice core, and it includes new
functionality, general improvements, and fixes to the Ocean, Land Ice, and
Atmosphere cores. Also included are various small improvements, optimizations,
and clean-up in the shared software infrastructure. Specific changes to each of
the MPAS components are detailed below.
Framework:
- Introduction of a new module for logging messages during model execution.
Unless any errors are encountered, MPAS cores now write a single log file,
namedlog.<core>.0000.out
. In case errors occur, each MPI task will write
its own error log file namedlog.<core>.<task ID>.err
. - Performance enhancements to aggregated halo exchanges used in the Ocean,
Land-ice, and Sea-ice cores. - Minor enhancements to the MPAS "stream manager", including the ability to
specify "final_only" for the "input_interval" or "output_interval" of a stream
to read/write that stream only at the model stop time. - Various bug-fixes and other clean-up to ensure that the framework can be used
in coupled-model configurations involving more than one MPAS core.
Atmosphere:
Relative to the v5.0 release, the MPAS v6.0 release represents a minor
increment in capability for the MPAS-Atmosphere core. MPAS-Atmosphere v6.0
includes:
- An increase of the default number of layers from 41 to 55 to match
the standard experimental set-up used at NCAR. - The addition of support for the use of GMTED2010 terrain elevation,
matching the default terrain dataset used in the WRF model.- Set
config_topo_data = 'GMTED2010'
in the namelist.init_atmosphere file
when interpolating static fields.
- Set
- Computation of the GWDO sub-grid-scale orography fields in a way that is more
consistent with the pre-computed fields used in the WRF model. - Support for parallel builds of the
init_atmosphere
andatmosphere
cores.- Use
make -j N ...
.
- Use
- A significant reduction in the size of model initial conditions files.
Land Ice:
The last MPAS release with land ice improvements was v3.0. MPAS v6.0 adds the
following significant features relative to v3.0:
- Adds support for the First-Order velocity solver through the external Albany
library. - Adds a thermal solver that can be solved in terms of temperature (verified)
or enthalpy (experimental). - Adds subglacial hydrology model.
- Adds a number of calving options including eigencalving.
- Adds an adaptive time stepper.
- Adds analysis members for global and regional statistics.
- Ability to couple with E3SM.
- Adds a number of test cases and model configurations.
- General cleanup and bug fixes.
Ocean:
- Ability to couple with E3SM.
- New in-situ analysis computations.
- Division of tracers into groups to control output, algorithms, and forcing.
- Addition of biogeochemistry tracers and column computations.
Sea Ice:
- First release of MPAS-Seaice.
- MPAS-Seaice solves the sea-ice momentum equation with an
Elastic-Viscous-Plastic rheology and variational horizontal operators adapted
for the MPAS mesh. - Horizontal transport of mass and tracers uses an incremental remapping scheme.
- Column physics and biogeochemistry uses an early version of the Icepack
library.
MPAS Version 5.3
This minor release of MPAS corrects an issue with the initialization of the water vapor mixing ratio field in MPAS-Atmosphere, and it also adds two other fixes that should not affect model results.
The MPAS-Atmosphere initialization program (init_atmosphere_model) had previously assumed that any relative humidity field provided in an intermediate file was specified with respect to liquid water at or above 273.15 K, and with respect to ice below this temperature. However, intermediate files produced by the WPS's ungrib.exe program have the RH field adjusted so that is with respect to liquid water everywhere. With this release, the init_atmosphere core correctly interprets the RH field in producing the initial water vapor mixing ratio field. Note that, when initializing from a specific humidity (SPECHUMD) rather than RH, there is no change to results.
Besides the above fix, this release includes two other changes that should have no impact on results:
- The "units" and "description" for scalar tendencies have been corrected in the MPAS-Atmosphere Registry.xml file.
- The sign of the edgeNormalVectors field has been corrected for boundary edges that represent positive normal inflow. Although this change addresses a bug in the code, MPAS-Atmosphere does not have boundary edges, and other MPAS cores either employ no-flux or no-slip conditions along lateral boundaries or arrange such that all boundary edges represent positive outgoing normal velocity.
Thanks very much to The Weather Company for identifying the bug in initializing with relative humidity!
MPAS Version 5.2
This minor release of MPAS corrects issues when using the PIO 2.x library versions. With the changes in this release, it should be possible to use the latest PIO release from https://github.com/NCAR/ParallelIO/.
When compiling MPAS with a PIO 2.x library version, the USE_PIO2=true
option should be added to the MPAS build command.
The PIO 2.x library versions support integrated performance timing with the GPTL library; however, the MPAS infrastructure does not currently provide calls to initialize this library before it is used in PIO. Therefore, it is recommended to add -DPIO_ENABLE_TIMING=OFF
to the options in the cmake command used to build PIO.
The following steps may be used as a rough guide to obtaining and installing the latest PIO code:
git clone [email protected]:NCAR/ParallelIO.git
cd ParallelIO
export PIOSRC=`pwd`
cd ..
mkdir build
cd build
export CC=mpicc
export FC=mpif90
cmake -DNetCDF_C_PATH=$NETCDF -DNetCDF_Fortran_PATH=$NETCDF -DPnetCDF_PATH=$PNETCDF -DCMAKE_INSTALL_PREFIX=/somewhere/writable/pio2 -DPIO_ENABLE_TIMING=OFF $PIOSRC
make
make install
In the above steps, /somewhere/writable/pio2
should be changed to the installation path for PIO, and after successfully installing, the PIO
environment variable should be set to this path as well.
MPAS Version 5.1
This minor release of MPAS introduces fixes for several issues in the MPAS v5.0 major release of the atmosphere core, including:
- Re-engineering of the 3-d divergence damping mechanism to improve model stability in some variable-resolution simulations
- Making the upper gravity-wave absorbing layer scale aware, which is necessary to effectively damp vertically propagating waves in the coarse part of variable-resolution meshes
- A fix for patches of high 2-m theta sometimes found in simulations with the MYNN surface layer scheme (part of the 'convection_permitting' suite)
- A new initialization option to extrapolate temperature below the first-guess surface with a lapse rate, needed for usable initialization in some cases
- A fix for an issue in which writing 'mslp', but not an isobaric temperature field, to an output stream lead to garbage for MSLP field
- Changes to fix compilation issues on macOS case-insensitive filesystems with GEN_F90=true
- Changes to properly handle the ECMWF 100-289 cm soil layer
- A fix for initializing with hybrid-level first-guess data that provides a 3-d 'PRESSURE' field
- A fix for compiling on BlueGene systems
- Fixes for various memory issues, mostly related to the expanded use of 'packages' in the v5.0 release
Note that namelist files used with MPAS v5.0 must be modified before they can be used with MPAS v5.1. Specifically, the 'config_smdiv_p_forward' namelist option has been removed, and the default value for 'config_smdiv' has been changed to 0.1.
MPAS Version 5.0
This major release of MPAS introduces new capabilities, options, and enhancements to MPAS-Atmosphere, as well as many small improvements in the MPAS framework.
Significant changes to MPAS-Atmosphere include:
- A new physics suite, 'convection_permitting', that is suitable for applications where convection-permitting meshes (dx < 10 km) are employed, including variable-resolution meshes spanning hydrostatic to nonhydrostatic resolutions
- Updates to the versions of existing physics schemes
- A new vertical level distribution (selected by default when running init_atmosphere_model) that has been used in several MPAS-Atmosphere real-time experiments, including the prediction of tropical cyclones
- The ability to initialize the water vapor mixing ratio directly from specific humidity rather than relative humidity
- An option to compute sub-grid-scale orography statistics for use by the GWDO scheme directly on the native MPAS mesh from the 30-arc-second topography used for the model terrain field
- The use of "packages" to save memory by selectively allocating fields based on run-time choices of physics suite or schemes
- Substantial performance optimizations to the dynamical solver (with contributions from Thomas Henderson (then at NOAA), Robert Sinkovits (SDSC), John Dennis (NCAR), and Ryan Cabell (NCAR))
- The ability to obtain bit-identical results for any MPI task count (though this may require the addition of compiler flags, e.g., '-fp-model precise' for the ifort compiler)
- An experimental hybrid-parallel capability to allow execution with MPI and OpenMP; note that this ability does not currently offer a performance advantage and is being released for further development by collaborators
- Complete documentation for all namelist options and fields in the Registry file; units and description for all fields are also written as variable attributes to all model output files
- The introduction of a new framework for including diagnostics modules in MPAS-Atmosphere
- New diagnostics: Ertel PV diagnostics (thanks to Nick Szapiro (OU)), and convective diagnostics including CAPE and CIN
- The ability to write soundings for a specified list of locations at any specified interval during model integration
- For data assimilation, an Incremental Analysis Update (IAU) module to reduce initial noise by adding analysis increments over a time window (thanks to Soyoung Ha (NCAR))
Updates and improvements to the MPAS framework include:
- A simplified method for building single-precision executables: simply add PRECISION=single to the compilation command-line
- Minor performance improvements, e.g., in halo communication
- Fixes to allow the infrastructure to correctly handle large meshes (>10^7 cells)
- OpenMP threading of memory initialization, buffer copying, etc.
- Minor cleanup and bug fixes throughout
MPAS Version 4.0
This major feature release of MPAS includes the following changes to MPAS cores:
- MPAS Framework:
- A new optional keyword, io_type, has been implemented in the XML stream configuration files, allowing the file format and library to be selected on a per-stream basis. More details are available in Section 5.2 of the Users' Guide.
- In the MPAS 3.x releases, fields and global attributes showed up in output files in random order; now, the order of the file contents is based on the order that fields and namelist options were declared in the Registry.xml file of a core.
- A mechanism has been added for decomposing variable dimensions according to arbitrary methods specified by individual MPAS cores.
- Additional changes have been made to remove namespace conflicts across MPAS cores, paving the way for combining multiple MPAS cores into the same executable.
- A few minor improvements have been made to enable MPAS-Atmosphere to run more reliably in single-precision and at high-resolution, especially on large MPI task counts.
- MPAS Atmosphere (and init_atmosphere):
- A new split dynamics-transport integration scheme has been introduced, allowing scalar transport to take place on a longer timestep than the other dynamics. Real-data testing indicates that the new scheme offers greater model stability. This scheme, selected by default, is controlled by the new namelist options config_split_dynamics_transport, which controls whether the new option is used, and config_dynamics_split_steps, which sets number of dynamics sub-cycles in a timestep.
- The concept of physics suites has been introduced, allowing groups of physics parameterizations that have been tested together to be selected with a single namelist option; this is an alternative to individually specifying parameterization schemes. By default, MPAS-Atmosphere uses the 'mesoscale_reference' suite, described in Section 6.1 of the MPAS-Atmosphere Users' Guide.
- Improved support for initializing with model-level datasets, in particular, ERA-Interim model level data.
- Scale-adaptive coordinate surface smoothing.