-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SUPERSEDED [Fang summer '24 PR 1] Fix bugs and develop crop fire modeling #2576
Conversation
In the CNFireLi2021Mod.F90, (1) fixed the bug described in ESCOMP#2566 to avoid incorrect accumulation of baf_crop and ensure that crop fires do not occur during the crop growing season; (2) confined crop fires to periods after harvest and before planting when crop module is active; (3) removed the dependency of baf_crop on fuel availability; (4) improved the modeling of the influence of socio-economic factors on crop burned area; (5) recalibrated the cropfire_a1 constant based on GFED5 crop burned area; (6) modify the declaration of CNFireArea in these F90 files to include the variable crop_inst, declare the variable crop_inst, and import and utilize crop_type from the module CropType. In addition, the modules CNDriverMod.F90, CNFireLi2014Mod.F90, CNFireLi2016Mod.F90, CNFireNoFireMod.F90, FATESFireBase.F90, and FireMethodType.F90 include the subroutine CNFireArea. (6) is implemented in these modules.
src/biogeochem/CNFireLi2021Mod.F90
Outdated
if((use_crop .and. (.not. croplive(p))) & | ||
.or. (.not. use_crop)) then | ||
burndate(p) = kda | ||
baf_crop(c) = baf_crop(c)+0.21_r8 / secsphr * fhd * fgdp * patch%wtcol(p) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
cropfire_a1
should be set to 0.21 by default and used here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Add a
li2024gswpfrc
fire_method
with this (and other changes that will come in other PRs).
@@ -120,6 +121,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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment: This is just used as a dummy in this version. Actually used in CNFireLi2021Mod.
@@ -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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment: This is just used as a dummy in this version. Actually used in CNFireLi2021Mod.
@@ -91,6 +92,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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment: This is just used as a dummy in this version. Actually used in CNFireLi2021Mod.
@@ -242,6 +243,8 @@ 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment: This is just used as a dummy in this version. Actually used in CNFireLi2021Mod.
@@ -160,6 +161,7 @@ subroutine CNFireArea_interface (this, bounds, num_soilc, filter_soilc, num_soil | |||
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment: This is just used as a dummy in this version. Actually used in CNFireLi2021Mod.
This PR seems to go beyond just fixing the bug in #2566. If this is accurate, @samsrabin is it worth breaking the PR into two parts, one that fixes the bug and another that introduces the new changes to crop fires? |
@wwieder Nah, it's small enough that it's not a problem they're together. |
my reason for asking this is for backwards capability. It would be nice to maintain the behavior of CLM5.0 physics vs. the new fire features that would be included in CLM6.0 physics? |
Yep, that's what this comment is about. |
It isn't worth breaking the PR. CNFireLi2021Mod, which I changed, is used in CLM5.1. CNFireLi2016Mod.F90 is used in CLM5.0, which I didn't change. |
Thank you both for clarifying. |
@samsrabin what do you think about the prioritization of this? Should it come in before or after the July 31 science capability freeze? |
@wwieder should before July 31 science capability freeze |
Yep, before the freeze. I'll add the milestone. |
Superseded by #2684. |
Description of changes
In the CNFireLi2021Mod.F90
In addition, the modules CNDriverMod.F90, CNFireLi2014Mod.F90, CNFireLi2016Mod.F90, CNFireNoFireMod.F90, FATESFireBase.F90, and FireMethodType.F90 include the subroutine CNFireArea. (6) is implemented in these modules.
Specific notes
Contributors other than yourself, if any: None
CTSM Issues Fixed (include github issue #):
Are answers expected to change (and if so in what way)? Yes. Global burned area increases about 30 Mha/yr. Crop fires only occur after harvest and before planting.
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
Testing performed, if any: