Skip to content

Tags: mgduda/MPAS-Model

Tags

v8.3.1

Toggle v8.3.1's commit message
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 level k+1 to level k 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 MPAS-Dev#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 new Makefile.mpas file for MMM-physics. With the updated tag,
   compiling the atmosphere core, then making changes to any of the .F90 files
   in src/core_atmosphere/physics/physics_mmm/, then running make again (without
   first cleaning) leads to the modified .F90 files being correctly re-compiled.
   (PR MPAS-Dev#1337)

v8.3.0

Toggle v8.3.0's commit message
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 MPAS-Dev#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 MPAS-Dev#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 MPAS-Dev#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 MPAS-Dev#1303)

 * Ability to use ICON soil moisture and soil temperature fields. (PR MPAS-Dev#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 MPAS-Dev#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 MPAS-Dev#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 MPAS-Dev#1296 and PR MPAS-Dev#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 MPAS-Dev#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 MPAS-Dev#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 <package> elements. (PR MPAS-Dev#1321)

Other:

 * Addition of a new Python script for setting up MPAS-Atmosphere run
   directories.  (PR MPAS-Dev#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 MPAS-Dev#1323)

v8.2.3

Toggle v8.2.3's commit message
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 the init_atm_thompson_aerosols_lbc routine. Rather than obtaining
   index_nifa and index_nwfa from the state pool, the indices of lbc_nifa and
   lbc_nwfa should be obtained from the lbc_state pool. (PR MPAS-Dev#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 the noahmp_init subroutine in module
   mpas_atmphys_lsm_noahmpinit.F prior to calling NoahmpInitMain. (PR MPAS-Dev#1244)

 * Correction of the units of the fields 'greenfrac', 'shdmin', 'shdmax',
   'vegfra', and 'albedo12m' from "unitless" to "percent" in the
   init_atmosphere and atmosphere core Registry.xml files. Also, a correction to
   the spelling of 'greenness' in several places. (PR MPAS-Dev#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 MPAS-Dev#1258)

 * Fix for a memory leak in mpas_block_creator_build_cell_halos by deallocating
   the cellLimitField field before the routine returns. (PR MPAS-Dev#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 MPAS-Dev#1288)

 * Changes in the init_atmosphere core to provide more reliable error messages
   in case config_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 MPAS-Dev#1291)

 * Correction of the loop for Noah-MP snow initialization, capping snow water
   equivalent maximum at 2000 mm. (PR MPAS-Dev#1300)

 * Fix for a bug in the horizontal 2nd-order filter for the CAM upper absorbing
   layer, where the wrong level in the kdiff field was being used when enforcing
   a lower-bound on kdiff. This absorbing layer is active only when
   config_mpas_cam_coef > 0.0. (PR MPAS-Dev#1302)

 * Fix in the mountain wave idealized test case initialization when multiple MPI
   tasks are used. The 'xc' variable, which represents the center-point location
   of the mountain, was previously computed based on the maximum xCell values
   local to an MPI task, leading to inconsistent values on each MPI rank. By
   finding the maximum of xCell 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 the init_atmosphere_model program for the
   mountain wave test case (config_init_case = 6). (PR MPAS-Dev#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 file mpas_atmphys_sfc_diagnostics.F. (PR MPAS-Dev#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
   the mpas_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 the reference_time attribute for the 'lbc_in' stream is set
   to the simulation initial time in the streams.atmosphere file. (PR MPAS-Dev#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 and convection_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 MPAS-Dev#1283)

Acknowledgements: Thanks to Max H. Balsmeier (@MHBalsmeier), Zhe Zhang
(@CharlesZheZhang), and @lo-y-wni for identifying issues and providing fixes
in this release.

v8.2.0

Toggle v8.2.0's commit message
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', and 'soilcl4' fields are required when activating Noah-MP in
     the model.

 * The aerosol-aware Thompson microphysics (as in WRF v4.1.4) is available by
   setting config_microp_scheme = 'mp_thompson_aerosols' in the &physics
   namelist group.

   - An aerosol climatology file (QNWFA_QNIFA_SIGMA_MONTHLY.dat) is used when
     running the init_atmosphere_model program to produce initial and lateral
     boundary conditions for nifa and nwfa.

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.

Infrastructure

 * The build system no longer requires an intermediate clean step when compiling
   one core before another.

v8.1.0

Toggle v8.1.0's commit message
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, the 'mpi_f08' module interface to
   Fortran MPI routines will be used in favor of the older 'mpi' 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.

 * 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 with PRECISION=double.

v8.0.2

Toggle v8.0.2's commit message
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.

* Initialize mvd_r and mvd_c before first use in the Thompson microphysics
  scheme to prevent the potential use of uninitialized memory, which could lead
  to floating-point exceptions.

* Correct the units for the grid scale input field to the Thompson cloud
  fraction scheme.

v8.0.1

Toggle v8.0.1's commit message
MPAS Version 8.0.1

This bugfix release addresses several issues in the MPAS-Atmosphere model.

* Fix an OpenMP error in the deallocation of an array (rthdynten) when neither
  the Grell-Freitas nor the Tiedtke/nTiedtke cumulus schemes are used.

* Fix a compilation issue due to a missing include path for the physics_mmm
  directory when certain Fortran compilers are used.

* 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.

* Fix a memory leak for the recloud_p, reice_p, and resnow_p arrays in the
  deallocate_microphysics routine.

* 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.

v8.0.0

Toggle v8.0.0's commit message
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.
  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.

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.

v7.3

Toggle v7.3's commit message
MPAS Version 7.3

This minor release addresses one issue in the MPAS-Atmosphere model.

MPAS-Atmosphere:
----------------

* Update the checkout_data_files.sh script to use HTTPS rather than the
  unencrypted Git protocol when obtaining the MPAS-Data repository from GitHub.

v7.2

Toggle v7.2's commit message
MPAS Version 7.2

This minor release addresses several issues in the MPAS-Atmosphere model.

MPAS-Atmosphere:
----------------

* Correct the use of uninitialized memory in the init_atm_case_squall_line
  routine by initializing the qvb array to zero before its first use.

* Fix a bug in the vertical extrapolation of relative humidity and specific
  humidity to model levels below the lowest first-guess level when first-guess
  levels are given in top-to-bottom order in the input intermediate file.

* Fix reproducibility issues in several fields within the Noah LSM over land-ice
  points when running with different MPI task counts; however, only one of these
  fields -- smstav, the surface moisture availability field -- persists outside
  of the physics driver and is written to MPAS-Atmosphere restart files.

* Correct the units and description attributes for the GWDO fields var2d, con,
  oa1, oa2, oa3, oa4, ol1, ol2, ol3, and ol4 in both the init_atmosphere and
  atmosphere core Registry.xml files.

* Add code that had inadvertently been omitted for computing dtheta_dt_mp, the
  potential temperature heating rate from microphysics. Prior to this change,
  the dtheta_dt_mp field would always contain a constant zero value when written
  to model output files.

* Correct a check on the availability of the dtheta_dt_mix variable when
  computing depv_dt_mix in the PV diagnostics module.

* Correct the parallel computation of iLev_DT (and other fields that depend on
  it, including u_pv, v_pv, theta_pv, vort_pv, depv_dt_diab_pv, and
  depv_dt_fric_pv) in the PV diagnostics module.