next up previous contents
Next: CNFireFluxes Up: Fortran: Module Interface CNFireMod Previous: Fortran: Module Interface CNFireMod   Contents



 subroutine CNFireArea (num_soilc, filter_soilc)

Computes column-level area affected by fire in each timestep based on statistical fire model in Thonicke et al. 2001.


    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
    implicit none
    integer, intent(in) :: num_soilc       ! number of soil columns in filter
    integer, intent(in) :: filter_soilc(:) ! filter for soil columns
   subroutine CNEcosystemDyn in module CNEcosystemDynMod.F90
   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)
     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

Erik Kluzek 2011-06-15