Skip to content

Commit

Permalink
Merge pull request #1184 from brian-eaton/tsfc
Browse files Browse the repository at this point in the history
cam6_4_044: limit t_sfc to valid temperature range
  • Loading branch information
peverwhee authored Nov 5, 2024
2 parents db75458 + 06d61e8 commit 016ffe2
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 0 deletions.
73 changes: 73 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,78 @@
===============================================================

Tag name: cam6_4_044
Originator(s): eaton
Date: 04 November 2024
One-line Summary: limit surface T to valid range for RRTMGP
Github PR URL: https://github.com/ESCOMP/CAM/pull/1184

Purpose of changes (include the issue number and title text for each relevant GitHub issue):

. Jim Edwards reported that regression testing of cesm3_0_alpha05a using
the cam6_4_043 tag was encountering failures due to the following error:

radiation_tend: ERROR: kdist_lw%gas_optics: gas_optics(): array tsfc has values outside range

t_sfc is computed using input LW surface fluxes from the surface models via:

t_sfc = sqrt(sqrt(cam_in%lwup(:ncol)/stebol))

To work around this problem we have added limiters to keep t_sfc in the
valid range for RRTMGP. Temperatures above the surface are already being
limited to be in RRTMGP's valid range before being passed to the gas
optics code.

Describe any changes made to build system: none

Describe any changes made to the namelist: none

List any changes to the defaults for the boundary datasets: none

Describe any substantial timing or memory changes: none

Code reviewed by: peverwhee, brianpm

List all files eliminated: none

List all files added and what they do: none

List all existing files that have been modified, and describe the changes:

src/physics/rrtmgp/rrtmgp_inputs.F90
. limit t_sfc to valid temperature range

If there were any failures reported from running test_driver.sh on any test
platform, and checkin with these failures has been OK'd by the gatekeeper,
then copy the lines from the td.*.status files for the failed tests to the
appropriate machine below. All failed tests must be justified.

derecho/intel/aux_cam:

ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL)
- pre-existing failure due to HEMCO not having reproducible results issues #1018 and #856

SMS_D_Ln9.f19_f19_mg17.FXHIST.derecho_intel.cam-outfrq9s_amie (Overall: FAIL)
SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: FAIL)
- pre-existing failures due to build-namelist error requiring CLM/CTSM external update.

derecho/nvhpc/aux_cam: All PASS

izumi/nag/aux_cam:

DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details:
- pre-existing failure -- issue #670

izumi/gnu/aux_cam: All PASS

CAM tag used for the baseline comparison tests if different than previous
tag: cam6_4_043_newnodes_gnu and cam6_4_043_newnodes_nag on izumi
- baselines changed due to node updates between cam6_4_043 and cam6_4_044

Summarize any changes to answers: BFB

===============================================================
===============================================================

Tag name: cam6_4_043
Originator(s): eaton
Date: 25 Oct 2024
Expand Down
2 changes: 2 additions & 0 deletions src/physics/rrtmgp/rrtmgp_inputs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,8 @@ subroutine rrtmgp_set_state( &
tref_max = kdist_sw%get_temp_max()
t_rad = merge(t_rad, tref_min, t_rad > tref_min)
t_rad = merge(t_rad, tref_max, t_rad < tref_max)
t_sfc = merge(t_sfc, tref_min, t_sfc > tref_min)
t_sfc = merge(t_sfc, tref_max, t_sfc < tref_max)

! Construct arrays containing only daylight columns
do i = 1, nday
Expand Down

0 comments on commit 016ffe2

Please sign in to comment.