From 4bded6fac75bb6a887a02dac59e69648e4ea366c Mon Sep 17 00:00:00 2001 From: Brian Eaton Date: Tue, 9 Jul 2024 14:04:51 -0400 Subject: [PATCH 1/3] use conv_water calcs in COSP --- doc/ChangeLog | 77 ++++++++++++++++++++++++++ src/control/cam_snapshot_common.F90 | 22 +++----- src/physics/cam/cloud_diagnostics.F90 | 23 ++++++-- src/physics/cam/conv_water.F90 | 35 +++++------- src/physics/cam/cospsimulator_intr.F90 | 43 +++++++------- src/physics/cam/zm_conv_intr.F90 | 14 ----- 6 files changed, 138 insertions(+), 76 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index da9cb012c1..1ea6b30039 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,82 @@ =============================================================== +Tag name: +Originator(s): eaton +Date: +One-line Summary: Use same cloud water for radiation and COSP. +Github PR URL: + +Purpose of changes (include the issue number and title text for each relevant GitHub issue): + +Issue #1027 - Radiatively active cloud water missing from COSP. + +The all-cloud liquid and ice mixing ratios calculated in the conv_water module are +used by the radiation code. Use these same quantities in the COSP code by +making them accessable via the physics buffer. + +resolves #1027 + +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: + +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/control/cam_snapshot_common.F90 +. remove pbuf fields DP_CLDLIQ, DP_CLDICE, SH_CLDLIQ1, SH_CLDICE1 + +src/physics/cam/conv_water.F90 +. add GB_TOTCLDLIQMR, GB_TOTCLDICEMR to pbuf +. remove SH_CLDLIQ1, SH_CLDICE1 from pbuf +. conv_water_4rad + - remove dummy args totg_liq and totg_ice and replace assignment to those + args by assignment to the pbuf variables GB_TOTCLDLIQMR and + GB_TOTCLDICEMR + +src/physics/cam/cloud_diagnostics.F90 +. access the pbuf fields GB_TOTCLDLIQMR and GB_TOTCLDICEMR which are set by + the calls to conv_water_4rad + +src/physics/cam/cospsimulator_intr.F90 +. replace access of pbuf fields DP_CLDLIQ, DP_CLDICE, SH_CLDLIQ1, and + SH_CLDICE1, by GB_TOTCLDLIQMR and GB_TOTCLDICEMR +. assign the total cloud mixing ratios to the arguments for the large scale + values, and set the convective cloud inputs to zero. + +src/physics/cam/zm_conv_intr.F90 +. remove pbuf fields DP_CLDLIQ and DP_CLDICE which were set to 0. and being + used as if they had real data by COSP. + +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: + +izumi/nag/aux_cam: + +izumi/gnu/aux_cam: + +CAM tag used for the baseline comparison tests if different than previous +tag: + +Summarize any changes to answers: BFB. Only COSP diagnostic fields have +differences. + +=============================================================== +=============================================================== + Tag name: cam6_4_006 Originator(s): pel, eaton Date: 3 July 2024 diff --git a/src/control/cam_snapshot_common.F90 b/src/control/cam_snapshot_common.F90 index f2a4780619..a4ac1b2009 100644 --- a/src/control/cam_snapshot_common.F90 +++ b/src/control/cam_snapshot_common.F90 @@ -48,7 +48,7 @@ module cam_snapshot_common ! This is the number of pbuf fields in the CAM code that are declared with the fieldname as opposed to being data driven. -integer, parameter :: npbuf_all = 327 +integer, parameter :: npbuf_all = 323 type snapshot_type character(len=40) :: ddt_string @@ -1335,8 +1335,6 @@ subroutine fill_pbuf_info(pbuf_info, pbuf, const_cname) 'DLFZM ','kg/kg/s ',& 'DNIFZM ','1/kg/s ',& 'DNLFZM ','1/kg/s ',& - 'DP_CLDICE ','unset ',& - 'DP_CLDLIQ ','unset ',& 'DP_FLXPRC ','unset ',& 'DP_FLXSNW ','unset ',& 'DP_FRAC ','unset ',& @@ -1427,11 +1425,11 @@ subroutine fill_pbuf_info(pbuf_info, pbuf, const_cname) 'QCWAT ','unset ',& 'QFLX ','kg/m2/s ',& 'QFLX_RES ','unset ',& - 'QINI ','unset ' /), (/2,100/)) + 'QINI ','unset ',& + 'qir_det ','kg/kg ',& + 'QIST ','unset '/), (/2,100/)) pbuf_all(1:2,201:300) = reshape ( (/ & - 'qir_det ','kg/kg ',& - 'QIST ','unset ',& 'qlr_det ','kg/kg ',& 'QLST ','unset ',& 'QME ','unset ',& @@ -1470,9 +1468,7 @@ subroutine fill_pbuf_info(pbuf_info, pbuf, const_cname) 'SD ','unset ',& 'SGH30 ','unset ',& 'SGH ','unset ',& - 'SH_CLDICE1 ','unset ',& 'SH_CLDICE ','unset ',& - 'SH_CLDLIQ1 ','unset ',& 'SH_CLDLIQ ','unset ',& 'SH_E_ED_RATIO ','unset ',& 'SHFLX ','W/m2 ',& @@ -1529,13 +1525,13 @@ subroutine fill_pbuf_info(pbuf_info, pbuf, const_cname) 'UP2_nadv ','unset ',& 'UPWP ','m^2/s^2 ',& 'UZM ','M/S ',& - 'VI ','m/s ' /), (/2,100/)) - - pbuf_all(1:2,301:npbuf_all) = reshape ( (/ & + 'VI ','m/s ',& 'VM ','m/s ',& 'VOLC_MMR ','unset ',& 'VOLC_RAD_GEOM ','unset ',& - 'VP2_nadv ','unset ',& + 'VP2_nadv ','unset '/), (/2,100/)) + + pbuf_all(1:2,301:npbuf_all) = reshape ( (/ & 'VPWP ','m^2/s^2 ',& 'went ','m/s ',& 'WETDENS_AP ','unset ',& @@ -1558,7 +1554,7 @@ subroutine fill_pbuf_info(pbuf_info, pbuf, const_cname) 'ZM_MAXG ','unset ',& 'ZM_MD ','unset ',& 'ZM_MU ','unset ',& - 'ZTODT ','unset ' /), (/2,27/)) + 'ZTODT ','unset '/), (/2,23/)) ! Fields which are added with pbuf_add_field calls, but are data driven. These are not ! included in the above list. This means that these fields will not have proper units diff --git a/src/physics/cam/cloud_diagnostics.F90 b/src/physics/cam/cloud_diagnostics.F90 index f7a5115914..2f7d0215cf 100644 --- a/src/physics/cam/cloud_diagnostics.F90 +++ b/src/physics/cam/cloud_diagnostics.F90 @@ -39,6 +39,8 @@ module cloud_diagnostics integer :: cldtau_idx = -1 integer :: nmxrgn_idx = -1 integer :: pmxrgn_idx = -1 + integer :: gb_totcldliqmr_idx = -1 + integer :: gb_totcldicemr_idx = -1 ! Index fields for precipitation efficiency. integer :: acpr_idx, acgcme_idx, acnum_idx @@ -100,6 +102,10 @@ subroutine cloud_diagnostics_init() !----------------------------------------------------------------------- cld_idx = pbuf_get_index('CLD') + ! grid box total cloud liquid water mixing ratio (kg/kg) + gb_totcldliqmr_idx = pbuf_get_index('GB_TOTCLDLIQMR') + ! grid box total cloud ice water mixing ratio (kg/kg) + gb_totcldicemr_idx = pbuf_get_index('GB_TOTCLDICEMR') call phys_getopts(use_spcam_out=use_spcam) @@ -245,6 +251,9 @@ subroutine cloud_diagnostics_calc(state, pbuf) integer, pointer :: nmxrgn(:) ! Number of maximally overlapped regions real(r8), pointer :: pmxrgn(:,:) ! Maximum values of pressure for each + real(r8), pointer :: totg_ice(:,:) ! grid box total cloud ice mixing ratio + real(r8), pointer :: totg_liq(:,:) ! grid box total cloud liquid mixing ratio + integer :: itim_old real(r8) :: cwp (pcols,pver) ! in-cloud cloud (total) water path @@ -297,6 +306,9 @@ subroutine cloud_diagnostics_calc(state, pbuf) itim_old = pbuf_old_tim_idx() call pbuf_get_field(pbuf, cld_idx, cld, start=(/1,1,itim_old/), kount=(/pcols,pver,1/) ) + call pbuf_get_field(pbuf, gb_totcldicemr_idx, totg_ice) + call pbuf_get_field(pbuf, gb_totcldliqmr_idx, totg_liq) + if(two_mom_clouds)then call pbuf_get_field(pbuf, iclwp_idx, iclwp ) @@ -362,10 +374,9 @@ subroutine cloud_diagnostics_calc(state, pbuf) ! iclwp and iciwp to pass to the radiation. ! ! ----------------------------------------------------------- ! if( conv_water_in_rad /= 0 ) then - allcld_ice(:ncol,:) = 0._r8 ! Grid-avg all cloud liquid - allcld_liq(:ncol,:) = 0._r8 ! Grid-avg all cloud ice - - call conv_water_4rad(state, pbuf, allcld_liq, allcld_ice) + call conv_water_4rad(state, pbuf) + allcld_ice(:ncol,:) = totg_ice(:ncol,:) ! Grid-avg all cloud liquid + allcld_liq(:ncol,:) = totg_liq(:ncol,:) ! Grid-avg all cloud ice else allcld_liq(:ncol,top_lev:pver) = state%q(:ncol,top_lev:pver,ixcldliq) ! Grid-ave all cloud liquid allcld_ice(:ncol,top_lev:pver) = state%q(:ncol,top_lev:pver,ixcldice) ! " ice @@ -410,7 +421,9 @@ subroutine cloud_diagnostics_calc(state, pbuf) elseif(one_mom_clouds) then if (conv_water_in_rad /= 0) then - call conv_water_4rad(state, pbuf, allcld_liq, allcld_ice) + call conv_water_4rad(state, pbuf) + allcld_ice(:ncol,:) = totg_ice(:ncol,:) ! Grid-avg all cloud liquid + allcld_liq(:ncol,:) = totg_liq(:ncol,:) ! Grid-avg all cloud ice else allcld_liq = state%q(:,:,ixcldliq) allcld_ice = state%q(:,:,ixcldice) diff --git a/src/physics/cam/conv_water.F90 b/src/physics/cam/conv_water.F90 index dfcdb7be98..d848895366 100644 --- a/src/physics/cam/conv_water.F90 +++ b/src/physics/cam/conv_water.F90 @@ -3,7 +3,7 @@ module conv_water ! --------------------------------------------------------------------- ! ! Purpose: ! ! Computes grid-box average liquid (and ice) from stratus and cumulus ! - ! Just for the purposes of radiation. ! + ! These values used by both the radiation and the COSP diagnostics. ! ! ! ! Method: ! ! Extract information about deep+shallow liquid and cloud fraction from ! @@ -38,9 +38,10 @@ module conv_water ! pbuf indices integer :: icwmrsh_idx, icwmrdp_idx, fice_idx, sh_frac_idx, dp_frac_idx, & - ast_idx, sh_cldliq1_idx, sh_cldice1_idx, rei_idx + ast_idx, rei_idx integer :: ixcldice, ixcldliq + integer :: gb_totcldliqmr_idx, gb_totcldicemr_idx ! Namelist integer, parameter :: unset_int = huge(1) @@ -113,11 +114,10 @@ subroutine conv_water_register !----------------------------------------------------------------------- - ! these calls were already done in convect_shallow...so here I add the same fields to the physics buffer with a "1" at the end -! shallow gbm cloud liquid water (kg/kg) - call pbuf_add_field('SH_CLDLIQ1','physpkg',dtype_r8,(/pcols,pver/),sh_cldliq1_idx) -! shallow gbm cloud ice water (kg/kg) - call pbuf_add_field('SH_CLDICE1','physpkg',dtype_r8,(/pcols,pver/),sh_cldice1_idx) + ! grid box total cloud liquid water mixing ratio (kg/kg) + call pbuf_add_field('GB_TOTCLDLIQMR', 'physpkg', dtype_r8, (/pcols,pver/), gb_totcldliqmr_idx) + ! grid box total cloud ice water mixing ratio (kg/kg) + call pbuf_add_field('GB_TOTCLDICEMR', 'physpkg', dtype_r8, (/pcols,pver/), gb_totcldicemr_idx) end subroutine conv_water_register @@ -168,7 +168,7 @@ subroutine conv_water_init() end subroutine conv_water_init - subroutine conv_water_4rad(state, pbuf, totg_liq, totg_ice) + subroutine conv_water_4rad(state, pbuf) ! --------------------------------------------------------------------- ! ! Purpose: ! @@ -202,9 +202,6 @@ subroutine conv_water_4rad(state, pbuf, totg_liq, totg_ice) type(physics_state), target, intent(in) :: state ! state variables type(physics_buffer_desc), pointer :: pbuf(:) - real(r8), intent(out):: totg_ice(pcols,pver) ! Total GBA in-cloud ice - real(r8), intent(out):: totg_liq(pcols,pver) ! Total GBA in-cloud liquid - ! --------------- ! ! Local Workspace ! ! --------------- ! @@ -222,8 +219,9 @@ subroutine conv_water_4rad(state, pbuf, totg_liq, totg_ice) real(r8), pointer, dimension(:,:) :: dp_icwmr ! Deep conv. cloud water real(r8), pointer, dimension(:,:) :: sh_icwmr ! Shallow conv. cloud water real(r8), pointer, dimension(:,:) :: fice ! Ice partitioning ratio - real(r8), pointer, dimension(:,:) :: sh_cldliq ! shallow convection gbx liq cld mixing ratio for COSP - real(r8), pointer, dimension(:,:) :: sh_cldice ! shallow convection gbx ice cld mixing ratio for COSP + + real(r8), pointer, dimension(:,:) :: totg_ice ! Grid box total cloud ice mixing ratio + real(r8), pointer, dimension(:,:) :: totg_liq ! Grid box total cloud liquid mixing ratio real(r8) :: conv_ice(pcols,pver) ! Convective contributions to IC cloud ice real(r8) :: conv_liq(pcols,pver) ! Convective contributions to IC cloud liquid @@ -282,6 +280,10 @@ subroutine conv_water_4rad(state, pbuf, totg_liq, totg_ice) itim_old = pbuf_old_tim_idx() call pbuf_get_field(pbuf, ast_idx, ast, start=(/1,1,itim_old/), kount=(/pcols,pver,1/) ) + ! Fields computed below and stored in pbuf. + call pbuf_get_field(pbuf, gb_totcldicemr_idx, totg_ice) + call pbuf_get_field(pbuf, gb_totcldliqmr_idx, totg_liq) + ! --------------------------------------------------------------- ! ! Loop through grid-boxes and determine: ! ! 1. Effective mean in-cloud convective ice/liquid (deep+shallow) ! @@ -407,13 +409,6 @@ subroutine conv_water_4rad(state, pbuf, totg_liq, totg_ice) end do end do -!add pbuff calls for COSP - call pbuf_get_field(pbuf, sh_cldliq1_idx, sh_cldliq ) - call pbuf_get_field(pbuf, sh_cldice1_idx, sh_cldice ) - - sh_cldliq(:ncol,:pver)=sh_icwmr(:ncol,:pver)*(1-fice(:ncol,:pver))*sh_frac(:ncol,:pver) - sh_cldice(:ncol,:pver)=sh_icwmr(:ncol,:pver)*fice(:ncol,:pver)*sh_frac(:ncol,:pver) - ! Output convective IC WMRs call outfld( 'ICLMRCU ', conv_liq , pcols, lchnk ) diff --git a/src/physics/cam/cospsimulator_intr.F90 b/src/physics/cam/cospsimulator_intr.F90 index 7db2792a12..7e81e61053 100644 --- a/src/physics/cam/cospsimulator_intr.F90 +++ b/src/physics/cam/cospsimulator_intr.F90 @@ -212,8 +212,9 @@ module cospsimulator_intr ! chunk (allocatable->1:pcols,begchunk:endchunk) ! pbuf indices integer :: cld_idx, concld_idx, lsreffrain_idx, lsreffsnow_idx, cvreffliq_idx - integer :: cvreffice_idx, dpcldliq_idx, dpcldice_idx - integer :: shcldliq1_idx, shcldice1_idx, dpflxprc_idx + integer :: cvreffice_idx + integer :: gb_totcldliqmr_idx, gb_totcldicemr_idx + integer :: dpflxprc_idx integer :: dpflxsnw_idx, shflxprc_idx, shflxsnw_idx, lsflxprc_idx, lsflxsnw_idx integer :: rei_idx, rel_idx @@ -870,10 +871,8 @@ subroutine cospsimulator_intr_init() lsreffsnow_idx = pbuf_get_index('LS_REFFSNOW') cvreffliq_idx = pbuf_get_index('CV_REFFLIQ') cvreffice_idx = pbuf_get_index('CV_REFFICE') - dpcldliq_idx = pbuf_get_index('DP_CLDLIQ') - dpcldice_idx = pbuf_get_index('DP_CLDICE') - shcldliq1_idx = pbuf_get_index('SH_CLDLIQ1') - shcldice1_idx = pbuf_get_index('SH_CLDICE1') + gb_totcldliqmr_idx = pbuf_get_index('GB_TOTCLDLIQMR') ! grid box total cloud liquid water mr (kg/kg) + gb_totcldicemr_idx = pbuf_get_index('GB_TOTCLDICEMR') ! grid box total cloud ice water mr (kg/kg) dpflxprc_idx = pbuf_get_index('DP_FLXPRC') dpflxsnw_idx = pbuf_get_index('DP_FLXSNW') shflxprc_idx = pbuf_get_index('SH_FLXPRC', errcode=ierr) @@ -1205,11 +1204,9 @@ subroutine cospsimulator_intr_run(state, pbuf, cam_in, emis, coszrs, & real(r8), pointer, dimension(:,:) :: ls_flxprc ! stratiform interface gbm flux_cloud_rain+snow (kg m^-2 s^-1) real(r8), pointer, dimension(:,:) :: ls_flxsnw ! stratiform interface gbm flux_cloud_snow (kg m^-2 s^-1) - !! cloud mixing ratio pointers (note: large-scale in state) - real(r8), pointer, dimension(:,:) :: sh_cldliq ! shallow gbm cloud liquid water (kg/kg) - real(r8), pointer, dimension(:,:) :: sh_cldice ! shallow gbm cloud ice water (kg/kg) - real(r8), pointer, dimension(:,:) :: dp_cldliq ! deep gbm cloud liquid water (kg/kg) - real(r8), pointer, dimension(:,:) :: dp_cldice ! deep gmb cloud ice water (kg/kg) + !! grid box total cloud mixing ratio (large-scale + convective) + real(r8), pointer, dimension(:,:) :: totg_liq ! gbm total cloud liquid water (kg/kg) + real(r8), pointer, dimension(:,:) :: totg_ice ! gbm total cloud ice water (kg/kg) ! Output CAM variables ! Multiple "mdims" are collapsed because CAM history buffers only support one mdim. @@ -1508,11 +1505,9 @@ subroutine cospsimulator_intr_run(state, pbuf, cam_in, emis, coszrs, & call pbuf_get_field(pbuf, cvreffliq_idx, cv_reffliq ) call pbuf_get_field(pbuf, cvreffice_idx, cv_reffice ) - !! convective cloud mixing ratios - call pbuf_get_field(pbuf, dpcldliq_idx, dp_cldliq ) - call pbuf_get_field(pbuf, dpcldice_idx, dp_cldice ) - call pbuf_get_field(pbuf, shcldliq1_idx, sh_cldliq ) - call pbuf_get_field(pbuf, shcldice1_idx, sh_cldice ) + !! grid box total cloud mixing ratios + call pbuf_get_field(pbuf, gb_totcldliqmr_idx, totg_liq) + call pbuf_get_field(pbuf, gb_totcldicemr_idx, totg_ice) !! precipitation fluxes call pbuf_get_field(pbuf, dpflxprc_idx, dp_flxprc ) @@ -1616,9 +1611,12 @@ subroutine cospsimulator_intr_run(state, pbuf, cam_in, emis, coszrs, & grpl_ls_interp = 0._r8 - !! CAM5 cloud mixing ratio calculations - !! Note: Although CAM5 has non-zero convective cloud mixing ratios that affect the model state, - !! Convective cloud water is NOT part of radiation calculations. + ! subroutine subsample_and_optics provides separate arguments to pass + ! the large scale and convective cloud condensate. Below the grid box + ! total cloud water mixing ratios are passed in the arrays for the + ! large scale contributions and the arrays for the convective + ! contributions are set to zero. This is consistent with the treatment + ! of cloud water by the radiation code. mr_ccliq = 0._r8 mr_ccice = 0._r8 mr_lsliq = 0._r8 @@ -1627,11 +1625,8 @@ subroutine cospsimulator_intr_run(state, pbuf, cam_in, emis, coszrs, & kk = ktop + k -1 do i = 1, ncol if (cld(i,k) > 0._r8) then - !! note: convective mixing ratio is the sum of shallow and deep convective clouds in CAM5 - mr_ccliq(i,k) = sh_cldliq(i,kk) + dp_cldliq(i,kk) - mr_ccice(i,k) = sh_cldice(i,kk) + dp_cldice(i,kk) - mr_lsliq(i,k) = state%q(i,kk,ixcldliq) ! state only includes stratiform (kg/kg) - mr_lsice(i,k) = state%q(i,kk,ixcldice) ! state only includes stratiform (kg/kg) + mr_lsliq(i,k) = totg_liq(i,kk) + mr_lsice(i,k) = totg_ice(i,kk) end if end do end do diff --git a/src/physics/cam/zm_conv_intr.F90 b/src/physics/cam/zm_conv_intr.F90 index b80fcf504d..92a0c774a7 100644 --- a/src/physics/cam/zm_conv_intr.F90 +++ b/src/physics/cam/zm_conv_intr.F90 @@ -52,9 +52,7 @@ module zm_conv_intr zm_ideep_idx, & dp_flxprc_idx, & dp_flxsnw_idx, & - dp_cldliq_idx, & ixorg, & - dp_cldice_idx, & dlfzm_idx, & ! detrained convective cloud water mixing ratio. difzm_idx, & ! detrained convective cloud ice mixing ratio. dnlfzm_idx, & ! detrained convective cloud water num concen. @@ -135,12 +133,6 @@ subroutine zm_conv_register ! Flux of snow from deep convection (kg/m2/s) call pbuf_add_field('DP_FLXSNW','global',dtype_r8,(/pcols,pverp/),dp_flxsnw_idx) -! deep gbm cloud liquid water (kg/kg) - call pbuf_add_field('DP_CLDLIQ','global',dtype_r8,(/pcols,pver/), dp_cldliq_idx) - -! deep gbm cloud liquid water (kg/kg) - call pbuf_add_field('DP_CLDICE','global',dtype_r8,(/pcols,pver/), dp_cldice_idx) - call pbuf_add_field('ICWMRDP', 'physpkg',dtype_r8,(/pcols,pver/),icwmrdp_idx) call pbuf_add_field('RPRDDP', 'physpkg',dtype_r8,(/pcols,pver/),rprddp_idx) call pbuf_add_field('NEVAPR_DPCU','physpkg',dtype_r8,(/pcols,pver/),nevapr_dpcu_idx) @@ -459,8 +451,6 @@ subroutine zm_conv_tend(pblh ,mcon ,cme , & real(r8), pointer, dimension(:,:) :: evapcdp ! Evaporation of deep convective precipitation real(r8), pointer, dimension(:,:) :: flxprec ! Convective-scale flux of precip at interfaces (kg/m2/s) real(r8), pointer, dimension(:,:) :: flxsnow ! Convective-scale flux of snow at interfaces (kg/m2/s) - real(r8), pointer, dimension(:,:) :: dp_cldliq - real(r8), pointer, dimension(:,:) :: dp_cldice real(r8), pointer :: dlf(:,:) ! detrained convective cloud water mixing ratio. real(r8), pointer :: dif(:,:) ! detrained convective cloud ice mixing ratio. real(r8), pointer :: dnlf(:,:) ! detrained convective cloud water num concen. @@ -709,10 +699,6 @@ subroutine zm_conv_tend(pblh ,mcon ,cme , & call pbuf_get_field(pbuf, dp_flxprc_idx, flxprec ) call pbuf_get_field(pbuf, dp_flxsnw_idx, flxsnow ) - call pbuf_get_field(pbuf, dp_cldliq_idx, dp_cldliq ) - call pbuf_get_field(pbuf, dp_cldice_idx, dp_cldice ) - dp_cldliq(:ncol,:) = 0._r8 - dp_cldice(:ncol,:) = 0._r8 !REMOVECAM - no longer need these when CAM is retired and pcols no longer exists flxprec(:,:) = 0._r8 flxsnow(:,:) = 0._r8 From 9208a6e2816c26c3e152706209daa4c01f03d198 Mon Sep 17 00:00:00 2001 From: peverwhee Date: Thu, 5 Sep 2024 16:36:16 -0600 Subject: [PATCH 2/3] bring submodules up to date --- ccs_config | 2 +- cime | 2 +- components/cdeps | 2 +- components/cice | 2 +- components/clm | 2 +- components/cmeps | 2 +- components/mizuRoute | 2 +- components/mosart | 2 +- components/rtm | 2 +- share | 2 +- src/atmos_phys | 2 +- src/physics/clubb | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ccs_config b/ccs_config index 2ff978f92a..69a958581e 160000 --- a/ccs_config +++ b/ccs_config @@ -1 +1 @@ -Subproject commit 2ff978f92a5ac9a6ab243e5c14d06a7e2d2f5799 +Subproject commit 69a958581ecd2d32ee9cb1c38bcd3847b8b920bf diff --git a/cime b/cime index 422ddaa770..fcb9c6ec1e 160000 --- a/cime +++ b/cime @@ -1 +1 @@ -Subproject commit 422ddaa770a3cea6e83a60c9700ebce77acaceed +Subproject commit fcb9c6ec1e15f2f33995cf247aef3f8ef9f121eb diff --git a/components/cdeps b/components/cdeps index 7476950699..7b0b3a8272 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 7476950699909813d1938a34bd8d71bf5bfbf1e9 +Subproject commit 7b0b3a827241c53d296ec877cb1f59966bf5e5bf diff --git a/components/cice b/components/cice index b56154b318..f14ec8339b 160000 --- a/components/cice +++ b/components/cice @@ -1 +1 @@ -Subproject commit b56154b318b41312faec8a8ebee86c866b47c9f2 +Subproject commit f14ec8339bc5bc4a7a0664da5e247b5cfda531a1 diff --git a/components/clm b/components/clm index a9433779f0..0999a32f52 160000 --- a/components/clm +++ b/components/clm @@ -1 +1 @@ -Subproject commit a9433779f0ae499d60ad118d2ec331628f0eaaa8 +Subproject commit 0999a32f520c995c3dfc94b9b96781d20ed0d6d5 diff --git a/components/cmeps b/components/cmeps index 90f815ba9e..1b8920c3bf 160000 --- a/components/cmeps +++ b/components/cmeps @@ -1 +1 @@ -Subproject commit 90f815ba9e7493d71043b5d8e627a3f20bd5dc78 +Subproject commit 1b8920c3bf6c64056d6c1b1b88393617de2fefa3 diff --git a/components/mizuRoute b/components/mizuRoute index 81c720c7ee..2ff305a029 160000 --- a/components/mizuRoute +++ b/components/mizuRoute @@ -1 +1 @@ -Subproject commit 81c720c7ee51f9c69f2934f696078c42f4493565 +Subproject commit 2ff305a0292cb06789de6cfea7ad3cc0d6173493 diff --git a/components/mosart b/components/mosart index 8c682b1b7f..e2ffe00004 160000 --- a/components/mosart +++ b/components/mosart @@ -1 +1 @@ -Subproject commit 8c682b1b7f15d146816de302e0d359da3e957056 +Subproject commit e2ffe00004cc416cfc8bcfae2a949474075c1d1f diff --git a/components/rtm b/components/rtm index 88503adbc2..b3dfcfbba5 160000 --- a/components/rtm +++ b/components/rtm @@ -1 +1 @@ -Subproject commit 88503adbc275fb2ccbb6b598e460deaeb140e515 +Subproject commit b3dfcfbba58c151ac5a6ab513b3515ef3deff798 diff --git a/share b/share index 4b9dc4871a..f6f31fd61c 160000 --- a/share +++ b/share @@ -1 +1 @@ -Subproject commit 4b9dc4871a259f00f35bb47708d876cb7dcdf75c +Subproject commit f6f31fd61cb8f80aee97311fcca64b3e26b0202c diff --git a/src/atmos_phys b/src/atmos_phys index 4944547f04..d9d0e5d9bf 160000 --- a/src/atmos_phys +++ b/src/atmos_phys @@ -1 +1 @@ -Subproject commit 4944547f04b1457d78bf7d3c0becddcfe0deabb9 +Subproject commit d9d0e5d9bf96e5386ccb264bf123f8007db5821d diff --git a/src/physics/clubb b/src/physics/clubb index 50cee042e5..15e802092f 160000 --- a/src/physics/clubb +++ b/src/physics/clubb @@ -1 +1 @@ -Subproject commit 50cee042e588fefd3fe58c2a1d638affec8c0389 +Subproject commit 15e802092f65b3a20e5d67cb32d40f8a2771ca9b From 6b00a9e5a232878daa85f008af4d5500ab88a677 Mon Sep 17 00:00:00 2001 From: peverwhee Date: Tue, 10 Sep 2024 13:58:02 -0600 Subject: [PATCH 3/3] final changelog --- doc/ChangeLog | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 88c75d88ed..933de28d36 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,7 +1,7 @@ =============================================================== Tag name: cam6_4_032 -Originator(s): eaton, peverwhee +Originator(s): eaton Date: One-line Summary: Use same cloud water for radiation and COSP. Github PR URL: https://github.com/ESCOMP/CAM/pull/1084 @@ -64,9 +64,22 @@ 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_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: PEND) + - pre-existing failure -- need fix in CLM external + + SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: PASS) + - test failed with error in ESMF on first run, but passed when I reran the tests + - unclear when/why exactly this test began to pass again + + izumi/nag/aux_cam: + FAIL DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae + - pre-existing failure - issue #670 -izumi/gnu/aux_cam: +izumi/gnu/aux_cam: All BFB CAM tag used for the baseline comparison tests if different than previous tag: