INTERFACE:
subroutine CNFireArea (num_soilc, filter_soilc)DESCRIPTION:
Computes column-level area affected by fire in each timestep based on statistical fire model in Thonicke et al. 2001.
USES:
use clmtype
use clm_time_manager, only: get_step_size, get_nstep, get_days_per_year
use clm_varpar , only: max_pft_per_col
use clm_varcon , only: secspday
ARGUMENTS:
implicit none
integer, intent(in) :: num_soilc ! number of soil columns in filter
integer, intent(in) :: filter_soilc(:) ! filter for soil columns
CALLED FROM:
subroutine CNEcosystemDyn in module CNEcosystemDynMod.F90REVISION HISTORY:
LOCAL VARIABLES:
local pointers to implicit in scalars
! pft-level
real(r8), pointer :: wtcol(:) ! pft weight on the column
integer , pointer :: ivt(:) ! vegetation type for this pft
real(r8), pointer :: woody(:) ! binary flag for woody lifeform (1=woody, 0=not woody)
! column-level
integer , pointer :: npfts(:) ! number of pfts on the column
integer , pointer :: pfti(:) ! pft index array
real(r8), pointer :: pwtgcell(:) ! weight of pft relative to corresponding gridcell
real(r8), pointer :: wf(:) ! soil water as frac. of whc for top 0.5 m
real(r8), pointer :: t_grnd(:) ! ground temperature (Kelvin)
real(r8), pointer :: totlitc(:) ! (gC/m2) total litter C (not including cwdc)
real(r8), pointer :: cwdc(:) ! (gC/m2) coarse woody debris C
! PET 5/20/08, test to increase fire area
real(r8), pointer :: totvegc(:) ! (gC/m2) total veg C (column-level mean)
! pointers for column averaging
local pointers to implicit in/out scalars
! column-level
real(r8), pointer :: me(:) ! column-level moisture of extinction (proportion)
real(r8), pointer :: fire_prob(:) ! daily fire probability (0-1)
real(r8), pointer :: mean_fire_prob(:) ! e-folding mean of daily fire probability (0-1)
real(r8), pointer :: fireseasonl(:) ! annual fire season length (days, <= days/year)
real(r8), pointer :: farea_burned(:) ! fractional area burned in this timestep (proportion)
real(r8), pointer :: ann_farea_burned(:) ! annual total fractional area burned (proportion)
!OTHER LOCAL VARIABLES:
real(r8), parameter:: minfuel = 200.0_r8 ! dead fuel threshold to carry a fire (gC/m2)
PET, 5/30/08: changed from 200 to 100 gC/m2, since the original paper didn't specify
the units as carbon, I am assuming that they were in dry biomass, so carbon would be ~50%
real(r8), parameter:: minfuel = 100.0_r8 ! dead fuel threshold to carry a fire (gC/m2)
real(r8), parameter:: me_woody = 0.3_r8 ! moisture of extinction for woody PFTs (proportion)
real(r8), parameter:: me_herb = 0.2_r8 ! moisture of extinction for herbaceous PFTs (proportion)
real(r8), parameter:: ef_time = 1.0_r8 ! e-folding time constant (years)
integer :: fc,c,pi,p ! index variables
real(r8):: dt ! time step variable (s)
real(r8):: fuelc ! temporary column-level litter + cwd C (gC/m2)
integer :: nef ! number of e-folding timesteps
real(r8):: ef_nsteps ! number of e-folding timesteps (real)
integer :: nstep ! current timestep number
real(r8):: m ! top-layer soil moisture (proportion)
real(r8):: mep ! pft-level moisture of extinction [proportion]
real(r8):: s2 ! (mean_fire_prob - 1.0)
real(r8):: dayspyr ! days per year