Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3d40d8c
Merging up to clubb_release 1632cf12
huebleruwm Nov 13, 2025
e67fc47
Merging up to clubb_release 673beb05
huebleruwm Nov 13, 2025
187d7b5
Merging up to clubb_release dc302b95 (current basically)
huebleruwm Nov 14, 2025
e4b7122
Small cleanups
huebleruwm Nov 14, 2025
703aca6
Making work with clubb_release d5957b30 (current as of 11-15-25)
huebleruwm Nov 15, 2025
4d9b1b8
Definine PDFP_RTP2_CLUBB with the correct size.
huebleruwm Nov 17, 2025
e60848b
First step to making grid resversible in clubb_intr. This is BFB when…
huebleruwm Nov 17, 2025
dddff49
Big improvements to flipping. Now almost all calculations are in cam …
huebleruwm Nov 19, 2025
055e53f
Consolidated ascending functionality as much as possible. Ascending v…
huebleruwm Nov 20, 2025
2fb2ba9
Made silhs work in descending mode, though it is not BFB with the asc…
huebleruwm Nov 21, 2025
bded8a5
Mainly organization and some pbuf simplifications. No major redimensi…
huebleruwm Nov 22, 2025
8ba8c44
Safe and easy redimensionings
huebleruwm Nov 22, 2025
fce8e1b
The DANGEROUS redimensioning. This significantly reduces the memory f…
huebleruwm Nov 23, 2025
0613054
Setting l_ascending_grid to false
huebleruwm Nov 24, 2025
c03efd5
More simplifications and cleanup, all should be safe
huebleruwm Nov 26, 2025
b2b3232
Mostly cosmetic improvements, some removal of redundant code
huebleruwm Nov 26, 2025
a28d1e1
Fixing GPU code so that it runs to completion, correctness on GPU not…
huebleruwm Nov 27, 2025
c4f2034
Removing some unccesary stuff from pbuf and moving a little code around.
huebleruwm Dec 1, 2025
319bee6
Small BFB improvements
huebleruwm Dec 3, 2025
cb4ccb3
Removing print statements and a little cleanup
huebleruwm Dec 9, 2025
bbc43fa
GPU code changes. This passes the ECT test, using top_lev > 1, ne30pg…
huebleruwm Dec 9, 2025
c9e9d97
Improving description of possible options for clubb_fill_holes_type
huebleruwm Dec 10, 2025
5542b48
Renaming l_ascending_grid to clubb_l_ascending_grid and adding it to …
huebleruwm Dec 10, 2025
996e994
Various performance improvements
huebleruwm Dec 16, 2025
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
5 changes: 5 additions & 0 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -3503,6 +3503,7 @@ if ($clubb_sgs =~ /$TRUE/io) {
die "$ProgName - ERROR: clubb_history = .true. with multiple threads is not supported. \n";
}

add_default($nl, 'clubb_l_ascending_grid');
add_default($nl, 'clubb_do_icesuper');
add_default($nl, 'clubb_do_energyfix');
add_default($nl, 'clubb_cloudtop_cooling');
Expand Down Expand Up @@ -3594,9 +3595,13 @@ if ($clubb_sgs =~ /$TRUE/io) {
add_default($nl, 'clubb_detphase_lowtemp');
add_default($nl, 'clubb_do_energyfix');
add_default($nl, 'clubb_do_liqsupersat');
add_default($nl, 'clubb_grid_adapt_in_time_method');
add_default($nl, 'clubb_fill_holes_type');
add_default($nl, 'clubb_grid_remap_method');
add_default($nl, 'clubb_ipdf_call_placement');
add_default($nl, 'clubb_lambda0_stability_coef');
add_default($nl, 'clubb_lmin_coef');
add_default($nl, 'clubb_l_add_dycore_grid');
add_default($nl, 'clubb_l_brunt_vaisala_freq_moist');
add_default($nl, 'clubb_l_call_pdf_closure_twice');
add_default($nl, 'clubb_l_damp_wp2_using_em');
Expand Down
5 changes: 5 additions & 0 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2120,6 +2120,7 @@
<clubb_timestep > 300.0D0 </clubb_timestep>
<clubb_rnevap_effic > 1.0D0 </clubb_rnevap_effic>
<clubb_do_icesuper > .false. </clubb_do_icesuper>
<clubb_l_ascending_grid > .false. </clubb_l_ascending_grid>


<!-- Lscale_from_tau set by clubb_opts config option -->
Expand Down Expand Up @@ -2180,9 +2181,13 @@
<clubb_gamma_coef hgrid="1.9x2.5" phys="cam6" > 0.280 </clubb_gamma_coef>
<clubb_gamma_coefb > 0.32 </clubb_gamma_coefb>
<clubb_gamma_coefb phys="cam7" > 0.3 </clubb_gamma_coefb>
<clubb_grid_adapt_in_time_method > 0 </clubb_grid_adapt_in_time_method>
<clubb_fill_holes_type > 2 </clubb_fill_holes_type>
<clubb_grid_remap_method > 1 </clubb_grid_remap_method>
<clubb_ipdf_call_placement > 2 </clubb_ipdf_call_placement>
<clubb_lambda0_stability_coef > 0.04 </clubb_lambda0_stability_coef>
<clubb_lmin_coef > 0.1 </clubb_lmin_coef>
<clubb_l_add_dycore_grid > .false. </clubb_l_add_dycore_grid>
<clubb_l_brunt_vaisala_freq_moist > .false. </clubb_l_brunt_vaisala_freq_moist>
<clubb_l_C2_cloud_frac > .false. </clubb_l_C2_cloud_frac>
<clubb_l_calc_thlp2_rad > .true. </clubb_l_calc_thlp2_rad>
Expand Down
38 changes: 38 additions & 0 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3672,6 +3672,13 @@ Switch for CLUBB_ADV parameter that turns on advection of CLUBB pdf moments by
the dynamics core. Very experimental.
</entry>

<entry id="clubb_l_ascending_grid" type="logical" category="pblrad"
group="clubbpbl_diff_nl" valid_values="" >
Causes advance_clubb_core to run in ascending mode, where the surface is at k=1, which is opposite
of the descending cam grid. This is mainly a testing/debugging option - it requires an expensive
data flipping step and should not change answers significantly.
</entry>

<!-- Clubb timestep -->
<entry id="clubb_timestep" type="real" category="pblrad"
group="clubbpbl_diff_nl" valid_values="" >
Expand Down Expand Up @@ -3940,6 +3947,32 @@ Gaussian PDF, and also decreases the difference between the means of w from
each Gaussian.
</entry>

<entry id="clubb_grid_adapt_in_time_method" type="integer" category="pblrad"
group="clubb_params_nl" valid_values="0,1" >
Specifier for method to construct a grid density function to adapt grid to.
Valid values: 0 (no grid adaptation), 1 (use Lscale and wp2)
</entry>

<entry id="clubb_fill_holes_type" type="integer" category="pblrad"
group="clubb_params_nl" valid_values="0,1,2,3,4,5,6" >
Selects which algorithm the fill_holes routine uses to correct
below threshold values in field solutions.
Comment on lines +3956 to +3959
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could the different values be documented with their algorithm names? (This is the namelist documentation so it will be useful for folks wanting to change the values)

Copy link
Author

Choose a reason for hiding this comment

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

Definitely a good idea, added here

0: off - Skip the mass conservative hole filling step, rely on blunt clipping
1: global - Fast but minimally local, most methods use this as a fallback step
2: sliding_window - Expensive but highly local when possible, falls back to global fill if needed
3: widening_windows - Slightly parallelizable, local when possible, falls back to global if needed
4: smart_window - Uses hueristics to determine ranges to fill, fast and highly local when possible, falls back to global if needed
5: smart_window_smooth - Same as smart_window, but with experimental smoothing features that slightly increases cost, NO GLOBAL FALLBACK
6: parallel_fill - Highly local when possible, completely parallelizable but computationally wasteful, falls back to global if needed
See CLUBB_core/model_flags.F90 or CLUBB_core/fill_holes.F90 for more detail.
</entry>

<entry id="clubb_grid_remap_method" type="integer" category="pblrad"
group="clubb_params_nl" valid_values="1" >
Specifier for method to remap values from one grid to another.
Valid values: 1 (ullrich remapping)
</entry>

<entry id="clubb_iiPDF_type" type="integer" category="pblrad"
group="clubb_params_nl" valid_values="1,2,3,4,5,6,7" >
Selected option for the two-component normal (double Gaussian) PDF type to use for the w, rt,
Expand All @@ -3966,6 +3999,11 @@ scale (Lscale) in a grid-spacing dependent formula. Increasing the value of
clubb_lmin_coef increases the minimum allowable value for length scale.
</entry>

<entry id="clubb_l_add_dycore_grid" type="logical" category="pblrad"
group="clubb_params_nl" valid_values="" >
Flag to remap values from the dycore grid.
</entry>

<entry id="clubb_l_brunt_vaisala_freq_moist" type="logical" category="pblrad"
group="clubb_params_nl" valid_values="" >
Flag to uses an alternate equation to calculate the Brunt-Vaisala frequency.
Expand Down
Loading