Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
d88b8f1
Add some additional timers around decomp level activity
ekluzek Jun 26, 2025
6cf4b8e
Start adding control for decomp_init self tests and add ability for s…
ekluzek Jun 26, 2025
ae5435b
Merge remote-tracking branch 'escomp/b4b-dev' into add_decomp_init_se…
ekluzek Jun 26, 2025
a27de36
Add namelist controls for self testing
ekluzek Jun 27, 2025
2fd081b
Changes to exit early when self test namelist option used for_testing…
ekluzek Jul 2, 2025
c90d475
Merge branch 'b4b-dev' into add_decomp_init_self_tests
ekluzek Jul 9, 2025
b47ef38
Merge remote-tracking branch 'escomp/b4b-dev' into add_decomp_init_se…
ekluzek Aug 1, 2025
47dbc1b
Remove the mpasa15 test from expected fails
ekluzek Jul 30, 2025
5bc62fa
Turn off restarts and history and add some timer options as well as t…
ekluzek Jul 11, 2025
f1a4277
Turn off RTM rather than increase the ROF coupling frequency
ekluzek Jul 30, 2025
2b9746b
Still need to set NCPL_ROF
ekluzek Jul 30, 2025
60425cd
Fix syntax error
ekluzek Jul 30, 2025
9908a81
Fix XML name for RTM_MODE
ekluzek Aug 1, 2025
8fc95c1
Turn off urban HAC completely and minimize urban in gridcells
ekluzek Jul 30, 2025
19fb93d
Keep all self tests on
ekluzek Aug 2, 2025
1d66c36
Fiddle with the bypass structure and add a ZeroState method that can …
ekluzek Aug 13, 2025
d3178e1
Add for_testing options to namelist handling to bypass init and run
ekluzek Aug 21, 2025
d65ecfb
Turn the bypass init and run logicals for testing on
ekluzek Aug 21, 2025
96e0c94
Add a namelist read and some logical settings to bypass init and run …
ekluzek Aug 21, 2025
f6272ef
Merge remote-tracking branch 'escomp/b4b-dev' into for_testing_bypass…
ekluzek Aug 21, 2025
7006740
Add use of abortutils so can make endrun calls
ekluzek Aug 21, 2025
93628b2
Add bypassing the run phase in the for_testing tests, and remove it f…
ekluzek Aug 22, 2025
28834c9
Update bld/namelist_files/namelist_definition_ctsm.xml
ekluzek Aug 22, 2025
256e692
Merge branch 'b4b-dev' into for_testing_bypass_framework
ekluzek Sep 23, 2025
0137dc2
Merge branch 'for_testing_bypass_framework' of github.com:ekluzek/CTS…
ekluzek Sep 23, 2025
69792af
Merge branch 'b4b-dev' into for_testing_bypass_framework
ekluzek Sep 29, 2025
de1ca06
Add namelist controls for self testing
ekluzek Jun 27, 2025
c1c7ca3
Add unit_test_shr directory to the main model build
ekluzek Aug 29, 2025
db4551c
Merge remote-tracking branch 'escomp/b4b-dev' into decomp_init_for_te…
ekluzek Aug 23, 2025
cb8e7ec
Merge remote-tracking branch 'escomp/b4b-dev' into decomp_init_for_te…
ekluzek Aug 22, 2025
09aa5ac
Balance check doesn't take time, so adjust the timers again for part3
ekluzek Jul 31, 2025
bf498ab
Add another timer within part3, and also turn off some of the history…
ekluzek Jul 31, 2025
3c54060
Add timers for clm_initialize2 that cover the whole subroutine
ekluzek Jul 31, 2025
ce2d68b
Change the test grid total size to 384 so can be divisible by either …
ekluzek Sep 2, 2025
2fc723f
Don't do the abort testing if not serial as different tasks won't be …
ekluzek Sep 6, 2025
d8d656b
Change a test to make it valid for clump_pproc or not
ekluzek Sep 8, 2025
4ce6b5f
Just do the checking over the local processor clumps and not all the …
ekluzek Sep 14, 2025
7dc7dcd
Resolve the conflicts
ekluzek Oct 1, 2025
2a46724
Remove some of the previous bypassing changes that aren't needed here
ekluzek Aug 22, 2025
c95b886
Move bypass code around a bit so that most timers aren't half in/half…
ekluzek Aug 27, 2025
86382c6
Also bypass the import fields for_testing option, and move the decomp…
ekluzek Aug 27, 2025
dac0ae0
Move the get_proc_bounds to inside the bypass
ekluzek Aug 29, 2025
e867afe
Changes to exit early when self test namelist option used for_testing…
ekluzek Jul 2, 2025
d19b894
Add asserts for scalars and also text scalars
ekluzek Aug 11, 2025
a5d5b5c
Revert most of 2fd081b544 so removing the changes regarding the addit…
ekluzek Oct 1, 2025
b3185c0
Move some for_testing namelist items into the selftests driver namelist
ekluzek Oct 1, 2025
1acf630
Remove the uneeded timers and get back to the 3 part timers as they s…
ekluzek Oct 1, 2025
2636975
Remove some changes from the baseline code that aren't needed especia…
ekluzek Oct 1, 2025
def2c97
Remove TestDecompInit for now, bring it in, in another PR
ekluzek Oct 2, 2025
bf947fb
Remove the update to Assertions and bring it in, in another PR
ekluzek Oct 2, 2025
80192dc
Remove update in DecompInitMod for now
ekluzek Oct 2, 2025
df19381
Merge branch 'b4b-dev' into for_testing_bypass_framework
ekluzek Oct 3, 2025
417922d
Merge branch 'b4b-dev' into for_testing_bypass_framework
ekluzek Oct 4, 2025
f6839a9
Merge branch 'for_testing_bypass_framework' into add_decomp_init_self…
ekluzek Oct 5, 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
1 change: 1 addition & 0 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -5315,6 +5315,7 @@ sub write_output_files {
push @groups, "clm_canopy_inparm";
push @groups, "prigentroughness";
push @groups, "zendersoilerod";
push @groups, "for_testing_options";
if (remove_leading_and_trailing_quotes($nl->get_value('snow_cover_fraction_method')) eq 'SwensonLawrence2012') {
push @groups, "scf_swenson_lawrence_2012_inparm";
}
Expand Down
28 changes: 27 additions & 1 deletion bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1259,12 +1259,38 @@ Whether to use subgrid fluxes for snow
Whether snow on the vegetation canopy affects the radiation/albedo calculations
</entry>

<!-- ======================================================================================== -->
<!-- Namelist items for doing specific things for testing -->
<!-- for_testing section: -->
<!-- ======================================================================================== -->

<entry id="for_testing_bypass_init" type="logical" category="default_settings"
group="for_testing_options" >
For testing whether to bypass the rest of the initialization after the self test driver is run
</entry>

<entry id="for_testing_bypass_run" type="logical" category="default_settings"
group="for_testing_options" >
For testing whether to bypass most of the run phase other than the clock advance
</entry>

<entry id="for_testing_exit_after_self_tests" type="logical" category="default_settings"
group="for_testing_options" >
Whether to exit early after the initialization self tests are run. This is typically only used in automated tests.
</entry>

<entry id="for_testing_run_ncdiopio_tests" type="logical" category="default_settings"
group="clm_inparm" >
group="for_testing_options" >
Whether to run some tests of ncdio_pio as part of the model run. This is
typically only used in automated tests.
</entry>

<entry id="for_testing_run_decomp_init_tests" type="logical" category="default_settings"
group="for_testing_options" >
Whether to run some tests of decompInit (to get the gridcell to MPI task decomposition) as part of the model run. This is
typically only used in automated tests.
</entry>

<entry id="for_testing_use_second_grain_pool" type="logical" category="default_settings"
group="clm_inparm" >
If true, allocate memory for and use a second crop grain pool. This is
Expand Down
1 change: 1 addition & 0 deletions cime_config/buildlib
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ def _main_func():
os.path.join(lnd_root, "src", "dyn_subgrid"),
os.path.join(lnd_root, "src", "init_interp"),
os.path.join(lnd_root, "src", "self_tests"),
os.path.join(lnd_root, "src", "unit_test_shr"),
os.path.join(lnd_root, "src", "fates"),
os.path.join(lnd_root, "src", "fates", "main"),
os.path.join(lnd_root, "src", "fates", "biogeophys"),
Expand Down
41 changes: 0 additions & 41 deletions cime_config/testdefs/ExpectedTestFails.xml
Original file line number Diff line number Diff line change
Expand Up @@ -381,45 +381,4 @@

<!-- decomp_init test list-->

<test name="SMS_Ln1_PL.mpasa15_mpasa15.I2000Clm45Sp.derecho_intel.clm-run_self_tests">
<phase name="RUN">
<status>FAIL</status>
<issue>#3316</issue>
</phase>
</test>

<!-- interim_restart (and aux_clm) test list-->

<test name="ERR_Ld7.f10_f10_mg37.I2000Clm50BgcCropRtm.derecho_gnu.clm-default">
<phase name="COMPARE_base_rest">
<status>FAIL</status>
<issue>#3383</issue>
</phase>
</test>

<test name="ERR_Ld7.f10_f10_mg37.IHistClm60BgcCrop.derecho_gnu.clm-default">
<phase name="COMPARE_base_rest">
<status>FAIL</status>
<issue>#3383</issue>
</phase>
</test>
<test name="ERI_Ld41.f10_f10_mg37.I2000Clm60BgcCrop.derecho_gnu.clm-default">
<phase name="COMPARE_base_hybrid">
<status>FAIL</status>
<issue>#3494</issue>
</phase>
</test>

<test name="ERI_D_Ld9.f45_f45_mg37.I2000Clm60FatesSpCruRsGs.derecho_gnu.clm-FatesColdSatPhenCamLndTuningMode">
<phase name="COMPARE_base_rest">
<status>FAIL</status>
<issue>#3496</issue>
</phase>
</test>
<test name="ERI_D_Ld9.f45_f45_mg37.I2000Clm60FatesSpCruRsGs.derecho_intel.clm-FatesColdSatPhenCamLndTuningMode">
<phase name="RUN">
<status>FAIL</status>
<issue>#3507</issue>
</phase>
</test>
</expectedFails>
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
! Exit early and bypass the run phase
for_testing_exit_after_self_tests = .true.

! Turn off history, restarts, and output
hist_empty_htapes = .true.
use_noio = .true.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash
./xmlchange CLM_FORCE_COLDSTART="on"

# We use this testmod in a _Ln1 test; this requires forcing the ROF coupling frequency to every time step
./xmlchange ROF_NCPL=48

# Restarts aren't allowed for these tests, and turn off CPL history
./xmlchange REST_OPTION="never"
./xmlchange HIST_OPTION="never"
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
! Bypass as much of the init phase as can be done
! Bypassing the run phase already was inherited from the for_testing_fastsetup_bypassrun testmod
for_testing_bypass_init = .true.

! Turn on some of the self tests
for_testing_run_ncdiopio_tests = .true.

! Turn off history, restarts, and output
hist_empty_htapes = .true.
use_noio = .true.
for_testing_run_decomp_init_tests = .true.

! Exit initialization phase after the self tests
for_testing_bypass_init = .true.
Loading