next up previous contents
Next: CStateUpdate2h Up: Fortran: Module Interface CStateUpdate2Mod Previous: Fortran: Module Interface CStateUpdate2Mod   Contents

CStateUpdate2


INTERFACE:

 subroutine CStateUpdate2(num_soilc, filter_soilc, num_soilp, filter_soilp)
DESCRIPTION:

On the radiation time step, update all the prognostic carbon state variables affected by gap-phase mortality fluxes


USES:

    use clmtype
    use clm_time_manager, only: get_step_size
ARGUMENTS:
    implicit none
    integer, intent(in) :: num_soilc       ! number of soil columns in filter
    integer, intent(in) :: filter_soilc(:) ! filter for soil columns
    integer, intent(in) :: num_soilp       ! number of soil pfts in filter
    integer, intent(in) :: filter_soilp(:) ! filter for soil pfts
CALLED FROM:
   subroutine CNEcosystemDyn
REVISION HISTORY:
   3/29/04: Created by Peter Thornton
LOCAL VARIABLES:
   local pointers to implicit in arrays
    real(r8), pointer :: m_deadcrootc_storage_to_litr1c(:)
    real(r8), pointer :: m_deadcrootc_to_cwdc(:)
    real(r8), pointer :: m_deadcrootc_xfer_to_litr1c(:)
    real(r8), pointer :: m_deadstemc_storage_to_litr1c(:)
    real(r8), pointer :: m_deadstemc_to_cwdc(:)
    real(r8), pointer :: m_deadstemc_xfer_to_litr1c(:)
    real(r8), pointer :: m_frootc_storage_to_litr1c(:)
    real(r8), pointer :: m_frootc_to_litr1c(:)
    real(r8), pointer :: m_frootc_to_litr2c(:)
    real(r8), pointer :: m_frootc_to_litr3c(:)
    real(r8), pointer :: m_frootc_xfer_to_litr1c(:)
    real(r8), pointer :: m_gresp_storage_to_litr1c(:)
    real(r8), pointer :: m_gresp_xfer_to_litr1c(:)
    real(r8), pointer :: m_leafc_storage_to_litr1c(:)
    real(r8), pointer :: m_leafc_to_litr1c(:)
    real(r8), pointer :: m_leafc_to_litr2c(:)
    real(r8), pointer :: m_leafc_to_litr3c(:)
    real(r8), pointer :: m_leafc_xfer_to_litr1c(:)
    real(r8), pointer :: m_livecrootc_storage_to_litr1c(:)
    real(r8), pointer :: m_livecrootc_to_cwdc(:)
    real(r8), pointer :: m_livecrootc_xfer_to_litr1c(:)
    real(r8), pointer :: m_livestemc_storage_to_litr1c(:)
    real(r8), pointer :: m_livestemc_to_cwdc(:)
    real(r8), pointer :: m_livestemc_xfer_to_litr1c(:)
    real(r8), pointer :: m_deadcrootc_storage_to_litter(:)
    real(r8), pointer :: m_deadcrootc_to_litter(:)
    real(r8), pointer :: m_deadcrootc_xfer_to_litter(:)
    real(r8), pointer :: m_deadstemc_storage_to_litter(:)
    real(r8), pointer :: m_deadstemc_to_litter(:)
    real(r8), pointer :: m_deadstemc_xfer_to_litter(:)
    real(r8), pointer :: m_frootc_storage_to_litter(:)
    real(r8), pointer :: m_frootc_to_litter(:)
    real(r8), pointer :: m_frootc_xfer_to_litter(:)
    real(r8), pointer :: m_gresp_storage_to_litter(:)
    real(r8), pointer :: m_gresp_xfer_to_litter(:)
    real(r8), pointer :: m_leafc_storage_to_litter(:)
    real(r8), pointer :: m_leafc_to_litter(:)
    real(r8), pointer :: m_leafc_xfer_to_litter(:)
    real(r8), pointer :: m_livecrootc_storage_to_litter(:)
    real(r8), pointer :: m_livecrootc_to_litter(:)
    real(r8), pointer :: m_livecrootc_xfer_to_litter(:)
    real(r8), pointer :: m_livestemc_storage_to_litter(:)
    real(r8), pointer :: m_livestemc_to_litter(:)
    real(r8), pointer :: m_livestemc_xfer_to_litter(:)
   local pointers to implicit in/out arrays
    real(r8), pointer :: cwdc(:)               ! (gC/m2) coarse woody debris C
    real(r8), pointer :: litr1c(:)             ! (gC/m2) litter labile C
    real(r8), pointer :: litr2c(:)             ! (gC/m2) litter cellulose C
    real(r8), pointer :: litr3c(:)             ! (gC/m2) litter lignin C
    real(r8), pointer :: deadcrootc(:)         ! (gC/m2) dead coarse root C
    real(r8), pointer :: deadcrootc_storage(:) ! (gC/m2) dead coarse root C storage
    real(r8), pointer :: deadcrootc_xfer(:)    !(gC/m2) dead coarse root C transfer
    real(r8), pointer :: deadstemc(:)          ! (gC/m2) dead stem C
    real(r8), pointer :: deadstemc_storage(:)  ! (gC/m2) dead stem C storage
    real(r8), pointer :: deadstemc_xfer(:)     ! (gC/m2) dead stem C transfer
    real(r8), pointer :: frootc(:)             ! (gC/m2) fine root C
    real(r8), pointer :: frootc_storage(:)     ! (gC/m2) fine root C storage
    real(r8), pointer :: frootc_xfer(:)        ! (gC/m2) fine root C transfer
    real(r8), pointer :: gresp_storage(:)      ! (gC/m2) growth respiration storage
    real(r8), pointer :: gresp_xfer(:)         ! (gC/m2) growth respiration transfer
    real(r8), pointer :: leafc(:)              ! (gC/m2) leaf C
    real(r8), pointer :: leafc_storage(:)      ! (gC/m2) leaf C storage
    real(r8), pointer :: leafc_xfer(:)         ! (gC/m2) leaf C transfer
    real(r8), pointer :: livecrootc(:)         ! (gC/m2) live coarse root C
    real(r8), pointer :: livecrootc_storage(:) ! (gC/m2) live coarse root C storage
    real(r8), pointer :: livecrootc_xfer(:)    !(gC/m2) live coarse root C transfer
    real(r8), pointer :: livestemc(:)          ! (gC/m2) live stem C
    real(r8), pointer :: livestemc_storage(:)  ! (gC/m2) live stem C storage
    real(r8), pointer :: livestemc_xfer(:)     ! (gC/m2) live stem C transfer
   local pointers to implicit out arrays
   !OTHER LOCAL VARIABLES:
    integer :: c,p      ! indices
    integer :: fp,fc    ! lake filter indices
    real(r8):: dt       ! radiation time step (seconds)



Erik Kluzek 2011-06-15