Releases: MPAS-Dev/MPAS-Model
MPAS Version 8.3.1
This bugfix release corrects two issues in the MPAS-Atmosphere model:
-
Fix a bug in the vertical interpolation of humidity for LBCs when first-guess
levels are given in top-to-bottom order. Incorrect logic in the
init_atm_case_lbc
routine previously assumed that first-guess levels would be
given in bottom-to-top order when attempting to vertically extrapolate to
model levels below the lowest first-guess level, resulting in a copy of the
vertically interpolated relative humidity at levelk+1
to levelk
if levels
were given in top-to-bottom order. This bug resulted in an unreasonably low
water vapor mixing ratio field (lbc_qv
) in LBC files. (PR #1335)NB: This bug is present in most older releases of MPAS, and it should be
possible to cherry-pick the fix onto any branch or release based on MPAS
v7.0 or later. -
Fix an issue with .F90 files in the
src/core_atmosphere/physics/physics_mmm/
directory not being re-compiled by updating the MMM-physics external tag to
acquire a newMakefile.mpas
file for MMM-physics. With the updated tag,
compiling the atmosphere core, then making changes to any of the.F90
files
insrc/core_atmosphere/physics/physics_mmm/
, then runningmake
again (without
first cleaning) leads to the modified.F90
files being correctly re-compiled.
(PR #1337)
MPAS Version 8.3.0
This release of MPAS introduces new capabilities and improvements in the
MPAS-Atmosphere model and its supporting software infrastructure. Notable
changes are listed below.
Initialization:
-
Addition of support for 30" BNU soil category dataset. The 30" BNU soil
category dataset can be selected by setting the new namelist option
config_soilcat_data to 'BNU' in the &data_sources namelist group. Use of this
dataset requires a separate static dataset download. (PR #1322) -
Addition of support for 15" MODIS land use dataset. The 15" MODIS land use
dataset may be selected by setting the existing namelist option
config_landuse_data to 'MODIFIED_IGBP_MODIS_NOAH_15s' in the &data_sources
namelist group. Use of this dataset requires a separate static dataset
download. (PR #1322) -
Introduction of a new namelist option, config_lu_supersample_factor, to
control the super-sampling of land use data, which may now be on either a 30"
or a 15" grid, depending on the choice of dataset. The existing namelist
option config_30s_supersample_factor now controls the super-sampling for 30"
terrain, soil category, and MODIS FPAR monthly vegetation fraction data only.
(PR #1322) -
A change in the horizontal interpolation from a four-point bilinear
interpolation to a sixteen-point overlapping parabolic interpolation for both
initial conditions and lateral boundary conditions. (PR #1303) -
Ability to use ICON soil moisture and soil temperature fields. (PR #1298)
-
Addition of an option to skip processing of Noah-MP-only static fields in the
init_atmosphere core. Setting the new config_noahmp_static namelist option to
false in the &data_sources namelist group prevents the Noah-MP static fields
from being processed when config_static_interp = true in the
namelist.init_atmosphere file; this also permits existing static files that
lack the Noah-MP fields 'soilcomp', 'soilcl1', 'soilcl2', 'soilcl3', and
'soilcl4' to be used by the init_atmosphere_model program. (PR #1239) -
Memory scaling improvements to the gravity wave drag (GWD) static field
processing in the init_atmosphere core (when 'config_native_gwd_static =
true') to reduce memory usage when multiple MPI ranks are used. In many
cases, these changes eliminate the need to undersubscribe computing
resources, which was previously required in order to work around lack of
memory scaling in the GWD static field processing. (PR #1235)
Physics:
-
Update of the RRTMG LW and SW schemes, most notably with the addition of the
exponential and exponential_random cloud overlap assumptions. The cloud
overlap assumption and decorrelation length are now available as namelist
options (config_radt_cld_overlap and config_radt_cld_dcorrlen, respectively).
(PR #1296 and PR #1297) -
The incorporation of NOAA's Unified Forecast System (UFS) Unified Gravity
Wave Physics (UGWP) suite of physics parameterizations. This physics package
is the "NOAA/GSL" orographic gravity wave drag (GWD) suite introduced in WRF
Version 4.3 (activated by WRF namelist option 'gwd_opt=3'), but with the
addition of a non-stationary GWD parameterization that represents gravity
wave sources such as deep convection and frontal instability. The use of the
UGWP suite requires additional static field downloads. (PR #1276)
Dynamics:
-
Complete port of all routines in the dynamical core to GPUs using OpenACC
directives, including routines used by limited-area simulations. Not included
in this release, though, is the optimization of data movement between the CPU
and GPU memory, and the profiling and optimization of the computational
kernels. -
A change in the zero-gradient LBC for w to a constant value of w=0 in the
specified zone. For limited-area configurations, the change from a
zero-gradient boundary condition for the vertical velocity, w, to a setting
of the vertical velocity to zero in the specified region alleviates spurious
streamers and instabilities that appeared near the boundaries in regions of
strong inflow. (PR #1304)
Infrastructure:
- Implementation of a new capability to automatically generate package logic
code, which determines when a package is active. This package logic is
generated by the registry at build time through the use of a new XML
attribute, active_when, for elements. (PR #1321)
Other:
-
Addition of a new Python script for setting up MPAS-Atmosphere run
directories. (PR #1326) -
Addition of 3-d 10 cm radar reflectivity (refl10cm) to the 'da_state' stream,
useful for radar DA and radar obs comparison purposes. (PR #1323)
Acknowledgements: Thanks to Max H. Balsmeier (@MHBalsmeier),
Michael Barlage (@barlage), Tanya Smirnova (@tanyasmirnova), and
Michael Toy (@mdtoyNOAA) for their contributions to this release.
MPAS Version 8.2.3
This bugfix release addresses several issues in the MPAS-Atmosphere model
and in the MPAS infrastructure. Specific changes include:
-
Correction of the pool from which
lbc_scalar
constituent indices are obtained
in theinit_atm_thompson_aerosols_lbc
routine. Rather than obtaining
index_nifa
andindex_nwfa
from thestate
pool, the indices oflbc_nifa
and
lbc_nwfa
should be obtained from thelbc_state
pool. (PR #1249) -
Correction to the computation of the soil temperature (TSLB) in the Noah-MP
land surface scheme through the addition of initialization of the soil liquid
water (SH2O) in thenoahmp_init
subroutine in module
mpas_atmphys_lsm_noahmpinit.F
prior to callingNoahmpInitMain
. (PR #1244) -
Correction of the units of the fields
greenfrac
,shdmin
,shdmax
,
vegfra
, andalbedo12m
from "unitless" to "percent" in the
init_atmosphere and atmosphere coreRegistry.xml
files. Also, a correction to
the spelling of "greenness" in several places. (PR #1248) -
Removal of a duplicate allocation of
indexToEdgeID % array
in the
mpas_io_setup_edge_block_fields
routine that was the source of a memory leak.
(PR #1258) -
Fix for a memory leak in
mpas_block_creator_build_cell_halos
by deallocating
thecellLimitField
field before the routine returns. (PR #1264) -
Fix for a bug in the logic for determining when decompositions can be reused
by the SMIOL library. In almost any practical situation, however, this bug
created no issues. (PR #1288) -
Changes in the init_atmosphere core to provide more reliable error messages
in caseconfig_nfglevels
is not set to a value that is at least as large as
the number of vertical levels in the first-guess intermediate file. (PR #1291) -
Correction of the loop for Noah-MP snow initialization, capping snow water
equivalent maximum at 2000 mm. (PR #1300) -
Fix for a bug in the horizontal 2nd-order filter for the CAM upper absorbing
layer, where the wrong level in thekdiff
field was being used when enforcing
a lower-bound onkdiff
. This absorbing layer is active only when
config_mpas_cam_coef > 0.0
. (PR #1302) -
Fix in the mountain wave idealized test case initialization when multiple MPI
tasks are used. Thexc
variable, which represents the center-point location
of the mountain, was previously computed based on the maximumxCell
values
local to an MPI task, leading to inconsistent values on each MPI rank. By
finding the maximum ofxCell
over all MPI ranks and ensuring that all MPI
ranks use this global maximum, the terrain field is computed consistently
between serial and parallel runs of theinit_atmosphere_model
program for the
mountain wave test case (config_init_case = 6
). (PR #1312) -
Correction to the calculation of the 2-meter diagnostics (T2M, TH2M, and Q2)
when using the Noah-MP land surface scheme. While the computation of 2-meter
diagnostics is the same for Noah and Noah-MP over oceans, it is different
between the two land surface schemes over land. In Noah-MP, the 2-meter
diagnostics are weighted as functions of their respective diagnostics over
bare soil and over vegetation. The updated diagnostics for Noah and Noah-MP
are now computed in the new filempas_atmphys_sfc_diagnostics.F
. (PR #1242) -
Fix to provide consistency in the ringing behavior of recurring alarms after
their reference time has been adjusted with a call to
mpas_adjust_alarm_to_reference_time
. Now, adjusting the reference time for an
alarm will always leave that alarm in a state such that it is considered by
thempas_is_alarm_ringing
routine to be ringing at the current time. With
this fix, limited-area simulations can be restarted at times between LBC
updates, provided thereference_time
attribute for the'lbc_in'
stream is set
to the simulation initial time in thestreams.atmosphere
file. (PR #1290). -
Correction of an indexing error for
rvcuten
in code blocks specific to the
Grell-Freitas scheme in the convection driver. Specifically, in the
convection_from_MPAS
andconvection_to_MPAS
routines,rvcuten
used(k,k)
as
indexing in a loop, where(k,i)
is needed. Since the Grell-Freitas scheme
does not provide momentum tendencies, the changes in this merge have no
impact on results. (PR #1283)
Acknowledgements: Thanks to Max H. Balsmeier (@MHBalsmeier), Zhe Zhang
(@CharlesZheZhang), and @lo-y-wni for identifying issues and providing fixes
in this release.
MPAS Version 8.2.2
This bugfix release addresses several issues in the MPAS-Atmosphere model
and in the MPAS infrastructure. Specific changes include:
-
Fix to a portability issue in the MPAS registry 'parse' tool, which caused
files in thesrc/core_<CORE>/inc
directory to not be generated correctly at
build time on some systems (PR #1229). -
Addition of two fields,
brtemp
andcldmask
, that are needed by MPAS-JEDI.
Although not needed by stand-alone MPAS-Atmosphere, these fields are
associated with thejedi_da
package and therefore have no effect when
MPAS-Atmosphere is run without settingconfig_jedi_da = true
(PR #1232). -
Removal of a redundant query of the
nCellsSolve
dimension in the
physics_run_init
routine. The extra query had no impact on results, and its
removal can be considered clean-up (PR #1236).
Acknowledgements: Thanks to Ted Mansell (NOAA NSSL) and Michael Toy (NOAA GSL)
for identifying issues that have been addressed in this release.
MPAS Version 8.2.1
This bugfix release addresses several issues in the MPAS-Atmosphere model
and in the MPAS infrastructure. Notable changes include:
-
Improved detection of an 'mpi_f08' module (PR #1202), as well as improved
detection of netCDF and PnetCDF library paths (PR #1203), in the top-level
Makefile. -
The addition of a missing dependency in the physics Makefile to correct
parallel build issues (PR #1204). -
Fixes to the CMake build files used by MPAS-JEDI (PR #1205).
-
Fixes to double-precision builds of MPAS-Atmosphere (PR #1207, PR #1208).
-
Correction of the calculation of height AGL used in the computation of 1-km
radar reflectivity fields (PR #1213). -
Correction of an issue that prevented the MYNN PBL scheme from being used
without also using the Thompson aerosol-aware microphysics (PR #1215). -
Fixes to allow MPAS-Atmosphere to be built without physics (i.e., dynamics-
only builds) (PR #1221). -
Various code cleanup and minor corrections (PR #1206, PR #1212, PR #1224,
PR #1226).
Acknowledgements: Thanks to Michael Toy (NOAA GSL) for first identifying the error
in the calculation of the height AGL array that affect the 1 km radar reflectivity fields.
MPAS Version 8.2.0
This release of MPAS introduces several significant changes to MPAS-Atmosphere.
New physics
-
The Noah-MP v5.0.1 land-surface model is now available by setting
config_lsm_scheme = 'sf_noahmp'
in the&physics
namelist group.- New static files that include the
soilcomp
,soilcl1
,soilcl2
,
soilcl3
, andsoilcl4
fields are required when activating Noah-MP in
the model.
- New static files that include the
-
The aerosol-aware Thompson microphysics (as in WRF v4.1.4) is available by
settingconfig_microp_scheme = 'mp_thompson_aerosols'
in the&physics
namelist group.- An aerosol climatology file (QNWFA_QNIFA_SIGMA_MONTHLY.dat) is used when
running theinit_atmosphere_model
program to produce initial and lateral
boundary conditions fornifa
andnwfa
.
- An aerosol climatology file (QNWFA_QNIFA_SIGMA_MONTHLY.dat) is used when
Physics changes
-
Physics schemes in the
physics_mmm
directory are now obtained from a
separate, shared MMM-physics repository at compile time using the
manage_externals
tool. -
The revised Monin-Obukhov scheme replaces the Monin-Obukhov scheme in the
'mesoscale_reference'
suite.
GPU capabilities
-
The scalar transport code has been ported to GPUs using OpenACC directives.
- The atmosphere core must be compiled with
OPENACC=true
. - Additional timers in the log file capture host-device data transfer times.
- The atmosphere core must be compiled with
Infrastructure
- The build system no longer requires an intermediate clean step when compiling
one core before another.
MPAS Version 8.1.0
This release of MPAS introduces several updates and new capabilities for MPAS-Atmosphere, most notably:
-
The MYNN Surface Layer and Planetary Boundary Layer (PBL) schemes have been updated. The PBL scheme includes the options needed to run the Eddy Diffusivity Mass Flux (EDMF) scheme.
-
A separate driver for the parameterization of surface processes over sea-ice points has been added.
-
The build system now tests for the availability of the modern
mpi_f08
module in the MPI library. If detected, thempi_f08
module interface to Fortran MPI routines will be used in favor of the oldermpi
module interface. -
The atmosphere core now supports the storage and retrieval of time-invariant fields in a separate I/O stream, offering significant disk space savings, especially in cases where large ensembles or cycled simulations are being run. See Section 8.3 of the User's Guide for more details.
-
The top-level Makefile provides a new
intel
build target for the Intel oneAPI Fortran, C, and C++ compiler suite. -
To support real-data simulations on meshes with grid distances approaching 1 km or less, the init_atmosphere core provides an option,
config_30s_supersample_factor
, for super-sampling of the 30 arc-second terrestrial fields (terrain, land use, soil category, and MODIS FPAR monthly vegetation fraction). -
When compiling,
PRECISION=single
is now the default, and double-precision builds must be specified withPRECISION=double
.
MPAS Version 8.0.2
This bugfix release addresses several issues in the MPAS-Atmosphere model:
-
Generalize the
mpas_sphere_angle
function to provide correct results for non-unit-radius spheres. This generalization fixes problems in remapping static fields to the outermost layer of specified-zone cells in limited-area meshes. (PR #1148) -
Initialize
mvd_r
andmvd_c
before first use in the Thompson microphysics scheme to prevent the potential use of uninitialized memory, which could lead to floating-point exceptions. (PR #1152) -
Correct the units for the grid scale input field to the Thompson cloud fraction scheme. (PR #1153)
Acknowledgements: Thanks are due to Brett Wilt (The Weather Company) for first identifying the bug in the units of dx_p
in the call to the Thompson cloud fraction scheme.
MPAS Version 8.0.1
This bugfix release addresses several issues in MPAS-Atmosphere, specifically:
-
Fix an OpenMP error in the deallocation of an array (rthdynten) when neither
the Grell-Freitas nor the Tiedtke/nTiedtke cumulus schemes are used. (PR #1099) -
Fix a compilation issue due to a missing include path for the physics_mmm
directory when certain Fortran compilers are used. (PR #1096) -
Fix an issue in reading real-valued global attributes from input files with
SMIOL when the input file is of a different precision than the compiled
precision of MPAS. (PR #1091) -
Fix a memory leak for the recloud_p, reice_p, and resnow_p arrays in the
deallocate_microphysics routine. (PR #1090) -
Correct the units and description for the rt_diabatic_tend, pv_vertex,
pv_edge, and pv_cell variables in the atmosphere core's Registry.xml file. (PRs #1089 and #1092)
MPAS Version 8.0.0
This major release of MPAS introduces significant new features in the
MPAS-Atmosphere model and its supporting software infrastructure.
Initialization:
-
Enable parallel remapping of static fields with arbitrary graph partition
files; special CVT partition files are no longer required. -
Reset the default for the lower air-temperature extrapolation
(config_extrap_airtemp
) from 'linear' to 'lapse-rate' in the namelist. This
applies to initialization and to lateral boundary condition generation for
MPAS-A. -
Set the condition for the lower extrapolation of the horizontal velocity
such that it returns the lowest analysis level value instead of a linear
extrapolation when the requested level is below the analysis level. -
Create a new init case (13) for creating 3-d CAM-MPAS grids.
Physics:
-
Update the Noah land surface scheme to the WRF 4.5 release.
-
Update the MM5 surface layer scheme to the WRF 4.5 release.
-
Implemented the CCPP-compliant version of:
- the revised MM5 surface layer scheme;
- the parameterization of the gravity-wave drag over orography;
- the YSU Planetary Boundary Layer scheme;
- the scale-aware nTiedtke parameterization of convection; and
- the WSM6 cloud microphysics parameterization.
-
Correct the initialization of the maximum snow albedo over sea ice points
(now set to 0.75 instead of 0). -
Fix the option that defines the surface albedo over sea ice points. The
default option is now set to zero and the default value for the surface
albedo over sea ice points is set to 0.65. -
In the dynamics, rework the computation of the advective tendency of
potential temperature needed as forcing in the nTiedtke and Grell-Freitas
parameterizations of deep convection. The advective tendency of potential
temperature is now computed the same way for the nTiedtke and Grell-Freitas
convection schemes.IMPORTANT NOTE: The updated Noah scheme requires new look-up tables.
Thecheckout_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.
Dynamics:
-
Modify the regional MPAS-A relaxation-zone filters to increase the
robustness of regional MPAS-A simulations, including access to specific
relaxation-zone filter parameters through the namelist. The defaults for
regional relaxation-zone filtering for the horizontal momentum have been
changed from the previous release. -
Generalize the 2nd-order horizontal mixing used in the upper wave absorbing
region in MPAS-A, including access to the configuration parameters through
the namelist. -
The pressure-level height diagnostic is now interpolated using ln(p) for
increased accuracy. This significantly reduces the diagnostics height bias
in the previous version. -
Change the vertical interpolation weights for projecting cell-centered
variables to w levels to be the vertically integrated average. Previously
the weights represented a linear interpolation in z. These weights are
computed in the initialization code and used in both the initialization and
integration. -
Eliminate the need to specify a horizontal length scale in namelists
(config_len_disp
). New mesh files supply this length scale, which is read by
the model at start-up. -
Include changes to the initialization and to MPAS-A such that this release
can be directly used in CESM/CAM.
Infrastructure:
-
Introduce a new I/O layer, the Simple MPAS I/O Layer. SMIOL provides a
subset of the parallel I/O functionality of PIO, but with a simplified
design that minimizes external dependencies to just the Parallel-NetCDF
library. When the$PIO
environment variable is not set at compile time,
SMIOL will be used in MPAS. -
Refactor halo communication to make use of a new group (aggregated) halo
exchange module. The new mpas_halo module is designed to be amenable to
GPU-direct communication of halos with OpenACC. In this release, however,
OpenACC directives have not yet been added.