Skip to content

ctsm5.4.039: add new fates namelist switch for dbh init when nocomp is on#3910

Open
mvdebolskiy wants to merge 7 commits into
ESCOMP:masterfrom
mvdebolskiy:add-fates-switch
Open

ctsm5.4.039: add new fates namelist switch for dbh init when nocomp is on#3910
mvdebolskiy wants to merge 7 commits into
ESCOMP:masterfrom
mvdebolskiy:add-fates-switch

Conversation

@mvdebolskiy
Copy link
Copy Markdown
Contributor

Description of changes

This change is coordinated with FATES PR NGEET/fates#1550.

Adds a switch for initializing patches with dbh instead of density for nocomp runs.

Specific notes

Contributors other than yourself, if any:

CTSM Issues Fixed (include github issue #):

Are answers expected to change (and if so in what way)?

No, switch is off by default

Any User Interface Changes (namelist or namelist defaults changes)?

use_fates_dbh_ini is added.

Does this create a need to change or add documentation? Did you do so?

Testing performed, if any:

ERS_D_Ld20.f45_f45_mg37.I2000Clm60FatesCrujraRs.derecho_intel.clm-FatesColdTwoStreamNoCompFixedBioGeo

Passed with diffs when use_fates_dbh_init=.true.
Without that namelist change bfb.

NOTE: Be sure to check your coding style against the standard
(https://github.com/ESCOMP/ctsm/wiki/CTSM-coding-guidelines) and review
the list of common problems to watch out for
(https://github.com/ESCOMP/CTSM/wiki/List-of-common-problems).

@mvdebolskiy mvdebolskiy requested review from glemieux and rgknox April 3, 2026 19:21
@github-project-automation github-project-automation Bot moved this to Ready to start (or start again) in CTSM: Upcoming tags Apr 6, 2026
@slevis-lmwg slevis-lmwg moved this from Ready to start (or start again) to In progress - master in CTSM: Upcoming tags Apr 6, 2026
@wwieder wwieder modified the milestone: FATES Freeze for ctsm6 Apr 16, 2026
@glemieux glemieux moved this from Finding Reviewers to Under Review in FATES Pull Request Planning and Status Apr 30, 2026
@glemieux glemieux moved this from Under Review to Final Testing in FATES Pull Request Planning and Status May 4, 2026
@ekluzek ekluzek changed the title add new fates namelist switch for dbh init when nocomp is on ctsm5.4.038: add new fates namelist switch for dbh init when nocomp is on May 4, 2026
@glemieux glemieux moved this from Final Testing to Hold in FATES Pull Request Planning and Status May 4, 2026
@glemieux
Copy link
Copy Markdown
Contributor

glemieux commented May 4, 2026

Per the ctsm-fates standup this morning, @mvdebolskiy is going to add a test for the new namelist option that will update the fates_recruit_init_seed on the fly.

@mvdebolskiy
Copy link
Copy Markdown
Contributor Author

mvdebolskiy commented May 4, 2026

@glemieux Should I also add an SP test?
I have ERS_D_Ld10.f45_f45_mg37.I2000Clm50FatesCruRsGs.derecho_intel.clm-FatesColdNoCompInitDbh in the queue right now. Will let you know if it goes through.
Test passed.

@mvdebolskiy mvdebolskiy requested a review from glemieux May 6, 2026 12:19
@glemieux
Copy link
Copy Markdown
Contributor

glemieux commented May 6, 2026

@glemieux Should I also add an SP test?

Not at this point, I think. It currently wouldn't end up doing anything since during initialization fates sp mode calculates the initial dbh from a hard-coded height value:
https://github.com/NGEET/fates/blob/b17b0bdff243c6782414e191736fb0d15935a5c7/main/EDInitMod.F90#L1349-L1381

Maybe there is a case to allow the user to change this initial dbh directly instead of calculating it from using the satellite phenology data, but I don't think so (at least not at this point). It would also require a bit of refactor to the sp mode initialization calls. CC'ing @adrifoster for her thoughts.

Fix for FATES year-boundary restart issue
@glemieux
Copy link
Copy Markdown
Contributor

glemieux commented May 6, 2026

Starting fates regression testing.

@glemieux glemieux moved this from Hold to Final Testing in FATES Pull Request Planning and Status May 6, 2026
@slevis-lmwg slevis-lmwg changed the title ctsm5.4.038: add new fates namelist switch for dbh init when nocomp is on ctsm5.4.039: add new fates namelist switch for dbh init when nocomp is on May 7, 2026
Merge b4b-dev to master

Details in PR ESCOMP#4000
@glemieux
Copy link
Copy Markdown
Contributor

aux_clm testing on derecho and izumi is underway.

@samsrabin samsrabin assigned ekluzek and unassigned samsrabin May 11, 2026
@glemieux
Copy link
Copy Markdown
Contributor

Regression testing on izumi is complete and all expected tests are B4B.

Results: /scratch/cluster/glemieux/ctsm-tests/tests_0511-103843iz

I've updated the ctsm5.4.039 baseline on izumi with read permissions.

Comment thread doc/ChangeLog

Changes answers relative to baseline:

sb
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks like an accidental add?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good catch, yep that's accidental

Comment thread bld/CLMBuildNamelist.pm
}
my $var = "use_fates_dbh_init";
if ( &value_is_true($nl->get_value($var)) && ( !&value_is_true($nl->get_value("use_fates_nocomp")))) {
$log->fatal_error("$var can only be .true. use_fates_nocomp is .true." );
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should add a failure test for this in the build-namelist tester.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I've got this updated and tested on derecho; I'll push it once it's back online.

@ekluzek
Copy link
Copy Markdown
Contributor

ekluzek commented May 12, 2026

It looks like jobs on Derecho timed out. But, the following ones are listed as pending still:

ERS_D.f19_g17.I1850Clm50BgcCrop.derecho_intel.clm-ciso_monthly_matrixcn_spinup
PEM_D_Ld5.ne30_g17.I2000Clm50BgcCru.derecho_intel.clm-default
SMS_Ln9.ne30pg2_ne30pg2_mg17.I1850Clm50Sp.derecho_intel.clm-clm50cam6LndTuningMode--clm-nofireemis
SMS_Ln9.ne30pg2_ne30pg2_mg17.I2000Clm50BgcCrop.derecho_intel.clm-clm50cam6LndTuningMode

Izumi all looks fine. I didn't check the fates tests.

Copy link
Copy Markdown
Contributor

@ekluzek ekluzek left a comment

Choose a reason for hiding this comment

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

There's a simple change to add a test to the build-namelist tester.

A bigger thing that I think would be worth thinking about is how this option should work with finidat files. If I understand this right this only applies if CLM_FORCE_COLDSTART==off. If that's the case we might want to add some more checking around this. I think that might be easy to do, but we'd probably want to it in a different PR since the testing is almost complete here. I can make an issue around this and it could be something for b4b-dev in the next go around.

@mvdebolskiy
Copy link
Copy Markdown
Contributor Author

mvdebolskiy commented May 12, 2026

@ekluzek this is only used in coldstart. (you can check call sequence in fates: init_cohorts->init_patches->init_coldstart none of which are called when finidat is used. It has no effect on finidat files. Also, I don't think there is a test needed, since there is NGEET/fates#1558. Which will cause us to remove the condition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress - master

Development

Successfully merging this pull request may close these issues.

6 participants