Skip to content

Merge b4bdev 20260219#3777

Merged
ekluzek merged 54 commits into
ESCOMP:masterfrom
slevis-lmwg:merge-b4bdev-20260219
Feb 21, 2026
Merged

Merge b4bdev 20260219#3777
ekluzek merged 54 commits into
ESCOMP:masterfrom
slevis-lmwg:merge-b4bdev-20260219

Conversation

@slevis-lmwg
Copy link
Copy Markdown
Contributor

@slevis-lmwg slevis-lmwg commented Feb 19, 2026

Description of changes

#3765 Fixes for ifx, from Bill Sacks
#3084 Added code to make st-archive handle DART files, from Kevin Raeder
#3761 Use pytest instead of unittest in run_ctsm_py_tests, from Sam Rabin
#3582 Use a CMake function provided by CIME, from Bill Sacks
#3700 Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries, from Cooper DeVane-Prugh
#3220 Tech Note: Distinguish between time step and iteration level in vegetation longwave and fluxes, from Keith Oleson

  • Update ChangeLog/Sum

Specific notes

Contributors other than yourself, if any:

CTSM Issues Fixed (include github issue #):
Resolves #3762 by Bill Sacks
Resolves #3763 by Bill Sacks
Resolves #3774 by Erik Kluzek
Resolves #3082 by Kevin Raeder
Resolves #3616 by Sam Rabin
Resolves #3035 by Keith Oleson

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

Any User Interface Changes (namelist or namelist defaults changes)? Yes
New Prigent and urbantv streams files with NaN's removed by Bill Sacks

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

Testing performed, if any:

  • make black
  • make lint
  • ./run_ctsm_py_tests
  • ./build-namelist_test.pl
  • aux_clm on derecho (inadvertently from the cupid-infrastructure env instead of ctsm_pylib)
  • aux_clm on izumi: several tests originally failed to submit due to files Not Found and ./rimport resolved them:
Prigent_2005_roughness_0.25x0.25_cdf5_c260218.nc
CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc

@slevis-lmwg working in local directory /glade/work/slevis/git/b4b-dev
Handing over to Erik at step 7 in https://github.com/ESCOMP/CTSM/wiki/b4b%E2%80%90dev-branch-procedures

kdraeder and others added 30 commits April 22, 2025 11:47
The CMakeLists.txt declares PIO libraries as STATIC IMPORTED but then
points to shared library files (.so). This is an internal inconsistency
that can cause build failures when using externally-built shared PIO
libraries.

Fix: Change STATIC IMPORTED to SHARED IMPORTED for pioc and piof targets
since they reference .so files.

Tested on: HiPerGator (UF HPC) with GCC 14.2.0, OpenMPI 5.0.7,
shared PIO 2.6.6 at /blue/gerber/earth_models/shared/parallelio/bld/
This brings the parameter file in line with what I used for my AGU 2025 simulations.

grnfill:
   Values differ:
      [pft 61 (rice)] 0.4000000059604645 → 0.6
      [pft 62 (irrigated_rice)] 0.4000000059604645 → 0.6

lfemerg:
   Values differ:
      [pft 61 (rice)] 0.009999999776482582 → 0.05
      [pft 62 (irrigated_rice)] 0.009999999776482582 → 0.05
The CMakeLists.txt declares PIO libraries as STATIC IMPORTED but then
points to shared library files (.so). This is an internal inconsistency
that can cause build failures when using externally-built shared PIO
libraries.

Fix: Change STATIC IMPORTED to SHARED IMPORTED for pioc and piof targets
since they reference .so files.

Tested on: HiPerGator (UF HPC) with GCC 14.2.0, OpenMPI 5.0.7,
shared PIO 2.6.6 at /blue/gerber/earth_models/shared/parallelio/bld/
Tech Note: Distinguish between time step and iteration level in vegetation longwave and fluxes
ifx apparently doesn't do short-circuit evaluation, so
SMS_D_Ld1.ne30pg3_t232.I1850Clm50BgcSpinup.derecho_intel.clm-cplhist was
crashing with floating invalid when using the ifx compiler (via
ccs_config_cesm1.0.75).

Resolves ESCOMP#3763
Changed FillValue from NaN to non-Nan with:

ncatted -a _FillValue,p_ac_MD,o,d,1.e38 /glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc
ncatted -a _FillValue,p_ac_HD,o,d,1.e38 /glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc
ncatted -a _FillValue,p_ac_TBD,o,d,1.e38 /glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc

Partially addresses ESCOMP#3764
ekluzek and others added 16 commits February 18, 2026 15:34
…-shared-pio

Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries
Use a CMake function provided by CIME

Ran unit tester again and it all works.
…test

Use pytest instead of unittest in run_ctsm_py_tests
Added code to make st-archive handle DART files
Address C-cycle + fire biases in CESM3 runs by updating nml defaults

- New defaults for lnd_tuning_mode="clm6_0_cam7.0"
 defo_fire_precip_thresh_bet = 1.4d00
 rh_hgh = 80.0d00

- New default paramfiles
 for clm6: /glade/work/linnia/CLM6-PPE/ctsm6_cal/paramfiles/ctsm60_params.c260204.nc
 for lnd_tuning_mode="clm6_0_cam7.0": /glade/u/home/slevis/paramfiles/iss3725_forFang/ctsm60_params.c260204.cesm3-01.nc
 The latter got renamed to ctsm60-cam70_params.c260204.nc and it increases pft-specific values of "rswf_max" and "rswf_min"

- New default finidat for ne30 and 1850
 /glade/derecho/scratch/wwieder/archive/ctsm5.4.015_BGCcrop_ne30_144_pSASU/rest/0181-01-01-00000/ctsm5.4.015_BGCcrop_ne30_144_pSASU.clm2.r.0181-01-01-00000.nc

 All new files got moved to /inputdata and got rimported.

Issue ESCOMP#3725
PR ESCOMP#3756

Changes answers relative to baseline in Clm6 cases:
- Nature of change: larger than roundoff due to changes in defaults
- LMWG_dev issue number(s): NCAR/LMWG_dev#141
                            NCAR/LMWG_dev#143
@slevis-lmwg slevis-lmwg self-assigned this Feb 19, 2026
@slevis-lmwg slevis-lmwg added the b4b bit-for-bit label Feb 19, 2026
@slevis-lmwg slevis-lmwg moved this from Todo to In Progress in LMWG: Sprint Planning Board Feb 20, 2026
@ekluzek ekluzek self-assigned this Feb 20, 2026
@ekluzek ekluzek merged commit 20cf01f into ESCOMP:master Feb 21, 2026
8 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in LMWG: Sprint Planning Board Feb 21, 2026
@ekluzek ekluzek deleted the merge-b4bdev-20260219 branch February 21, 2026 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment