Skip to content

Commit

Permalink
Merge pull request ESCOMP#1010 from brian-eaton/cosp-vlim
Browse files Browse the repository at this point in the history
cam6_4_005: Limit vertical domain used by COSP
  • Loading branch information
brian-eaton authored Jul 1, 2024
2 parents 7507e72 + bffdd2e commit 08d0326
Show file tree
Hide file tree
Showing 46 changed files with 1,188 additions and 15,170 deletions.
97 changes: 97 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,102 @@
===============================================================

Tag name: cam6_4_005
Originator(s): eaton
Date: 1 July 2024
One-line Summary: Limit vertical domain used by COSP.
Github PR URL: https://github.com/ESCOMP/CAM/pull/1010

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

The COSP simulator was not working with "FMT" compsets. This compset has a
model top of about 1 Pa which is above where the cloud parameterizations
operate. The COSP interface routine was modified so that COSP operates on
the same vertical domain as the cloud parameterizations which is set by
the namelist variable trop_cloud_top_press (1 mb by default). Changing to
a dynamically determined top required moving the call to COSP's
initialization. In addition a lot of code cleanup was done, and a bug fix
was made for the layer interface values of height and pressure passed from
CAM to COSP.

. resolves #967- COSP prevents running "FMT" compsets.

Removed old tools for topo file generation.

. resolves #1005 - Remove old topo generation software from CAM

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: not measured, but COSP
should be less expensive in models with tops above 1 mb.

Code reviewed by: cacraig, nusbaume

List all files eliminated:
tools/definehires/*
tools/definesurf/*
tools/topo_tool/*
. these tools for topo file generation have been replaced by
https://github.com/NCAR/Topo

List all files added and what they do: none

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

src/control/cam_history_support.F90
. fix log output format

src/physics/cam/cospsimulator_intr.F90
. set top of data operated on by COSP using trop_cloud_top_lev
. cospsimulator_intr_register
- move the setcosp2values call here. That routine contains the call to
COSP's initialization.
. cospsimulator_intr_readnl
- move the call to setcosp2values to cospsimulator_intr_register.
. remove outdated and/or unhelpful comments
. remove unused variables
. remove added history fields that had no corresponding outfld calls
. remove array section notation from places where the whole array is used

src/physics/cam/ref_pres.F90
. add calls to create vertical coordinate variables for the domain bounded
by trop_cloud_lev_top. Some COSP history fields need this coordinate.

src/utils/hycoef.F90
. add comment and fix a comment

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: All PASS except:
ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL)
SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: PEND)
SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: PEND)
SMS_D_Ln9.T42_T42.FSCAM.derecho_intel.cam-outfrq9s (Overall: FAIL)
SMS_Lh12.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq3h (Overall: DIFF)
- pre-existing failures

izumi/nag/aux_cam: All PASS except:
DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: PEND)
- pre-existing failure

izumi/gnu/aux_cam: All PASS.

CAM tag used for the baseline comparison tests if different than previous
tag:

Summarize any changes to answers: BFB. Note that although the regression
tests with COSP diagnostics passed, there are some COSP diagnostic fields that
have answer changes due to a bug fix in the data sent to COSP.

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

Tag name: cam6_4_004
Originator(s): fvitt
Date: 29 Jun 2024
Expand Down
6 changes: 3 additions & 3 deletions src/control/cam_history_support.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1407,7 +1407,7 @@ subroutine add_hist_coord_int(name, vlen, long_name, units, values, &
if (i == 0) then
call add_hist_coord(trim(name), i)
if(masterproc) then
write(iulog, '(3a,i0,a,i0)') 'Registering hist coord', trim(name), &
write(iulog, '(3a,i0,a,i0)') 'Registering hist coord: ', trim(name), &
'(', i, ') with length: ', vlen
end if
end if
Expand Down Expand Up @@ -1472,7 +1472,7 @@ subroutine add_hist_coord_r8(name, vlen, long_name, units, values, &
if (i == 0) then
call add_hist_coord(trim(name), i)
if(masterproc) then
write(iulog, '(3a,i0,a,i0)') 'Registering hist coord', trim(name), &
write(iulog, '(3a,i0,a,i0)') 'Registering hist coord: ', trim(name), &
'(', i, ') with length: ', vlen
end if
end if
Expand Down Expand Up @@ -1551,7 +1551,7 @@ subroutine add_vert_coord(name, vlen, long_name, units, values, &
vertical_coord=.true.)
i = get_hist_coord_index(trim(name))
if(masterproc) then
write(iulog, '(3a,i0,a,i0)') 'Registering hist coord', trim(name), &
write(iulog, '(3a,i0,a,i0)') 'Registering hist coord: ', trim(name), &
'(', i, ') with length: ', vlen
end if
end if
Expand Down
Loading

0 comments on commit 08d0326

Please sign in to comment.