INTERFACE:
subroutine NSummary(num_soilc, filter_soilc, num_soilp, filter_soilp)DESCRIPTION:
On the radiation time step, perform pft and column-level nitrogen summary calculations
USES:
use clmtype
use pft2colMod, only: p2c
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 CNEcosystemDynREVISION HISTORY:
6/28/04: Created by Peter ThorntonLOCAL VARIABLES:
local pointers to implicit in scalars
integer , pointer :: ivt(:) ! pft vegetation type
real(r8), pointer :: col_fire_nloss(:) ! (gN/m2/s) total column-level fire N loss
real(r8), pointer :: col_wood_harvestn(:)
real(r8), pointer :: denit(:)
real(r8), pointer :: m_cwdn_to_fire(:)
real(r8), pointer :: m_litr1n_to_fire(:)
real(r8), pointer :: m_litr2n_to_fire(:)
real(r8), pointer :: m_litr3n_to_fire(:)
real(r8), pointer :: col_pft_fire_nloss(:) ! (gN/m2/s) total pft-level fire C loss
real(r8), pointer :: sminn_to_denit_excess(:)
real(r8), pointer :: sminn_to_denit_l1s1(:)
real(r8), pointer :: sminn_to_denit_l2s2(:)
real(r8), pointer :: sminn_to_denit_l3s3(:)
real(r8), pointer :: sminn_to_denit_s1s2(:)
real(r8), pointer :: sminn_to_denit_s2s3(:)
real(r8), pointer :: sminn_to_denit_s3s4(:)
real(r8), pointer :: sminn_to_denit_s4(:)
real(r8), pointer :: cwdn(:) ! (gN/m2) coarse woody debris N
real(r8), pointer :: litr1n(:) ! (gN/m2) litter labile N
real(r8), pointer :: litr2n(:) ! (gN/m2) litter cellulose N
real(r8), pointer :: litr3n(:) ! (gN/m2) litter lignin N
real(r8), pointer :: col_totpftn(:) ! (gN/m2) total pft-level nitrogen
real(r8), pointer :: col_totvegn(:) ! (gN/m2) total vegetation nitrogen
real(r8), pointer :: sminn(:) ! (gN/m2) soil mineral N
real(r8), pointer :: soil1n(:) ! (gN/m2) soil organic matter N (fast pool)
real(r8), pointer :: soil2n(:) ! (gN/m2) soil organic matter N (medium pool)
real(r8), pointer :: soil3n(:) ! (gN/m2) soil orgainc matter N (slow pool)
real(r8), pointer :: soil4n(:) ! (gN/m2) soil orgainc matter N (slowest pool)
real(r8), pointer :: col_ntrunc(:) ! (gN/m2) column-level sink for N truncation
real(r8), pointer :: totcoln(:) ! (gN/m2) total column nitrogen, incl veg
real(r8), pointer :: totecosysn(:) ! (gN/m2) total ecosystem nitrogen, incl veg
real(r8), pointer :: totlitn(:) ! (gN/m2) total litter nitrogen
real(r8), pointer :: totsomn(:) ! (gN/m2) total soil organic matter nitrogen
real(r8), pointer :: m_deadcrootn_storage_to_fire(:)
real(r8), pointer :: m_deadcrootn_to_fire(:)
real(r8), pointer :: m_deadcrootn_xfer_to_fire(:)
real(r8), pointer :: m_deadstemn_storage_to_fire(:)
real(r8), pointer :: m_deadstemn_to_fire(:)
real(r8), pointer :: m_deadstemn_xfer_to_fire(:)
real(r8), pointer :: m_frootn_storage_to_fire(:)
real(r8), pointer :: m_frootn_to_fire(:)
real(r8), pointer :: m_frootn_xfer_to_fire(:)
real(r8), pointer :: m_leafn_storage_to_fire(:)
real(r8), pointer :: m_leafn_to_fire(:)
real(r8), pointer :: m_leafn_xfer_to_fire(:)
real(r8), pointer :: m_livecrootn_storage_to_fire(:)
real(r8), pointer :: m_livecrootn_to_fire(:)
real(r8), pointer :: m_livecrootn_xfer_to_fire(:)
real(r8), pointer :: m_livestemn_storage_to_fire(:)
real(r8), pointer :: m_livestemn_to_fire(:)
real(r8), pointer :: m_livestemn_xfer_to_fire(:)
real(r8), pointer :: m_retransn_to_fire(:)
real(r8), pointer :: hrv_deadstemn_to_prod10n(:)
real(r8), pointer :: hrv_deadstemn_to_prod100n(:)
real(r8), pointer :: ndeploy(:)
real(r8), pointer :: pft_fire_nloss(:) ! (gN/m2/s) total pft-level fire C loss
real(r8), pointer :: retransn_to_npool(:)
real(r8), pointer :: sminn_to_npool(:)
real(r8), pointer :: deadcrootn(:) ! (gN/m2) dead coarse root N
real(r8), pointer :: deadcrootn_storage(:) ! (gN/m2) dead coarse root N storage
real(r8), pointer :: deadcrootn_xfer(:) ! (gN/m2) dead coarse root N transfer
real(r8), pointer :: deadstemn(:) ! (gN/m2) dead stem N
real(r8), pointer :: deadstemn_storage(:) ! (gN/m2) dead stem N storage
real(r8), pointer :: deadstemn_xfer(:) ! (gN/m2) dead stem N transfer
real(r8), pointer :: dispvegn(:) ! (gN/m2) displayed veg nitrogen, excluding storage
real(r8), pointer :: frootn(:) ! (gN/m2) fine root N
real(r8), pointer :: frootn_storage(:) ! (gN/m2) fine root N storage
real(r8), pointer :: frootn_xfer(:) ! (gN/m2) fine root N transfer
real(r8), pointer :: leafn(:) ! (gN/m2) leaf N
real(r8), pointer :: leafn_storage(:) ! (gN/m2) leaf N storage
real(r8), pointer :: leafn_xfer(:) ! (gN/m2) leaf N transfer
real(r8), pointer :: livecrootn(:) ! (gN/m2) live coarse root N
real(r8), pointer :: livecrootn_storage(:) ! (gN/m2) live coarse root N storage
real(r8), pointer :: livecrootn_xfer(:) ! (gN/m2) live coarse root N transfer
real(r8), pointer :: grainn(:) ! (gN/m2) grain N
real(r8), pointer :: grainn_storage(:) ! (gN/m2) grain N storage
real(r8), pointer :: grainn_xfer(:) ! (gN/m2) grain N transfer
real(r8), pointer :: livestemn(:) ! (gN/m2) live stem N
real(r8), pointer :: livestemn_storage(:) ! (gN/m2) live stem N storage
real(r8), pointer :: livestemn_xfer(:) ! (gN/m2) live stem N transfer
real(r8), pointer :: retransn(:) ! (gN/m2) plant pool of retranslocated N
real(r8), pointer :: npool(:) ! (gN/m2) temporary plant N pool
real(r8), pointer :: pft_ntrunc(:) ! (gN/m2) pft-level sink for N truncation
real(r8), pointer :: storvegn(:) ! (gN/m2) stored vegetation nitrogen
real(r8), pointer :: totpftn(:) ! (gN/m2) total pft-level nitrogen
real(r8), pointer :: totvegn(:) ! (gN/m2) total vegetation nitrogen
! for landcover change
real(r8), pointer :: wood_harvestn(:) ! total N losses to wood product pools (gN/m2/s)
real(r8), pointer :: dwt_nloss(:) ! (gN/m2/s) total nitrogen loss from product pools and conversion
real(r8), pointer :: dwt_conv_nflux(:) ! (gN/m2/s) conversion N flux (immediate loss to atm)
real(r8), pointer :: seedn(:) ! (gN/m2) column-level pool for seeding new PFTs
real(r8), pointer :: prod10n_loss(:) ! (gN/m2/s) loss from 10-yr wood product pool
real(r8), pointer :: prod100n_loss(:) ! (gN/m2/s) loss from 100-yr wood product pool
real(r8), pointer :: product_nloss(:) ! (gN/m2/s) total wood product nitrogen loss
real(r8), pointer :: prod10n(:) ! (gN/m2) wood product N pool, 10-year lifespan
real(r8), pointer :: prod100n(:) ! (gN/m2) wood product N pool, 100-year lifespan
real(r8), pointer :: totprodn(:) ! (gN/m2) total wood product N
local pointers to implicit in/out scalars
local pointers to implicit out scalars
!OTHER LOCAL VARIABLES:
integer :: c,p ! indices
integer :: fp,fc ! lake filter indices