Skip to content

Fix problems encountered with running PLUMBER2 sites#4092

Draft
olyson wants to merge 18 commits into
ESCOMP:masterfrom
olyson:PLUMBERwetland
Draft

Fix problems encountered with running PLUMBER2 sites#4092
olyson wants to merge 18 commits into
ESCOMP:masterfrom
olyson:PLUMBERwetland

Conversation

@olyson

@olyson olyson commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description of changes

This PR fixes failures in running PLUMBER2 sites. There are four categories of failures.

  1. Wetland sites fail at case creation because the usermods are requesting a change to baseflow_scalar in the user_nl_clm namelist, however, this parameter is now on the parameter file. This issue is described in PLUMBER2 wetland sites fail at case creation #4023 . The sites are:
        "CZ-wet",
        "DE-SfN",
        "FI-Kaa",
        "FI-Lom",
        "RU-Che",
        "SE-Deg",
        "US-Los",
        "US-Myb",
        "US-Tw4",
        "PL-wet"
  1. Several sites fail with a negative 2-m relatve humidity error in HumanIndexMod. The negative humidity is generated from either BareGroundFluxesMod or CanopyFluxesMod and passed into HumanIndexMod where there is an error check for this condition (and endrun). This issue is described in Several PLUMBER2 sites fail at run time #4081 . The sites are
        "ES-ES2",
        "ES-LgS",
        "ES-VDA",
        "SE-Deg",
        "US-Cop"
  1. Several sites fail with calendar errors. These are due to the fact that each site may require a different case setup configuration for spinup. This issue is described in Several PLUMBER2 sites fail at run time #4081 . The sites are
        "AT-Neu",
        "AU-How",
        "BE-Vie",
        "CH-Dav",
        "DE-Geb",
        "DE-Hai",
        "DE-Tha",
        "DK-Sor",
        "FR-Pue",
        "IT-MBo",
        "IT-SRo",
        "NL-Loo",
        "US-NR1",
        "US-FPa"
  1. After fixing 3. above, five of those sites run successfully but nine fail with a different calendar error. This is related to the fact that the time dimension in the atmospheric forcing files is float, not double, consequently, the time of day calculated in CDEPS is off by several seconds both for the lower bound and the upper bound. This can cause problems for leap day transitions. This issue is described in Several PLUMBER2 sites fail at run time #4081. The sites are:
        "AU-How",
        "BE-Vie",
        "CH-Dav",
        "DE-Geb",
        "DE-Tha",
        "DK-Sor",
        "FR-Pue",
        "NL-Loo",
        "US-NR1"

Specific notes

The fixes for these issues are:

  1. Here, tower_sites.py is modified so that for wetland sites, the parameter file for the base case is queried (regardless if it is wetland or not), and then the parameter file is replaced with a modified parameter file with baseflow_scalar=0 for any requested wetland sites in the run_tower submission.
    The baseflow_scalar namelist change request was deleted from the wetland sites shell commands by running tools/site_and_regional/plumber2_usermods. These modified shell commands are part of this commit.

  2. Per conversation with @wwieder , this PR turns off HumanIndexMod for all the PLUMBER2 sites for now, to avoid the negative relative humidity error check. This is accomplished in cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm.

  3. For the sites failing with the calendar error during spinup, these are the xml variables that need to be changed on a site by site basis for spinup:

RUN_STARTDATE
CALENDAR
DATM_YR_START
DATM_YR_END
DATM_YR_ALIGN
START_TOD (may be set correctly already though)

My run tower script (/glade/work/oleson/release-clm5.0.34/tools/PTCLM/run_clmtowers_plumber2.csh) handled this complexity, but this was not implemented in the run_tower infrastructure for PLUMBER2.
I've combined the new spinup variables into create_PLUMBER2_sites_csv.ncl -> PLUMBER2_sites.csv and modified the code to read these new variables in and generate the required shell commands.

  1. Tentatively, I plan to change the time dimension in the forcing files from float to double.

A one line change to plumber2_usermods.py was also required to get these sites to run. This line had been commented out pending a CDEPS mod, which appears to have been implemented.

One other change was required to get these sites to run, a change in cime_config/usermods_dirs/clm/PLUMBER2/defaults/shell_commands to set dtlimit to 50 instead of 30 for spinup.

Contributors other than yourself, if any: @wwieder (python help)

CTSM issues resolved or otherwise addressed, if any:
Resolves #4023
Resolves #4081

If answers are expected to change, describe (delete this line otherwise): The sites listed above will now run to completion

Any user interface changes (namelist or namelist defaults changes)? None to the defaults namelist. For wetlands, we only create a temporary modified parameter file for the requested run(s) and point to it in the run directory. Other changes here are accomplished by the PLUMBER2 shell commands.

Testing planned or performed, if any:
./run_tower --plumber-sites {AR-SLu,CZ-wet,DE-SfN,FI-Kaa,FI-Lom,RU-Che,SE-Deg,US-Los,US-Myb,US-Tw4,PL-wet, ES-ES2,ES-LgS,ES-VDA,US-Cop,AT-Neu,AU-How,BE-Vie,CH-Dav,DE-Geb,DE-Hai,DE-Tha,DK-Sor,FR-Pue,IT-MBo,IT-SRo,NL-Loo,US-NR1,US-PFa} --run-type ad --xmlchange STOP_OPTION=nyears,STOP_N=100,RESUBMIT=2,JOB_WALLCLOCK_TIME=06:00:00,PROJECT=P93300041 --overwrite

NOTE that the addition of AR-SLu here is to make sure I didn’t create/use a modified parameter file for non-wetland sites.

Requirements before merge:

  • I have followed the CTSM contribution guidelines.
  • The code in this PR branch builds with no errors.
  • The code in this PR branch runs with no errors. Briefly describe tested configuration(s): See above
  • This either (a) does not change answers, (b) it only changes answers at roundoff level, or (c) I have performed a scientific evaluation of the answer changes. Which?: I guess this is (d) We actually now get answers

@olyson olyson self-assigned this Jun 11, 2026
@olyson olyson added bug something is working incorrectly next this should get some attention in the next week or two. Normally each Thursday SE meeting. labels Jun 11, 2026
@olyson

olyson commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

I see that there are some python errors in the automated testing, I'll address those next week once I figure out what they are about. Although my code was rated 9.99/10, ha ha.

@olyson

olyson commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Ok, I've fixed all of the python-lint-and-black errors.

@wwieder wwieder requested a review from samsrabin June 24, 2026 16:07
@wwieder

wwieder commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

@samsrabin can you review this. Keith's done functional tests to check this works, but would like a review on the python. We can also discuss testing (which may be outside the scope of this PR)?

@samsrabin

Copy link
Copy Markdown
Member

Can do, sure. What sort of timeline were y'all hoping for?

@olyson

olyson commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Can do, sure. What sort of timeline were y'all hoping for?

Maybe by the end of next week?

@olyson

olyson commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Per discussion at CTSM software meeting, I'm going to expand this PR to include other fixes to problems I've encountered with running PLUMBER2 sites.

@olyson olyson marked this pull request as draft June 25, 2026 16:08
@olyson olyson changed the title Get PLUMBER2 wetland sites to run Fix problems encountered with running PLUMBER2 sites Jun 25, 2026
@olyson olyson removed the next this should get some attention in the next week or two. Normally each Thursday SE meeting. label Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug something is working incorrectly

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Several PLUMBER2 sites fail at run time PLUMBER2 wetland sites fail at case creation

3 participants