Skip to content
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
a369161
CLUBB and ZM PPE namelist parameters
Katetc Nov 17, 2020
bff0ad1
added namelist for mg3 in cam
trudeeidhammer Jan 12, 2021
d36887f
Support for MG3 namelist changes
Katetc Feb 18, 2021
6d87152
Merge branch 'cam_dev_ppe' of https://github.com/PUMASDevelopment/CAM…
Katetc Feb 18, 2021
2ba0055
Merge remote-tracking branch 'origin/cam_development' into cam_dev_ppe
Katetc Feb 18, 2021
8ab8633
Merge up to optimization_pr_pt2
Katetc Feb 18, 2021
9bf2c66
Bug fixes to get things working
Katetc Feb 22, 2021
d38c23a
added namelist for aerosol runs
trudeeidhammer May 25, 2021
1cf49c9
added microp_aero_wsub_ namelist parameters
trudeeidhammer Jul 1, 2021
d94f9f3
added C6thl and C6thlb to namelist
trudeeidhammer Jul 5, 2021
0f384d9
Merge up to cam6_3_025
Katetc Jul 6, 2021
3f2bd43
Added newly made pumas tag v1.17
Katetc Jul 7, 2021
748387e
Addressed review comments on namelist param documentation and changes…
Katetc Jul 7, 2021
90f4357
Moved meltpt parameter to the top of the module rather than within ra…
Katetc Jul 7, 2021
6e1a11f
Fixed typo in cloud_fraction and addressed review comments in clubb_i…
Katetc Jul 9, 2021
8a3558d
A bit more cleanup
Katetc Jul 11, 2021
de057d5
Add check for NaNs so npccn_scale doesnot crash FXHIST test
Katetc Jul 12, 2021
25f4a06
Change mpi calls in microp_aero, remove parameter initialization in z…
Katetc Jul 12, 2021
ad6e666
Fixed problem with NaNs in npccn
Katetc Jul 13, 2021
66dafdd
More review suggestions
Katetc Jul 14, 2021
a3159d8
Found a couple extra answer changing changes to change. First draft C…
Katetc Jul 16, 2021
61dc01d
Update Changelog, fixed documentation for micro_mg_max_nicons
Katetc Jul 16, 2021
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
2 changes: 1 addition & 1 deletion Externals_CAM.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ required = True
local_path = src/physics/pumas
protocol = git
repo_url = https://github.com/ESCOMP/PUMAS
tag = pumas_cam-release_v1.16
tag = pumas_cam-release_v1.17
required = True

[atmos_phys]
Expand Down
30 changes: 30 additions & 0 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -2881,11 +2881,28 @@ if ($cfg->get('microphys') =~ /^mg/) {
add_default($nl, 'micro_mg_do_graupel');
add_default($nl, 'graupel_in_rad');
add_default($nl, 'micro_do_massless_droplet_destroyer');
add_default($nl, 'micro_mg_accre_enhan_fact');
add_default($nl, 'micro_mg_autocon_fact');
add_default($nl, 'micro_mg_autocon_nd_exp');
add_default($nl, 'micro_mg_autocon_lwp_exp');
add_default($nl, 'micro_mg_homog_size');
add_default($nl, 'micro_mg_vtrmi_factor');
add_default($nl, 'micro_mg_effi_factor');
add_default($nl, 'micro_mg_iaccr_factor');
add_default($nl, 'micro_mg_max_nicons');

# For CESM2, the decision was made to set micro_do_sb_physics to false
add_default($nl, 'micro_do_sb_physics', 'val'=>'.false.');
}

# Aerosol Namelist options
add_default($nl, 'microp_aero_bulk_scale');
add_default($nl, 'microp_aero_npccn_scale');
add_default($nl, 'microp_aero_wsub_scale');
add_default($nl, 'microp_aero_wsubi_scale');
add_default($nl, 'microp_aero_wsub_min');
add_default($nl, 'microp_aero_wsubi_min');

# Ice nucleation options
if (!$simple_phys) {
if ($chem =~ /_mam/) {
Expand Down Expand Up @@ -3002,6 +3019,12 @@ if ($clubb_sgs =~ /$TRUE/io) {
add_default($nl, 'clubb_C2thl');
add_default($nl, 'clubb_C2rtthl');
add_default($nl, 'clubb_C4');
add_default($nl, 'clubb_c6rt');
add_default($nl, 'clubb_c6rtb');
add_default($nl, 'clubb_c6rtc');
add_default($nl, 'clubb_c6thl');
add_default($nl, 'clubb_c6thlb');
add_default($nl, 'clubb_c6thlc');
add_default($nl, 'clubb_C7');
add_default($nl, 'clubb_C7b');
add_default($nl, 'clubb_C8');
Expand All @@ -3020,6 +3043,10 @@ if ($clubb_sgs =~ /$TRUE/io) {
add_default($nl, 'clubb_skw_max_mag');
add_default($nl, 'clubb_up2_vp2_factor');
add_default($nl, 'clubb_C_wp2_splat');
add_default($nl, 'clubb_wpxp_L_thresh');
add_default($nl, 'clubb_detliq_rad');
add_default($nl, 'clubb_detice_rad');
add_default($nl, 'clubb_detphase_lowtemp');

add_default($nl, 'clubb_l_brunt_vaisala_freq_moist');
add_default($nl, 'clubb_l_call_pdf_closure_twice');
Expand Down Expand Up @@ -3135,6 +3162,9 @@ if (!$simple_phys) {
add_default($nl, 'zmconv_org');
add_default($nl, 'zmconv_microp');
add_default($nl, 'zmconv_num_cin');
add_default($nl, 'zmconv_dmpdz');
add_default($nl, 'zmconv_tiedke_add');
add_default($nl, 'zmconv_capelmt');
}

# moist convection rainwater coefficients
Expand Down
59 changes: 57 additions & 2 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1794,6 +1794,12 @@
<clubb_C2thl > 1.0 </clubb_C2thl>
<clubb_C2rtthl > 1.3 </clubb_C2rtthl>
<clubb_C4 > 5.2 </clubb_C4>
<clubb_c6rt > 4.0 </clubb_c6rt>
<clubb_c6rtb > 6.0 </clubb_c6rtb>
<clubb_c6rtc > 1.0 </clubb_c6rtc>
<clubb_c6thl > 4.0 </clubb_c6thl>
<clubb_c6thlb > 6.0 </clubb_c6thlb>
<clubb_c6thlc > 1.0 </clubb_c6thlc>
<clubb_C7 > 0.5 </clubb_C7>
<clubb_C7b > 0.5 </clubb_C7b>
<clubb_C8 > 4.2 </clubb_C8>
Expand All @@ -1807,6 +1813,7 @@
<clubb_c_K10 > 0.5 </clubb_c_K10>
<clubb_c_K10h > 0.3 </clubb_c_K10h>
<clubb_do_liqsupersat > .false. </clubb_do_liqsupersat>
<clubb_wpxp_L_thresh > 60.0 </clubb_wpxp_L_thresh>
<clubb_gamma_coef > 0.308 </clubb_gamma_coef>
<clubb_gamma_coef hgrid="1.9x2.5" > 0.280 </clubb_gamma_coef>
<clubb_gamma_coef dyn="se" > 0.270 </clubb_gamma_coef>
Expand All @@ -1819,6 +1826,9 @@
<clubb_skw_max_mag > 4.5 </clubb_skw_max_mag>
<clubb_up2_vp2_factor > 2.0 </clubb_up2_vp2_factor>
<clubb_C_wp2_splat > 0.0 </clubb_C_wp2_splat>
<clubb_detliq_rad > 8.0D-6 </clubb_detliq_rad>
<clubb_detice_rad > 25.0D-6 </clubb_detice_rad>
<clubb_detphase_lowtemp > 238.15 </clubb_detphase_lowtemp>

<clubb_l_brunt_vaisala_freq_moist > .false. </clubb_l_brunt_vaisala_freq_moist>
<clubb_l_call_pdf_closure_twice > .true. </clubb_l_call_pdf_closure_twice>
Expand Down Expand Up @@ -1931,8 +1941,49 @@
<micro_mg_precip_frac_method > max_overlap </micro_mg_precip_frac_method>
<micro_mg_precip_frac_method clubb_sgs="1" > in_cloud </micro_mg_precip_frac_method>

<micro_mg_berg_eff_factor > 1.0D0 </micro_mg_berg_eff_factor>
<micro_mg_berg_eff_factor microphys="mg2" > 1.0D0 </micro_mg_berg_eff_factor>
<micro_mg_berg_eff_factor > 1.D0 </micro_mg_berg_eff_factor>
<micro_mg_berg_eff_factor microphys="mg2" > 1.D0 </micro_mg_berg_eff_factor>

<micro_mg_accre_enhan_fact > 1.D0 </micro_mg_accre_enhan_fact>
<micro_mg_accre_enhan_fact microphys="mg2" > 1.D0 </micro_mg_accre_enhan_fact>

<micro_mg_autocon_fact > 0.01D0 </micro_mg_autocon_fact>
<micro_mg_autocon_fact microphys="mg2" > 0.01D0 </micro_mg_autocon_fact>

<micro_mg_autocon_nd_exp > -1.1D0 </micro_mg_autocon_nd_exp>
<micro_mg_autocon_nd_exp microphys="mg2" > -1.1D0 </micro_mg_autocon_nd_exp>

<micro_mg_autocon_lwp_exp > 2.47D0 </micro_mg_autocon_lwp_exp>
<micro_mg_autocon_lwp_exp microphys="mg2" > 2.47D0 </micro_mg_autocon_lwp_exp>

<microp_aero_bulk_scale > 1.D0 </microp_aero_bulk_scale>

<microp_aero_npccn_scale > 1.D0 </microp_aero_npccn_scale>
<microp_aero_npccn_scale microphys="mg2" > 1.D0 </microp_aero_npccn_scale>

<microp_aero_wsub_scale > 1.D0 </microp_aero_wsub_scale>

<microp_aero_wsubi_scale > 1.D0 </microp_aero_wsubi_scale>

<microp_aero_wsub_min > 0.2D0 </microp_aero_wsub_min>

<microp_aero_wsubi_min > 0.001D0 </microp_aero_wsubi_min>

<micro_mg_homog_size > 25.D-6 </micro_mg_homog_size>
<micro_mg_homog_size microphys="mg2" > 25.D-6 </micro_mg_homog_size>

<micro_mg_vtrmi_factor > 1.D0 </micro_mg_vtrmi_factor>
<micro_mg_vtrmi_factor microphys="mg2" > 1.D0 </micro_mg_vtrmi_factor>

<micro_mg_effi_factor > 1.D0 </micro_mg_effi_factor>
<micro_mg_effi_factor microphys="mg2" > 1.D0 </micro_mg_effi_factor>

<micro_mg_iaccr_factor > 1.D0 </micro_mg_iaccr_factor>
<micro_mg_iaccr_factor microphys="mg2" > 1.D0 </micro_mg_iaccr_factor>

<micro_mg_max_nicons > 1.D8 </micro_mg_max_nicons>
<micro_mg_max_nicons microphys="mg2" > 1.D8 </micro_mg_max_nicons>


<cld_macmic_num_steps> 1 </cld_macmic_num_steps>
<cld_macmic_num_steps microphys="mg2" clubb_sgs="1" > 3 </cld_macmic_num_steps>
Expand Down Expand Up @@ -2383,6 +2434,10 @@
<zmconv_num_cin > 5 </zmconv_num_cin>
<zmconv_num_cin phys="cam6" > 1 </zmconv_num_cin>

<zmconv_dmpdz > -1.0E-3 </zmconv_dmpdz>
<zmconv_tiedke_add > 0.5 </zmconv_tiedke_add>
<zmconv_capelmt > 70.0 </zmconv_capelmt>

<!-- Cloud sedimentation -->

<cldsed_ice_stokes_fac > 1.0D0 </cldsed_ice_stokes_fac>
Expand Down
154 changes: 154 additions & 0 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2539,6 +2539,60 @@ Efficiency factor for berg
Default: 1
</entry>

<entry id="micro_mg_accre_enhan_fact" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Unitless ratio to increase the accretion process in microphysics as a method of accounting for unrepresented subgridscale variability.
Default: 1
</entry>

<entry id="micro_mg_autocon_fact" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Unitless ratio to directly scale the autoconversion process in microphysics as a method of accounting for unrepresented subgridscale variability.
Default: 0.01
</entry>

<entry id="micro_mg_autocon_nd_exp" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Unitless exponent of cloud number condensation in the KK autoconversion parameterization equation. See Khairoutdinov and Kogan, 2002.
Default: -1.1
</entry>

<entry id="micro_mg_autocon_lwp_exp" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Unitless exponent of liquid water path in the KK autoconversion parameterization equation. See Khairoutdinov and Kogan, 2002.
Default: 2.47
</entry>

<entry id="micro_mg_homog_size" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Mean volume radius of droplets used in the process of homogeneously freezing below -40C in (m). Default value is currently the previously assumed 25 microns.
Default: 25.e-6 m
</entry>

<entry id="micro_mg_vtrmi_factor" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Unitless scaling factor for ice fall speed to account for sub-grid scale ice crystal shape variability.
Default: 1.0
</entry>

<entry id="micro_mg_effi_factor" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Unitless scaling factor for ice effective radius as seen by radiation. This scaling factor adjusts for sub-grid scale ice crystal shape variability.
Default: 1.0
</entry>

<entry id="micro_mg_iaccr_factor" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Ice accrete cloud droplet factor
Default: 1
</entry>

<entry id="micro_mg_max_nicons" type="real" category="microphys"
group="micro_mg_nl" valid_values="" >
Maximum allowed ice number concentration
Default: 1.0e9
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess as an example of "we shouldn't have defaults listed in two different places", should this say 1.0e8 instead?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is inconsistent with what is in namelist_defaults.xml
Which is correct?

</entry>

<entry id="micro_do_sb_physics" type="logical" category="microphys"
group="micro_mg_nl" valid_values="" >
Do Seifert and Behang (2001) autoconversion and accretion physics when set to true.
Expand Down Expand Up @@ -2684,6 +2738,36 @@ prescribed aerosol bulk sulfur scale factor
Default: 2
</entry>

<entry id="microp_aero_npccn_scale" type="real" category="microphys"
group="microp_aero_nl" valid_values="" >
Unitless scaling factor for the activated number concentration of cloud condensation nuclei.
Default: 1.0
</entry>

<entry id="microp_aero_wsub_scale" type="real" category="microphys"
group="microp_aero_nl" valid_values="" >
Unitless scaling factor for the liquid droplet subgrid scale vertical velocity during aerosol activation.
Default: 1.0
</entry>

<entry id="microp_aero_wsubi_scale" type="real" category="microphys"
group="microp_aero_nl" valid_values="" >
Unitless scaling factor for ice droplet subgrid scale vertical velocity during aerosol activation.
Default: 1.0
</entry>

<entry id="microp_aero_wsub_min" type="real" category="microphys"
group="microp_aero_nl" valid_values="" >
Minimum subgrid vertical velocity for liquid droplets during aerosol activation with units of (m s-1).
Default: 0.2 m s-1
</entry>

<entry id="microp_aero_wsubi_min" type="real" category="microphys"
group="microp_aero_nl" valid_values="" >
Minimum subgrid vertical velocity for ice droplets during aerosol activation with units of (m s-1).
Default: 0.001 m s-1
</entry>

<entry id="use_hetfrz_classnuc" type="logical" category="microphys"
group="phys_ctl_nl" valid_values="" >
Switch to turn on heterogeneous freezing code.
Expand Down Expand Up @@ -2945,6 +3029,23 @@ Default: =&gt; 1 for CAM6;
=&gt; 5 for all other
</entry>

<entry id="zmconv_dmpdz" type="real" category="conv"
group="zmconv_nl" valid_values="" >
Tunable entrainment rate in ZM deep convection scheme in units of (m-1).
Default: -1.0e-3 m-1
</entry>

<entry id="zmconv_tiedke_add" type="real" category="conv"
group="zmconv_nl" valid_values="" >
Tunable parcel temperature perturbation in ZM deep convection scheme in units of (K).
Default: 0.5K perturbation
</entry>

<entry id="zmconv_capelmt" type="real" category="conv"
group="zmconv_nl" valid_values="" >
Tunable triggering threshold for convection in ZM deep scheme in units of (J kg-1).
Default: 70.0 J kg-1
</entry>

<!-- Cloud sedimentation -->

Expand Down Expand Up @@ -3414,6 +3515,36 @@ C2 coef. for the thlp2_dp1 term
C2 coef. for the rtpthlp_dp1 term
</entry>

<entry id="clubb_c6rt" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - Low Skewness in C6rt Skw. Function
</entry>

<entry id="clubb_c6rtb" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - High Skewness in C6rt Skw. Function
</entry>

<entry id="clubb_c6rtc" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - Degree of Slope of C6rt Skw. Function
</entry>

<entry id="clubb_c6thl" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - Low Skewness in C6thl Skw. Function
</entry>

<entry id="clubb_c6thlb" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - High Skewness in C6thl Skw. Function
</entry>

<entry id="clubb_c6thlc" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - Degree of Slope of C6thl Skw. Function
</entry>

<entry id="clubb_C4" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
C4 coefficient in the wp2 return-to-isotropy term. A higher value of C4
Expand Down Expand Up @@ -3468,6 +3599,11 @@ Thermo of Kh_zm
Default: 0.3
</entry>

<entry id="clubb_wpxp_L_thresh" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
CLUBB tunable parameter - Lscale threshold: damp C6 and C7 (units: m)
</entry>

<entry id="clubb_do_liqsupersat" type="logical" category="conv"
group="clubb_params_nl" valid_values="" >
Apply liquid supersaturation adjustment code
Expand Down Expand Up @@ -3529,6 +3665,24 @@ clubb_up2_vp2_factor increases the values of up2 and vp2 at the surface.
Coefficient for gustiness near ground.
</entry>

<entry id="clubb_detliq_rad" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
Radius of detrained liquid drops as they are used in the CLUBB parameterization in units of (m).
Default: 8.0e-6 m
</entry>

<entry id="clubb_detice_rad" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
Radius of detrained ice drops as they are used in the CLUBB parameterization in units of (m).
Default: 25.0e-6 m
</entry>

<entry id="clubb_detphase_lowtemp" type="real" category="pblrad"
group="clubb_params_nl" valid_values="" >
Temperature at which detrained water is classified as entirely ice (no liquid)
in the CLUBB parameterization in units of (K).
Default: 238.15 K
</entry>

<!-- CLUBB logical parameters -->
<entry id="clubb_l_brunt_vaisala_freq_moist" type="logical" category="pblrad"
Expand Down
2 changes: 2 additions & 0 deletions cime_config/usermods_dirs/scam_twp06/user_nl_cam
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ scm_relax_top_p = 200.
scm_relax_linear = .true.
scm_relax_tau_bot_sec = 864000.
scm_relax_tau_top_sec = 172800.
iradlw = 1
iradsw = 1
4 changes: 3 additions & 1 deletion src/physics/cam/cloud_fraction.F90
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ module cloud_fraction
cldfrc_init, &! Inititialization of cloud_fraction run-time parameters
cldfrc_getparams, &! public access of tuning parameters
cldfrc, &! Computation of cloud fraction
cldfrc_fice ! Calculate fraction of condensate in ice phase (radiation partitioning)
cldfrc_fice, &! Calculate fraction of condensate in ice phase (radiation partitioning)
dp1, &! parameter for deep convection cloud fraction needed in clubb_intr
dp2 ! parameter for deep convection cloud fraction needed in clubb_intr

! Private data
real(r8), parameter :: unset_r8 = huge(1.0_r8)
Expand Down
Loading