Skip to content
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

Active crown fire development discussion #573

Open
slevis-lmwg opened this issue Sep 5, 2019 · 14 comments
Open

Active crown fire development discussion #573

slevis-lmwg opened this issue Sep 5, 2019 · 14 comments

Comments

@slevis-lmwg
Copy link
Contributor

slevis-lmwg commented Sep 5, 2019

This issue follows directly from #567 and #572

@jkshuman
Copy link
Contributor

jkshuman commented Sep 5, 2019

@slevisconsulting and I spoke at great length about the implementation of active crown fire, and we have a plan.

https://github.com/jkshuman/fates/blob/ae0a5e7196fa9219b37712c140c55fa7a0c2d51b/fire/SFMainMod.F90#L930
Within subroutine crown damage inside the do loop across woody cohorts, we will
1: calculate EQ 12 from Bessie and Johnson (1995) (critical intensity for active crown fire "active_crown_FI")

2: evaluate EQ 14 from Bessie and Johnson (ratio of Patch%FI/cohort%active_crown_FI)

3: if EQ 14 (Patch%FI/cohort%active_crown_FI )is greater than 1 and (Patch%FI/cohort%passive_crown_FI) greater than 1
https://github.com/jkshuman/fates/blob/ae0a5e7196fa9219b37712c140c55fa7a0c2d51b/fire/SFMainMod.F90#L944-L945

4: then active crown fire = true and crown foliage is available as fuel (Bessie and Johnson 1995)

5: loop through all cohorts and update this active crown fire flag

6: prior to exiting crown_damage call subroutine "characteristics of fuel"

7: update Patch%sum_fuel to include leaf organ biomass (convert leaf organ C to kgbiomass/m2)
for all cohorts that have active_crown_fire_flg == true
In Patch loop iterate through the cohorts
if active_crown_fire is true
sum leaf organ biomass (convert leaf organ C to kgbiomass/m2) into Patch%sum_fuel
convert cohort%leaf_organ_C to kgbiomass/m2
Patch%sum_fuel = Patch%sum_fuel + cohort%leaf_organ_kgbiomass

for 
    leaf_c_per_unitarea = leaf_c/(c_area/nplant)     !KgC/m2
     fuel_bulkd_crown = leaf_c_per_unitarea/(0.45 * crown_depth)    !kgbiomass/m3
     fuel_sav_crown =  tree_lai/canopy_depth
     alpha_live_fuel  = (mass fine live fuel/mass total fine fuel)  ! 1 hour fuels Rothermal 1972
     fuel_mef_fine_dead = MEF_twigs + MEF_dead_leaves + MEF_grass
     fuel_mef_crown = max ((2.9 ((1-alpha_live_fuel)/alpha_live_fuel) (1 - fuel_eff_moist_dead) - 0.226), fuel_mef_fine_dead)   ! EQ bottom page 16 Albini 1976
     fuel_eff_moist_crown = exp(-1.0_r8 * ((SAV_crown/SF_val_drying_ratio) * currentSite%acc_NI)) 
     consider making this PFT specific in future....

1-hour fuels = <0.6 cm diameter
10-hour fuels = 0.6 to 2.5 cm diameter
100-hour = 2.5 to 7.6 cm diameter
1000-hour fuels = 7.6 to 20.3 cm diameter

this gives you updated fuel characteristics that include crown foliage from active crown fire

8: recalculate ROS_front (and ROS_back?) for altered ground fuel consumption, area burnt
recalculate FI for altered scorch height

9: update crown damage for cohorts where active_crown_fire_flg was false based on these new ROS, FI, SH values

10: end loop

This will only loop through and recalculate the fire behavior and effects once after finding an active crown fire. This is a good place to start for our model at a daily time step. We can re-visit with implementation and further testing.

@rgknox: @slevisconsulting and I would like your feedback about implementing the recalculation of ROS, FI and SH in terms of where to call the subroutine, we we are in that cohort do loop. I guess we can evaluate the active_crown_fire flag before we do the final mortality probability?

tagging @lmkueppers @xuchongang @pollybuotte @ckoven @rosiealice @adrifoster and any other interested parties for comment

@slevis-lmwg
Copy link
Contributor Author

Some more notes for steps (1), (2), (3) mainly for my own benefit:

  1. Add Bessie & Johnson (1995) eq. (12) right after @jkshuman added eq. (8):
    ! Crown fuel ignition potential, EQ 8 Bessie and Johnson 1995
    currentCohort%passive_crown_FI = (0.01 * height_cbb * SF_val_crown_ignition_energy)**1.5
    currentCohort%active_crown_FI = ...
  2. Calculate eq. (14b) right after @jkshuman added eq. (14a):
    ! Initiation of passive crown fire, EQ 14 Bessie and Johnson 1995
    currentCohort%ignite_crown = currentPatch%FI/currentCohort%passive_crown_FI
    currentCohort%ignite_active_crown = currentPatch%FI/currentCohort%active_crown_FI
  3. Add an if statement inside the one that @jkshuman added:
    if (currentCohort%ignite_crown >= 1.0_r8) then
    currentCohort%crown_fire_flg = 1 ! passive crown fire ignited
    currentCohort%fraction_crown_burned = 1.0_r8
    if (currentCohort%ignite_active_crown >= 1.0_r8) then

@jkshuman
Copy link
Contributor

jkshuman commented Sep 6, 2019

Adding a few more details to the discussion:
This implementation of active fire allows the fire to grow based on addition of crown fuels within the patch. It does not address the possibility of the fire spreading between patches. It also does not consider slope.

slevis-lmwg added a commit to slevis-lmwg/slevis_fates_work that referenced this issue Sep 7, 2019
Following @jkshuman's introduction of the Bessie and Johnson (1995)
formulation for determining the presence of passive crown fire
(NGEET/fates#572),
I now add the same paper's formulation for determining the presence of
active crown fire.

The corresponding issue is NGEET/fates#573
@slevis-lmwg slevis-lmwg changed the title Active crown fire development Active crown fire development discussion Sep 7, 2019
@slevis-lmwg
Copy link
Contributor Author

Within subroutine crown damage inside the do loop across woody cohorts, we will
1: calculate EQ 12 from Bessie and Johnson (1995) (critical intensity for active crown fire "active_crown_FI")

2: evaluate EQ 14 from Bessie and Johnson (ratio of Patch%FI/cohort%active_crown_FI)

3: if EQ 14 (Patch%FI/cohort%active_crown_FI )is greater than 1 and (Patch%FI/cohort%passive_crown_FI) greater than 1
4: then active crown fire = true and crown foliage is available as fuel (Bessie and Johnson 1995)

This far I have addressed the first four steps from @jkshuman's list in the Pull Request posted immediately above.

@jkshuman
Copy link
Contributor

@adrifoster suggested looking into specific leaf area as a step towards calculating the SAV_crown for the updated fuel moisture characteristics

@adrifoster
Copy link
Contributor

Based on a read of Cruz & Alexander 2010 it seems that the Q_c value in Equation 8 in Bessie & Johnson should be tied to canopy moisture as this is an important variable.

@jkshuman
Copy link
Contributor

jkshuman commented Sep 25, 2019

@adrifoster I agree. In the code Q_c = SF_val_crown_ignite_energy.
In this version of the code we would use FATES-Hydro to update the SF_val_crown_ ignite_energy based on the Foliar Moisture Content (FMC). This would expect to change at the PFT level as well as seasonally and potentially daily. FMC comes up a lot in Cruz and Alexander 2010.

We are currently using the Bessie and Johnson(1995) constant for this value (3060 kJ/kg assuming foliage at 100% moisture (dry mass)). I will update this to be a PFT level value. We can leave it to default to this one value at 3060 kJ/kg, but then the structure is there so that you can have variation at the PFT level prior to FATES-Hydro integration. tagging @xuchongang
https://github.com/jkshuman/fates/blob/9465439694d75f52205d4c4befec0669ed96d769/fire/SFMainMod.F90#L931-L932

@jkshuman
Copy link
Contributor

SF_val_crown_ignite_energy updated to be a PFT level variable within the passive crown fire PR in anticipation of integration with FATES-Hydro and to allow for PFT level variation in ignition energy prior to that integration.
#572

@adrifoster
Copy link
Contributor

@jkshuman and I were talking and discussed the potential of integrating a stand density factor into the active fire calculation. This would account for the fact that while a single crown ignition may occur, trees may not be close enough to one another to support crown-to-crown fire spread (even if surface fuels are high). Spotting fires could bridge large spaces between tree crowns but this requires very high fire intensities (30,000 - 100,000+ kW/m). We would investigate implementing this stand density factor following initial work with the current version of the active fire spread.

We also discussed incorporating wind direction, again for future testing.

@adrifoster
Copy link
Contributor

FYI for future use, the default value of SF_val_crown_ignite_energy, 3060 kJ/kg, assuming 100% crown fuel moisture, comes from equation SV_val_crown_ignite_energy = 460 + 26m, where m is the crown fuel moisture (in % of dry weight), from Van Wagner 1977, "Conditions for the start and spread of crown fire", CJFR 7.

@jkshuman
Copy link
Contributor

Thanks @adrifoster
Just a note on that EQ 3 from Van Wagner 1977
h=460 +26m
where h=heat of ignition (kJ/kg) and m=foliar moisture content based on dry fuel (%)
Added a comment with this equation and reference in my passive crown branch that will be the basis of the active fire development.
https://github.com/jkshuman/fates/blob/8d582b74b760ff573e76d5fb07e94b99d48d95a8/fire/SFMainMod.F90#L930-L933

Also added a note including the source of the 0.01 value in the equation for passive_crown_FI. This EQ 8 (Bessie and Johnson 1995) uses values from Van Wagner (1977) that have a specific clear branch bole height and intensity. Specifically, EQ8 uses a local empirical value from a crown fire within red pine plantations (0.01 = C from Van Wagner 1977 EQ4 for crown of base height 6m, 100% FMC, and FI 2500kW/m). Depending on the behavior of crown fires, this empirical value of 0.01 may need to be updated.
https://github.com/jkshuman/fates/blob/8d582b74b760ff573e76d5fb07e94b99d48d95a8/fire/SFMainMod.F90#L935-L938
Adding link to passive crown fire PR #572

@slevisconsulting please fetch these additional comments form my branch so they are in active_fire branch as well.

@jkshuman
Copy link
Contributor

jkshuman commented Oct 3, 2019

@slevisconsulting I updated the equation for leaf bulk density to account for the area of the canopy.
leaf_c_per_unitarea = leaf_c/(c_area/nplant) !KgC/m2
fuel_bulkd_crown = leaf_c_per_unitarea/(0.45 * crown_depth) !kgbiomass/m3

@rgknox is this reasonable to find leaf_c_per_unitarea? I pulled it from FatesAllometry.

@slevis-lmwg
Copy link
Contributor Author

@rgknox helped me place the active crown fire PR in the right place by creating a new one #584 and closing the old one jkshuman#5

The new one includes a link to the old one, so that all our conversations and posts remain available.

slevis-lmwg added a commit to slevis-lmwg/fates that referenced this issue Oct 25, 2019
Previous commits computed the occurrence of active crown fire and set
currentCohort%fraction_crown_burned = 1.0_r8

Here I begin to introduce the effects of active crown fire on the size
and intensity of the fire as discussed with @jkshuman in NGEET#573. First
step in this is the effect of active crown fire on the Rate of Spread.

I have confirmed that, with the code changes this far,
history varialbes FIRE_ROS, SUM_FUEL, fire_fuel_bulkd have changed,
while fire size and intensity have not changed. This is what I expected.
@jkshuman
Copy link
Contributor

jkshuman commented May 24, 2022

Updating this issue to note the transition to the method of Scott and Reinhardt 2001 as reflected in PR857 For this transition I created a branch from @slevisconsulting recent updates to main, and modified according to Scott and Reinhardt 2001. This addressed discussion with @lmkueppers and @pollybuotte. This more recent Scott and Reinhardt method addresses inconsistencies in Bessie and Johnson. Those updates are here: (https://github.com/jkshuman/fates/tree/active_crown_Scott_2001)

@slevisconsulting modified this further as reflected in PR857 and here: https://github.com/slevisconsulting/fates/tree/active_crown_Scott_2001_contd

Tagging @adrifoster and her recent publication in ERL that implements this method in a different model for further discussion. Foster et al 2022 ERL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants