CTSM icon indicating copy to clipboard operation
CTSM copied to clipboard

Fire update May 2025

Open lifang0209 opened this issue 7 months ago • 1 comments

Description of changes

  • Reduces fire count 99.6% above 2500 meters elevation based on GFED5 elevation bins of burned area, to eliminate overestimation of burning on Tibetan Plateau.
  • Updates deforestation fire parameterization based on ctsm5.4 LU and GFED5 burned area.
  • Fixes/improves comments

For now, also makes it so that crop fires don't happen if cropland is < 10% of the gridcell. However, this was only a kludge to avoid some mathematical weirdness with interpolation of agricultural peak burning month using average. This will be replaced by a more appropriate interpolation method with #3188, after which maybe remove 10% cropland threshold. However, that will make cropland burned area 10-30 Mha worse.

Specific notes

Contributors other than yourself, if any: None

CTSM Issues Fixed: None

Are answers expected to change (and if so in what way)? Yes. @lifang0209, can you please add a comment explaining the results before and after?

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

  • defo_fire_precip_thresh_bet for CRU-JRA
  • cli_scale for CRU-JRA and GSWP3 Parameter file:
  • rswf_max(3)
  • rswf_min(3)
  • fsr_pft and fd_pft, although these changes cancel each other out

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

  • [ ] Unknown

Testing performed, if any: @lifang0209, please add a comment explaining.

lifang0209 avatar May 30 '25 16:05 lifang0209

Blocked by #3188.

samsrabin avatar May 30 '25 17:05 samsrabin

This is unblocked; now waiting on @lifang0209 to change the code to avoid the crop fraction threshold now that #3188 is merged.

samsrabin avatar Jun 26 '25 16:06 samsrabin

@samsrabin Hi Sam, (1) Using the new abm raw data, the following comment could be removed "! cropf_col(c) * col%wtgcell(c) > 0.1_r8 is added because fires are rare in ! gridcells with limited cropland coverage based on GFED5. Also, this helps to ! avoid abm (crop fire peak month) regridding error from 0.05 degree to lower resolution ! The condition could be removed if CLM supports the use of mode in abm inputs regridding"

(2) remove “.and. cropf_col(c) * col%wtgcell(c) > 0.1_r8 ” from the condition statement (3) cropfire_a1 = 0.34d00

lifang0209 avatar Jul 15 '25 14:07 lifang0209

Great, thanks! Will do.

samsrabin avatar Jul 15 '25 15:07 samsrabin

Blocked while we wait for the 5.4 update, since this depends on new surface datasets.

samsrabin avatar Aug 06 '25 17:08 samsrabin

We have the 5.4 branch. Can / should this PR get merged to the 5.4 branch so we can start evaluating fire results in coupled model tests?

wwieder avatar Aug 06 '25 20:08 wwieder

Yes, I think it should be merged.

lifang0209 avatar Aug 12 '25 07:08 lifang0209

@lifang0209 The paramfile changes to paramfile changes to rswf_min/max will affect li2021gswpfrc in addition to the li2024* fire methods. Is that okay?

samsrabin avatar Aug 12 '25 16:08 samsrabin

Some notes on the paramfile changes...

The latest paramfile is ctsm5.3.041.Nfix_params.v13.c250221_upplim250.nc, but it looks like Fang did her development based on a branch with ctsm60_params.c250311.nc as the latest. The parameter file she pointed me to—/glade/u/home/fangli/ctsm60_params.fire.crujra0530.nc—contains lots of differences relative to both of those. I only expected to see differences in rswf_max and rswf_min for one PFT.

Looking more closely, it looks like Fang's is closer to ctsm60_params.c250311.nc. There are unexpected differences in fd_pft and fsr_pft, but my understanding is that those should not be brought in with this PR.

However, we need to decide exactly which paramfile I should apply Fang's changes to. ctsm5.3.041.Nfix_params.v13.c250221_upplim250.nc was my first thought, but apparently there's a more recent one floating around (used in NCAR/LMWG_dev#116).

samsrabin avatar Aug 13 '25 23:08 samsrabin

@lifang0209 The paramfile changes to to rswf_min/max will affect li2021gswpfrc in addition to the li2024* fire methods. Is that okay?

Just following up about this, Fang.

Also: when you said pft 3 here, were you referring to needleleaf_deciduous_boreal_tree?

(1) rswf_max(3)=0.7d00 (2) rswf_min(3)=0.35d00

samsrabin avatar Aug 18 '25 18:08 samsrabin

@lifang0209 The paramfile changes to paramfile changes to rswf_min/max will affect li2021gswpfrc in addition to the li2024* fire methods. Is that okay?

It's okay

lifang0209 avatar Aug 19 '25 07:08 lifang0209

Hi Sam, it's better to copy rswf_max, rswf_min, fd_pft, and fsr_pft for all PFTs from /glade/u/home/fangli/ctsm60_params.fire.crujra0530.nc to the target paramfile. If you need me to do this, let me know. The burned area fraction in a grid cell=(fd_pft * fsr_pft)^2 * C. That’s why I mentioned that “multiplying fsr_pft by 5 and dividing fd_pft by 5, based on FireAtlas and being more reasonable, does not affect the results.”

These rswf_max, rswf_min, fd_pft, and fsr_pft are tuned in my fire scheme and can only be calibrated qualitatively. I will explain the rationale for these settings in my Li2024 fire scheme paper as reference.

lifang0209 avatar Aug 19 '25 08:08 lifang0209

Thanks, Fang. It would actually be good if we could get a brief explanation here too to include in the ChangeLog, rather than waiting for the paper.

samsrabin avatar Aug 19 '25 15:08 samsrabin

Thanks, Sam.
The parameters rswf_max and rswf_min (thresholds for root-zone soil moisture) were adjusted to achieve more reasonable simulations of burned area fraction, e.g., for needleleaf_deciduous_boreal_tree. The value of fd_pft was changed from 1 to 5 days, which aligns better with FireAtlas data for non-peat and non-deforestation fires outside croplands. To maintain the burned area unchanged, fsr_pft was divided by 5.

lifang0209 avatar Aug 19 '25 23:08 lifang0209

@lifang0209 I'm seeing changes to fsr_pft (fire spread rate) that aren't strictly divisions by 5:

  • All the prognostic crops (PFTs ≥ 17) had it set to zero. Is this just to mark it as "not used" in crop fires?
  • PFTs 3, 4, 6, and 11–16 aren't exact divisions by 5. Was this intentional? If so, what's the rationale?

Output for those latter PFTs from nccmp -dfs --Tolerance=0.00001 /glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/paramdata/ctsm60_params.c250311.nc /glade/u/home/fangli/ctsm60_params.fire.crujra0530.nc:

DIFFER : VARIABLE : fsr_pft : POSITION : [3] : VALUES : 0.1 <> 0.026 : PERCENT : 74
DIFFER : VARIABLE : fsr_pft : POSITION : [4] : VALUES : 0.21 <> 0.04 : PERCENT : 80.9524
DIFFER : VARIABLE : fsr_pft : POSITION : [6] : VALUES : 0.21 <> 0.04 : PERCENT : 80.9524
DIFFER : VARIABLE : fsr_pft : POSITION : [11] : VALUES : 0.11 <> 0.026 : PERCENT : 76.3636
DIFFER : VARIABLE : fsr_pft : POSITION : [12] : VALUES : 0.11 <> 0.026 : PERCENT : 76.3636
DIFFER : VARIABLE : fsr_pft : POSITION : [13] : VALUES : 0.21 <> 0.04 : PERCENT : 80.9524
DIFFER : VARIABLE : fsr_pft : POSITION : [14] : VALUES : 0.31 <> 0.06 : PERCENT : 80.6452
DIFFER : VARIABLE : fsr_pft : POSITION : [15] : VALUES : 0.21 <> 0.04 : PERCENT : 80.9524
DIFFER : VARIABLE : fsr_pft : POSITION : [16] : VALUES : 0.21 <> 0.04 : PERCENT : 80.9524

By the way, there are some differences in fsr_pft between your base parameter file and the one I'll be applying your changes to:

fang_baseline=/glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/paramdata/ctsm60_params.c250311.nc
linnia=/glade/work/linnia/CLM6-PPE/ctsm6_cal/paramfiles/cal115_c08132025.nc

params_to_include="(rswf_max|rswf_min|fd_pft|fsr_pft)"

module load nccmp
nccmp -dfs $fang_baseline $linnia 2>&1 | grep -E "${params_to_include}"
DIFFER : VARIABLE : fsr_pft : POSITION : [2] : VALUES : 0.1 <> 0.1168
DIFFER : VARIABLE : fsr_pft : POSITION : [3] : VALUES : 0.1 <> 0.1189
DIFFER : VARIABLE : fsr_pft : POSITION : [4] : VALUES : 0.21 <> 0.2625
DIFFER : VARIABLE : fsr_pft : POSITION : [6] : VALUES : 0.21 <> 0.1648
DIFFER : VARIABLE : fsr_pft : POSITION : [13] : VALUES : 0.21 <> 0.242
DIFFER : VARIABLE : fsr_pft : POSITION : [15] : VALUES : 0.21 <> 0.242

I'm going to handle this by applying your relative changes to the value in the $linnia parameter file. So, e.g., since you multiplied fsr_pft(2) by 0.2, I will do the same, resulting in 0.1168 x 0.2 = 0.02336 instead of your 0.1 x 0.2 = 0.02.

samsrabin avatar Aug 20 '25 22:08 samsrabin

@samsrabin fsr_pft is not used for calculating the burned area fraction of crop fires in my fire scheme, so I set fsr_pft to zero for crop PFTs.

You could rephrase it as: "....To make the change in burned area small, fsr_pft was divided by around 5 accordingly.". As I mentioned earlier, fsr_pft is tuned, so it doesn’t need to be exactly divided by 5 and include many decimal places, e.g., preferring 0.02336 over 0.02 is unnecessary as the extra precision is meaningless. I’d like to see the results in the latest parameter file (e,g., some PPE results included) and in coupling runs. fsr_pft and fsr_pd may be further adjusted later.

lifang0209 avatar Aug 21 '25 08:08 lifang0209

@wwieder @lifang0209 This is ready for testing! You can see the script I used to apply the paramfile changes here: /glade/work/samrabin/ctsm_ctsm6_li2024/tools/contrib/paramfile_changes/paramfile_chg_ctsm6_li2024.20250822.py.

samsrabin avatar Aug 22 '25 22:08 samsrabin

Note that this will show a lot of diffs until the alpha-ctsm5.4.CMIP7 branch is brought up to date with ctsm5.3.071.

samsrabin avatar Aug 22 '25 22:08 samsrabin

  • [ ] Perform final approving review once (a) at least ctsm5.3.071 has been merged into alpha-ctsm5.4.CMIP7 and (b) the corresponding tag on that branch has been merged into here.

samsrabin avatar Aug 22 '25 22:08 samsrabin

I suggest this come in after the 5.4 tag is made, giving us a bit more time to generate initial conditions and evaluate historical fire results on top of the PPE115 parameter file that's being used in NCAR/LMWG_dev#116

wwieder avatar Aug 28 '25 17:08 wwieder

@wwieder Hi Will, if the 5.4 tag uses CTSM5.4 surface and land use data, it‘s better to include the fire scheme updates. The updates include recalibration based on new abm (crop peak month) and land-use-based deforestation rate.

lifang0209 avatar Aug 29 '25 01:08 lifang0209

@ekluzek Should this be tag alpha-ctsm5.4.CMIP7.10.ctsm5.3.068?

samsrabin avatar Sep 08 '25 16:09 samsrabin