next up previous contents
Next: Fortran: Module Interface CNPrecisionControlMod Up: Fortran: Module Interface CNPhenologyMod Previous: CNLivewoodTurnover   Contents

CNLitterToColumn


INTERFACE:

 subroutine CNLitterToColumn (num_soilc, filter_soilc)
DESCRIPTION:

called at the end of cn_phenology to gather all pft-level litterfall fluxes to the column level and assign them to the three litter pools


USES:

   use clm_varpar, only : max_pft_per_col
   use pftvarcon , only : npcropmin
ARGUMENTS:
   integer, intent(in) :: num_soilc       ! number of soil columns in filter
   integer, intent(in) :: filter_soilc(:) ! filter for soil columns
CALLED FROM:
   subroutine CNPhenology
REVISION HISTORY:
   9/8/03: Created by Peter Thornton
LOCAL VARIABLES:
   local pointers to implicit in scalars
    integer , pointer :: ivt(:)          ! pft vegetation type
    real(r8), pointer :: wtcol(:)        ! weight (relative to column) for this pft (0-1)
    real(r8), pointer :: pwtgcell(:)     ! weight of pft relative to corresponding gridcell
    real(r8), pointer :: leafc_to_litter(:)     ! leaf C litterfall (gC/m2/s)
    real(r8), pointer :: frootc_to_litter(:)    ! fine root N litterfall (gN/m2/s)
    real(r8), pointer :: livestemc_to_litter(:) ! live stem C litterfall (gC/m2/s)
    real(r8), pointer :: grainc_to_food(:)      ! grain C to food (gC/m2/s)
    real(r8), pointer :: livestemn_to_litter(:) ! livestem N to litter (gN/m2/s)
    real(r8), pointer :: grainn_to_food(:)      ! grain N to food (gN/m2/s)
    real(r8), pointer :: leafn_to_litter(:)     ! leaf N litterfall (gN/m2/s)
    real(r8), pointer :: frootn_to_litter(:)    ! fine root N litterfall (gN/m2/s)
    real(r8), pointer :: lf_flab(:)      ! leaf litter labile fraction
    real(r8), pointer :: lf_fcel(:)      ! leaf litter cellulose fraction
    real(r8), pointer :: lf_flig(:)      ! leaf litter lignin fraction
    real(r8), pointer :: fr_flab(:)      ! fine root litter labile fraction
    real(r8), pointer :: fr_fcel(:)      ! fine root litter cellulose fraction
    real(r8), pointer :: fr_flig(:)      ! fine root litter lignin fraction
    integer , pointer :: npfts(:)        ! number of pfts for each column
    integer , pointer :: pfti(:)         ! beginning pft index for each column
   local pointers to implicit in/out scalars
    real(r8), pointer :: leafc_to_litr1c(:)     ! leaf C litterfall to litter 1 C (gC/m2/s)
    real(r8), pointer :: leafc_to_litr2c(:)     ! leaf C litterfall to litter 2 C (gC/m2/s)
    real(r8), pointer :: leafc_to_litr3c(:)     ! leaf C litterfall to litter 3 C (gC/m2/s)
    real(r8), pointer :: frootc_to_litr1c(:)    ! fine root C litterfall to litter 1 C (gC/m2/s)
    real(r8), pointer :: frootc_to_litr2c(:)    ! fine root C litterfall to litter 2 C (gC/m2/s)
    real(r8), pointer :: frootc_to_litr3c(:)    ! fine root C litterfall to litter 3 C (gC/m2/s)
    real(r8), pointer :: livestemc_to_litr1c(:) ! livestem C litterfall to litter 1 C (gC/m2/s)
    real(r8), pointer :: livestemc_to_litr2c(:) ! livestem C litterfall to litter 2 C (gC/m2/s)
    real(r8), pointer :: livestemc_to_litr3c(:) ! livestem C litterfall to litter 3 C (gC/m2/s)
    real(r8), pointer :: livestemn_to_litr1n(:) ! livestem N litterfall to litter 1 N (gN/m2/s)
    real(r8), pointer :: livestemn_to_litr2n(:) ! livestem N litterfall to litter 2 N (gN/m2/s)
    real(r8), pointer :: livestemn_to_litr3n(:) ! livestem N litterfall to litter 2 N (gN/m2/s)
    real(r8), pointer :: grainc_to_litr1c(:)    ! grain C litterfall to litter 1 C (gC/m2/s)
    real(r8), pointer :: grainc_to_litr2c(:)    ! grain C litterfall to litter 2 C (gC/m2/s)
    real(r8), pointer :: grainc_to_litr3c(:)    ! grain C litterfall to litter 3 C (gC/m2/s)
    real(r8), pointer :: grainn_to_litr1n(:)    ! grain N litterfall to litter 1 N (gN/m2/s)
    real(r8), pointer :: grainn_to_litr2n(:)    ! grain N litterfall to litter 2 N (gN/m2/s)
    real(r8), pointer :: grainn_to_litr3n(:)    ! grain N litterfall to litter 3 N (gN/m2/s)
    real(r8), pointer :: leafn_to_litr1n(:)     ! leaf N litterfall to litter 1 N (gN/m2/s)
    real(r8), pointer :: leafn_to_litr2n(:)     ! leaf N litterfall to litter 2 N (gN/m2/s)
    real(r8), pointer :: leafn_to_litr3n(:)     ! leaf N litterfall to litter 3 N (gN/m2/s)
    real(r8), pointer :: frootn_to_litr1n(:)    ! fine root N litterfall to litter 1 N (gN/m2/s)
    real(r8), pointer :: frootn_to_litr2n(:)    ! fine root N litterfall to litter 2 N (gN/m2/s)
    real(r8), pointer :: frootn_to_litr3n(:)    ! fine root N litterfall to litter 3 N (gN/m2/s)
   local pointers to implicit out scalars
   !OTHER LOCAL VARIABLES:
     integer :: fc,c,pi,p        ! indices



Erik Kluzek 2011-06-15