Skip to content
Open
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
56007bf
Removing non doalb call of wrap_canopy_radiation for fates
rgknox Apr 3, 2025
4ac4a78
Merge branch 'master' into revert-fates-doalb
rgknox May 6, 2025
3ce34ae
Adding testmods for fates with land tuning mode
rgknox May 6, 2025
9e2a98c
Added lnd tuning mode to two fates tests
rgknox May 6, 2025
823fbcf
Update user_nl_clm
rgknox May 7, 2025
811181a
switched test to full fates
rgknox May 7, 2025
6b41b65
updated testlist for fates land tuning mode
rgknox May 7, 2025
87bb6dc
updated test lists and configurations for fates with land tuning mode
rgknox May 9, 2025
46ec2fa
Updated fates land tuning testlist, and passing column level downwell…
rgknox May 13, 2025
2c5fbed
run radiation on first timestep
mvdebolskiy May 20, 2025
3347df8
remove diagnostic before wrap_sunfrac
mvdebolskiy May 22, 2025
4f3c505
Merge branch 'master' into revert-fates-doalb-merge
rgknox Aug 20, 2025
4a913fd
Merge branch 'master' into revert-fates-doalb-merge
rgknox Aug 20, 2025
a330795
removing use_fates_sp from doalb logic
rgknox Aug 29, 2025
4b9d409
Adding more land tuning mode tests to fates
rgknox Aug 29, 2025
2bdb22d
Merge branch 'master' into revert-fates-doalb-wsp
rgknox Aug 29, 2025
007465b
Merge branch 'master' into revert-fates-doalb-wsp
rgknox Sep 15, 2025
5309b0a
added land-tuning SP test to fates suite
rgknox Sep 15, 2025
40c2818
updated fates fleximod pointer to sci1.87.2
rgknox Sep 15, 2025
a2ceea0
fixed test list and removed unnecessary print statement
rgknox Sep 15, 2025
c886e40
Reverting column downscaling of solar with FATES
rgknox Sep 18, 2025
56ecc53
modifications to the doalb logic to re-enable b4b on most fates tests
rgknox Sep 19, 2025
f427877
Enabling b4b results with doalb changes, noting failing base compare …
rgknox Sep 21, 2025
6d80fe9
Added issue number to expected fail
rgknox Sep 22, 2025
fe146ce
Merge branch 'master' into revert-fates-doalb
rgknox Sep 24, 2025
32a5e43
Added an expected fail to the testlist
rgknox Sep 25, 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
30 changes: 30 additions & 0 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3505,6 +3505,36 @@
<option name="wallclock">00:20:00</option>
</options>
</test>
<test name="ERI_D_Ld9" grid="f45_f45_mg37" compset="I2000Clm60FatesSpCruRsGs" testmods="clm/FatesColdSatPhenCamLndTuningMode">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
<machine name="derecho" compiler="intel" category="fates"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment">No comment at this time</option>
</options>
</test>
<test name="ERS_D_Ld5" grid="f45_f45_mg37" compset="I2000Clm60Fates" testmods="clm/FatesColdCamLndTuningMode">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
<machine name="derecho" compiler="gnu" cateogory="fates"/>
</machines>
<options>
<option name="wallclock">00:10:00</option>
<option name="comment">No comment at this time</option>
</options>
</test>
<test name="ERI_D_Ld9" grid="f45_f45_mg37" compset="I2000Clm60Fates" testmods="clm/FatesColdCamLndTuningMode">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
<machine name="derecho" compiler="gnu" cateogory="fates"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

May be swap compilers between test-suites here? Since the test above already checks _D and Intel.

</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment">No comment at this time</option>
</options>
</test>
<test name="SMS_D_Ld5" grid="f45_f45_mg37" compset="I2000Clm60Fates" testmods="clm/FatesCold">
<machines>
<machine name="izumi" compiler="nag" category="aux_clm"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../FatesCold
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

./xmlchange LND_TUNING_MODE="clm6_0_cam7.0"
./xmlchange ROF_NCPL='$ATM_NCPL'

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
iradsw = -1
nextsw_cday_calc = "cam7"
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../FatesColdSatPhen
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

./xmlchange LND_TUNING_MODE="clm6_0_cam7.0"
./xmlchange ROF_NCPL='$ATM_NCPL'

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
use_fates_sp = .true.
fates_radiation_model = 'twostream'
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
iradsw = -1
nextsw_cday_calc = "cam7"
29 changes: 14 additions & 15 deletions src/main/clm_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ module clm_driver
use clm_varctl , only : use_cn, use_lch4, use_noio, use_c13, use_c14
use CNSharedParamsMod , only : use_matrixcn
use clm_varctl , only : use_crop, irrigate, ndep_from_cpl
use clm_varctl , only : use_soil_moisture_streams
use clm_varctl , only : use_cropcal_streams
use clm_varctl , only : use_soil_moisture_streams, fates_radiation_model
use clm_varctl , only : use_cropcal_streams, is_cold_start, nsrest, nsrStartup
use clm_time_manager , only : get_nstep, is_beg_curr_day, is_beg_curr_year
use clm_time_manager , only : get_prev_date, is_first_step
use clm_varpar , only : nlevsno, nlevgrnd
Expand Down Expand Up @@ -1264,23 +1264,22 @@ subroutine clm_drv(doalb, nextsw_cday, declinp1, declin, rstwr, nlend, rdate, ro
! ============================================================================
! Determine albedos for next time step
! ============================================================================

if (.not.doalb) then


if(use_fates) then
! During branch runs and non continue_run restarts, the doalb flag
! does not trigger correctly for fates runs (and non-fates?), and thus
! the zenith angles are not calculated and ready when radiation scattering
! needs to occur.
call UpdateZenithAngles(bounds_clump, surfalb_inst, nextsw_cday, declinp1)
call clm_fates%wrap_canopy_radiation(bounds_clump, nc, &
! This is only relevant to fates two stream to not break sun fraction calculations
! on the second timestep after start from finidat or for hybrid run.
if (use_fates .and. fates_radiation_model == 'twostream') then
if (.not. doalb .and. get_nstep() == 1) then
if (.not. is_cold_start .and. nsrest == nsrStartup) then
call UpdateZenithAngles(bounds_clump, surfalb_inst, nextsw_cday, declinp1)
call clm_fates%wrap_canopy_radiation(bounds_clump, nc, &
water_inst%waterdiagnosticbulk_inst%fcansno_patch(bounds_clump%begp:bounds_clump%endp), &
surfalb_inst)
end if

else
endif
endif
endif

if (doalb) then
if (masterproc) write(iulog,*) "Step alb: ", get_nstep()
! Albedos for non-urban columns
call t_startf('surfalb')
call SurfaceAlbedo(bounds_clump, &
Expand Down
14 changes: 7 additions & 7 deletions src/utils/clmfates_interfaceMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2358,11 +2358,11 @@ subroutine wrap_sunfrac(this,nc,atm2lnd_inst,canopystate_inst)

call t_startf('fates_wrapsunfrac')

associate( forc_solad => atm2lnd_inst%forc_solad_not_downscaled_grc, &
forc_solai => atm2lnd_inst%forc_solai_grc, &
fsun => canopystate_inst%fsun_patch, &
laisun => canopystate_inst%laisun_patch, &
laisha => canopystate_inst%laisha_patch )
associate( forc_solad_c => atm2lnd_inst%forc_solad_downscaled_col, &
forc_solai_g => atm2lnd_inst%forc_solai_grc, &
fsun => canopystate_inst%fsun_patch, &
laisun => canopystate_inst%laisun_patch, &
laisha => canopystate_inst%laisha_patch )

! -------------------------------------------------------------------------------
! Convert input BC's
Expand All @@ -2374,8 +2374,8 @@ subroutine wrap_sunfrac(this,nc,atm2lnd_inst,canopystate_inst)
g = col%gridcell(c)

do ifp = 1, this%fates(nc)%sites(s)%youngest_patch%patchno
this%fates(nc)%bc_in(s)%solad_parb(ifp,:) = forc_solad(g,:)
this%fates(nc)%bc_in(s)%solai_parb(ifp,:) = forc_solai(g,:)
this%fates(nc)%bc_in(s)%solad_parb(ifp,:) = forc_solad_c(c,:)
this%fates(nc)%bc_in(s)%solai_parb(ifp,:) = forc_solai_g(g,:)
end do
end do

Expand Down
Loading