next up previous contents
Next: casa_litscl Up: Fortran: Module Interface CASAMod Previous: casa_allocate   Contents

casa_bgfluxes


INTERFACE:

   subroutine casa_bgfluxes(lbp, ubp, num_soilp, filter_soilp)
DESCRIPTION:

Compute biogeochemical fluxes.

------------ code history -------------- bgfluxes_BASIC.c - BG Spin-Up Flux Sub-model VERSION 1.0

Version 2.1

Created 7-13-99 by Greg Asner Modified for CASA2a on 8-14-00 by Greg Asner Gleaned from CASA2b modified for LSM/CASA interface by J.John (2001) iyf modified 7-18-01 Inez: all modifications marked by iyf

--------------------------------- code only executed for soils (ist = 1)


USES:

     use clm_time_manager , only : get_step_size
ARGUMENTS:
     implicit none
     integer, intent(in) :: lbp, ubp   ! pft bounds
     integer, intent(in) :: num_soilp  ! number of soil points in pft filter
     integer, intent(in) :: filter_soilp(ubp-lbp+1) ! pft filter for soil points
LOCAL VARIABLES:
     integer  f,g,i,j,l,n,p
     integer iptype
     real(r8) leafmass
     real(r8) dtime                  !land model time step (sec)
 
     ! ------------------------ input/output variables -----------------
     ! input
 
     integer , pointer :: ivt(:)       !pft vegetation type
 
     real(r8), pointer :: fnpp(:)      !NPP  (gC/m2/sec)
     real(r8), pointer :: excessC(:)   !excess Carbon (gC/m2/timestep)
     real(r8), pointer :: bgtemp(:)    !temperature dependence for C pools
     real(r8), pointer :: bgmoist(:)   !moisture dependence for C pools
     real(r8), pointer :: soilt(:)     !soil temp for top 30cm
     real(r8), pointer :: smoist(:)    !soil moisture for top 30cm
     real(r8), pointer :: watopt(:)
     real(r8), pointer :: watdry(:)    
     real(r8), pointer :: Wlim(:)
     real(r8), pointer :: livefr(:,:)  !live fraction
     real(r8), pointer :: sandfrac(:)
 
     ! implicit intent inout
     !============================================================
     real(r8), pointer :: plai(:)     ! prognostic LAI (m2 leaf/m2 ground)
     real(r8), pointer :: Closs(:,:)
     real(r8), pointer :: Ctrans(:,:) ! C transfers out of pool types
     real(r8), pointer :: Resp_C(:,:) ! could dimension by ndead, but caution!!!
     real(r8), pointer :: Tpool_C(:,:)
     real(r8), pointer :: Cflux(:)
     real(r8), pointer :: XSCpool(:)
     real(r8), pointer :: co2flux(:)  !net CO2 flux (gC/m2/s) [+ = to atm]
CALLED FROM:
   Casa in CASAMod
REVISION HISTORY:
   2004.06.08 Vectorized and reformatted by Forrest Hoffman



Erik Kluzek 2011-06-15