diff --git a/bld/build-namelist b/bld/build-namelist
index 86959c72a3..7a550098e3 100755
--- a/bld/build-namelist
+++ b/bld/build-namelist
@@ -3696,6 +3696,7 @@ if ($clubb_sgs =~ /$TRUE/io) {
add_default($nl, 'clubb_Skw_denom_coef');
add_default($nl, 'clubb_skw_max_mag');
add_default($nl, 'clubb_tridiag_solve_method');
+ add_default($nl, 'clubb_a_const');
add_default($nl, 'clubb_up2_sfc_coef');
add_default($nl, 'clubb_wpxp_L_thresh');
add_default($nl, 'clubb_wpxp_Ri_exp');
diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml
index ca60c9e6ac..6668b66309 100644
--- a/bld/namelist_files/namelist_defaults_cam.xml
+++ b/bld/namelist_files/namelist_defaults_cam.xml
@@ -2308,6 +2308,7 @@
0.0
4.5
1
+ 1.8
2.0
60.0
0.5
diff --git a/bld/namelist_files/namelist_definition.xml b/bld/namelist_files/namelist_definition.xml
index a8939eba25..7abf126b7b 100644
--- a/bld/namelist_files/namelist_definition.xml
+++ b/bld/namelist_files/namelist_definition.xml
@@ -4651,6 +4651,14 @@ Specifier for method to solve tri-diagonal systems that are common in CLUBB.
Experimental option and currently the only valid value is 1: lapack
+
+Factor used in calculating the surface values of wp2 (variance of the w wind
+component), up2 (variance of the u wind component), and vp2 (variance of the v
+wind component), usually =1.8 if l_vary_convect_depth=F, =0.6 if T. Increasing
+clubb_a_const increases the values of wp2, up2, and vp2 at the surface.
+
+
Factor used in calculating the surface values of up2 (variance of the u wind
diff --git a/src/physics/cam/clubb_intr.F90 b/src/physics/cam/clubb_intr.F90
index 0620c89a40..26ee0f1055 100644
--- a/src/physics/cam/clubb_intr.F90
+++ b/src/physics/cam/clubb_intr.F90
@@ -252,6 +252,7 @@ module clubb_intr
real(r8) :: clubb_mult_coef = unset_r8
real(r8) :: clubb_Skw_denom_coef = unset_r8
real(r8) :: clubb_skw_max_mag = unset_r8
+ real(r8) :: clubb_a_const = unset_r8
real(r8) :: clubb_up2_sfc_coef = unset_r8
real(r8) :: clubb_C_wp2_splat = unset_r8
real(r8) :: clubb_wpxp_L_thresh = unset_r8
@@ -896,6 +897,7 @@ subroutine clubb_readnl(nlfile)
clubb_Skw_denom_coef, &
clubb_skw_max_mag, &
clubb_tridiag_solve_method, &
+ clubb_a_const, &
clubb_up2_sfc_coef, &
clubb_wpxp_L_thresh, &
clubb_wpxp_Ri_exp, &
@@ -1148,6 +1150,8 @@ subroutine clubb_readnl(nlfile)
if (ierr /= 0) call endrun(sub//": FATAL: mpi_bcast: clubb_l_stability_correct_tau_zm")
call mpi_bcast(clubb_gamma_coefb, 1, mpi_real8, mstrid, mpicom, ierr)
if (ierr /= 0) call endrun(sub//": FATAL: mpi_bcast: clubb_gamma_coefb")
+ call mpi_bcast(clubb_a_const, 1, mpi_real8, mstrid, mpicom, ierr)
+ if (ierr /= 0) call endrun(sub//": FATAL: mpi_bcast: clubb_a_const")
call mpi_bcast(clubb_up2_sfc_coef, 1, mpi_real8, mstrid, mpicom, ierr)
if (ierr /= 0) call endrun(sub//": FATAL: mpi_bcast: clubb_up2_sfc_coef")
call mpi_bcast(clubb_detliq_rad, 1, mpi_real8, mstrid, mpicom, ierr)
@@ -1345,6 +1349,7 @@ subroutine clubb_readnl(nlfile)
if ( clubb_mult_coef == unset_r8 ) call endrun( sub//": FATAL: clubb_mult_coef is not set")
if ( clubb_Skw_denom_coef == unset_r8 ) call endrun( sub//": FATAL: clubb_Skw_denom_coef is not set")
if ( clubb_skw_max_mag == unset_r8 ) call endrun( sub//": FATAL: clubb_skw_max_mag is not set")
+ if ( clubb_a_const == unset_r8 ) call endrun( sub//": FATAL: clubb_a_const is not set")
if ( clubb_up2_sfc_coef == unset_r8 ) call endrun( sub//": FATAL: clubb_up2_sfc_coef is not set")
if ( clubb_C_wp2_splat == unset_r8 ) call endrun( sub//": FATAL: clubb_C_wp2_splat is not set")
if ( clubb_bv_efold == unset_r8 ) call endrun( sub//": FATAL: clubb_bv_efold is not set")
@@ -1461,7 +1466,7 @@ subroutine clubb_ini_cam(pbuf_ini)
use clubb_api_module, only: &
core_rknd, em_min, &
ilambda0_stability_coef, ic_K10, ic_K10h, iC7, iC7b, iC8, iC8b, iC11, iC11b, iC4, iC_uu_shr, iC_uu_buoy, &
- iC1, iC1b, iC6rt, iC6rtb, iC6rtc, iC6thl, iC6thlb, iC6thlc, iup2_sfc_coef, iwpxp_L_thresh, &
+ iC1, iC1b, iC6rt, iC6rtb, iC6rtc, iC6thl, iC6thlb, iC6thlc, ia_const, iup2_sfc_coef, iwpxp_L_thresh, &
iC14, iC_wp3_pr_turb, igamma_coef, igamma_coefb, imult_coef, ilmin_coef, &
iSkw_denom_coef, ibeta, iskw_max_mag, &
iC_invrs_tau_bkgnd,iC_invrs_tau_sfc,iC_invrs_tau_shear,iC_invrs_tau_N2,iC_invrs_tau_N2_wp2, &
@@ -1685,6 +1690,7 @@ subroutine clubb_ini_cam(pbuf_ini)
clubb_params_single_col(1,iC1) = clubb_C1
clubb_params_single_col(1,iC1b) = clubb_C1b
clubb_params_single_col(1,igamma_coefb) = clubb_gamma_coefb
+ clubb_params_single_col(1,ia_const) = clubb_a_const
clubb_params_single_col(1,iup2_sfc_coef) = clubb_up2_sfc_coef
clubb_params_single_col(1,iC4) = clubb_C4
clubb_params_single_col(1,iC_uu_shr) = clubb_C_uu_shr