Skip to content
This repository has been archived by the owner on Oct 23, 2020. It is now read-only.

Releases: MPAS-Dev/MPAS

MPAS Version 5.3

23 Mar 00:28
Compare
Choose a tag to compare

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

01 Aug 21:53
Compare
Choose a tag to compare

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

13 May 00:31
Compare
Choose a tag to compare

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

07 Jan 19:46
Compare
Choose a tag to compare

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

22 May 20:15
Compare
Choose a tag to compare

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.

MPAS Version 3.3

21 Jan 22:26
Compare
Choose a tag to compare

This bugfix release corrects a number of small bugs in the shared MPAS infrastructure:

  • Fix an issue in the timekeeping library when comparing time intervals with different numbers of years or months
  • Fix a memory leak when setting times in the time manager
  • Add improved error messages when attempting to read from non-existent files
  • Correctly catch error conditions produced by open() when opening XML files
  • Fix bug in merging var_struct and var_array elements in Registry.xml files
  • Set the s_d variable within time manager to avoid potential division by zero
  • Remove an extra if-test to handle r0a field destruction in pools
  • Avoid allocating memory for inactive package variables
  • Fix for directory creation for streams when directories are nested within non-writable directories
  • Permit input streams to have the same filename template
  • Update infrastructure bootstrapping process to properly handle stream attributes
  • Fix an issue with interval division when resetting alarms

MPAS Version 3.2

19 Dec 17:14
Compare
Choose a tag to compare

This bugfix release corrects a three issues with the ocean model.
- Fixes an issue that caused the ocean model to always write out the first time step, even if the configuration of I/O would not have caused that time step to be written.
- Fixes an issue where an invalid configuration option was referenced in the model causing a valid configuration option to be ignored.
- Fixes an issue where PGI compilers (in debug mode) would complain about being passed a null pointer when a package was deactivated.

MPAS Version 3.1

24 Nov 23:18
Compare
Choose a tag to compare

This bugfix release corrects an error in MPAS-Atmosphere in the downward extrapolation of RH for model levels that lie below the surface of the initial condition dataset (e.g., GFS). Without this fix, the RH field used to compute the initial water vapor mixing ratio field may contain zero (or possible garbage) values in the lowest model levels.

This bug was only present in v3.0, and not in earlier releases of MPAS-Atmosphere.

MPAS Version 3.0

19 Nov 18:10
Compare
Choose a tag to compare

This is a major feature release for the following MPAS models. Below, subsections include relevant changes from each core.

  • MPAS Framework
    • As a significant step in preparing the MPAS framework for support of multiple MPAS cores being compiled together in the same executable, the internal storage of fields and namelist options has been rewritten; this change principally affects model developers who need to access fields inside the MPAS code.
    • To enable full run-time control over file input and output, a new I/O layer has been developed for MPAS. In past releases of MPAS, control over input, restart, and history files took place in the namelist file. Now, all configuration of model input, restart, and history files makes use of separate XML configuration files. A new chapter has been added to the core-specific users' guides to describe the use of this new I/O system.
  • MPAS Atmosphere and Init-Atmosphere
    • Support for soil moisture and soil temperature from ERA-I levels (0-7, 7-28, 28-100, and 100-25 cm);
    • a significant reduction in the print statements written to the log files;
    • a reduction in the set of fields written to the default model history files; and
    • miscellaneous minor bugfixes.
  • MPAS Land Ice
    • updates to support pools and streams
    • fix bug in calculation of slope used for SIA velocity
  • MPAS Ocean
    • Support for Gent-McWilliams parameterization
    • Support for CVMix including support for KPP
    • Addition of the ocean analysis run mode including:
      • Global statistics analysis member
      • Zonal mean analysis member
    • Corrections for horizontal pressure gradient when using tilted layers

MPAS Version 2.1

06 Jun 19:49
Compare
Choose a tag to compare

The bugfix release addresses two issues in MPAS-Atmosphere:

  1. The double-precision RRTMG long-wave table, RRTMG_LW_DATA.DBL, was inconsistent with the version of the RRTMG code that was included in MPAS-Atmosphere. The RRTMG_LW_DATA.DBL has been updated in the MPAS-Data repository, and the source code includes changes in the data checkout script to download the latest version of all WRF physics tables from this repository.

  2. In two places in the MPAS-Atmosphere solver, the upwinding coefficient for the 3rd-order advection scheme, config_coef_3rd_order, was incorrectly declared as an integer rather than a real. The bug affects the diagnosis of the covariant vertical velocity omega, resulting in the use of a fourth-order diagnosis as opposed to the third-order diagnosis consistent with the horizontal transport.