Skip to content

b4b: Work on build-namelist Initial Condition file (finidat) picking#3842

Draft
ekluzek wants to merge 39 commits intoESCOMP:b4b-devfrom
ekluzek:work_on_IC_nml_picking
Draft

b4b: Work on build-namelist Initial Condition file (finidat) picking#3842
ekluzek wants to merge 39 commits intoESCOMP:b4b-devfrom
ekluzek:work_on_IC_nml_picking

Conversation

@ekluzek
Copy link
Copy Markdown
Contributor

@ekluzek ekluzek commented Mar 25, 2026

Description of changes

Some work on the initial condition picking in build-namelist. This makes it more robust by making sure use_init_interp is set in nl_flags as strictly either .true. or .false. so it can be used correctly in getting values from namelist-defaults.

Part of what is happening here is that a new subroutine to set the current iteration of use_init_interp is added

setup_preliminary_use_init_interp

which is called a few different places and called more than once. So it makes the handling of use_init_interp as it plays out to be more robust.

Specific notes

Contributors other than yourself, if any:

CTSM Issues Fixed (include github issue #):
Fixes #3832
Work on #2169

Are answers expected to change (and if so in what way)? No, unless there is a bug in finidat picking

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

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

Testing performed, if any: will do regular

glemieux and others added 30 commits February 13, 2026 13:52
Change to using the ifx compiler and some more fixes

Updates ccs_config to 1.0.75 which has the new ifx compiler in use for derecho_intel, as well as updating to using ESMF8.9.0. This exposed problems in the code on two fronts when running with DEBUG mode:

Reliance on short-circuiting in if statements
Problems with NaN's, in datasets especially _FillValue
For the former, we changed code to break up if statements so this would work. And with the latter we point to new datasets with the NaN's handled. mosart and cdeps code also had short-circuiting problems.

@samsrabin created a script to examine all of the files in namelist_defaults_ctsm.xml and in the testmod directories to check if there were problems with NaN's in _FillValues. The modified files here all were the result
of the first pass of that script. The new files all have a ".no_nan_fill.nc" ending on them.

Includes updating submodules: ccs_config, cdeps, mosart
Update derecho_intel again and some fixes for it

Update to ccs_config1.0.77 with derecho_intel updates to intel/2024.3.2. And a two line fix to a continuation line in
the middle of a string, so that it will build.
Note, there are several mpi-serial Bgc cases that now fail on derecho_intel see details below.

Also update the parameter files to ones that have some new fields on it that will be moved from namelist to the parameter
file in a future b4b-dev PR.

Improve the logging about the ch4finundation stream. Some of this seemed to be important in order to be able to change
ch4finundationmapalo away from bilinear.

Remove a bunch of tests in the expected fail files that have been working now. Add a few more newly failing tests.
Merge b4b-dev to master

Purpose and description of changes
----------------------------------

Merge b4b-dev to master:

Important things coming in:

 - mizuRoute! (NOTE: mizuRoute is a River model (ROF in the CESM context) that can be run in place of MOSART or RTM)
 - Documentation updates
 - Move a few namelist parameters to the parameter file
 - move of X components for nuopc
 - mksurfdata_esmf for Gnu compiler
 - scripts for CRUJRA forcing to handle Antarctica/Greenland
 - SpinupStablity script update to handle FATES and SE grids
 - Update cdeps for access to CMIP7 CO2
 - Tests for FATES Tree Recruitment Scheme (TRS)

Main grids to use with mizuRoute:

  Default mizuRoute grids will use the half degree land-only mizuRoute grid that is the same resolution as the MOSART grid.

  - 5x5_amazon_r05 - is the small Amazon region for testing
  - 5x5_amazon_rHDMA - is the small Amazon region using the HDMA for mizuRoute
  - nldas2_nldas2_rUSGS_mnldas2 - is the Continental US grid with USGS Geospatial Fabric
  - f09_f09_rHDMA_mg17 - is the 2 degree grid with the medium resolution HDMA grid
  - f09_f09_rHDMAlk_mg17 - is the 2 degree grid with the medium resolution HDMA grid that includes lakes
  - hcru_hcru_rMERIT_mt13 - is the half degree grid with the high resolution MERIT grid

Standard case to run with mizuRoute:

  grid=f09_f09_rHDMAlk_mg17 compset=I2000Clm60SpMizGs
This points to the fates tag associated with the history variable updates
Merge b4b-dev to master

Purpose and description of changes
----------------------------------

Merge b4b-dev to master:

Important things coming in:

 - mizuRoute! (NOTE: mizuRoute is a River model (ROF in the CESM context) that can be run in place of MOSART or RTM)
 - Documentation updates
 - Move a few namelist parameters to the parameter file
 - move of X components for nuopc
 - mksurfdata_esmf for Gnu compiler
 - scripts for CRUJRA forcing to handle Antarctica/Greenland
 - SpinupStablity script update to handle FATES and SE grids
 - Update cdeps for access to CMIP7 CO2
 - Tests for FATES Tree Recruitment Scheme (TRS)

Main grids to use with mizuRoute:

  Default mizuRoute grids will use the half degree land-only mizuRoute grid that is the same resolution as the MOSART grid.

  - 5x5_amazon_r05 - is the small Amazon region for testing
  - 5x5_amazon_rHDMA - is the small Amazon region using the HDMA for mizuRoute
  - nldas2_nldas2_rUSGS_mnldas2 - is the Continental US grid with USGS Geospatial Fabric
  - f09_f09_rHDMA_mg17 - is the 2 degree grid with the medium resolution HDMA grid
  - f09_f09_rHDMAlk_mg17 - is the 2 degree grid with the medium resolution HDMA grid that includes lakes
  - hcru_hcru_rMERIT_mt13 - is the half degree grid with the high resolution MERIT grid

Standard case to run with mizuRoute:

  grid=f09_f09_rHDMAlk_mg17 compset=I2000Clm60SpMizGs
ctsm5.4.026: Transfer biophysical variables for output with FATES dimensions
Transfer biophysical variables for output with FATES dimensions

This pull request updates the high frequency wrapper procedure in the interface to pass
biophysical CLM variables to be output along FATES dimensions. The FATES land use x
pft dimension is also added to the history module.  The FATES base land use test module
adds the FATES history noted above to the test output.
…ngs are done when the initial use_init_interp default setting is checked for (otherwise it would always be true since it couldn't distinquish by attributes)
Resolve ESCOMP#3835 by adding 2010 to init_interp_sim_years.
nit_interp_sim_years #
ekluzek and others added 9 commits March 23, 2026 23:48
…_interp and init_interp_attributes and set 2003 finidat only once and use do_transient_pfts=.true.
…terp more robust, by calling it after the settings have been declared, rather than setting them only for the default run through
…th single vs double precision, larger changes to clm4_5 have already come in
…anges

ctsm5.4.027: Important coupled model  final answer changes: param file and n_melt_glcmec
…p_logic_initial_condition subroutine a few times and elsewhere to get the current use_init_interp setting in order to make the initial_conditions picking more robust working on issue ESCOMP#2169 and resolving ESCOMP#3832
Some final namelist default changes needed

Some important final answer changes needed for the coupled model to get the right parameter file and to set n_melt_glcmec=1 for clm6_0.

Also use the 2015 finidat file for SSP future scenarios. And fix some of the namelist picking for finidat files, especially for: 2003, 2010, and 2015.

 Conflicts:
	bld/CLMBuildNamelist.pm
@ekluzek ekluzek added this to the ctsm6.0.0 (code freeze) milestone Mar 25, 2026
@ekluzek ekluzek self-assigned this Mar 25, 2026
@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability code health improving internal code structure to make easier to maintain (sustainability) bfb bit-for-bit usability Improve or clarify user-facing options labels Mar 25, 2026
@github-project-automation github-project-automation bot moved this to Ready to start (or start again) in CTSM: Upcoming tags Mar 25, 2026
@ekluzek ekluzek added the blocked: dependency Wait to work on this until dependency is resolved label Mar 25, 2026
@ekluzek
Copy link
Copy Markdown
Contributor Author

ekluzek commented Mar 25, 2026

This is blocked by needing ctsm5.4.027 to come to b4b-dev first.

@ekluzek ekluzek changed the base branch from master to b4b-dev March 25, 2026 05:46
@ekluzek ekluzek moved this from Ready to start (or start again) to In progress - b4b-dev in CTSM: Upcoming tags Mar 25, 2026
@ekluzek ekluzek changed the title b4b: Work on ic nml picking b4b: Work on build-namelist Initial Condition file (finidat) picking Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bfb bit-for-bit blocked: dependency Wait to work on this until dependency is resolved code health improving internal code structure to make easier to maintain (sustainability) enhancement new capability or improved behavior of existing capability usability Improve or clarify user-facing options

Projects

Status: In progress - b4b-dev
Status: Todo

Development

Successfully merging this pull request may close these issues.

Put use_init_interp in $nl_flags as either .true. or .false. so can be correctly handled in namelist_defaults_ctsm.xml

2 participants