Repository navigation
Tags: MPAS-Dev/MPAS-Model
Tags
MPAS Version 8.4.2 This bug fix release addresses several issues in the MPAS-Atmosphere model and in the MPAS infrastructure. Specific changes include: * Fix an issue with the naming of MPAS's internal ESMF time-keeping library in CMake builds of MPAS. (PR #1506) * Fix an issue with restart runs in MPAS-Atmosphere on GPUs. (PR #1503) * Address a lack of TKE in MPAS-Atmosphere with the 1.5-order prognostic TKE option when there is no TKE in the initial conditions (for example, in real-data cases). (PR #1499) * Correct the ordering of the 'lbc_ni' and 'lbc_nr' scalars in the atmosphere core's Registry.xml file. Note that unless LBCs are provided for 'ni' and 'nr', the previously incorrect order of 'lbc_ni' and 'lbc_nr' would not affect results, as both fields would be filled with zero values. (PR #1498) * Change the default value of the config_number_of_sub_steps namelist option from 2 to 4 in the atmosphere core's Registry.xml file to address an issue in convection-permitting simulations where noise can sometimes appear in the jet streams using the previous default value of 2. The noise, when present, also produces unphysical features in horizontal kinetic energy spectra at high wavenumbers. (PR #1496) Note: Increasing the number of sub-steps from 2 to 4 can be expected to increase the computational cost of the dynamics by ~10% and the computational cost of a full-physics simulation by ~5%. * Work around an issue with continuation lines in instances of the PACKAGE_LOGIC_PRINT macro that prevented successful compilation of MPAS-Atmosphere with the 'nvfortran' compiler. (PR #1495)
MPAS Version 8.4.1 This bug fix 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)
MPAS Version 8.4.0 This release of MPAS introduces new capabilities and improvements in the MPAS-Atmosphere model and its supporting software infrastructure, and it is the first release to provide the foundation for CheMPAS-A, a chemistry capability for MPAS-Atmosphere. Notable changes are listed below. MPAS-Atmosphere Initialization: * Fix an issue in snow initialization over areas covered by seaice. (PR #1438) * Introduce namelist control over the vertical coordinate configuration for real-data case initialization. Two new namelist options may now be specified in the &vertical_grid namelist group in the namelist.init_atmosphere file: - config_hybrid_coordinate (default: true) Whether to employ a hybrid vertical coordinate - config_hybrid_top_z (default: 30000 m) Height at which coordinate surfaces become constant height surfaces Additionally, the smoothing coefficient formula for the hybrid coordinate now uses the transition height instead of the model top height. (PR #1382) * Add computation of the edgeNormalVectors, cellTangentPlane, and localVerticalUnitVectors fields for MPAS-A initialization case 13 (CAM-MPAS 3-d grid) to better support alternative initialization workflows for CAM-MPAS. (PR #1351) MPAS-Atmosphere Dynamics: * Implement an initial Large-Eddy Simulation (LES) capability. Similar to WRF, it contains two subgrid turbulence models -- a diagnostic Turbulent Kinetic Energy (TKE) formulation based on a 3-d Smagorinsky formulation, and a 1.5-order prognostic TKE formulation. These formulations generally follow the implementation in WRF (see the WRF Technical Note Version 4, sections 4.2.3 and 4.2.4 for a description of the formulations). (PR #1404) * Generalize the epssm parameter, allowing level-dependent values to be specified through four new namelist options: - config_epssm_minimum (default value: 0.1) - config_epssm_maximum (default value: 0.5) - config_epssm_transition_bottom_z (default value: 30000.0) - config_epssm_transition_top_z (default value: 50000.0) The epssm parameter is an off-centering coefficient for the vertically semi-implicit acoustic / gravity-wave integration, and it was previously specified as a single, constant value using the config_epssm namelist option. (PR #1381) * Add the capability to turn off microphysics tendencies above a specified height with a new namelist option, config_microphysics_top, in the &physics namelist group. Ignoring tendencies from the microphysics at upper levels has been found to alleviate some instabilities in deep-domain (i.e., model tops above the stratopause) MPAS-Atmosphere simulations. (PR #1380) * Optimize OpenACC data movement throughout the MPAS-A dycore, so that the majority of fields are transferred to the device at the start of a dynamics step and from the device at the end of a dynamics step. (PR #1315) * Remove the scaling of the gravity-wave absorbing layer coefficient (dss) by the local mesh size. Previously, the absorbing layer coefficient was scaled by dx/dx_fine, and for large values of dx/dx_fine, instabilities have been encountered associated with this scaling of the absorbing layer coefficient. (PR #1379) MPAS-Atmosphere Physics: * Correct an issue with high q2 values over urban cells in Noah-MP. (PR #1383) * Fix crashes when using the CAM SW radiation scheme. (PR #1391) * Fix an indexing typo in mpas_atmphys_interface.F, where evapprod(k,k) was used instead of evapprod(k,i). The fix corrects diagnostic output, but should not affect the model state or simulation results. (PR #1396) * Correct the units designations of the gravity wave drag diagnostics variables dusfcg, dvsfcg, dtaux3d and dtauy3d in the atmosphere core's Registry.xml file. (PR #1378) MPAS-Atmosphere Misc.: * Remove PV diagnostic fields from the default "output" stream for MPAS-Atmosphere, reducing the size of the default "history" netCDF files by ~20%. (PR #1428) * Modify the MPAS-Atmosphere CMake build system to use manage_externals to obtain specific tags from the https://github.com/NCAR/MMM-physics.git and https://github.com/NOAA-GSL/UGWP.git repositories, rather than simply obtaining the HEAD of the default branch. This modification corrects build failures when using CMake. (PR #1421) CheMPAS-A: * Enable linking with the MUSICA-Fortran library to support development of chemistry capabilities based on MICM and TUV-x. (PR #1309) * Add a new namelist group, &musica, with a single option, config_micm_file, to control the MICM configuration in MPAS-Atmosphere. The new namelist group is only included in the namelist.atmosphere file (and therefore, only recognized) when MPAS is compiled with support for the MUSICA library. (PR #1376) * Introduce directory structure and stub modules for MUSICA, and more broadly, for chemistry options in the atmosphere core. (PR #1360) New directories and modules include: src/ core_atmosphere/ chemistry/ <--| mpas_atm_chemistry.F <--| musica/ <--| new in this release mpas_musica.F <--| Infrastructure: * Introduce the ability to partition meshes "online" at model startup using the PT-Scotch library. (PR #1364) * Enable execution of halo exchanges directly on GPU-resident fields when MPAS is linked with an MPI library that is GPU-aware. To enable GPU-aware halo exchanges, a new namelist option, config_gpu_aware_mpi, in the &development namelist group must be set to true at runtime. (PR #1355) * Improve support for using an external ESMF library through a new build option, MPAS_ESMF. (PR #1405) * Set the default PnetCDF header alignment to 128 KiB when creating new output files with SMIOL. This has been found to fix I/O issues when overwriting existing model output files under certain conditions. (PR #1386) * Fix an issue with macro expansion with newer Intel oneAPI compilers by adding a flag for the 'intel' build target to change the order of macro expansion in the Fortran pre-processor. This change in macro expansion order fixes an issue with some nested macro use in MPAS. (PR #1392) * Fix a buffer overflow in the streaminfo_query function in the mpas_stream_inquiry module , where the local array c_attname was allocated without space for a C null character. (PR #1352)
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 #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 #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 <package> 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)
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 #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 #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 #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 the cellLimitField 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 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 #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 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 #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 #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 #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 #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 #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 the src/core_<CORE>/inc directory to not be generated correctly at build time on some systems (PR #1229). * Addition of two fields, brtemp and cldmask, that are needed by MPAS-JEDI. Although not needed by stand-alone MPAS-Atmosphere, these fields are associated with the 'jedi_da' package and therefore have no effect when MPAS-Atmosphere is run without setting config_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).
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).
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.
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.
PreviousNext