Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

How is shallow convection done in CAM6 (CLUBB_SGS)

hhzhang

Honghai Zhang
New Member
Hi there,

I wonder where the tendencies from shallow convection parameterization are computed and applied to update state variables in CAM6, using CLUBB_SGS shallow_scheme.
In CAM5 physics ( P = {M,R,S,T}), it is done separately as part of the moist processes. But in CAM6 with CLUBB, it seems that the shallow convection tendencies (from subroutine convect_shallow_tend) are simply set to zeros. According to the CLUBB documentation, shallow convection is unified with the PBL parameterization. Is it part of the turbulence mixing processes in CAM6? Can someone explain how shallow convection is done in CAM6 with CLUBB, and point me to the relevant subroutines doing it?

Thanks.
Honghai

My namelist setting (F2000climo compset using CESM2.1.3):
&phys_ctl_nl
cam_chempkg = 'trop_mam4'
cam_physpkg = 'cam6'
cld_macmic_num_steps = 3
deep_scheme = 'ZM'
do_clubb_sgs = .true.
eddy_scheme = 'CLUBB_SGS'
history_aero_optics = .false.
history_aerosol = .false.
history_amwg = .true.
history_budget = .false.
history_chemistry = .true.
history_chemspecies_srf = .true.
history_clubb = .true.
history_dust = .false.
history_eddy = .false.
history_vdiag = .false.
history_waccm = .false.
history_waccmx = .false.
macrop_scheme = 'CLUBB_SGS'
microp_scheme = 'MG'
radiation_scheme = 'rrtmg'
shallow_scheme = 'CLUBB_SGS'
srf_flux_avg = 0
use_gw_convect_dp = .false.
use_gw_convect_sh = .false.
use_gw_front = .false.
use_gw_front_igw = .false.
use_gw_oro = .false.
use_hetfrz_classnuc = .true.
use_simple_phys = .false.
use_subcol_microp = .false.
waccmx_opt = 'off'
 

aherring

Adam
Member
Hi Honghai,

It's a good question, since it's a point of confusion. CLUBB takes the role of what CAM would conventionally handle with three separate schemes: PBL mixing, shallow convection and cloud macrophysics. In CAM6, CLUBB was implemented using something similar to the conventional macrophysics structure. This works to some extent because shallow convection is sandwiched between deep convection and the macrophysics in the time-loop, and so placing CLUBB in the macrophysics portion of the time loop made sense.

Going a bit deeper. the subroutine tphysbc in physpkg.F90 controls the calling order of the moist physics. You can search for clubb_tend_cam to see where clubb is called. This clubb subroutine is defined in the clubb interface module clubb_intr.F90. This interface calls the clubb api, which runs the core clubb code in src/physics/clubb/.

You can get an idea of all the variables available for output by searching through all the addfld calls in that clubb_intr module. One not so great side-effect of the unifying of all these processes by CLUBB is the tendencies reflect the sum of PBL mixing, shallow convection and macrophysics. PBL mixing and shallow convection are completely unified; they can't be separated as there combined effect is captured by CLUBB's prognostic equations. The macrophyiscs tendencies could in principle be separated, but they are not. None the less, the temperature tendency STEND_CLUBB (actually a DSE tendency, just divide it by cp to get it in Kelvins), the vapor tendency is RVMTEND_CLUBB and cloud liquid tendency is RCMTEND_CLUBB. CLUBB does not handle ice phase and so any clubb ice tendency refers passive diffusion ice as a generic tracer. Relatedly, the cloud liquid tendency can be a bit misleading as MG2 will retroactively account for ice cloud formation to deal with CLUBB not handling it. It usually is best to just keep an eye on the CLOUD, CLDLIQ and CLDICE variables since they reflect the combined effect of CLUBB/MG2.

Hope that answers your question. Let me know if anything is unclear.
 

hhzhang

Honghai Zhang
New Member
Hi Adam,

Thanks for your answer, which is more than what I asked for! and I really appreciate it!
I have a couple more followup questions:

1. Conventionally (CAM5 and prior?), was the PBL mixing done as part of the turbulence mixing after coupling with surface? But now in CAM6-CLUBB, it's unified with shallow convection and macrophysics, and done entirely in the moist processes before coupling with surface, right?

2. are the macrophysics equivalent to, or maybe more than, the stratiform processes in CAM? I guess they are equivalent, according to what I read in the source codes:
if( microp_scheme == 'RK' ) then

!===================================================
! Calculate stratiform tendency (sedimentation, detrain, cloud fraction and microphysics )
!===================================================

elseif( microp_scheme == 'MG' ) then
! Start co-substepping of macrophysics and microphysics
cld_macmic_ztodt = ztodt/cld_macmic_num_steps

! Clear precip fields that should accumulate.
prec_sed_macmic = 0._r8
snow_sed_macmic = 0._r8
prec_pcw_macmic = 0._r8
snow_pcw_macmic = 0._r8

do macmic_it = 1, cld_macmic_num_steps

!===================================================
! Calculate macrophysical tendency (sedimentation, detrain, cloud fraction)
!===================================================

call t_startf('macrop_tend')

! don't call Park macrophysics if CLUBB is called
if (macrop_scheme .ne. 'CLUBB_SGS') then
else ! Calculate CLUBB macrophysics

! =====================================================
! CLUBB call (PBL, shallow convection, macrophysics)
! =====================================================

call clubb_tend_cam(state, ptend, pbuf, cld_macmic_ztodt,&
cmfmc, cam_in, macmic_it, cld_macmic_num_steps, &
dlf, det_s, det_ice)


Best,
Honghai
 

aherring

Adam
Member
Honghai,

Re: 1. Exactly. This is actually a very timely point as I am currently changing where moist physics is in the process ordering so that it is now after coupling to the surface models. See more here: move CLUBB and everything after into tphysac by adamrher · Pull Request #387 · ESCOMP/CAM

Re: 2. Not sure I understand the question, but to the extent I do, yes the CLUBB macrophysics serves the same role as the CAM5 stratiform scheme. The main difference is in the assumed subgrid distribution of q,T ... we utilize CLUBB's double Gaussian subgrid distribution to solve for grid mean cloud liquid/fraction, whereas CAM5 uses a triangle distribution. Other "macrophyiscs" processes such as handling of liquid/ice detrainment from the ZM scheme is identical to the treatment in CAM5.
 
Top