From fb88f17c37dbdf8d368980b6f13f69ca545e109a Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Wed, 30 Aug 2023 14:10:52 -0400 Subject: [PATCH 01/17] Added vegtype dependent FRP to FlameH calculations. --- README.md | 2 +- src/canopy_calcs.F90 | 4 +- src/canopy_utils_mod.F90 | 181 ++++++++++++++++++++++++++++++++++++--- src/canopy_waf_mod.F90 | 12 +-- 4 files changed, 180 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 92388d32..5968762c 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ You can also [generate global inputs using Python (see python/global_data_proces | `lambdars` | Value representing influence of RSL effects (with `rsl_opt=0`) (Massman et al., 2017) | | `dx_opt` | `0`: Calculation of dx resolution/distance from lon; `1`: user-set dx grid resolution | | `dx_set` | user-set real value of grid resolution (m) only if `dx_opt=1` | -| `flameh_opt` | `0`: Calculation of flame height from FRP (Byram, 1959); `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | +| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (Alexander and Cruz, 2012); `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | | `flameh_set` | user-set real value of flame height (m) if `flameh_opt=1` or `2`, or `flameh` = fraction of canopy height (<=1.0), i.e., `flameh` override, if `flameh_opt=3`, `4`, or `5` | | `frp_fac` | user-set real value of tuning factor applied to FRP in calculation of flame height (default: 1.0). Used only if `flameh_opt=0`, `2`, `4`, or `5`. | | `pai_opt` | integer (`0`: PAI fixed from Katul et al. 2004 veg types-->default; `1`: PAI Massman et al. 2017 Eq. 19 calc; `2`: PAI from model LAI+WAI; `3`: user-set PAI value) | diff --git a/src/canopy_calcs.F90 b/src/canopy_calcs.F90 index 5ced80cd..02ee8357 100644 --- a/src/canopy_calcs.F90 +++ b/src/canopy_calcs.F90 @@ -170,7 +170,7 @@ SUBROUTINE canopy_calcs ! ... determine midflamepoint and flame height from user or FRP calculation call canopy_flameh(flameh_opt, flameh_set, dx_2d(i,j), modres, & - frpref, frp_fac, hcmref, midflamepoint, flameh_2d(i,j)) + frpref, frp_fac, hcmref, lu_opt, vtyperef, midflamepoint, flameh_2d(i,j)) if (firetype .eq. 0) then !forest/sub-canopy firetype if (flameh_2d(i,j) .gt. 0.0) then !flameh must be > 0 if (flameh_2d(i,j) .le. hcmref) then !only calculate when flameh <= FCH @@ -482,7 +482,7 @@ SUBROUTINE canopy_calcs ! ... determine midflamepoint and flame height from user or FRP calculation call canopy_flameh(flameh_opt, flameh_set, dx(loc), modres, & - frpref, frp_fac, hcmref, midflamepoint, flameh(loc)) + frpref, frp_fac, hcmref, lu_opt, vtyperef, midflamepoint, flameh(loc)) if (firetype .eq. 0) then !forest/sub-canopy firetype if (flameh(loc) .gt. 0.0) then !flameh must be > 0 if (flameh(loc) .le. hcmref) then !only calculate when flameh <= FCH diff --git a/src/canopy_utils_mod.F90 b/src/canopy_utils_mod.F90 index ae1117bb..7db2906f 100644 --- a/src/canopy_utils_mod.F90 +++ b/src/canopy_utils_mod.F90 @@ -108,21 +108,180 @@ real(rk) function CalcDX(lat, dlon) result(dx) ! end function ! !-------------------------------------------------------------------------------------- - function CalcFlameH(frp, dx) - !! Approximates the Flame Height as a function of FRP intensity and grid cell distance (dx) - !! forest fraction (Based on Byram 1959). + real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) + !! Approximates the Flame Height as a function of FRP intensity, grid cell distance (dx), + !! and vegetation type (Based on Alexander and Cruz 2012). - !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. - !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY + !! Alexander, Martin E.; Cruz, Miguel G. 2012. Interdependencies between flame length and + !! fireline intensity in predicting crown fire initiation and crown scorch height. + !! International Journal of Wildland Fire 21(2):95-113. !! Assume Flame Length = Flame Height under calm winds - real(rk), intent(in) :: frp !! Input Grid cell Fire Radiative Power (MW/cell) - real(rk), intent(in) :: dx !! Input Grid cell length (m) - real(rk) :: CalcFlameH !! Calculated Plant area index (PAI) - - CalcFlameH=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk !Byram flameh calculation as function of FRP - + real(rk), intent(in) :: frp !! Input Grid cell Fire Radiative Power (MW/cell) + real(rk), intent(in) :: dx !! Input Grid cell length (m) + integer, intent(in) :: lu_opt !! Supported land use classifications + integer, intent(in) :: vtype !! Grid cell dominant vegetation type + real(rk) :: CalcFlameH_B59 !! Fireline intensity flame length (height) relationship (m): Byram (1959) + real(rk) :: CalcFlameH_A66_L !! Fireline intensity to flame height (m): Anderson et al. (1966) + real(rk) :: CalcFlameH_A66_D !! Fireline intensity to flame height (m): Anderson et al. (1966) + real(rk) :: CalcFlameH_N80 !! Fireline intensity to flame height (m): Nelson (1980) + real(rk) :: CalcFlameH_C83_H !! Fireline intensity to flame height (m): Clark (1983) + real(rk) :: CalcFlameH_C83_B !! Fireline intensity to flame height (m): Clark (1983) + real(rk) :: CalcFlameH_N86 !! Fireline intensity to flame height (m): Nelson and Adkins (1986) + real(rk) :: CalcFlameH_V86 !! Fireline intensity to flame height (m): van Wilgen (1986) + real(rk) :: CalcFlameH_B94 !! Fireline intensity to flame height (m): Burrows (1994) + real(rk) :: CalcFlameH_W96 !! Fireline intensity to flame height (m): Weise and Biging (1996) + real(rk) :: CalcFlameH_V98 !! Fireline intensity to flame height (m): Vega et al. (1998) + real(rk) :: CalcFlameH_C98 !! Fireline intensity to flame height (m): Catchpole et al. (1998) + real(rk) :: CalcFlameH_F00 !! Fireline intensity to flame height (m): Fernandes et al. (2000) + real(rk) :: CalcFlameH_B04 !! Fireline intensity to flame height (m): Butler et al. (2004) + real(rk) :: CalcFlameH_F09_H !! Fireline intensity to flame height (m): Fernandes et al. (2009) + real(rk) :: CalcFlameH_F09_B !! Fireline intensity to flame height (m): Fernandes et al. (2009) + + !! ------------------------------------------------------------------------------------- + !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. + !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY + !Pine litter with grass understorey (Evergreen and Grasses) + CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread + !! research progress report 2. USDA Forest Service, + !! Intermountain Forest and Range Experiment Station, Research Paper + !! INT-28. (Ogden, UT) + !Lodgepole pine slash (Evergreen) + CalcFlameH_A66_L=0.074_rk*((frp*1000.0_rk)/dx)**0.651_rk + !Douglas-fir slash (Evergreen) + CalcFlameH_A66_D=0.0447_rk*((frp*1000.0_rk)/dx)**0.67_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Nelson RM Jr (1980) Flame characteristics for fires in southern fuels. USDA + !! Forest Service, Southeastern Forest Experiment Station, Research Paper + !! SE-205. (Asheville, NC) + !Southern USA Fuels (Mixed Forest) + CalcFlameH_N80=0.0377_rk*((frp*1000.0_rk)/dx)**0.50_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Clark RG (1983) Threshold requirements for fire spread in grassland fuels. + !! PhD dissertation, Texas Tech University, Lubbock. + !Grasslands (head fire) (Grasslands) + CalcFlameH_C83_H=0.00015_rk*((frp*1000.0_rk)/dx)**1.75_rk + !Grasslands (backfire) (Grasslands) + CalcFlameH_C83_B=0.000722_rk*((frp*1000.0_rk)/dx)**0.99_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Nelson RM Jr, Adkins CW (1986) Flame characteristics of wind-driven + !! surface fires. Canadian Journal of Forest Research 16, 1293–1300. + !! doi:10.1139/X86-229 + !Litter and shrubs (Shrublands) + CalcFlameH_N86=0.0475_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! van Wilgen BW (1986) A simple relationship for estimating the intensity of + !! fires in natural vegetation. South African Journal of Botany 52, 384–385 + !Fynbos shrublands (Shrublands) + CalcFlameH_V86=0.0075_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Burrows ND (1994) Experimental development of a fire management model + !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, + !! Australian National University, Canberra. + !Eucalypt Forest (Evergreens) + CalcFlameH_B94=0.0147_rk*((frp*1000.0_rk)/dx)**0.767_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Weise DR, Biging GS (1996) Effects of wind velocity and slope on flame + !! properties. Canadian Journal of Forest Research 26, 1849–1858. + !! doi:10.1139/X26-210 + !Excelsior (Deciduous) + CalcFlameH_W96=0.016_rk*((frp*1000.0_rk)/dx)**0.7_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Vega JA, Cuinas P, Fonturbel T, Perez-Gorostiaga P, Fernandez C (1998) + !! Predicting fire behaviour in Galician (NW Spain) shrubland fuel + !! complexes. In ‘Proceedings of 3rd International Conference on Forest + !! Flame length and fireline intensity interdependences. + !Shrublands + CalcFlameH_V98=0.087_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! CatchpoleWR, Bradstock RA, Choate J, Fogarty LG, Gellie N, McCarthy G, + !! McCaw WL, Marsden-Smedley JB, Pearce G (1998) Cooperative + !! development of equations for heathland fire behaviour. In ‘Proceedings + !! of 3rd International Conference on Forest Fire Research and 14th + !! Conference on Fire and Forest Meteorology, Volume II’, 16–20 + !! November 1998, Luso–Coimbra, Portugal. (Ed. DX Viegas) + !! pp. 631–645. (University of Coimbra: Coimbra, Portugal) + !Shrublands + CalcFlameH_C98=0.0325_rk*((frp*1000.0_rk)/dx)**0.56_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Fernandes PM, Catchpole WR, Rego FC (2000) Shrubland fire behaviour + !! modelling with microplot data.Canadian Journal of Forest Research 30, + !! 889–899. doi:10.1139/X00-012 + !Shrublands + CalcFlameH_F00=0.0516_rk*((frp*1000.0_rk)/dx)**0.453_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Butler BW, Finney MA, Andrews PL, Albini FA (2004) A radiation-driven + !! model of crown fire spread. Canadian Journal of Forest Research 34, + !! 1588–1599. doi:10.1139/X04-074 + !Jack Pine Forest - Crown Fire (Evergreen) + CalcFlameH_B04=0.0175_rk*((frp*1000.0_rk)/dx)**0.667_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Fernandes PM, Botelho HS, Rego FC, Loureiro C (2009) Empirical + !! modelling of surface fire behaviour in maritime pine stands. + !! International Journal of Wildland Fire 18, 698–710. doi:10.1071/ + !! WF08023 + !Maritime Pine (head fire) (Evergreen) + CalcFlameH_F09_H=0.045_rk*((frp*1000.0_rk)/dx)**0.543_rk + !Maritime Pine (backfire) (Evergreen) + CalcFlameH_F09_B=0.029_rk*((frp*1000.0_rk)/dx)**0.724_rk + !! ------------------------------------------------------------------------------------- + + if (lu_opt .eq. 0 .or. lu_opt .eq. 1) then !VIIRS or MODIS LU types + if (vtype .ge. 1 .and. vtype .le. 2) then !VIIRS/MODIS Cat 1-2/Evergreen Needleleaf & Broadleaf + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_B94+ & + CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk + if (((frp*1000.0_rk)/dx) .ge. 1700.0_rk ) then !Evergreen forest crowning likely + CalcFlameH_set=CalcFlameH_B04 + end if + else if (vtype .ge. 3 .and. vtype .le. 4) then !VIIRS/MODIS Cat 3-4 Deciduous Needleleaf and Broadleaf + CalcFlameH_set=(CalcFlameH_N80+CalcFlameH_W96) / 2.0_rk + else if (vtype .eq. 5) then !VIIRS/MODIS Cat 5 Mixed Forests + CalcFlameH_set=CalcFlameH_N80 + else if (vtype .ge. 6 .and. vtype .le. 7) then !VIIRS/MODIS Cat 6-7 Shrublands + CalcFlameH_set=(CalcFlameH_N86+CalcFlameH_V86+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00) / 5.0_rk + else if (vtype .ge. 8 .and. vtype .le. 10) then !VIIRS/MODIS Cat 8-10 Savannas and Grasslands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_N80+ & + CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & + CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & + CalcFlameH_F09_B) / 16.0_rk + end if + else + write(*,*) 'Wrong LU_OPT choice of ', LU_OPT, 'in namelist, only VIIRS/MODIS available right now...exiting' + call exit(2) + end if end function real(rk) function GET_GAMMA_CO2(co2_opt, co2_set) result( GAMMA_CO2 ) diff --git a/src/canopy_waf_mod.F90 b/src/canopy_waf_mod.F90 index a0ace48e..8b672c60 100644 --- a/src/canopy_waf_mod.F90 +++ b/src/canopy_waf_mod.F90 @@ -6,7 +6,7 @@ module canopy_waf_mod !::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & - FRP_IN, FRP_FAC, FCH, MIDFLAMEPOINT, FLAMEH ) + FRP_IN, FRP_FAC, FCH, LU_OPT, VTYPE, MIDFLAMEPOINT, FLAMEH ) !----------------------------------------------------------------------- @@ -34,6 +34,8 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & REAL(RK), INTENT( IN ) :: FRP_IN ! Model input FRP (MW/grid cell area) REAL(RK), INTENT( IN ) :: FRP_FAC ! FRP tuning factor for flame height calculation REAL(RK), INTENT( IN ) :: FCH ! Grid cell canopy height (m) + INTEGER, INTENT( IN ) :: LU_OPT ! Supported land use classifications + INTEGER, INTENT( IN ) :: VTYPE ! Dominant vegetation type INTEGER, INTENT( OUT ) :: MIDFLAMEPOINT ! Indice of the mid-flame point REAL(RK), INTENT( OUT ) :: FLAMEH ! Flame Height (m) @@ -50,13 +52,13 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & FLAMEH_SET, ' from namelist' FLAMEH = FLAMEH_SET else !calculate flameh - FLAMEH = CalcFlameH(frp,DX) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) end if else if (FLAMEH_OPT .eq. 1) then !user set value FLAMEH = FLAMEH_SET else if (FLAMEH_OPT .eq. 2) then !both FRP calc and user set if (frp .gt. 0.0) then - FLAMEH = CalcFlameH(frp,DX) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) else FLAMEH = FLAMEH_SET end if @@ -69,7 +71,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & end if else if (FLAMEH_OPT .eq. 4) then !uses FRP and overide elsewhere if (frp .gt. 0.0) then - FLAMEH = CalcFlameH(frp,DX) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) else if (FLAMEH_SET .le. 1.0) then FLAMEH = FCH * FLAMEH_SET !not real flame height but uses WAF at this fractional FCH @@ -83,7 +85,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & if ( ((frp*1000.0_rk)/DX) .ge. 1700.0_rk ) then !Crown fire likely (Andrews et al., 2011). FLAMEH = FCH !https://doi.org/10.2737/RMRS-GTR-253 else - FLAMEH = CalcFlameH(frp,DX) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) end if else if (FLAMEH_SET .le. 1.0) then From c41a43b1fcbc1f4b6b9a428db23bbd6d360fcf3f Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Wed, 30 Aug 2023 14:37:04 -0400 Subject: [PATCH 02/17] Needed to re-install pre-commit and fixed issues. --- src/canopy_utils_mod.F90 | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/canopy_utils_mod.F90 b/src/canopy_utils_mod.F90 index 7db2906f..c9529fb2 100644 --- a/src/canopy_utils_mod.F90 +++ b/src/canopy_utils_mod.F90 @@ -112,8 +112,8 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) !! Approximates the Flame Height as a function of FRP intensity, grid cell distance (dx), !! and vegetation type (Based on Alexander and Cruz 2012). - !! Alexander, Martin E.; Cruz, Miguel G. 2012. Interdependencies between flame length and - !! fireline intensity in predicting crown fire initiation and crown scorch height. + !! Alexander, Martin E.; Cruz, Miguel G. 2012. Interdependencies between flame length and + !! fireline intensity in predicting crown fire initiation and crown scorch height. !! International Journal of Wildland Fire 21(2):95-113. !! Assume Flame Length = Flame Height under calm winds @@ -131,7 +131,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) real(rk) :: CalcFlameH_N86 !! Fireline intensity to flame height (m): Nelson and Adkins (1986) real(rk) :: CalcFlameH_V86 !! Fireline intensity to flame height (m): van Wilgen (1986) real(rk) :: CalcFlameH_B94 !! Fireline intensity to flame height (m): Burrows (1994) - real(rk) :: CalcFlameH_W96 !! Fireline intensity to flame height (m): Weise and Biging (1996) + real(rk) :: CalcFlameH_W96 !! Fireline intensity to flame height (m): Weise and Biging (1996) real(rk) :: CalcFlameH_V98 !! Fireline intensity to flame height (m): Vega et al. (1998) real(rk) :: CalcFlameH_C98 !! Fireline intensity to flame height (m): Catchpole et al. (1998) real(rk) :: CalcFlameH_F00 !! Fireline intensity to flame height (m): Fernandes et al. (2000) @@ -143,11 +143,11 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY !Pine litter with grass understorey (Evergreen and Grasses) - CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk + CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread + !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread !! research progress report 2. USDA Forest Service, !! Intermountain Forest and Range Experiment Station, Research Paper !! INT-28. (Ogden, UT) @@ -196,7 +196,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) !Eucalypt Forest (Evergreens) CalcFlameH_B94=0.0147_rk*((frp*1000.0_rk)/dx)**0.767_rk !! ------------------------------------------------------------------------------------- - + !! ------------------------------------------------------------------------------------- !! Weise DR, Biging GS (1996) Effects of wind velocity and slope on flame !! properties. Canadian Journal of Forest Research 26, 1849–1858. @@ -209,7 +209,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) !! Vega JA, Cuinas P, Fonturbel T, Perez-Gorostiaga P, Fernandez C (1998) !! Predicting fire behaviour in Galician (NW Spain) shrubland fuel !! complexes. In ‘Proceedings of 3rd International Conference on Forest - !! Flame length and fireline intensity interdependences. + !! Flame length and fireline intensity interdependences. !Shrublands CalcFlameH_V98=0.087_rk*((frp*1000.0_rk)/dx)**0.493_rk !! ------------------------------------------------------------------------------------- @@ -256,7 +256,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) if (lu_opt .eq. 0 .or. lu_opt .eq. 1) then !VIIRS or MODIS LU types if (vtype .ge. 1 .and. vtype .le. 2) then !VIIRS/MODIS Cat 1-2/Evergreen Needleleaf & Broadleaf CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_B94+ & - CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk + CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk if (((frp*1000.0_rk)/dx) .ge. 1700.0_rk ) then !Evergreen forest crowning likely CalcFlameH_set=CalcFlameH_B04 end if @@ -266,17 +266,17 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) CalcFlameH_set=CalcFlameH_N80 else if (vtype .ge. 6 .and. vtype .le. 7) then !VIIRS/MODIS Cat 6-7 Shrublands CalcFlameH_set=(CalcFlameH_N86+CalcFlameH_V86+CalcFlameH_V98+CalcFlameH_C98+ & - CalcFlameH_F00) / 5.0_rk + CalcFlameH_F00) / 5.0_rk else if (vtype .ge. 8 .and. vtype .le. 10) then !VIIRS/MODIS Cat 8-10 Savannas and Grasslands CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk - else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk else CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_N80+ & - CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & - CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & - CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & - CalcFlameH_F09_B) / 16.0_rk + CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & + CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & + CalcFlameH_F09_B) / 16.0_rk end if else write(*,*) 'Wrong LU_OPT choice of ', LU_OPT, 'in namelist, only VIIRS/MODIS available right now...exiting' From e3cc99c4f6e8e7100fac2d1b292777d395041f86 Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Fri, 1 Sep 2023 14:10:59 -0400 Subject: [PATCH 03/17] Updated README. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5968762c..ef3b8ce8 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ You can also [generate global inputs using Python (see python/global_data_proces | `lambdars` | Value representing influence of RSL effects (with `rsl_opt=0`) (Massman et al., 2017) | | `dx_opt` | `0`: Calculation of dx resolution/distance from lon; `1`: user-set dx grid resolution | | `dx_set` | user-set real value of grid resolution (m) only if `dx_opt=1` | -| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (Alexander and Cruz, 2012); `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | +| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (Alexander and Cruz, 2012); Note: this assumes that flame height = flame length (i.e., overestimates flameh in high wind and slope conditions); `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | | `flameh_set` | user-set real value of flame height (m) if `flameh_opt=1` or `2`, or `flameh` = fraction of canopy height (<=1.0), i.e., `flameh` override, if `flameh_opt=3`, `4`, or `5` | | `frp_fac` | user-set real value of tuning factor applied to FRP in calculation of flame height (default: 1.0). Used only if `flameh_opt=0`, `2`, `4`, or `5`. | | `pai_opt` | integer (`0`: PAI fixed from Katul et al. 2004 veg types-->default; `1`: PAI Massman et al. 2017 Eq. 19 calc; `2`: PAI from model LAI+WAI; `3`: user-set PAI value) | From 4e6314d23f171320a791fb65fb29ffaef42a82a8 Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Fri, 1 Sep 2023 15:00:53 -0400 Subject: [PATCH 04/17] Initial commit for new flameh_frp option for setup. --- README.md | 3 +- input/namelist.canopy | 1 + src/canopy_calcs.F90 | 6 +- src/canopy_canopts_mod.F90 | 1 + src/canopy_readnml.F90 | 13 +- src/canopy_utils_mod.F90 | 444 +++++++++++++++++++++++++------------ src/canopy_waf_mod.F90 | 12 +- 7 files changed, 329 insertions(+), 151 deletions(-) diff --git a/README.md b/README.md index ef3b8ce8..03f752d1 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,8 @@ You can also [generate global inputs using Python (see python/global_data_proces | `lambdars` | Value representing influence of RSL effects (with `rsl_opt=0`) (Massman et al., 2017) | | `dx_opt` | `0`: Calculation of dx resolution/distance from lon; `1`: user-set dx grid resolution | | `dx_set` | user-set real value of grid resolution (m) only if `dx_opt=1` | -| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (Alexander and Cruz, 2012); Note: this assumes that flame height = flame length (i.e., overestimates flameh in high wind and slope conditions); `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | +| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (i.e., fire intensity); Note: this uses the one of two FRP calculation methods based on `flameh_frp` below; `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | +| `flameh_frp` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. | | `flameh_set` | user-set real value of flame height (m) if `flameh_opt=1` or `2`, or `flameh` = fraction of canopy height (<=1.0), i.e., `flameh` override, if `flameh_opt=3`, `4`, or `5` | | `frp_fac` | user-set real value of tuning factor applied to FRP in calculation of flame height (default: 1.0). Used only if `flameh_opt=0`, `2`, `4`, or `5`. | | `pai_opt` | integer (`0`: PAI fixed from Katul et al. 2004 veg types-->default; `1`: PAI Massman et al. 2017 Eq. 19 calc; `2`: PAI from model LAI+WAI; `3`: user-set PAI value) | diff --git a/input/namelist.canopy b/input/namelist.canopy index 04781010..e877fb4b 100755 --- a/input/namelist.canopy +++ b/input/namelist.canopy @@ -23,6 +23,7 @@ dx_opt = 0 dx_set = 12000.0 flameh_opt = 2 + flameh_frp = 0 flameh_set = 1.0 frp_fac = 1.0 pai_opt = 0 diff --git a/src/canopy_calcs.F90 b/src/canopy_calcs.F90 index 02ee8357..c4721c1b 100644 --- a/src/canopy_calcs.F90 +++ b/src/canopy_calcs.F90 @@ -170,7 +170,8 @@ SUBROUTINE canopy_calcs ! ... determine midflamepoint and flame height from user or FRP calculation call canopy_flameh(flameh_opt, flameh_set, dx_2d(i,j), modres, & - frpref, frp_fac, hcmref, lu_opt, vtyperef, midflamepoint, flameh_2d(i,j)) + frpref, frp_fac, hcmref, lu_opt, vtyperef, flameh_frp, & + midflamepoint, flameh_2d(i,j)) if (firetype .eq. 0) then !forest/sub-canopy firetype if (flameh_2d(i,j) .gt. 0.0) then !flameh must be > 0 if (flameh_2d(i,j) .le. hcmref) then !only calculate when flameh <= FCH @@ -482,7 +483,8 @@ SUBROUTINE canopy_calcs ! ... determine midflamepoint and flame height from user or FRP calculation call canopy_flameh(flameh_opt, flameh_set, dx(loc), modres, & - frpref, frp_fac, hcmref, lu_opt, vtyperef, midflamepoint, flameh(loc)) + frpref, frp_fac, hcmref, lu_opt, vtyperef, flameh_frp, & + midflamepoint, flameh(loc)) if (firetype .eq. 0) then !forest/sub-canopy firetype if (flameh(loc) .gt. 0.0) then !flameh must be > 0 if (flameh(loc) .le. hcmref) then !only calculate when flameh <= FCH diff --git a/src/canopy_canopts_mod.F90 b/src/canopy_canopts_mod.F90 index b3f1c29c..726db98d 100644 --- a/src/canopy_canopts_mod.F90 +++ b/src/canopy_canopts_mod.F90 @@ -22,6 +22,7 @@ MODULE canopy_canopts_mod integer :: lu_opt !integer for LU type from model mapped to Massman et al. (default = 0/VIIRS) integer :: z0_opt !integer for setting first estimate of z0 (default = 0 for Z0_MOD) integer :: flameh_opt !Integer for flameh values used or calculated (default = 0) + integer :: flameh_frp !Integer for FRP to flame height relationships used (default = 0) real(rk) :: flameh_set !User Set Flame Height (m) real(rk) :: frp_fac !FRP tuning factor for flame height calculation (default = 1.0) integer :: dx_opt !Integer for dx resolution values used or calculated (default = 0) diff --git a/src/canopy_readnml.F90 b/src/canopy_readnml.F90 index 52e63989..9c2f4f6d 100644 --- a/src/canopy_readnml.F90 +++ b/src/canopy_readnml.F90 @@ -21,10 +21,10 @@ SUBROUTINE canopy_readnml NAMELIST /filenames/ file_vars, file_out NAMELIST /userdefs/ infmt_opt, nlat, nlon, modlays, modres, href_opt, href_set, & - z0ghc, lambdars, flameh_opt, flameh_set, frp_fac, ifcanwind, ifcanwaf, & - ifcaneddy, ifcanphot, ifcanbio, pai_opt, pai_set, lu_opt, z0_opt, dx_opt, & - dx_set, lai_thresh, frt_thresh, fch_thresh, rsl_opt, bio_cce, biovert_opt, & - ssg_opt, ssg_set, crop_opt, crop_set, co2_opt, co2_set + z0ghc, lambdars, flameh_opt, flameh_frp, flameh_set, frp_fac, ifcanwind, & + ifcanwaf, ifcaneddy, ifcanphot, ifcanbio, pai_opt, pai_set, lu_opt, z0_opt, & + dx_opt, dx_set, lai_thresh, frt_thresh, fch_thresh, rsl_opt, bio_cce, & + biovert_opt, ssg_opt, ssg_set, crop_opt, crop_set, co2_opt, co2_set !------------------------------------------------------------------------------- ! Error, warning, and informational messages. @@ -112,6 +112,11 @@ SUBROUTINE canopy_readnml flameh_opt = 0 !------------------------------------------------------------------------------- +!------------------------------------------------------------------------------- +! Set default integer for FRP to flame height relationships used (default = 0) + flameh_frp = 0 +!------------------------------------------------------------------------------- + !------------------------------------------------------------------------------- ! Set default real value for flame height (m) (Default = 2.0 m) flameh_set = 2.0_rk diff --git a/src/canopy_utils_mod.F90 b/src/canopy_utils_mod.F90 index c9529fb2..61c3a8e9 100644 --- a/src/canopy_utils_mod.F90 +++ b/src/canopy_utils_mod.F90 @@ -108,7 +108,7 @@ real(rk) function CalcDX(lat, dlon) result(dx) ! end function ! !-------------------------------------------------------------------------------------- - real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) + real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFlameH_set ) !! Approximates the Flame Height as a function of FRP intensity, grid cell distance (dx), !! and vegetation type (Based on Alexander and Cruz 2012). @@ -122,7 +122,8 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) real(rk), intent(in) :: dx !! Input Grid cell length (m) integer, intent(in) :: lu_opt !! Supported land use classifications integer, intent(in) :: vtype !! Grid cell dominant vegetation type - real(rk) :: CalcFlameH_B59 !! Fireline intensity flame length (height) relationship (m): Byram (1959) + integer, intent(in) :: flameh_frp !! Option of vegtype dependent FRP to Flame Height relationships used + real(rk) :: CalcFlameH_B59 !! Fireline intensity flame length (assume=height) relationship (m): Byram (1959) real(rk) :: CalcFlameH_A66_L !! Fireline intensity to flame height (m): Anderson et al. (1966) real(rk) :: CalcFlameH_A66_D !! Fireline intensity to flame height (m): Anderson et al. (1966) real(rk) :: CalcFlameH_N80 !! Fireline intensity to flame height (m): Nelson (1980) @@ -139,149 +140,314 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype) result( CalcFlameH_set ) real(rk) :: CalcFlameH_F09_H !! Fireline intensity to flame height (m): Fernandes et al. (2009) real(rk) :: CalcFlameH_F09_B !! Fireline intensity to flame height (m): Fernandes et al. (2009) - !! ------------------------------------------------------------------------------------- - !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. - !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY - !Pine litter with grass understorey (Evergreen and Grasses) - CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread - !! research progress report 2. USDA Forest Service, - !! Intermountain Forest and Range Experiment Station, Research Paper - !! INT-28. (Ogden, UT) - !Lodgepole pine slash (Evergreen) - CalcFlameH_A66_L=0.074_rk*((frp*1000.0_rk)/dx)**0.651_rk - !Douglas-fir slash (Evergreen) - CalcFlameH_A66_D=0.0447_rk*((frp*1000.0_rk)/dx)**0.67_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Nelson RM Jr (1980) Flame characteristics for fires in southern fuels. USDA - !! Forest Service, Southeastern Forest Experiment Station, Research Paper - !! SE-205. (Asheville, NC) - !Southern USA Fuels (Mixed Forest) - CalcFlameH_N80=0.0377_rk*((frp*1000.0_rk)/dx)**0.50_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Clark RG (1983) Threshold requirements for fire spread in grassland fuels. - !! PhD dissertation, Texas Tech University, Lubbock. - !Grasslands (head fire) (Grasslands) - CalcFlameH_C83_H=0.00015_rk*((frp*1000.0_rk)/dx)**1.75_rk - !Grasslands (backfire) (Grasslands) - CalcFlameH_C83_B=0.000722_rk*((frp*1000.0_rk)/dx)**0.99_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Nelson RM Jr, Adkins CW (1986) Flame characteristics of wind-driven - !! surface fires. Canadian Journal of Forest Research 16, 1293–1300. - !! doi:10.1139/X86-229 - !Litter and shrubs (Shrublands) - CalcFlameH_N86=0.0475_rk*((frp*1000.0_rk)/dx)**0.493_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! van Wilgen BW (1986) A simple relationship for estimating the intensity of - !! fires in natural vegetation. South African Journal of Botany 52, 384–385 - !Fynbos shrublands (Shrublands) - CalcFlameH_V86=0.0075_rk*((frp*1000.0_rk)/dx)**0.46_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Burrows ND (1994) Experimental development of a fire management model - !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, - !! Australian National University, Canberra. - !Eucalypt Forest (Evergreens) - CalcFlameH_B94=0.0147_rk*((frp*1000.0_rk)/dx)**0.767_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Weise DR, Biging GS (1996) Effects of wind velocity and slope on flame - !! properties. Canadian Journal of Forest Research 26, 1849–1858. - !! doi:10.1139/X26-210 - !Excelsior (Deciduous) - CalcFlameH_W96=0.016_rk*((frp*1000.0_rk)/dx)**0.7_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Vega JA, Cuinas P, Fonturbel T, Perez-Gorostiaga P, Fernandez C (1998) - !! Predicting fire behaviour in Galician (NW Spain) shrubland fuel - !! complexes. In ‘Proceedings of 3rd International Conference on Forest - !! Flame length and fireline intensity interdependences. - !Shrublands - CalcFlameH_V98=0.087_rk*((frp*1000.0_rk)/dx)**0.493_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! CatchpoleWR, Bradstock RA, Choate J, Fogarty LG, Gellie N, McCarthy G, - !! McCaw WL, Marsden-Smedley JB, Pearce G (1998) Cooperative - !! development of equations for heathland fire behaviour. In ‘Proceedings - !! of 3rd International Conference on Forest Fire Research and 14th - !! Conference on Fire and Forest Meteorology, Volume II’, 16–20 - !! November 1998, Luso–Coimbra, Portugal. (Ed. DX Viegas) - !! pp. 631–645. (University of Coimbra: Coimbra, Portugal) - !Shrublands - CalcFlameH_C98=0.0325_rk*((frp*1000.0_rk)/dx)**0.56_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Fernandes PM, Catchpole WR, Rego FC (2000) Shrubland fire behaviour - !! modelling with microplot data.Canadian Journal of Forest Research 30, - !! 889–899. doi:10.1139/X00-012 - !Shrublands - CalcFlameH_F00=0.0516_rk*((frp*1000.0_rk)/dx)**0.453_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Butler BW, Finney MA, Andrews PL, Albini FA (2004) A radiation-driven - !! model of crown fire spread. Canadian Journal of Forest Research 34, - !! 1588–1599. doi:10.1139/X04-074 - !Jack Pine Forest - Crown Fire (Evergreen) - CalcFlameH_B04=0.0175_rk*((frp*1000.0_rk)/dx)**0.667_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Fernandes PM, Botelho HS, Rego FC, Loureiro C (2009) Empirical - !! modelling of surface fire behaviour in maritime pine stands. - !! International Journal of Wildland Fire 18, 698–710. doi:10.1071/ - !! WF08023 - !Maritime Pine (head fire) (Evergreen) - CalcFlameH_F09_H=0.045_rk*((frp*1000.0_rk)/dx)**0.543_rk - !Maritime Pine (backfire) (Evergreen) - CalcFlameH_F09_B=0.029_rk*((frp*1000.0_rk)/dx)**0.724_rk - !! ------------------------------------------------------------------------------------- - - if (lu_opt .eq. 0 .or. lu_opt .eq. 1) then !VIIRS or MODIS LU types - if (vtype .ge. 1 .and. vtype .le. 2) then !VIIRS/MODIS Cat 1-2/Evergreen Needleleaf & Broadleaf - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_B94+ & - CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk - if (((frp*1000.0_rk)/dx) .ge. 1700.0_rk ) then !Evergreen forest crowning likely - CalcFlameH_set=CalcFlameH_B04 + + if (flameh_frp .eq. 0) then !We assume that flame height=flame length, + !and use the relationships in Table 1 of Alexander and Cruz (2012) + + !! ------------------------------------------------------------------------------------- + !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. + !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY + !Pine litter with grass understorey (Evergreen and Grasses) + CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread + !! research progress report 2. USDA Forest Service, + !! Intermountain Forest and Range Experiment Station, Research Paper + !! INT-28. (Ogden, UT) + !Lodgepole pine slash (Evergreen) + CalcFlameH_A66_L=0.074_rk*((frp*1000.0_rk)/dx)**0.651_rk + !Douglas-fir slash (Evergreen) + CalcFlameH_A66_D=0.0447_rk*((frp*1000.0_rk)/dx)**0.67_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Nelson RM Jr (1980) Flame characteristics for fires in southern fuels. USDA + !! Forest Service, Southeastern Forest Experiment Station, Research Paper + !! SE-205. (Asheville, NC) + !Southern USA Fuels (Mixed Forest) + CalcFlameH_N80=0.0377_rk*((frp*1000.0_rk)/dx)**0.50_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Clark RG (1983) Threshold requirements for fire spread in grassland fuels. + !! PhD dissertation, Texas Tech University, Lubbock. + !Grasslands (head fire) (Grasslands) + CalcFlameH_C83_H=0.00015_rk*((frp*1000.0_rk)/dx)**1.75_rk + !Grasslands (backfire) (Grasslands) + CalcFlameH_C83_B=0.000722_rk*((frp*1000.0_rk)/dx)**0.99_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Nelson RM Jr, Adkins CW (1986) Flame characteristics of wind-driven + !! surface fires. Canadian Journal of Forest Research 16, 1293–1300. + !! doi:10.1139/X86-229 + !Litter and shrubs (Shrublands) + CalcFlameH_N86=0.0475_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! van Wilgen BW (1986) A simple relationship for estimating the intensity of + !! fires in natural vegetation. South African Journal of Botany 52, 384–385 + !Fynbos shrublands (Shrublands) + CalcFlameH_V86=0.0075_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Burrows ND (1994) Experimental development of a fire management model + !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, + !! Australian National University, Canberra. + !Eucalypt Forest (Evergreens) + CalcFlameH_B94=0.0147_rk*((frp*1000.0_rk)/dx)**0.767_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Weise DR, Biging GS (1996) Effects of wind velocity and slope on flame + !! properties. Canadian Journal of Forest Research 26, 1849–1858. + !! doi:10.1139/X26-210 + !Excelsior (Deciduous) + CalcFlameH_W96=0.016_rk*((frp*1000.0_rk)/dx)**0.7_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Vega JA, Cuinas P, Fonturbel T, Perez-Gorostiaga P, Fernandez C (1998) + !! Predicting fire behaviour in Galician (NW Spain) shrubland fuel + !! complexes. In ‘Proceedings of 3rd International Conference on Forest + !! Flame length and fireline intensity interdependences. + !Shrublands + CalcFlameH_V98=0.087_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! CatchpoleWR, Bradstock RA, Choate J, Fogarty LG, Gellie N, McCarthy G, + !! McCaw WL, Marsden-Smedley JB, Pearce G (1998) Cooperative + !! development of equations for heathland fire behaviour. In ‘Proceedings + !! of 3rd International Conference on Forest Fire Research and 14th + !! Conference on Fire and Forest Meteorology, Volume II’, 16–20 + !! November 1998, Luso–Coimbra, Portugal. (Ed. DX Viegas) + !! pp. 631–645. (University of Coimbra: Coimbra, Portugal) + !Shrublands + CalcFlameH_C98=0.0325_rk*((frp*1000.0_rk)/dx)**0.56_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Fernandes PM, Catchpole WR, Rego FC (2000) Shrubland fire behaviour + !! modelling with microplot data.Canadian Journal of Forest Research 30, + !! 889–899. doi:10.1139/X00-012 + !Shrublands + CalcFlameH_F00=0.0516_rk*((frp*1000.0_rk)/dx)**0.453_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Butler BW, Finney MA, Andrews PL, Albini FA (2004) A radiation-driven + !! model of crown fire spread. Canadian Journal of Forest Research 34, + !! 1588–1599. doi:10.1139/X04-074 + !Jack Pine Forest - Crown Fire (Evergreen) + CalcFlameH_B04=0.0175_rk*((frp*1000.0_rk)/dx)**0.667_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Fernandes PM, Botelho HS, Rego FC, Loureiro C (2009) Empirical + !! modelling of surface fire behaviour in maritime pine stands. + !! International Journal of Wildland Fire 18, 698–710. doi:10.1071/ + !! WF08023 + !Maritime Pine (head fire) (Evergreen) + CalcFlameH_F09_H=0.045_rk*((frp*1000.0_rk)/dx)**0.543_rk + !Maritime Pine (backfire) (Evergreen) + CalcFlameH_F09_B=0.029_rk*((frp*1000.0_rk)/dx)**0.724_rk + !! ------------------------------------------------------------------------------------- + + if (lu_opt .eq. 0 .or. lu_opt .eq. 1) then !VIIRS or MODIS LU types + if (vtype .ge. 1 .and. vtype .le. 2) then !VIIRS/MODIS Cat 1-2/Evergreen Needleleaf & Broadleaf + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_B94+ & + CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk + if (((frp*1000.0_rk)/dx) .ge. 1700.0_rk ) then !Evergreen forest crowning likely + CalcFlameH_set=CalcFlameH_B04!for completeness in Alexander and Cruz, will leave here + !but is overidden in WAF calculation anyway for same crowning + !check and flame heigh set to canopy height. + end if + else if (vtype .ge. 3 .and. vtype .le. 4) then !VIIRS/MODIS Cat 3-4 Deciduous Needleleaf and Broadleaf + CalcFlameH_set=(CalcFlameH_N80+CalcFlameH_W96) / 2.0_rk + else if (vtype .eq. 5) then !VIIRS/MODIS Cat 5 Mixed Forests + CalcFlameH_set=CalcFlameH_N80 + else if (vtype .ge. 6 .and. vtype .le. 7) then !VIIRS/MODIS Cat 6-7 Shrublands + CalcFlameH_set=(CalcFlameH_N86+CalcFlameH_V86+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00) / 5.0_rk + else if (vtype .ge. 8 .and. vtype .le. 10) then !VIIRS/MODIS Cat 8-10 Savannas and Grasslands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_N80+ & + CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & + CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & + CalcFlameH_F09_B) / 16.0_rk end if - else if (vtype .ge. 3 .and. vtype .le. 4) then !VIIRS/MODIS Cat 3-4 Deciduous Needleleaf and Broadleaf - CalcFlameH_set=(CalcFlameH_N80+CalcFlameH_W96) / 2.0_rk - else if (vtype .eq. 5) then !VIIRS/MODIS Cat 5 Mixed Forests - CalcFlameH_set=CalcFlameH_N80 - else if (vtype .ge. 6 .and. vtype .le. 7) then !VIIRS/MODIS Cat 6-7 Shrublands - CalcFlameH_set=(CalcFlameH_N86+CalcFlameH_V86+CalcFlameH_V98+CalcFlameH_C98+ & - CalcFlameH_F00) / 5.0_rk - else if (vtype .ge. 8 .and. vtype .le. 10) then !VIIRS/MODIS Cat 8-10 Savannas and Grasslands - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk - else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk else - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_N80+ & - CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & - CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & - CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & - CalcFlameH_F09_B) / 16.0_rk + write(*,*) 'Wrong LU_OPT choice of ', LU_OPT, 'in namelist, only VIIRS/MODIS available right now...exiting' + call exit(2) end if + + + + else if (flameh_frp .eq. 1) then!We use the crown scorch height relationships in + !Table 2 of Alexander and Cruz (2012) and Equation 14 + !that directly relates flame height to crown scorch height + + + !! ------------------------------------------------------------------------------------- + !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. + !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY + !Pine litter with grass understorey (Evergreen and Grasses) + CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread + !! research progress report 2. USDA Forest Service, + !! Intermountain Forest and Range Experiment Station, Research Paper + !! INT-28. (Ogden, UT) + !Lodgepole pine slash (Evergreen) + CalcFlameH_A66_L=0.074_rk*((frp*1000.0_rk)/dx)**0.651_rk + !Douglas-fir slash (Evergreen) + CalcFlameH_A66_D=0.0447_rk*((frp*1000.0_rk)/dx)**0.67_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Nelson RM Jr (1980) Flame characteristics for fires in southern fuels. USDA + !! Forest Service, Southeastern Forest Experiment Station, Research Paper + !! SE-205. (Asheville, NC) + !Southern USA Fuels (Mixed Forest) + CalcFlameH_N80=0.0377_rk*((frp*1000.0_rk)/dx)**0.50_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Clark RG (1983) Threshold requirements for fire spread in grassland fuels. + !! PhD dissertation, Texas Tech University, Lubbock. + !Grasslands (head fire) (Grasslands) + CalcFlameH_C83_H=0.00015_rk*((frp*1000.0_rk)/dx)**1.75_rk + !Grasslands (backfire) (Grasslands) + CalcFlameH_C83_B=0.000722_rk*((frp*1000.0_rk)/dx)**0.99_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Nelson RM Jr, Adkins CW (1986) Flame characteristics of wind-driven + !! surface fires. Canadian Journal of Forest Research 16, 1293–1300. + !! doi:10.1139/X86-229 + !Litter and shrubs (Shrublands) + CalcFlameH_N86=0.0475_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! van Wilgen BW (1986) A simple relationship for estimating the intensity of + !! fires in natural vegetation. South African Journal of Botany 52, 384–385 + !Fynbos shrublands (Shrublands) + CalcFlameH_V86=0.0075_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Burrows ND (1994) Experimental development of a fire management model + !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, + !! Australian National University, Canberra. + !Eucalypt Forest (Evergreens) + CalcFlameH_B94=0.0147_rk*((frp*1000.0_rk)/dx)**0.767_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Weise DR, Biging GS (1996) Effects of wind velocity and slope on flame + !! properties. Canadian Journal of Forest Research 26, 1849–1858. + !! doi:10.1139/X26-210 + !Excelsior (Deciduous) + CalcFlameH_W96=0.016_rk*((frp*1000.0_rk)/dx)**0.7_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Vega JA, Cuinas P, Fonturbel T, Perez-Gorostiaga P, Fernandez C (1998) + !! Predicting fire behaviour in Galician (NW Spain) shrubland fuel + !! complexes. In ‘Proceedings of 3rd International Conference on Forest + !! Flame length and fireline intensity interdependences. + !Shrublands + CalcFlameH_V98=0.087_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! CatchpoleWR, Bradstock RA, Choate J, Fogarty LG, Gellie N, McCarthy G, + !! McCaw WL, Marsden-Smedley JB, Pearce G (1998) Cooperative + !! development of equations for heathland fire behaviour. In ‘Proceedings + !! of 3rd International Conference on Forest Fire Research and 14th + !! Conference on Fire and Forest Meteorology, Volume II’, 16–20 + !! November 1998, Luso–Coimbra, Portugal. (Ed. DX Viegas) + !! pp. 631–645. (University of Coimbra: Coimbra, Portugal) + !Shrublands + CalcFlameH_C98=0.0325_rk*((frp*1000.0_rk)/dx)**0.56_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Fernandes PM, Catchpole WR, Rego FC (2000) Shrubland fire behaviour + !! modelling with microplot data.Canadian Journal of Forest Research 30, + !! 889–899. doi:10.1139/X00-012 + !Shrublands + CalcFlameH_F00=0.0516_rk*((frp*1000.0_rk)/dx)**0.453_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Butler BW, Finney MA, Andrews PL, Albini FA (2004) A radiation-driven + !! model of crown fire spread. Canadian Journal of Forest Research 34, + !! 1588–1599. doi:10.1139/X04-074 + !Jack Pine Forest - Crown Fire (Evergreen) + CalcFlameH_B04=0.0175_rk*((frp*1000.0_rk)/dx)**0.667_rk + !! ------------------------------------------------------------------------------------- + + !! ------------------------------------------------------------------------------------- + !! Fernandes PM, Botelho HS, Rego FC, Loureiro C (2009) Empirical + !! modelling of surface fire behaviour in maritime pine stands. + !! International Journal of Wildland Fire 18, 698–710. doi:10.1071/ + !! WF08023 + !Maritime Pine (head fire) (Evergreen) + CalcFlameH_F09_H=0.045_rk*((frp*1000.0_rk)/dx)**0.543_rk + !Maritime Pine (backfire) (Evergreen) + CalcFlameH_F09_B=0.029_rk*((frp*1000.0_rk)/dx)**0.724_rk + !! ------------------------------------------------------------------------------------- + + if (lu_opt .eq. 0 .or. lu_opt .eq. 1) then !VIIRS or MODIS LU types + if (vtype .ge. 1 .and. vtype .le. 2) then !VIIRS/MODIS Cat 1-2/Evergreen Needleleaf & Broadleaf + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_B94+ & + CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk + if (((frp*1000.0_rk)/dx) .ge. 1700.0_rk ) then !Evergreen forest crowning likely + CalcFlameH_set=CalcFlameH_B04!for completeness in Alexander and Cruz, will leave here + !but is overidden in WAF calculation anyway for same crowning + !check and flame heigh set to canopy height. + end if + else if (vtype .ge. 3 .and. vtype .le. 4) then !VIIRS/MODIS Cat 3-4 Deciduous Needleleaf and Broadleaf + CalcFlameH_set=(CalcFlameH_N80+CalcFlameH_W96) / 2.0_rk + else if (vtype .eq. 5) then !VIIRS/MODIS Cat 5 Mixed Forests + CalcFlameH_set=CalcFlameH_N80 + else if (vtype .ge. 6 .and. vtype .le. 7) then !VIIRS/MODIS Cat 6-7 Shrublands + CalcFlameH_set=(CalcFlameH_N86+CalcFlameH_V86+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00) / 5.0_rk + else if (vtype .ge. 8 .and. vtype .le. 10) then !VIIRS/MODIS Cat 8-10 Savannas and Grasslands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + else + CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_N80+ & + CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & + CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & + CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & + CalcFlameH_F09_B) / 16.0_rk + end if + else + write(*,*) 'Wrong LU_OPT choice of ', LU_OPT, 'in namelist, only VIIRS/MODIS available right now...exiting' + call exit(2) + end if + else - write(*,*) 'Wrong LU_OPT choice of ', LU_OPT, 'in namelist, only VIIRS/MODIS available right now...exiting' + write(*,*) 'Wrong FLAMEH_FRP choice of ', FLAMEH_FRP, 'in namelist...exiting' call exit(2) end if + end function real(rk) function GET_GAMMA_CO2(co2_opt, co2_set) result( GAMMA_CO2 ) diff --git a/src/canopy_waf_mod.F90 b/src/canopy_waf_mod.F90 index 8b672c60..5f4f979d 100644 --- a/src/canopy_waf_mod.F90 +++ b/src/canopy_waf_mod.F90 @@ -6,7 +6,8 @@ module canopy_waf_mod !::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & - FRP_IN, FRP_FAC, FCH, LU_OPT, VTYPE, MIDFLAMEPOINT, FLAMEH ) + FRP_IN, FRP_FAC, FCH, LU_OPT, VTYPE, FLAMEH_FRP, & + MIDFLAMEPOINT, FLAMEH ) !----------------------------------------------------------------------- @@ -36,6 +37,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & REAL(RK), INTENT( IN ) :: FCH ! Grid cell canopy height (m) INTEGER, INTENT( IN ) :: LU_OPT ! Supported land use classifications INTEGER, INTENT( IN ) :: VTYPE ! Dominant vegetation type + INTEGER, INTENT( IN ) :: FLAMEH_FRP ! Option of vegtype dependent FRP to Flame Height relationships used INTEGER, INTENT( OUT ) :: MIDFLAMEPOINT ! Indice of the mid-flame point REAL(RK), INTENT( OUT ) :: FLAMEH ! Flame Height (m) @@ -52,13 +54,13 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & FLAMEH_SET, ' from namelist' FLAMEH = FLAMEH_SET else !calculate flameh - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) end if else if (FLAMEH_OPT .eq. 1) then !user set value FLAMEH = FLAMEH_SET else if (FLAMEH_OPT .eq. 2) then !both FRP calc and user set if (frp .gt. 0.0) then - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) else FLAMEH = FLAMEH_SET end if @@ -71,7 +73,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & end if else if (FLAMEH_OPT .eq. 4) then !uses FRP and overide elsewhere if (frp .gt. 0.0) then - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) else if (FLAMEH_SET .le. 1.0) then FLAMEH = FCH * FLAMEH_SET !not real flame height but uses WAF at this fractional FCH @@ -85,7 +87,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & if ( ((frp*1000.0_rk)/DX) .ge. 1700.0_rk ) then !Crown fire likely (Andrews et al., 2011). FLAMEH = FCH !https://doi.org/10.2737/RMRS-GTR-253 else - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) end if else if (FLAMEH_SET .le. 1.0) then From 0182d4fe0ffe92901968478ba263cf3d9ce5ef0f Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Mon, 4 Sep 2023 22:09:57 -0400 Subject: [PATCH 05/17] Added scorch height to flame height relationships. --- src/canopy_utils_mod.F90 | 233 ++++++++++++++++++++------------------- 1 file changed, 120 insertions(+), 113 deletions(-) diff --git a/src/canopy_utils_mod.F90 b/src/canopy_utils_mod.F90 index 61c3a8e9..e0a20505 100644 --- a/src/canopy_utils_mod.F90 +++ b/src/canopy_utils_mod.F90 @@ -123,22 +123,35 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFla integer, intent(in) :: lu_opt !! Supported land use classifications integer, intent(in) :: vtype !! Grid cell dominant vegetation type integer, intent(in) :: flameh_frp !! Option of vegtype dependent FRP to Flame Height relationships used - real(rk) :: CalcFlameH_B59 !! Fireline intensity flame length (assume=height) relationship (m): Byram (1959) - real(rk) :: CalcFlameH_A66_L !! Fireline intensity to flame height (m): Anderson et al. (1966) - real(rk) :: CalcFlameH_A66_D !! Fireline intensity to flame height (m): Anderson et al. (1966) - real(rk) :: CalcFlameH_N80 !! Fireline intensity to flame height (m): Nelson (1980) - real(rk) :: CalcFlameH_C83_H !! Fireline intensity to flame height (m): Clark (1983) - real(rk) :: CalcFlameH_C83_B !! Fireline intensity to flame height (m): Clark (1983) - real(rk) :: CalcFlameH_N86 !! Fireline intensity to flame height (m): Nelson and Adkins (1986) - real(rk) :: CalcFlameH_V86 !! Fireline intensity to flame height (m): van Wilgen (1986) - real(rk) :: CalcFlameH_B94 !! Fireline intensity to flame height (m): Burrows (1994) - real(rk) :: CalcFlameH_W96 !! Fireline intensity to flame height (m): Weise and Biging (1996) - real(rk) :: CalcFlameH_V98 !! Fireline intensity to flame height (m): Vega et al. (1998) - real(rk) :: CalcFlameH_C98 !! Fireline intensity to flame height (m): Catchpole et al. (1998) - real(rk) :: CalcFlameH_F00 !! Fireline intensity to flame height (m): Fernandes et al. (2000) - real(rk) :: CalcFlameH_B04 !! Fireline intensity to flame height (m): Butler et al. (2004) - real(rk) :: CalcFlameH_F09_H !! Fireline intensity to flame height (m): Fernandes et al. (2009) - real(rk) :: CalcFlameH_F09_B !! Fireline intensity to flame height (m): Fernandes et al. (2009) + real(rk) :: CalcFlameH_B59 !! Fireline intensity to flame length (=height) (m): Byram (1959) + real(rk) :: CalcFlameH_A66_L !! Fireline intensity to flame length (=height) (m): Anderson et al. (1966) + real(rk) :: CalcFlameH_A66_D !! Fireline intensity to flame length (=height) (m): Anderson et al. (1966) + real(rk) :: CalcFlameH_N80 !! Fireline intensity to flame length (=height) (m): Nelson (1980) + real(rk) :: CalcFlameH_C83_H !! Fireline intensity to flame length (=height) (m): Clark (1983) + real(rk) :: CalcFlameH_C83_B !! Fireline intensity to flame length (=height) (m): Clark (1983) + real(rk) :: CalcFlameH_N86 !! Fireline intensity to flame length (=height) (m): Nelson and Adkins (1986) + real(rk) :: CalcFlameH_V86 !! Fireline intensity to flame length (=height) (m): van Wilgen (1986) + real(rk) :: CalcFlameH_B94 !! Fireline intensity to flame length (=height) (m): Burrows (1994) + real(rk) :: CalcFlameH_W96 !! Fireline intensity to flame length (=height) (m): Weise and Biging (1996) + real(rk) :: CalcFlameH_V98 !! Fireline intensity to flame length (=height) (m): Vega et al. (1998) + real(rk) :: CalcFlameH_C98 !! Fireline intensity to flame length (=height) (m): Catchpole et al. (1998) + real(rk) :: CalcFlameH_F00 !! Fireline intensity to flame length (=height) (m): Fernandes et al. (2000) + real(rk) :: CalcFlameH_B04 !! Fireline intensity to flame length (=height) (m): Butler et al. (2004) + real(rk) :: CalcFlameH_F09_H !! Fireline intensity to flame length (=height) (m): Fernandes et al. (2009) + real(rk) :: CalcFlameH_F09_B !! Fireline intensity to flame length (=height) (m): Fernandes et al. (2009) + real(rk) :: CalcFlameS_M71 !! Fireline intensity to flame scorch (m): McArthur (1971) + real(rk) :: CalcFlameS_V73 !! Fireline intensity to flame scorch (m): Van Wagner (1973) + real(rk) :: CalcFlameS_C78 !! Fireline intensity to flame scorch (m): Cheyney (1978) + real(rk) :: CalcFlameS_L78 !! Fireline intensity to flame scorch (m): Luke and McArthur (1978) + real(rk) :: CalcFlameS_B88 !! Fireline intensity to flame scorch (m): Burrows et al. (1988) + real(rk) :: CalcFlameS_B89 !! Fireline intensity to flame scorch (m): Burrows et al. (1989) + real(rk) :: CalcFlameS_S90 !! Fireline intensity to flame scorch (m): Saveland et al. (1990) + real(rk) :: CalcFlameS_F93 !! Fireline intensity to flame scorch (m): Finney and Martin (1993) + real(rk) :: CalcFlameS_B94_1 !! Fireline intensity to flame scorch (m): Burrows (1994) + real(rk) :: CalcFlameS_B94_2 !! Fireline intensity to flame scorch (m): Burrows (1994) + real(rk) :: CalcFlameS_W98 !! Fireline intensity to flame scorch (m): Williams et al. (1998) + real(rk) :: CalcFlameS_F02 !! Fireline intensity to flame scorch (m): Fernandes (2002) + real(rk) :: CalcFlameS_set !! Vegetation dependent average crown scorch height (m) if (flameh_frp .eq. 0) then !We assume that flame height=flame length, @@ -298,151 +311,145 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFla !! ------------------------------------------------------------------------------------- - !! Byram, GM (1959). Combustion of Forest Fuels. In Forest Fire: Control and Use. - !! (Ed. KP David) pp. 61-89. McGraw Hill, New York, NY - !Pine litter with grass understorey (Evergreen and Grasses) - CalcFlameH_B59=0.0775_rk*((frp*1000.0_rk)/dx)**0.46_rk + !! McArthur AG (1971) Aspects of fire control in the P. caribaea and + !! P. elliottii plantations of north-western Viti Levu, Fiji Islands. + !! Commonwealth of Australia, Forest and Timber Bureau, Forest + !! Research Institute. (Canberra, ACT) + !Slash and Carribean Pine (Evergreen) + CalcFlameS_M71=0.1226_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Anderson HE, Brackebusch AP, Mutch RW, Rothermel RC (1966) Mechanisms of fire spread - !! research progress report 2. USDA Forest Service, - !! Intermountain Forest and Range Experiment Station, Research Paper - !! INT-28. (Ogden, UT) - !Lodgepole pine slash (Evergreen) - CalcFlameH_A66_L=0.074_rk*((frp*1000.0_rk)/dx)**0.651_rk - !Douglas-fir slash (Evergreen) - CalcFlameH_A66_D=0.0447_rk*((frp*1000.0_rk)/dx)**0.67_rk + !! Van Wagner CE (1973) Height of crown scorch in forest fires. Canadian + !! Journal of Forest Research 3, 373–378. doi:10.1139/X73-055 + !Red Pine, White Pine, Jack Pine, and Northern Red Oak (Mixed Forest) + CalcFlameS_V73=0.1483_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Nelson RM Jr (1980) Flame characteristics for fires in southern fuels. USDA - !! Forest Service, Southeastern Forest Experiment Station, Research Paper - !! SE-205. (Asheville, NC) - !Southern USA Fuels (Mixed Forest) - CalcFlameH_N80=0.0377_rk*((frp*1000.0_rk)/dx)**0.50_rk + !! Cheney NP (1978) Guidelines for fire management on forested watersheds, + !! based on Australian experience. In ‘Special Readings in Conservation’, + !! FAO Conservation Guide 4, pp. 1–37. (Food and Agriculture Organization + !! of the United Nations: Rome, Italy) + !Eucalypt Forest (Evergreen) + CalcFlameS_C78=0.1297_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Clark RG (1983) Threshold requirements for fire spread in grassland fuels. - !! PhD dissertation, Texas Tech University, Lubbock. - !Grasslands (head fire) (Grasslands) - CalcFlameH_C83_H=0.00015_rk*((frp*1000.0_rk)/dx)**1.75_rk - !Grasslands (backfire) (Grasslands) - CalcFlameH_C83_B=0.000722_rk*((frp*1000.0_rk)/dx)**0.99_rk + !! Luke RH, McArthur AG (1978) ‘Bushfires in Australia.’ (Australian + !! Government Publishing Service: Canberra, ACT) + !Eucalypt Forest (Evergreen) + CalcFlameS_L78=0.1523_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Nelson RM Jr, Adkins CW (1986) Flame characteristics of wind-driven - !! surface fires. Canadian Journal of Forest Research 16, 1293–1300. - !! doi:10.1139/X86-229 - !Litter and shrubs (Shrublands) - CalcFlameH_N86=0.0475_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! Burrows ND, Smith RH, RobinsonAD(1988) Prescribed burning slash fuels + !! in Pinus radiata plantations in Western Australia. Western Australia + !! Department of Conservation and Land Management, Technical Report + !! 20. (Perth, WA) + !Radiata Pine Thinning Slash (Evergreen) + CalcFlameS_B88=0.1579_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! van Wilgen BW (1986) A simple relationship for estimating the intensity of - !! fires in natural vegetation. South African Journal of Botany 52, 384–385 - !Fynbos shrublands (Shrublands) - CalcFlameH_V86=0.0075_rk*((frp*1000.0_rk)/dx)**0.46_rk - !! ------------------------------------------------------------------------------------- - - !! ------------------------------------------------------------------------------------- - !! Burrows ND (1994) Experimental development of a fire management model - !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, - !! Australian National University, Canberra. - !Eucalypt Forest (Evergreens) - CalcFlameH_B94=0.0147_rk*((frp*1000.0_rk)/dx)**0.767_rk + !! Burrows ND, Woods YC, Ward BG, Robinson AD (1989) Prescribing low + !! intensity fire to kill wildings in Pinus radiata plantations in Western + !! Australia. Australian Forestry 52, 45–52. + !Radiata Pine Wildings (Evergreen) + if (frp .gt. 0) then + CalcFlameS_B89=max(0.0_rk,(0.248_rk*((frp*1000.0_rk)/dx)**0.667_rk) - 0.41) + else + CalcFlameS_B89=0.0_rk + end if !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Weise DR, Biging GS (1996) Effects of wind velocity and slope on flame - !! properties. Canadian Journal of Forest Research 26, 1849–1858. - !! doi:10.1139/X26-210 - !Excelsior (Deciduous) - CalcFlameH_W96=0.016_rk*((frp*1000.0_rk)/dx)**0.7_rk + !! Saveland JM, Bakken SR, Neuenschwander LF (1990) Predicting mortality + !! and scorch height from prescribed burning for ponderosa pine in + !! northern Idaho. University of Idaho, College of Forestry, Wildlife and + !! Range Sciences, Idaho Forest, Wildlife and Range Experiment Station, + !! Station Bulletin 53. (Moscow, ID) + !Ponderosa Pine (Evergreen) + CalcFlameS_S90=0.063_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Vega JA, Cuinas P, Fonturbel T, Perez-Gorostiaga P, Fernandez C (1998) - !! Predicting fire behaviour in Galician (NW Spain) shrubland fuel - !! complexes. In ‘Proceedings of 3rd International Conference on Forest - !! Flame length and fireline intensity interdependences. - !Shrublands - CalcFlameH_V98=0.087_rk*((frp*1000.0_rk)/dx)**0.493_rk + !! Finney MA, Martin RE (1993) Modeling effects of prescribed fire on younggrowth + !! coast redwood trees. Canadian Journal of Forest Research 23, + !! 1125–1135. doi:10.1139/X93-143 + !Coast Redwood (Evergreen) + CalcFlameS_F93=0.228_rk*((frp*1000.0_rk)/dx)**0.667_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! CatchpoleWR, Bradstock RA, Choate J, Fogarty LG, Gellie N, McCarthy G, - !! McCaw WL, Marsden-Smedley JB, Pearce G (1998) Cooperative - !! development of equations for heathland fire behaviour. In ‘Proceedings - !! of 3rd International Conference on Forest Fire Research and 14th - !! Conference on Fire and Forest Meteorology, Volume II’, 16–20 - !! November 1998, Luso–Coimbra, Portugal. (Ed. DX Viegas) - !! pp. 631–645. (University of Coimbra: Coimbra, Portugal) - !Shrublands - CalcFlameH_C98=0.0325_rk*((frp*1000.0_rk)/dx)**0.56_rk + !! BurrowsND(1994) Experimental development of a fire management model + !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, + !! Australian National University, Canberra. + !Jarrah Forest - spring (Evergreen) + CalcFlameS_B94_1=0.28_rk*((frp*1000.0_rk)/dx)**0.58_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Fernandes PM, Catchpole WR, Rego FC (2000) Shrubland fire behaviour - !! modelling with microplot data.Canadian Journal of Forest Research 30, - !! 889–899. doi:10.1139/X00-012 - !Shrublands - CalcFlameH_F00=0.0516_rk*((frp*1000.0_rk)/dx)**0.453_rk + !! BurrowsND(1994) Experimental development of a fire management model + !! for jarrah (Eucalyptus marginata Donn ex Sm.) forest. PhD thesis, + !! Australian National University, Canberra. + !Jarrah Forest - summer (Evergreen) + CalcFlameS_B94_2=0.36_rk*((frp*1000.0_rk)/dx)**0.59_rk !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Butler BW, Finney MA, Andrews PL, Albini FA (2004) A radiation-driven - !! model of crown fire spread. Canadian Journal of Forest Research 34, - !! 1588–1599. doi:10.1139/X04-074 - !Jack Pine Forest - Crown Fire (Evergreen) - CalcFlameH_B04=0.0175_rk*((frp*1000.0_rk)/dx)**0.667_rk + !! Williams RJ, Gill AM, Moore PHR (1998) Seasonal changes in fire + !! behaviour in a tropical savanna in Northern Australia. International + !! Journal of Wildland Fire 8, 227–239. doi:10.1071/WF9980227 + !Grassland-eucalypt savanna (Savanna, Grassland, Crops) + if (frp .gt. 0) then + CalcFlameS_W98=(21.2_rk - 17.6_rk)*exp(0.000287_rk*((frp*1000.0_rk)/dx)) + else + CalcFlameS_W98=0.0_rk + end if !! ------------------------------------------------------------------------------------- !! ------------------------------------------------------------------------------------- - !! Fernandes PM, Botelho HS, Rego FC, Loureiro C (2009) Empirical - !! modelling of surface fire behaviour in maritime pine stands. - !! International Journal of Wildland Fire 18, 698–710. doi:10.1071/ - !! WF08023 - !Maritime Pine (head fire) (Evergreen) - CalcFlameH_F09_H=0.045_rk*((frp*1000.0_rk)/dx)**0.543_rk - !Maritime Pine (backfire) (Evergreen) - CalcFlameH_F09_B=0.029_rk*((frp*1000.0_rk)/dx)**0.724_rk + !! Fernandes PM (2002) Desenvolvimento de relacoes predictivas para uso no + !! planeamento de fogo controlado em povoamentos de Pinus pinaster Ait. + !! [Development of predictive relationships for use in planning prescribed + !! fire in Pinus pinaster Ait. stands]. PhD thesis, Universidade de Tras os + !! Montes e Alto Douro, Vilas Real, Portugal. [In Portugese] + !Maritime Pine Head Fire (Evergreen) + CalcFlameS_F02=0.125_rk*((frp*1000.0_rk)/dx)**0.724_rk !! ------------------------------------------------------------------------------------- if (lu_opt .eq. 0 .or. lu_opt .eq. 1) then !VIIRS or MODIS LU types if (vtype .ge. 1 .and. vtype .le. 2) then !VIIRS/MODIS Cat 1-2/Evergreen Needleleaf & Broadleaf - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_B94+ & - CalcFlameH_F09_H+CalcFlameH_F09_B) / 6.0_rk - if (((frp*1000.0_rk)/dx) .ge. 1700.0_rk ) then !Evergreen forest crowning likely - CalcFlameH_set=CalcFlameH_B04!for completeness in Alexander and Cruz, will leave here - !but is overidden in WAF calculation anyway for same crowning - !check and flame heigh set to canopy height. - end if + CalcFlameS_set=(CalcFlameS_M71+CalcFlameS_C78+CalcFlameS_L78+CalcFlameS_B88+ & + CalcFlameS_B89+CalcFlameS_S90+CalcFlameS_F93+CalcFlameS_B94_1+ & + CalcFlameS_B94_2+CalcFlameS_F02) / 10.0_rk + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) else if (vtype .ge. 3 .and. vtype .le. 4) then !VIIRS/MODIS Cat 3-4 Deciduous Needleleaf and Broadleaf - CalcFlameH_set=(CalcFlameH_N80+CalcFlameH_W96) / 2.0_rk + CalcFlameS_set=CalcFlameS_V73 + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) else if (vtype .eq. 5) then !VIIRS/MODIS Cat 5 Mixed Forests - CalcFlameH_set=CalcFlameH_N80 + CalcFlameS_set=CalcFlameS_V73 + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) else if (vtype .ge. 6 .and. vtype .le. 7) then !VIIRS/MODIS Cat 6-7 Shrublands - CalcFlameH_set=(CalcFlameH_N86+CalcFlameH_V86+CalcFlameH_V98+CalcFlameH_C98+ & - CalcFlameH_F00) / 5.0_rk + CalcFlameS_set=CalcFlameS_W98 + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) else if (vtype .ge. 8 .and. vtype .le. 10) then !VIIRS/MODIS Cat 8-10 Savannas and Grasslands - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + CalcFlameS_set=CalcFlameS_W98 + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) else if (vtype .ge. 12) then !VIIRS/MODIS Cat 12 Croplands - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_C83_H+CalcFlameH_C83_B) / 3.0_rk + CalcFlameS_set=CalcFlameS_W98 + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) else - CalcFlameH_set=(CalcFlameH_B59+CalcFlameH_A66_L+CalcFlameH_A66_D+CalcFlameH_N80+ & - CalcFlameH_C83_H+CalcFlameH_C83_B+CalcFlameH_N86+CalcFlameH_V86+ & - CalcFlameH_B94+CalcFlameH_W96+CalcFlameH_V98+CalcFlameH_C98+ & - CalcFlameH_F00+CalcFlameH_B04+CalcFlameH_F09_H+ & - CalcFlameH_F09_B) / 16.0_rk + CalcFlameS_set=(CalcFlameS_M71+CalcFlameS_C78+CalcFlameS_L78+CalcFlameS_B88+ & + CalcFlameS_B89+CalcFlameS_S90+CalcFlameS_F93+CalcFlameS_B94_1+ & + CalcFlameS_B94_2+CalcFlameS_F02+CalcFlameS_V73+CalcFlameS_W98) / 12.0_rk + CalcFlameH_set=(CalcFlameS_set/5.232_rk)**(1.0_rk/0.756_rk) end if else write(*,*) 'Wrong LU_OPT choice of ', LU_OPT, 'in namelist, only VIIRS/MODIS available right now...exiting' call exit(2) end if - else write(*,*) 'Wrong FLAMEH_FRP choice of ', FLAMEH_FRP, 'in namelist...exiting' call exit(2) From 79b41941817dd81b02bfec54c2562c120908f5a5 Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Tue, 5 Sep 2023 17:01:09 -0400 Subject: [PATCH 06/17] Changed canopy_waf_mod to canopy_fire_mod to generalize. --- src/Makefile | 2 +- src/canopy_calcs.F90 | 2 +- src/{canopy_waf_mod.F90 => canopy_fire_mod.F90} | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename src/{canopy_waf_mod.F90 => canopy_fire_mod.F90} (99%) diff --git a/src/Makefile b/src/Makefile index 681d98d6..1dcc241d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -72,7 +72,7 @@ OBJS :=\ canopy_rad_mod.o \ canopy_tleaf_mod.o \ canopy_wind_mod.o \ - canopy_waf_mod.o \ + canopy_fire_mod.o \ canopy_eddy_mod.o \ canopy_bioparm_mod.o \ canopy_bioemi_mod.o \ diff --git a/src/canopy_calcs.F90 b/src/canopy_calcs.F90 index c4721c1b..b68e2277 100644 --- a/src/canopy_calcs.F90 +++ b/src/canopy_calcs.F90 @@ -18,7 +18,7 @@ SUBROUTINE canopy_calcs use canopy_rad_mod !main canopy radiation sunlit/shaded routines use canopy_tleaf_mod !main canopy leaf temperature sunlit/shaded routines use canopy_wind_mod !main canopy components - use canopy_waf_mod + use canopy_fire_mod use canopy_phot_mod use canopy_eddy_mod use canopy_bioemi_mod diff --git a/src/canopy_waf_mod.F90 b/src/canopy_fire_mod.F90 similarity index 99% rename from src/canopy_waf_mod.F90 rename to src/canopy_fire_mod.F90 index 5f4f979d..856d5abb 100644 --- a/src/canopy_waf_mod.F90 +++ b/src/canopy_fire_mod.F90 @@ -1,4 +1,4 @@ -module canopy_waf_mod +module canopy_fire_mod implicit none @@ -179,4 +179,4 @@ SUBROUTINE CANOPY_WAF( HCM, LAMBDARS, HREF, FLAMEH, FIRETYPE, & END SUBROUTINE CANOPY_WAF -end module canopy_waf_mod +end module canopy_fire_mod From 490d3e860042d9bd8318186e4519b8211990b232 Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Wed, 6 Sep 2023 11:43:55 -0400 Subject: [PATCH 07/17] Updated README. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03f752d1..6d1f507f 100644 --- a/README.md +++ b/README.md @@ -204,7 +204,7 @@ You can also [generate global inputs using Python (see python/global_data_proces | `dx_opt` | `0`: Calculation of dx resolution/distance from lon; `1`: user-set dx grid resolution | | `dx_set` | user-set real value of grid resolution (m) only if `dx_opt=1` | | `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (i.e., fire intensity); Note: this uses the one of two FRP calculation methods based on `flameh_frp` below; `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | -| `flameh_frp` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. | +| `flameh_frp` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. This method assumes that the ambient temperature is in the genearl range of 23.0 to 31.5 C, and that the lethal temperature for burning foliage is 60.0 C | | `flameh_set` | user-set real value of flame height (m) if `flameh_opt=1` or `2`, or `flameh` = fraction of canopy height (<=1.0), i.e., `flameh` override, if `flameh_opt=3`, `4`, or `5` | | `frp_fac` | user-set real value of tuning factor applied to FRP in calculation of flame height (default: 1.0). Used only if `flameh_opt=0`, `2`, `4`, or `5`. | | `pai_opt` | integer (`0`: PAI fixed from Katul et al. 2004 veg types-->default; `1`: PAI Massman et al. 2017 Eq. 19 calc; `2`: PAI from model LAI+WAI; `3`: user-set PAI value) | From fcbc1cf6f19adc53e78521de3eff0e74dda7b4fc Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Wed, 6 Sep 2023 12:10:24 -0400 Subject: [PATCH 08/17] Updated README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d1f507f..8ceda0c6 100644 --- a/README.md +++ b/README.md @@ -204,7 +204,7 @@ You can also [generate global inputs using Python (see python/global_data_proces | `dx_opt` | `0`: Calculation of dx resolution/distance from lon; `1`: user-set dx grid resolution | | `dx_set` | user-set real value of grid resolution (m) only if `dx_opt=1` | | `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (i.e., fire intensity); Note: this uses the one of two FRP calculation methods based on `flameh_frp` below; `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | -| `flameh_frp` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. This method assumes that the ambient temperature is in the genearl range of 23.0 to 31.5 C, and that the lethal temperature for burning foliage is 60.0 C | +| `flameh_frp` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. This method assumes that the ambient temperature is in the experimental ranges from Table 3 of Alexander and Cruz (2012), and that the lethal temperature for burning foliage is 60.0 C. | | `flameh_set` | user-set real value of flame height (m) if `flameh_opt=1` or `2`, or `flameh` = fraction of canopy height (<=1.0), i.e., `flameh` override, if `flameh_opt=3`, `4`, or `5` | | `frp_fac` | user-set real value of tuning factor applied to FRP in calculation of flame height (default: 1.0). Used only if `flameh_opt=0`, `2`, `4`, or `5`. | | `pai_opt` | integer (`0`: PAI fixed from Katul et al. 2004 veg types-->default; `1`: PAI Massman et al. 2017 Eq. 19 calc; `2`: PAI from model LAI+WAI; `3`: user-set PAI value) | From b0873b175c93c3205cb4b5b58aa1f6b77ff5a570 Mon Sep 17 00:00:00 2001 From: drnimbusrain Date: Mon, 25 Sep 2023 14:12:45 -0400 Subject: [PATCH 09/17] Replaced missing userdef, flameh_frp, from conflict. --- src/canopy_readnml.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/canopy_readnml.F90 b/src/canopy_readnml.F90 index 15ef7d31..85292d70 100644 --- a/src/canopy_readnml.F90 +++ b/src/canopy_readnml.F90 @@ -21,8 +21,8 @@ SUBROUTINE canopy_readnml NAMELIST /filenames/ file_vars, file_out NAMELIST /userdefs/ infmt_opt, time_start, time_end, time_intvl, ntime, & - nlat, nlon, modlays, modres, href_opt, & - href_set, z0ghc, lambdars, flameh_opt, flameh_set, frp_fac, ifcanwind, & + nlat, nlon, modlays, modres, href_opt, href_set, z0ghc, lambdars, & + flameh_opt, flameh_frp, flameh_set, frp_fac, ifcanwind, & ifcanwaf, ifcaneddy, ifcanphot, ifcanbio, pai_opt, pai_set, lu_opt, z0_opt, & dx_opt, dx_set, lai_thresh, frt_thresh, fch_thresh, rsl_opt, bio_cce, & biovert_opt, ssg_opt, ssg_set, crop_opt, crop_set, co2_opt, co2_set From f4ff3a220a72c0ca2daf65ae1caa2ed2be378908 Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:34:20 -0400 Subject: [PATCH 10/17] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e1623f9c..f42d87bc 100644 --- a/README.md +++ b/README.md @@ -207,8 +207,8 @@ You can also [generate global inputs using Python (see python/global_data_proces | `lambdars` | Value representing influence of RSL effects (with `rsl_opt=0`) (Massman et al., 2017) | | `dx_opt` | `0`: Calculation of dx resolution/distance from lon; `1`: user-set dx grid resolution | | `dx_set` | user-set real value of grid resolution (m) only if `dx_opt=1` | -| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (i.e., fire intensity); Note: this uses the one of two FRP calculation methods based on `flameh_frp` below; `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | -| `flameh_frp` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. This method assumes that the ambient temperature is in the experimental ranges from Table 3 of Alexander and Cruz (2012), and that the lethal temperature for burning foliage is 60.0 C. | +| `flameh_opt` | `0`: Calculation of vegtype dependent flame height from FRP (i.e., fire intensity); Note: this uses the one of two FRP calculation methods based on `flameh_cal` below; `1`: user-set flameh; `2`: FRP calculation where available (active fires), elsewhere user-set `flameh`; `3`: FlameH override, i.e., only uses fraction of canopy height (`flameh_set` must be <=1.0) as a surrogate for `flameh`; `4`: FRP calculation where available (active fires) and FlameH override elsewhere (same as option 3); `5`: FRP/intensity dependent (i.e., sub-canopy vs. crown fires) calculation where available (active fires) and FlameH override elsewhere (same as option 3). If option 5 is used and crowning is calculated, then the total flame height (i.e., top of canopy=FCH) is used instead of 1/2 flame height. | +| `flameh_cal` | `0`: Calculates the vegtype dependent flame height from FRP, based on Table 1 of Alexander and Cruz (2012) and assuming that flame height = flame length (overestimates flame height in high winds and/or slope conditions). `1`: Calculates the vegtype dependent flame height from FRP based on Table 2 and Equation 14 of Alexander and Cruz (2012). These relate flame height directly to crown scorch height, which is derived from FRP. This method assumes that the ambient temperature is in the experimental ranges from Table 3 of Alexander and Cruz (2012), and that the lethal temperature for burning foliage is 60.0 C. | | `flameh_set` | user-set real value of flame height (m) if `flameh_opt=1` or `2`, or `flameh` = fraction of canopy height (<=1.0), i.e., `flameh` override, if `flameh_opt=3`, `4`, or `5` | | `frp_fac` | user-set real value of tuning factor applied to FRP in calculation of flame height (default: 1.0). Used only if `flameh_opt=0`, `2`, `4`, or `5`. | | `pai_opt` | integer (`0`: PAI fixed from Katul et al. 2004 veg types-->default; `1`: PAI Massman et al. 2017 Eq. 19 calc; `2`: PAI from model LAI+WAI; `3`: user-set PAI value) | From b7107b5646f09d6b3bff72f122849f68f63f8fba Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:34:49 -0400 Subject: [PATCH 11/17] Update namelist.canopy --- input/namelist.canopy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/namelist.canopy b/input/namelist.canopy index 7461376e..a4b8ebb4 100755 --- a/input/namelist.canopy +++ b/input/namelist.canopy @@ -34,7 +34,7 @@ dx_opt = 0 dx_set = 12000.0 flameh_opt = 2 - flameh_frp = 0 + flameh_cal = 0 flameh_set = 1.0 frp_fac = 1.0 pai_opt = 0 From cbdace7785dd219eecfce8f7a844874cea14227c Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:36:11 -0400 Subject: [PATCH 12/17] Update canopy_calcs.F90 --- src/canopy_calcs.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/canopy_calcs.F90 b/src/canopy_calcs.F90 index b68e2277..6cb40782 100644 --- a/src/canopy_calcs.F90 +++ b/src/canopy_calcs.F90 @@ -170,7 +170,7 @@ SUBROUTINE canopy_calcs ! ... determine midflamepoint and flame height from user or FRP calculation call canopy_flameh(flameh_opt, flameh_set, dx_2d(i,j), modres, & - frpref, frp_fac, hcmref, lu_opt, vtyperef, flameh_frp, & + frpref, frp_fac, hcmref, lu_opt, vtyperef, flameh_cal, & midflamepoint, flameh_2d(i,j)) if (firetype .eq. 0) then !forest/sub-canopy firetype if (flameh_2d(i,j) .gt. 0.0) then !flameh must be > 0 @@ -483,7 +483,7 @@ SUBROUTINE canopy_calcs ! ... determine midflamepoint and flame height from user or FRP calculation call canopy_flameh(flameh_opt, flameh_set, dx(loc), modres, & - frpref, frp_fac, hcmref, lu_opt, vtyperef, flameh_frp, & + frpref, frp_fac, hcmref, lu_opt, vtyperef, flameh_cal, & midflamepoint, flameh(loc)) if (firetype .eq. 0) then !forest/sub-canopy firetype if (flameh(loc) .gt. 0.0) then !flameh must be > 0 From 191de38bca807fe74054ee89333fb839fc7bcc08 Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:37:31 -0400 Subject: [PATCH 13/17] Update canopy_canopts_mod.F90 --- src/canopy_canopts_mod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/canopy_canopts_mod.F90 b/src/canopy_canopts_mod.F90 index 726db98d..11b519a2 100644 --- a/src/canopy_canopts_mod.F90 +++ b/src/canopy_canopts_mod.F90 @@ -22,7 +22,7 @@ MODULE canopy_canopts_mod integer :: lu_opt !integer for LU type from model mapped to Massman et al. (default = 0/VIIRS) integer :: z0_opt !integer for setting first estimate of z0 (default = 0 for Z0_MOD) integer :: flameh_opt !Integer for flameh values used or calculated (default = 0) - integer :: flameh_frp !Integer for FRP to flame height relationships used (default = 0) + integer :: flameh_cal !Integer for FRP to flame height relationships used (default = 0) real(rk) :: flameh_set !User Set Flame Height (m) real(rk) :: frp_fac !FRP tuning factor for flame height calculation (default = 1.0) integer :: dx_opt !Integer for dx resolution values used or calculated (default = 0) From 9a15eebb3e0287dc638a557809ac58168bdda7c6 Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:38:50 -0400 Subject: [PATCH 14/17] Update canopy_fire_mod.F90 --- src/canopy_fire_mod.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/canopy_fire_mod.F90 b/src/canopy_fire_mod.F90 index 856d5abb..6da2f810 100644 --- a/src/canopy_fire_mod.F90 +++ b/src/canopy_fire_mod.F90 @@ -6,7 +6,7 @@ module canopy_fire_mod !::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & - FRP_IN, FRP_FAC, FCH, LU_OPT, VTYPE, FLAMEH_FRP, & + FRP_IN, FRP_FAC, FCH, LU_OPT, VTYPE, FLAMEH_CAL, & MIDFLAMEPOINT, FLAMEH ) !----------------------------------------------------------------------- @@ -37,7 +37,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & REAL(RK), INTENT( IN ) :: FCH ! Grid cell canopy height (m) INTEGER, INTENT( IN ) :: LU_OPT ! Supported land use classifications INTEGER, INTENT( IN ) :: VTYPE ! Dominant vegetation type - INTEGER, INTENT( IN ) :: FLAMEH_FRP ! Option of vegtype dependent FRP to Flame Height relationships used + INTEGER, INTENT( IN ) :: FLAMEH_CAL ! Option of vegtype dependent FRP to Flame Height relationships used INTEGER, INTENT( OUT ) :: MIDFLAMEPOINT ! Indice of the mid-flame point REAL(RK), INTENT( OUT ) :: FLAMEH ! Flame Height (m) @@ -54,13 +54,13 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & FLAMEH_SET, ' from namelist' FLAMEH = FLAMEH_SET else !calculate flameh - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_CAL) end if else if (FLAMEH_OPT .eq. 1) then !user set value FLAMEH = FLAMEH_SET else if (FLAMEH_OPT .eq. 2) then !both FRP calc and user set if (frp .gt. 0.0) then - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_CAL) else FLAMEH = FLAMEH_SET end if @@ -73,7 +73,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & end if else if (FLAMEH_OPT .eq. 4) then !uses FRP and overide elsewhere if (frp .gt. 0.0) then - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_CAL) else if (FLAMEH_SET .le. 1.0) then FLAMEH = FCH * FLAMEH_SET !not real flame height but uses WAF at this fractional FCH @@ -87,7 +87,7 @@ SUBROUTINE CANOPY_FLAMEH( FLAMEH_OPT, FLAMEH_SET, DX, MODRES, & if ( ((frp*1000.0_rk)/DX) .ge. 1700.0_rk ) then !Crown fire likely (Andrews et al., 2011). FLAMEH = FCH !https://doi.org/10.2737/RMRS-GTR-253 else - FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_FRP) + FLAMEH = CalcFlameH(frp,DX,LU_OPT,VTYPE,FLAMEH_CAL) end if else if (FLAMEH_SET .le. 1.0) then From 2e73f7d57c4cf5e0f77e0cf754819291667b9e49 Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:39:19 -0400 Subject: [PATCH 15/17] Update canopy_readnml.F90 --- src/canopy_readnml.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/canopy_readnml.F90 b/src/canopy_readnml.F90 index 85292d70..a7ea2655 100644 --- a/src/canopy_readnml.F90 +++ b/src/canopy_readnml.F90 @@ -22,7 +22,7 @@ SUBROUTINE canopy_readnml NAMELIST /userdefs/ infmt_opt, time_start, time_end, time_intvl, ntime, & nlat, nlon, modlays, modres, href_opt, href_set, z0ghc, lambdars, & - flameh_opt, flameh_frp, flameh_set, frp_fac, ifcanwind, & + flameh_opt, flameh_cal, flameh_set, frp_fac, ifcanwind, & ifcanwaf, ifcaneddy, ifcanphot, ifcanbio, pai_opt, pai_set, lu_opt, z0_opt, & dx_opt, dx_set, lai_thresh, frt_thresh, fch_thresh, rsl_opt, bio_cce, & biovert_opt, ssg_opt, ssg_set, crop_opt, crop_set, co2_opt, co2_set @@ -123,7 +123,7 @@ SUBROUTINE canopy_readnml !------------------------------------------------------------------------------- ! Set default integer for FRP to flame height relationships used (default = 0) - flameh_frp = 0 + flameh_cal = 0 !------------------------------------------------------------------------------- !------------------------------------------------------------------------------- From 52de05675c18891122d27785ba60b9b5712f4a18 Mon Sep 17 00:00:00 2001 From: Wei-Ting Hung <107704243+angehung5@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:40:52 -0400 Subject: [PATCH 16/17] Update canopy_utils_mod.F90 --- src/canopy_utils_mod.F90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/canopy_utils_mod.F90 b/src/canopy_utils_mod.F90 index e0a20505..80c2556e 100644 --- a/src/canopy_utils_mod.F90 +++ b/src/canopy_utils_mod.F90 @@ -108,7 +108,7 @@ real(rk) function CalcDX(lat, dlon) result(dx) ! end function ! !-------------------------------------------------------------------------------------- - real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFlameH_set ) + real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_cal) result( CalcFlameH_set ) !! Approximates the Flame Height as a function of FRP intensity, grid cell distance (dx), !! and vegetation type (Based on Alexander and Cruz 2012). @@ -122,7 +122,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFla real(rk), intent(in) :: dx !! Input Grid cell length (m) integer, intent(in) :: lu_opt !! Supported land use classifications integer, intent(in) :: vtype !! Grid cell dominant vegetation type - integer, intent(in) :: flameh_frp !! Option of vegtype dependent FRP to Flame Height relationships used + integer, intent(in) :: flameh_cal !! Option of vegtype dependent FRP to Flame Height relationships used real(rk) :: CalcFlameH_B59 !! Fireline intensity to flame length (=height) (m): Byram (1959) real(rk) :: CalcFlameH_A66_L !! Fireline intensity to flame length (=height) (m): Anderson et al. (1966) real(rk) :: CalcFlameH_A66_D !! Fireline intensity to flame length (=height) (m): Anderson et al. (1966) @@ -154,7 +154,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFla real(rk) :: CalcFlameS_set !! Vegetation dependent average crown scorch height (m) - if (flameh_frp .eq. 0) then !We assume that flame height=flame length, + if (flameh_cal .eq. 0) then !We assume that flame height=flame length, !and use the relationships in Table 1 of Alexander and Cruz (2012) !! ------------------------------------------------------------------------------------- @@ -305,7 +305,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFla - else if (flameh_frp .eq. 1) then!We use the crown scorch height relationships in + else if (flameh_cal .eq. 1) then!We use the crown scorch height relationships in !Table 2 of Alexander and Cruz (2012) and Equation 14 !that directly relates flame height to crown scorch height @@ -451,7 +451,7 @@ real(rk) function CalcFlameH(frp, dx, lu_opt, vtype, flameh_frp) result( CalcFla call exit(2) end if else - write(*,*) 'Wrong FLAMEH_FRP choice of ', FLAMEH_FRP, 'in namelist...exiting' + write(*,*) 'Wrong FLAMEH_CAL choice of ', FLAMEH_CAL, 'in namelist...exiting' call exit(2) end if From 26fa597fbe8edc49d254fdab3c7462e10a550f6d Mon Sep 17 00:00:00 2001 From: Zachary Moon Date: Tue, 3 Oct 2023 12:10:13 -0400 Subject: [PATCH 17/17] Add Zenodo DOI badge that resolves to latest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f42d87bc..27671b42 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ [![License](https://img.shields.io/github/license/noaa-oar-arl/canopy-app.svg)](https://github.com/noaa-oar-arl/canopy-app/blob/main/LICENSE) [![CI status](https://github.com/noaa-oar-arl/canopy-app/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/noaa-oar-arl/canopy-app/actions/workflows/ci.yml) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8403649.svg)](https://doi.org/10.5281/zenodo.8403649) Repository for low-level, stand-alone/column canopy parameterizations for testing and application to gridded atmospheric composition/air quality models.