Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down
1 change: 1 addition & 0 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2308,6 +2308,7 @@
<clubb_Skw_denom_coef > 0.0 </clubb_Skw_denom_coef>
<clubb_skw_max_mag > 4.5 </clubb_skw_max_mag>
<clubb_tridiag_solve_method > 1 </clubb_tridiag_solve_method>
<clubb_a_const > 1.8 </clubb_a_const>
<clubb_up2_sfc_coef > 2.0 </clubb_up2_sfc_coef>
<clubb_wpxp_L_thresh > 60.0 </clubb_wpxp_L_thresh>
<clubb_wpxp_Ri_exp > 0.5 </clubb_wpxp_Ri_exp>
Expand Down
8 changes: 8 additions & 0 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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
</entry>

<entry id="clubb_a_const" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
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.
</entry>

<entry id="clubb_up2_sfc_coef" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
Factor used in calculating the surface values of up2 (variance of the u wind
Expand Down
8 changes: 7 additions & 1 deletion src/physics/cam/clubb_intr.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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, &
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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")
Expand Down Expand Up @@ -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, &
Expand Down Expand Up @@ -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
Expand Down