Skip to content
Failed

Changes

Summary

  1. I fixed a bug in the generalized grid test code that was resulting (details)
  2. Improved some error handling in clubb_driver.F90 (details)
  3. Fixed an issue where ascending and descending grids were producing (details)
  4. Commiting changes to keep calculation order the same for additions (details)
  5. I removed bugs that were causing failures of the bit-for-bit (details)
  6. I have fixed the ascending vs. descending grid error for the situation (details)
  7. I am removing the flag setting of l_mono_flux_lim_thlm to .false. (details)
Commit 2809ba540f31cd4bd44a9aa54b31360480c66e37 by bmg2
I fixed a bug in the generalized grid test code that was resulting
in pdf_implicit_coefs_terms scalar variables not being read in
correctly for the flipped (descending) grid.
The file was modified src/generalized_grid_test.F90 (diff)
Commit 217189f76abb404f2b434b680d2654552dffaf08 by bmg2
Improved some error handling in clubb_driver.F90
The file was modified src/clubb_driver.F90 (diff)
Commit d9393b5e6a4b8d46aad02277163e6435bc106b59 by bmg2
Fixed an issue where ascending and descending grids were producing
results that were not bit-for-bit to each other where centered
discretization was used. The issue occurred because 3 or more terms
were being added together in opposite orders between ascending and
descending grids. This fix ensures terms are added in the same order.
The file was modified src/CLUBB_core/advance_xp2_xpyp_module.F90 (diff)
Commit e05a282dadc66699a548da3148dfb9622d75111a by bmg2
Commiting changes to keep calculation order the same for additions
involving at least 3 terms from different vertical levels between
ascending and descending grids.`
The file was modified src/CLUBB_core/advance_wp2_wp3_module.F90 (diff)
The file was modified src/CLUBB_core/advance_xm_wpxp_module.F90 (diff)
The file was modified src/CLUBB_core/advance_windm_edsclrm_module.F90 (diff)
Commit 545a145cfce9c68beeb5ef9e985dd531353823f7 by bmg2
I removed bugs that were causing failures of the bit-for-bit
matching test (at -O0 optimization) between ascending and descending
grids. This group of fixes related to the code that calls pdf_closure
twice and calls the trapezoidal rule code.
The file was modified src/CLUBB_core/advance_clubb_core_module.F90 (diff)
Commit 11b3eb2e233980d33056ad06dc11fa4d78cd05b2 by bmg2
I have fixed the ascending vs. descending grid error for the situation
where l_partial_upwind_wp3 is enabled.
The file was modified src/CLUBB_core/advance_wp2_wp3_module.F90 (diff)
Commit 5c8d78ec211d186c0a0ca89b4c1617762288acbe by bmg2
I am removing the flag setting of l_mono_flux_lim_thlm to .false.
in flag group 15 of the ascending vs. descending grid tests.

Problem: Removing the constraints on thlm was causing one case (MC3E)
to blow up with a floating point exception in Morrison microphysics.
The issue was that a spike caused an extremely cold temperature to be
found. There is a line of code that takes the difference between
freezing/melting point temperature (273.15 K) and the temperature
at the grid level or sample point, multiplies it by constant, and then
takes EXP to that product. The large difference between temperature
and freezing/melting point, owing to the spike, caused a numerical
overflow to occur and the case to fail with a FPE.

Solution: There isn't any relevant code found in the monotonic flux
limiter that doesn't get tested if l_mono_flux_lim_thlm remains at
a setting of .true. The other parts of conditionals are covered
by setting l_mono_flux_lim_rtm to .false. The only parts of the
code unique to l_mono_flux_lim_thlm are the recording of stats
related directly to thlm. Thus, it makes sense to keep
l_mono_flux_lim_thlm set to .true. for the stability of the run
while turning off the other monotonic flux limiter flags.
The file was modified run_scripts/run_bindiff_w_flags_config_core_flags.json (diff)