Skip to content

Commit

Permalink
Merge remote-tracking branch 'escomp/b4b-dev' into fix_cam_dust_emiss…
Browse files Browse the repository at this point in the history
…_control
  • Loading branch information
ekluzek committed Aug 21, 2024
2 parents 717f957 + 1ef04e9 commit 786252b
Show file tree
Hide file tree
Showing 31 changed files with 902 additions and 68 deletions.
23 changes: 0 additions & 23 deletions .github/workflows/assign-to-project.yml

This file was deleted.

23 changes: 19 additions & 4 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,21 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<cmb_cmplt_fact_litter fire_method="li2021gswpfrc" >0.5d00</cmb_cmplt_fact_litter>
<cmb_cmplt_fact_cwd fire_method="li2021gswpfrc" >0.28d00</cmb_cmplt_fact_cwd>

<rh_low fire_method="li2024gswpfrc" >30.0d00</rh_low>
<rh_hgh fire_method="li2024gswpfrc" >80.0d00</rh_hgh>
<bt_min fire_method="li2024gswpfrc" >0.85d00</bt_min>
<bt_max fire_method="li2024gswpfrc" >0.98d00</bt_max>
<cli_scale fire_method="li2024gswpfrc" >0.025d00</cli_scale>
<boreal_peatfire_c fire_method="li2024gswpfrc" >0.09d-4</boreal_peatfire_c>
<pot_hmn_ign_counts_alpha fire_method="li2024gswpfrc" >0.010d00</pot_hmn_ign_counts_alpha>
<non_boreal_peatfire_c fire_method="li2024gswpfrc" >0.17d-3</non_boreal_peatfire_c>
<cropfire_a1 fire_method="li2024gswpfrc" >0.21d00</cropfire_a1>
<occur_hi_gdp_tree fire_method="li2024gswpfrc" >0.33d00</occur_hi_gdp_tree>
<lfuel fire_method="li2024gswpfrc" >75.d00</lfuel>
<ufuel fire_method="li2024gswpfrc" >1050.d00</ufuel>
<cmb_cmplt_fact_litter fire_method="li2024gswpfrc" >0.5d00</cmb_cmplt_fact_litter>
<cmb_cmplt_fact_cwd fire_method="li2024gswpfrc" >0.28d00</cmb_cmplt_fact_cwd>

<!-- Canopy fluxes namelist defaults -->
<use_undercanopy_stability >.false.</use_undercanopy_stability>
<use_undercanopy_stability phys="clm4_5" >.true.</use_undercanopy_stability>
Expand Down Expand Up @@ -504,10 +519,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<!-- The default filenames are given relative to the root directory
for the CLM2 data in the CESM distribution -->
<!-- Plant function types (relative to {csmdata}) -->
<paramfile phys="clm6_0" >lnd/clm2/paramdata/ctsm60_params.c240208.nc</paramfile>
<paramfile phys="clm5_1" >lnd/clm2/paramdata/ctsm51_params.c240208.nc</paramfile>
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c240208.nc</paramfile>
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c240208.nc</paramfile>
<paramfile phys="clm6_0" >lnd/clm2/paramdata/ctsm60_params.c240814.nc</paramfile>
<paramfile phys="clm5_1" >lnd/clm2/paramdata/ctsm51_params.c240814.nc</paramfile>
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c240814.nc</paramfile>
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c240814.nc</paramfile>

<!-- ================================================================== -->
<!-- FATES default parameter file -->
Expand Down
3 changes: 2 additions & 1 deletion bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -252,13 +252,14 @@ formulation (1).
</entry>

<entry id="fire_method" type="char*80" category="clm_physics"
group="cnfire_inparm" valid_values="nofire,li2014qianfrc,li2016crufrc,li2021gswpfrc" >
group="cnfire_inparm" valid_values="nofire,li2014qianfrc,li2016crufrc,li2021gswpfrc,li2024gswpfrc" >
The method type to use for CNFire

nofire: Turn fire effects off
li2014qianfrc: Reference paper Li, et. al.(2014) tuned with QIAN atmospheric forcing
li2016crufrc: Reference paper Li, et. al.(2016) tuned with CRU-NCEP atmospheric forcing
li2021gswpfrc: Reference paper Li, et. al.(2021?) tuned with GSWP3 atmospheric forcing
li2024gswpfrc: No reference paper yet
</entry>

<entry id="pot_hmn_ign_counts_alpha" type="real" category="clm_physics"
Expand Down
40 changes: 40 additions & 0 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3560,6 +3560,46 @@
</options>
</test>

<test name="SMS_D_Ld65" grid="f10_f10_mg37" compset="I2000Clm45BgcCropQianRs" testmods="clm/FireLi2014Qian">
<machines>
<machine name="derecho" compiler="intel" category="aux_clm"/>
<machine name="derecho" compiler="intel" category="fire"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
</options>
</test>

<test name="SMS_D_Ld65" grid="f10_f10_mg37" compset="I2000Clm50BgcCru" testmods="clm/FireLi2016Cru">
<machines>
<machine name="derecho" compiler="gnu" category="aux_clm"/>
<machine name="derecho" compiler="gnu" category="fire"/>
</machines>
<options>
<option name="wallclock">00:30:00</option>
</options>
</test>

<test name="SMS_D_Ld65" grid="f10_f10_mg37" compset="I2000Clm50BgcCrop" testmods="clm/FireLi2021GSWP">
<machines>
<machine name="izumi" compiler="intel" category="aux_clm"/>
<machine name="izumi" compiler="intel" category="fire"/>
</machines>
<options>
<option name="wallclock">00:30:00</option>
</options>
</test>

<test name="SMS_D_Ld65" grid="f10_f10_mg37" compset="I2000Clm60BgcCrop" testmods="clm/FireLi2024GSWP">
<machines>
<machine name="izumi" compiler="nag" category="aux_clm"/>
<machine name="izumi" compiler="nag" category="fire"/>
</machines>
<options>
<option name="wallclock">00:30:00</option>
</options>
</test>

<test name="SMS_Ld733" grid="f10_f10_mg37" compset="IHistClm60BgcCrop" testmods="clm/cropMonthOutput--clm/RxCropCalsNoAdapt">
<machines>
<machine name="derecho" compiler="intel" category="crop_calendars"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../default
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fire_method = 'li2014qianfrc'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../default
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fire_method = 'li2016crufrc'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../default
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fire_method = 'li2021gswpfrc'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../default
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fire_method = 'li2024gswpfrc'
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm51_ciso_cwd_hr_params.c240208.nc'
paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm51_ciso_cwd_hr_params.c240814.nc'
hist_fincl1 = 'CWDC_HR','C13_CWDC_HR','C14_CWDC_HR','CWD_HR_L2','CWD_HR_L2_vr','CWD_HR_L3','CWD_HR_L3_vr'
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
use_soil_matrixcn = .true.
paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm60_params_cn30.c240625.nc'
paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm60_params_cn30.c240814.nc'
75 changes: 75 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,79 @@
===============================================================
Tag name: ctsm5.2.023
Originator(s): samrabin (Sam Rabin, UCAR/TSS, [email protected])
Date: Fri Aug 16 11:00:32 MDT 2024
One-line Summary: Merge b4b-dev

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

Brings in 3 PRs from b4b-dev to master:
- Always check finidat_interp_dest.status (ESCOMP/CTSM#2679; Sam Rabin)
- Remove broken assign-to-project Github workflow (ESCOMP/CTSM#2683; Sam Rabin)
- [Fang summer '24 PR 1.1] Fix bugs and develop crop fire modeling (ESCOMP/CTSM#2684; Fang Li and Sam Rabin)


Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[ ] clm6_0

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------

List of CTSM issues fixed:
- Resolves ESCOMP/CTSM#2562: Fix or disable "Assign to High Priority project" workflow
- Resolves ESCOMP/CTSM#2566: bug in crop fire modeling
- Resolves ESCOMP/CTSM#2596: Check of finidat_interp_dest.status isn't reached

Notes of particular relevance for users
---------------------------------------

Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables):
- Adds new fire_method option li2024gswpfrc; default hasn't changed.


Notes of particular relevance for developers:
---------------------------------------------
NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide

Changes to tests or testing: Adds 4 tests:
- SMS_D_Ld65.f10_f10_mg37.I2000Clm50BgcCru.derecho_gnu.clm-FireLi2016Cru
- SMS_D_Ld65.f10_f10_mg37.I2000Clm45BgcCropQianRs.derecho_intel.clm-FireLi2014Qian
- SMS_D_Ld65.f10_f10_mg37.I2000Clm50BgcCrop.izumi_intel.clm-FireLi2021GSWP
- SMS_D_Ld65.f10_f10_mg37.I2000Clm60BgcCrop.izumi_nag.clm-FireLi2024GSWP

Testing summary:
----------------

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK

Other details
-------------

Pull Requests that document the changes:
- Always check finidat_interp_dest.status (ESCOMP/CTSM#2679; Sam Rabin): https://github.com/ESCOMP/CTSM/pull/2679
- Remove broken assign-to-project Github workflow (ESCOMP/CTSM#2683; Sam Rabin): https://github.com/ESCOMP/CTSM/pull/2683
- [Fang summer '24 PR 1.1] Fix bugs and develop crop fire modeling (ESCOMP/CTSM#2684; Fang Li and Sam Rabin): https://github.com/ESCOMP/CTSM/pull/2684


===============================================================
===============================================================
Tag name: ctsm5.2.022
Originator(s): samrabin (Sam Rabin, UCAR/TSS, [email protected])
Date: Wed Aug 14 12:24:27 MDT 2024
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.2.023 samrabin 08/16/2024 Merge b4b-dev
ctsm5.2.022 samrabin 08/14/2024 Rework crop_calendars suite and cropMonthOutput
ctsm5.2.021 rgknox 08/13/2024 Adding on-the-fly parameter settings for prescribed N and P in FATES
ctsm5.2.020 slevis 08/12/2024 MEGAN updates (MEGAN-CLM6)
Expand Down
2 changes: 1 addition & 1 deletion src/biogeochem/CNDriverMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -922,7 +922,7 @@ subroutine CNDriverNoLeaching(bounds,
num_exposedvegp, filter_exposedvegp, num_noexposedvegp, filter_noexposedvegp, &
atm2lnd_inst, energyflux_inst, saturated_excess_runoff_inst, waterdiagnosticbulk_inst, wateratm2lndbulk_inst, &
waterstatebulk_inst, soilstate_inst, soil_water_retention_curve, &
cnveg_state_inst, cnveg_carbonstate_inst, &
crop_inst, cnveg_state_inst, cnveg_carbonstate_inst, &
totlitc_col=soilbiogeochem_carbonstate_inst%totlitc_col(begc:endc), &
decomp_cpools_vr_col=soilbiogeochem_carbonstate_inst%decomp_cpools_vr_col(begc:endc,1:nlevdecomp_full,1:ndecomp_pools), &
t_soi17cm_col=temperature_inst%t_soi17cm_col(begc:endc))
Expand Down
8 changes: 0 additions & 8 deletions src/biogeochem/CNFUNMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ module CNFUNMod
public:: CNFUN ! Run FUN

type, private :: params_type
real(r8) :: ndays_on ! number of days to complete leaf onset
real(r8) :: ndays_off ! number of days to complete leaf offset
end type params_type

Expand All @@ -64,7 +63,6 @@ module CNFUNMod
!
! !PRIVATE DATA MEMBERS:
real(r8) :: dt ! decomp timestep (seconds)
real(r8) :: ndays_on ! number of days to complete onset
real(r8) :: ndays_off ! number of days to complete offset

integer, private, parameter :: COST_METHOD = 2 !new way of doing the N uptake
Expand Down Expand Up @@ -104,11 +102,6 @@ subroutine readParams ( ncid )

! read in parameters

tString='ndays_on'
call ncd_io(varname=trim(tString),data=tempr, flag='read', ncid=ncid, readvar=readv)
if ( .not. readv ) call endrun( msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__))
params_inst%ndays_on=tempr

tString='ndays_off'
call ncd_io(varname=trim(tString),data=tempr, flag='read', ncid=ncid, readvar=readv)
if ( .not. readv ) call endrun( msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__))
Expand Down Expand Up @@ -172,7 +165,6 @@ subroutine CNFUNInit (bounds,cnveg_state_inst,cnveg_carbonstate_inst,cnveg_nitro
timestep_fun = real(secspday * fun_period)
nstep_fun = int(secspday * dayspyr / dt)

ndays_on = params_inst%ndays_on
ndays_off = params_inst%ndays_off

!--------------------------------------------------------------------
Expand Down
3 changes: 3 additions & 0 deletions src/biogeochem/CNFireFactoryMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ subroutine create_cnfire_method( NLFilename, cnfire_method )
use CNFireLi2014Mod , only : cnfire_li2014_type
use CNFireLi2016Mod , only : cnfire_li2016_type
use CNFireLi2021Mod , only : cnfire_li2021_type
use CNFireLi2024Mod , only : cnfire_li2024_type
use decompMod , only : bounds_type
!
! !ARGUMENTS:
Expand All @@ -115,6 +116,8 @@ subroutine create_cnfire_method( NLFilename, cnfire_method )
allocate(cnfire_li2016_type :: cnfire_method)
case ("li2021gswpfrc")
allocate(cnfire_li2021_type :: cnfire_method)
case ("li2024gswpfrc")
allocate(cnfire_li2024_type :: cnfire_method)

case default
write(iulog,*) subname//' ERROR: unknown method: ', fire_method
Expand Down
4 changes: 3 additions & 1 deletion src/biogeochem/CNFireLi2014Mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
num_exposedvegp, filter_exposedvegp, num_noexposedvegp, filter_noexposedvegp, &
atm2lnd_inst, energyflux_inst, saturated_excess_runoff_inst, waterdiagnosticbulk_inst, &
wateratm2lndbulk_inst, waterstatebulk_inst, soilstate_inst, soil_water_retention_curve, &
cnveg_state_inst, cnveg_carbonstate_inst, totlitc_col, decomp_cpools_vr_col, t_soi17cm_col)
crop_inst, cnveg_state_inst, cnveg_carbonstate_inst, totlitc_col, decomp_cpools_vr_col, t_soi17cm_col)
!
! !DESCRIPTION:
! Computes column-level burned area
Expand All @@ -99,6 +99,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
use pftconMod , only: nc4_grass, nc3crop, ndllf_evr_tmp_tree
use pftconMod , only: nbrdlf_evr_trp_tree, nbrdlf_dcd_trp_tree, nbrdlf_evr_shrub
use dynSubgridControlMod , only: run_has_transient_landcover
use CropType , only: crop_type
!
! !ARGUMENTS:
class(cnfire_li2014_type) :: this
Expand All @@ -121,6 +122,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
class(soil_water_retention_curve_type), intent(in) :: soil_water_retention_curve
type(cnveg_state_type) , intent(inout) :: cnveg_state_inst
type(cnveg_carbonstate_type) , intent(inout) :: cnveg_carbonstate_inst
type(crop_type) , intent(in) :: crop_inst ! Dummy argument; not used in this version of CNFireArea
real(r8) , intent(in) :: totlitc_col(bounds%begc:)
real(r8) , intent(in) :: decomp_cpools_vr_col(bounds%begc:,1:,1:)
real(r8) , intent(in) :: t_soi17cm_col(bounds%begc:)
Expand Down
4 changes: 3 additions & 1 deletion src/biogeochem/CNFireLi2016Mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
num_exposedvegp, filter_exposedvegp, num_noexposedvegp, filter_noexposedvegp, &
atm2lnd_inst, energyflux_inst, saturated_excess_runoff_inst, waterdiagnosticbulk_inst, &
wateratm2lndbulk_inst, waterstatebulk_inst, soilstate_inst, soil_water_retention_curve, &
cnveg_state_inst, cnveg_carbonstate_inst, totlitc_col, decomp_cpools_vr_col, t_soi17cm_col)
crop_inst, cnveg_state_inst, cnveg_carbonstate_inst, totlitc_col, decomp_cpools_vr_col, t_soi17cm_col)
!
! !DESCRIPTION:
! Computes column-level burned area
Expand All @@ -101,6 +101,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
use pftconMod , only: nc4_grass, nc3crop, ndllf_evr_tmp_tree
use pftconMod , only: nbrdlf_evr_trp_tree, nbrdlf_dcd_trp_tree, nbrdlf_evr_shrub
use dynSubgridControlMod , only : run_has_transient_landcover
use CropType , only: crop_type
!
! !ARGUMENTS:
class(cnfire_li2016_type) :: this
Expand All @@ -123,6 +124,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
class(soil_water_retention_curve_type), intent(in) :: soil_water_retention_curve
type(cnveg_state_type) , intent(inout) :: cnveg_state_inst
type(cnveg_carbonstate_type) , intent(inout) :: cnveg_carbonstate_inst
type(crop_type) , intent(in) :: crop_inst ! Dummy argument; not used in this version of CNFireArea
real(r8) , intent(in) :: totlitc_col(bounds%begc:)
real(r8) , intent(in) :: decomp_cpools_vr_col(bounds%begc:,1:,1:)
real(r8) , intent(in) :: t_soi17cm_col(bounds%begc:)
Expand Down
4 changes: 3 additions & 1 deletion src/biogeochem/CNFireLi2021Mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
num_exposedvegp, filter_exposedvegp, num_noexposedvegp, filter_noexposedvegp, &
atm2lnd_inst, energyflux_inst, saturated_excess_runoff_inst, waterdiagnosticbulk_inst, &
wateratm2lndbulk_inst, waterstatebulk_inst, soilstate_inst, soil_water_retention_curve, &
cnveg_state_inst, cnveg_carbonstate_inst, totlitc_col, decomp_cpools_vr_col, t_soi17cm_col)
crop_inst, cnveg_state_inst, cnveg_carbonstate_inst, totlitc_col, decomp_cpools_vr_col, t_soi17cm_col)
!
! !DESCRIPTION:
! Computes column-level burned area
Expand All @@ -101,6 +101,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
use pftconMod , only: nc4_grass, nc3crop, ndllf_evr_tmp_tree
use pftconMod , only: nbrdlf_evr_trp_tree, nbrdlf_dcd_trp_tree, nbrdlf_evr_shrub
use dynSubgridControlMod , only : run_has_transient_landcover
use CropType , only: crop_type
!
! !ARGUMENTS:
class(cnfire_li2021_type) :: this
Expand All @@ -123,6 +124,7 @@ subroutine CNFireArea (this, bounds, num_soilc, filter_soilc, num_soilp, filter_
class(soil_water_retention_curve_type), intent(in) :: soil_water_retention_curve
type(cnveg_state_type) , intent(inout) :: cnveg_state_inst
type(cnveg_carbonstate_type) , intent(inout) :: cnveg_carbonstate_inst
type(crop_type) , intent(in) :: crop_inst ! Dummy argument; not used in this version of CNFireArea
real(r8) , intent(in) :: totlitc_col(bounds%begc:)
real(r8) , intent(in) :: decomp_cpools_vr_col(bounds%begc:,1:,1:)
real(r8) , intent(in) :: t_soi17cm_col(bounds%begc:)
Expand Down
Loading

0 comments on commit 786252b

Please sign in to comment.