Limit aerosol optics range warnings to active bins#2349
Open
saneku wants to merge 23 commits into
Open
Conversation
TYPE: bug fix and namelist change KEYWORDS: registry, new options kim_tofd and tofd_factor SOURCE: internal DESCRIPTION OF CHANGES: Problem: A merge conflict is uncovered in Registry file. Solution: Resolve the conflict. Also move kim_tofd and tofd_factor from namelist group dynamics to physics, and change the default value for km_tofd to false. LIST OF MODIFIED FILES: M Registry/Registry.EM_COMMON TESTS CONDUCTED: Jenkins tests have passed. RELEASE NOTE: See original PR-2284.
TYPE: bug fix KEYWORDS: cmake, shinhong, pbl SOURCE: internal DESCRIPTION OF CHANGES: Problem: PR wrf-model#2286 added `bl_shinhong.F90` to the MMM-physics repo but only added it to the make build. Solution: Add the new file to the CMake build as well. TESTS CONDUCTED: 1. Confirmed that after this ARW core builds in cmake
TYPE: bug fix KEYWORDS: GFL, seg fault SOURCE: Haiqin Li and internal DESCRIPTION OF CHANGES: Three dimensional Qc and Qi were not passed to the GFL scheme where they are used to compute cloud fraction by the CPS. This PR points to an updated GFL where cloud fraction as well as reflectivity due to the CPS are disabled for now in WRF. LIST OF MODIFIED FILES: Only update the pointer to the GFL repository TESTS CONDUCTED: 1. Tests are run on NOAA HPC and Derecho and seg fault problem is resolved. 2. The Jenkins tests all passing. RELEASE NOTE:
…2318) TYPE: bug fix KEYWORDS: make, dependencies SOURCE: internal DESCRIPTION OF CHANGES: Problem: PR wrf-model#2276 added some new modules that were not included as dependencies in `main/depend.common` Solution: Add the new files to the dependencies for the `module_microphysics_driver` object rule TESTS CONDUCTED: 1. Tested compilation of idealized cases using `-j 1`
…odel#2319) This PR provides a significant update to the downdraft component of the MYNN-EDMF with minor tweaks elsewhere. This submodule update to WRF will be the same version added to the community version of MPAS next. TYPE: enhancement KEYWORDS: MYNN-EDMF, downdrafts, clouds SOURCE: Joseph Olson (NOAA/GSL) DESCRIPTION OF CHANGES: Problem: 1. The downdraft component forced by cloud-top cooling, which has only been lightly tested. 2. There was also an analytical method for specifying a profile of tke production forced by cloud-top cooling. This has also received limited testing. Solution: 1. Blend the downdrafts with the analytical profile specification of TKE production to provide one fairly well tested option. 2. Extend the analytical profile method to single-layer fog as well as clouds aloft that are decoupled from the surface. This allows this method to be used in tandem (and consistently) with the downdraft component. 3. Add 5 2d diagnostic variables that have been extremely useful in developing the downdraft component. 4. Related to forecasting clouds in the marine boundary layer, change the max for qnwfa in the common file to have no impact above the marine pbl while still limiting it to reasonable values within the marine pbl--a useful hack to not allow the poor qnwfa specifications from the climatology to create excessive fog over cold coastal waters (i.e., near NY and Boston). LIST OF MODIFIED FILES: list of changed files (use `git diff --name-status release-v4.8.0` to get formatted list) M Registry/Registry.EM_COMMON M dyn_em/module_first_rk_step_part1.F M phys/MYNN-EDMF M phys/module_pbl_driver.F M run/README.namelist TESTS CONDUCTED: 1. Do mods fix problem? Yes. How can that be demonstrated, and was that test conducted? Case studies, with all debug flags used. 5. Are the Jenkins tests all passing? RELEASE NOTE: The update to the MYNN-EDMF includes a significant revision to the downdraft component, which has undergone development specifically for improving the over-forecasting of fog over cold SSTs.
**Critical bug fix for WRF-urban-NbS module for WRF v4.8 release** **TYPE:** bug fix **KEYWORDS:** urban canopy models, urban trees, nature-based solutions, urban grass, urban hydrology, radiative view factors **SOURCE:** Yuqi Huang (University of Oklahoma), Chenghao Wang (University of Oklahoma) **DESCRIPTION OF CHANGES:** #### Problem: We have identified bugs in our recent testing and evaluation of the new WRF-urban-NbS module (see this existing PR: wrf-model#2272). This PR fixes several critical issues in the urban nbs implementation in the single-layer urban canopy model, including both minor corrections and major physics-related updates affecting radiative transfer, tree temperature treatment, soil moisture control on transpiration, and vegetated-ground thermal behavior. Corresponding updates are also included in urban TBL files. The changes are intended to improve physical consistency, numerical robustness, and parameter consistency for the WRF-urban-NbS module. #### Solution: _Major Fixes:_ 1. Made vegetated ground fraction (FVG) urban-type dependent - Replaced the previous scalar-style handling of `FVG` with `FVG_TBL(UTYPE)`. - Updated TBL files accordingly. - This ensures vegetated ground fraction is read consistently with other urban-category-dependent parameters. 2. Moved the tree view-factor calculation outside the shortwave-only branch - The analytical tree view-factor calculation is now called independently of the shortwave shadow logic. - This avoids restricting tree radiative geometry to the shortwave pathway only and improves consistency for broader radiative exchange. 3. Added an optional prognostic tree-temperature scheme (new feature in namelist) - Introduced TTscheme in URBPARM.TBL and corresponding logic in `module_sf_urban.F`. - `TTscheme = 0`: diagnostic/residual treatment (default) - `TTscheme = 1`: prognostic/resistance-based treatment (This allows tree temperature to evolve independently rather than being tied directly to canyon air temperature.) 4. Revised the `W2` formulation used in stomatal resistance - Replaced the previous mid-layer approximation with a thickness-weighted soil moisture average over the upper vegetated-ground layers. - This provides a more consistent moisture control on stomatal resistance and tree transpiration. 5. Removed the vegetation scaling factor applied to soil thermal conductivity - The previous reduction factor on `KVG` was removed. - This avoids artificially suppressing conductive heat transfer into deeper vegetated-ground soil layers. _Minor Fixes:_ 1. Updated the effective ground temperature treatment - Revised the `TGE/TGEP` update so that the effective ground temperature is computed after the surface temperatures are updated. 2. Updated root water uptake state - Added explicit update of root uptake (`SROOTP = SROOT`) to keep the moisture state evolution consistent. 3. Corrected the canyon humidity derivative - Updated the `QC` derivative/Jacobian terms to include vegetated-ground contributions in the denominator. - This improves consistency of the coupled canyon temperature-humidity solve. 4. Moved tree and vegetated-ground albedo to URBPARM.TBL - Added `ALBT` and `ALBVG` as table-driven parameters rather than keeping tree albedo hard-coded in the source file. 5. Updating TBL files to support the fixes above: - FVG is now specified by urban type - added `TTscheme` - added `ALBVG` - added `ALBT` 6. Code annotation cleanup LIST OF MODIFIED FILES: (`git diff --name-only release-v4.8.0 urban-nbs-fix-v4.8`) - phys/module_sf_urban.F - run/URBPARM.TBL - run/URBPARM_LCZ.TBL - run/URBPARM_UZE.TBL **TESTS CONDUCTED:** Our simulations demonstrated that these modifications are necessary to ensure model performance and physical consistency.
TYPE: bug fix KEYWORDS: NTU mp, Floating-point exception SOURCE: Tzu-Chin Tsai of CWA and internal DESCRIPTION OF CHANGES: Problem: Running the model with ifx compiler gives a floating-point exception error. Solution: A fix is identified to fix the error. LIST OF MODIFIED FILES: M phys/module_mp_ntu.F TESTS CONDUCTED: 1. With the fix, the code runs well again. 2. Are the Jenkins tests all passing? RELEASE NOTE: This PR fixes a floating-point exception error identified by ifx, the Intel-oneapi compiler.
TYPE: bug fix
KEYWORDS: MPI parallelization with CFBM
SOURCE: Pedro Jimenez (NCAR/RAL)
DESCRIPTION OF CHANGES:
Problem:
MPI parallelization with CFBM only run with 1 MPI task.
It also adds the bilinear interpolation of atmospheric variables in the
fire grid.
Solution:
We have allowed for parallelization using multiple MPI tasks.
ISSUE: N/A
LIST OF MODIFIED FILES:
M Registry/Registry.EM_COMMON
A doc/README.cfbm
M dyn_em/module_first_rk_step_part1.F
M dyn_em/start_em.F
M phys/fire_behavior
M share/module_check_a_mundo.F
TESTS CONDUCTED:
1. We run test with 1, 2, and 3 MPI tasks and we get bit for bit results
2. Are the Jenkins tests all passing? Yes
Test Type | Expected | Received | Failed
= = = = = = = = = = = = = = = = = = = = = = = = = = = =
Number of Tests : 23 24
Number of Builds : 60 57
Number of Simulations : 158 150 0
Number of Comparisons : 95 86 0
Failed Simulations are:
None
Which comparisons are not bit-for-bit:
None
RELEASE NOTE: Allowing for multiple MPI tasks when running the Community
Fire Behavior model
Bug fix for sea-ice and some miscellaneous updates to the land/ice components. This also includes MYNN-related updates to README.namelist. TYPE: bug fix KEYWORDS: MYNN-SFC, sea-ice, cleanup SOURCE: Joseph Olson (NOAA-GSL) DESCRIPTION OF CHANGES: Problem: The logic for calling each component (land/ice/water) required the xice variable to be set into the mynnsfc_driver. Solution: Added the xice variable to be set into the mynnsfc_driver. I also improved the debug output to help isolate/correct this problem. These changes propagated to the other (non-ice) components too. LIST OF MODIFIED FILES: list of changed files (use `git diff --name-status release-v4.8.0` to get formatted list) M phys/MYNN-SFC M phys/module_surface_driver.F M run/README.namelist TESTS CONDUCTED: 1. Do mods fix problem? Yes. How can that be demonstrated, and was that test conducted? case studies with improved debugging output. 2. Are the Jenkins tests all passing?
TYPE: bug fix KEYWORDS: mp, udm SOURCE: Songyou Hong DESCRIPTION OF CHANGES: Add initialization for a variable in sedimentation, and a missing hail deposition term in ice generation. The former prevents unphysical surface rain in early model integration, and the latter has a negligible effect. LIST OF MODIFIED FILES: M phys/module_mp_udm.F TESTS CONDUCTED: The Jenkins tests are all passing. RELEASE NOTE: This PR fixes a missed variable initialization and missed hail deposition term in ice generation.
…-model#2323) TYPE: text only KEYWORDS: new nml, README.namelist SOURCE: Songyou Hong Add a few new namelists for updated ShinHong PBL and revised MM5 surface layer scheme. LIST OF MODIFIED FILES: M run/README.namelist TESTS CONDUCTED: Test change only. RELEASE NOTE: Supplementary to PR-2284 and 2286.
TYPE: bug fix KEYWORDS: WRF-urban, nature-based solutions SOURCE: Chenghao Wang (University of Oklahoma) Problem: With the new NbS code merged, runs using Noah-MP + SLUCM (`sf_urban_physics=1`) work as expected, but runs using Noah-MP + BEP/BEM (`sf_urban_physics=2/3`) fail. In the failing configurations, the model aborts early with allocator/HDF5 errors such as corrupted double-linked list or malloc-related aborts. Solution: We moved `XXXVG_URB2D` initialization into that same SLUCM-only (`sf_urban_physics == 1`) block for consistency with the other NbS fields. For BEP/BEP+BEM (`sf_urban_physics = 2/3`), NbS SLUCM-only arrays may be unallocated. Writing to an unallocated field can corrupt heap metadata. The corruption may not fail immediately and can later appear as an malloc abort (e.g., corrupted double-linked list) when opening `wrfbdy_d01`. This change prevents that invalid write path. LIST OF MODIFIED FILES: M phys/module_sf_urban.F TESTS CONDUCTED: Successful nested WRF run with NoahMP + BEP/BEM RELEASE NOTE: Supplementary to PR-2272.
- Updated to Tempo v3.0.5 with minor bugfixes and formatting changes (https://github.com/NCAR/TEMPO/releases/tag/tempo_v3.0.5) - Changed hail size units to meters fro mm - Added Tempo information to README.namelist file.
TYPE: text only KEYWORDS: TEMPO, mp_physics=88, module_initialize_real, print, error SOURCE: Internal DESCRIPTION OF CHANGES: Problem: Previously-added code to module_initialize_real checked to ensure if using TEMPO microphysics (option 88) with tempo_hailware=1 and tempo_aerosolaware=1, without setting wif_input_opt=1, the model stopped with a fatal error. However, the error message only implied the user set mp_physics to 28 or 29. Solution: Included mp_physics=88 in the error message. LIST OF MODIFIED FILES: M dyn_em/module_initialize_real.F TESTS CONDUCTED: 1. Mods fix the problem. Running real.exe now gives an error message that includes an mp_physics=88 (TEMPO) setting. 2. The Jenkins tests are all passing with this text only change.
TYPE: text only KEYWORDS: Grell-Freitas-Li, readme SOURCE: internal DESCRIPTION OF CHANGES: Change GF to GFL, and add GFL to one of the options ishallow can work with. LIST OF MODIFIED FILES: M run/README.namelist TESTS CONDUCTED: Text only change. RELEASE NOTE: Complementary to PR-2269.
TYPE: bug fix KEYWORDS: typo, pre-compilation flag, README, update compilation SOURCE: L. Fita (CIMA - IFAECI, Argentina) DESCRIPTION OF CHANGES: Problem: There was a typo in one of the pre-compilation flags. Because of that diagnostic 2m relative huimidity (`HURS`) was not computed, neither other variables that relayed on it. `README.cordex` hold old information in how to install and compile the code that require update Solution: Fix typo and update README file. LIST OF MODIFIED FILES: M doc/README.cordex M phys/module_diag_cordex.F M phys/module_diagnostics_driver.F M Registry/registry.cordex M configure TESTS CONDUCTED: 1. Correction was made and re-compile. When re-running the simulation variables where properly computed 2. The Jenkins tests are all passing. RELEASE NOTE: Fix of initial inclusion of CORDEX-WRF module into main WRF code. https://wiki.cima.fcen.uba.ar/index.php/CDXWRF Lluís Fita, Jan Polcher, Theodore M. Giannaros, Torge Lorenz, Josipa Milovac, Giannis Sofiadis, Eleni Katragkou and Sophie Bastin, 2019: CORDEX-WRF v1.3: development of a module for the Weather Research and Forecasting (WRF) model to support the CORDEX community, Geosci. Model Dev., 12, 1029-1066, 2019, [https://doi.org/10.5194/gmd-12-1029-2019](https://www.geosci-model-dev.net/12/1029/2019/gmd-12-1029-2019.html) Since v1.3 of the CORDEX-WRF module has been a large amount of collaborations, requests and enhancements that has been testing, upgrading and using the module. The list of names will be long. To all of them, we are sincerely thankful. It reflects the core spirit of the module to provide a useful resource for the modelling regional climate community and beyond. Athony Islas (NCAR) simplified the compilation of the module. --------- Co-authored-by: Lluis Fita Borrell <lluis.fita@hydra.cima.fcen.uba.ar> Co-authored-by: Lluis Fita Borrell <lluis@debian-BULLSEYE-live-builder-AMD64>
TYPE: bug fix KEYWORDS: shinhong, ysu, pbl, mmm-physics, downward mixing SOURCE: internal DESCRIPTION OF CHANGES: Problem: The previous submodule commit contains issues with respect to floating point errors and overly downward mixing in the ShinHong PBL scheme. The YSU PBL scheme also exhibits the latter behavior. Solution: Update the tracked submodule SHA to the new fixes. Please refer to the submodule itself for more details on the fixes: NCAR/MMM-physics#18 NCAR/MMM-physics#19
…2336) This PR makes the MYNN-EDMF in WRF consistent with the ongoing PR to get the MYNN-EDMF into MPAS. TYPE: update MYNN-EDMF pointer, feature removed KEYWORDS: MYNN-EDMF, icloud_bl SOURCE: Joseph Olson (NOAA-GSL) DESCRIPTION OF CHANGES: Problem: 1. Need to sync the versions of the MYNN-EDMF linked to WRF and MPAS 2. "icloud_bl" is not used in MPAS. Instead, the coupling of the MYNN-EDMF clouds to the radiation uses a different flag (config_radt_cld_scheme = "cld_fraction_mynn") in the cloudiness driver. In WRF, icloud_bl is still used to determine the coupling to radiation, but we no longer need to use icloud_bl to allocate the subgrid cloud arrays (qc_bl, qi_bl, and cldfra_bl). They are now moved to the MYNN-EDMF package. This just simplifies the code and we no longer need to pipe icloud_bl into the MYNN-EDMF scheme. Solution: Update the MYNN-EDMF pointer and remove the additional icloud_bl-related package. LIST OF MODIFIED FILES: list of changed files (use `git diff --name-status master` to get formatted list) M Registry/Registry.EM_COMMON M dyn_em/module_first_rk_step_part1.F M phys/MYNN-EDMF M phys/module_pbl_driver.F
TYPE: bug fix KEYWORDS: eot, radiation SOURCE: internal DESCRIPTION OF CHANGES: Fractional year and a parameter used in Equation of Time calculation did match the reference (https://gml.noaa.gov/grad/solcalc/solareqns.PDF). This PR fixes both. LIST OF MODIFIED FILES: M phys/module_radiation_driver.F M phys/module_ra_rrtmg_swf.F (this line is commented out) TESTS CONDUCTED: 1. The eot now matches the reference equation. 2. Are the Jenkins tests all passing? RELEASE NOTE: This PR fixes fractional year calculation and a parameter used in the equation.
TYPE: bug fix KEYWORDS: AOCC, vectorization SOURCE: Will Hatheway DESCRIPTION OF CHANGES: Problem: The AOCC stanza in arch/configure.defaults contains a misspelled LLVM optimizer option. This PR provides the fix. Solution: Fix the typo in the compiler flag. LIST OF MODIFIED FILES: M arch/configure.defaults
…l#2346) TYPE: text only KEYWORDS: TEMPO, tempo_aerosolaware, tempo_hailaware SOURCE: internal DESCRIPTION OF CHANGES: Options to use aerosol and 2-mom hail are turned off by default. To turn either of them on, set tempo_aerosolaware = 1 and tempo_hailaware = 1 in &hysics namelist record. LIST OF MODIFIED FILES: M Registry/Registry.EM_COMMON
Update README and inc/version_decl to new version v4.8.0 TYPE: text only KEYWORDS: version update SOURCE: internal DESCRIPTION OF CHANGES: Problem: None Solution: None
Collaborator
|
The regression test results: |
jordanschnell
previously approved these changes
Jun 9, 2026
The merge-base changed after approval.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Limit aerosol optics range warnings to active bins
TYPE: bug fix
KEYWORDS: Mie, refractive index, diagnostics, aerosols
SOURCE: Alexander Ukhov (KAUST)
DESCRIPTION OF CHANGES:
Problem:
The aerosol optics Mie calculation clamps refractive indices to lookup-table bounds before interpolation. For empty
or nearly empty optical bins, fallback refractive indices such as (1.5,0.0) can trigger repeated range-warning
messages, especially when zero imaginary refractive index values are compared against the table's small negative
upper bound. This produces excessive log output without indicating a meaningful optical impact.
Solution:
The existing refractive-index clamping behavior is preserved. The diagnostic warning messages are now printed only when the particle number concentration in the optical bin is significant. For upper-bound imaginary-index warnings, diagnostics are also suppressed for effectively zero absorption using abs(refi).gt.1.e-12. This keeps the interpolation guard in place while avoiding warning spam from empty or trace aerosol bins. Warnings are still retained for active aerosol bins whose refractive indices fall outside the lookup-table range.
LIST OF MODIFIED FILES:
M chem/module_optical_averaging.F
TESTS CONDUCTED:
Test simulations were conducted. The simulation results are unchanged, and the excessive refractive-index range warnings no longer appear in the model output.
RELEASE NOTE:
Suppresses repeated WRF-Chem aerosol optics refractive-index range warnings from empty or trace optical bins while
preserving existing Mie lookup-table clamping behavior.