-
Notifications
You must be signed in to change notification settings - Fork 92
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
Fire suppression from GDP and pop density in FATES-SPITFIRE #673
Comments
I updated this issue with new thoughts on moving the ignition calculation to the patch-level as the CLM-Li suppression method is at the veg-type (patch-level). |
To include GDP will take a little more refactoring in CTSM. At least for it to make sense. I am planning on doing this, and planning this for only a few CTSM mainline development tags away. But, you probably want to wait on the refactored version coming into the fates branch, before you do that. Does that sound OK? |
Thanks for updating with those details @ekluzek |
The details on the refactoring for CTSM are in ESCOMP/CTSM#1104 |
Note for posterity: Per my conversation with @jkshuman on slack, anthrogenic ignitions and suppression should be two distinct selection modes that can be run simultaneous or individually (i.e. they are not mutually dependent). I think this will require a minor refactor of how we enable spitfire on the hlm side. |
This tag refactors the static fire data input methodology to enable a future anthropogenic fire suppression methodology to FATES as described NGEET/fates#673. This future method requires that FATES have access to GDP data that was previously defined in CNVegStateType.F90 as part of cnveg_state_type. As such, the GDP variable has been moved into fire_base_type in FireDataBaseType.F90 to provide the data to the extended fates_fire_base_type for eventual use in FATES. Similarly, the surface dataset read subroutine has been moved along with the peat and ag-fire variables, which utilize the same read subroutine and where also originally part of the cnveg_state_type.
This tag refactors the static fire data input methodology to enable a future anthropogenic fire suppression methodology to FATES as described NGEET/fates#673. This future method requires that FATES have access to GDP data that was previously defined in CNVegStateType.F90 as part of cnveg_state_type. As such, the GDP variable has been moved into fire_base_type in FireDataBaseType.F90 to provide the data to the extended fates_fire_base_type for eventual use in FATES. Similarly, the surface dataset read subroutine has been moved along with the peat and ag-fire variables, which utilize the same read subroutine and where also originally part of the cnveg_state_type. Conflicts: src/biogeochem/CNFireLi2014Mod.F90
With the implementation of anthropogenic ignitions issue #670, fire suppression on ignitions and fire size should also be added. Fire suppression can be handled using data from both GDP and population density information explicitly as in the CLM-Li Fire model (Li et al 2013).
Alternately, it can be handled implicitly through the use of population density and the regional parameter (a(Nd)) as in SPITFIRE per Thonicke et al (2010) EQ3 (shown in image) with (a(Nd)) representing the likelihood of people to produce ignitions based on data for numbers of human-caused fires and population density. The models using the Thonicke et al (2010) EQ3 are JSBACH, LPJ-GUESS, and ORCHIDEE. JSBACH-SPITFIRE additionally uses population density to reduce fire duration and thus reduce fire size. The SPITFIRE methodology of implicit suppression per Thonicke et al (2010) can be implemented with the regional dataset for (a(Nd)) and adaptation of the population density suppression calculations proposed here.
The CLM-Li Fire implementation for suppression on both ignitions and fire size is adapted here for FATES-SPITFIRE.
To include suppression per the Li et al (2013) requires:
1) reading supplemental population density data (addressed in issue #670 and PR #635 )
2) reading supplemental GDP data (static surface dataset)
3) update ignitions to patch-level
4) reduce ignitions at the patch-level
5) reduce fire size at the patch-level
(data is supplemental, so not required for SPITFIRE module operation)
population density reduction in ignitions CLM-Li:
Per the CLM-Li fire model suppression of ignitions due to pop density (fs) =
fs = 1._r8-(0.01_r8+0.98_r8*exp(-0.025_r8*hdmlf))
where: human density (hdmlf) = read from a datafile,
https://github.com/ESCOMP/CTSM/blob/a3e738cb211157f98d947a7b75ee789193db5fd9/src/biogeochem/CNFireLi2016Mod.F90#L608
GDP reduction in ignitions and firesize CLM-Li:
GDP suppression on ignitions and firesize are implemented at site and veg type level
https://github.com/ESCOMP/CTSM/blob/a3e738cb211157f98d947a7b75ee789193db5fd9/src/biogeochem/CNFireLi2016Mod.F90#L431-L470
Fire occurrence is lower in tree vs grass areas per Li et al (2013) Fig5 (grass (a), and trees (b)).
Suppression is higher in tree dominated systems than in grass systems with this method per Fig 6 (grass/shrub) and Fig 7 (tree) from Li et al (2013) shown here.
FATES-SPITFIRE implementation:
GDP and population density suppression of ignitions and fire size:
where gdp per capita (gdplf) = read from dataset,
where human density (hdmlf) = read from dataset,
note: gdplf in units of 1000s
The Li et al (2013) suppression method used in FATES-SPITFIRE would be calculated at the patch level based on dominant vegetation type and GDP with low GDP locations (GDP less than 100 US$ per person) having no suppression.
CNFire Li 2016 Mods:
https://github.com/ESCOMP/CTSM/blob/a3e738cb211157f98d947a7b75ee789193db5fd9/src/biogeochem/CNFireLi2016Mod.F90#L454
notes on ignition in FATES-SPITFIRE
lightning ignitions are calculated at the site level (for both default and external lightning methods). This should not be updated, as there is not a reasonable method to disaggregate lightning at the patch level. If anthropogenic data is being used, then ignitions will be at the patch-level to handle patch-level suppression. Should discuss the cost of calculating ignitions at the patch-level all the time.
fates/fire/SFMainMod.F90
Lines 692 to 693 in 68bc434
anthropogenic ignition suppression in SPITFIRE should be only on anthropogenic ignitions:
In CLM-Li this ignition suppression is implemented on total ignitions, but there may be value in implementing this only on human ignitions, as spatial coverage of lightning ignition varies and should not be decreased in areas outside of human populations.
ignition suppression in SPITFIRE per Li et al 2013 method:
where: human density (hdmlf) = read from a datafile,
Site%pop_den_suppress = 1._r8-(0.01_r8+0.98_r8*exp(-0.025_r8*hdmlf))
Site level: population density suppression on ignitions
Patch level: GDP suppression on ignitions
anthro_ign_count = anthro_ign_count * Site%pop_den_suppress * gdp_ign_suppress
Per issue #670 this anthro_ign_count would be added to the lightning ignition count (site%NF) to give a patch-level ignition count:
total_ignition = currentSite%NF + anthro_ign_count
fire size suppression in SPITFIRE:
current implementation:
fates/fire/SFMainMod.F90
Lines 751 to 753 in 70dda4c
modification to area burn (AB) calculation per the CLM-Li suppression calculation:
AB = size_of_fire * total_ignition * currentSite%FDI * pop_firesize_suppress * gdp_firesize_suppress
In this proposed implementation GDP ignition and fire_size suppression is at the patch level. FATES-SPITFIRE fire behavior (such as fire size) is already handled at the patch level.
Also, worth considering implementing the regional SPITFIRE method as an alternate to the CLM-Li Fire GDP method. Open to discussion of these points with @lmkueppers @pollybuotte @adrifoster @ckoven @rosiealice @slevisconsulting and other interested parties.
The text was updated successfully, but these errors were encountered: