next up previous contents
Next: Fortran: Module Interface C13FluxMod Up: Fortran: Module Interface CNBalanceCheckMod Previous: CBalanceCheck   Contents

NBalanceCheck


INTERFACE:

 subroutine NBalanceCheck(lbc, ubc, num_soilc, filter_soilc)
DESCRIPTION:

On the radiation time step, perform nitrogen mass conservation check for column and pft


USES:

    use clmtype
    use clm_time_manager, only: get_step_size
ARGUMENTS:
    implicit none
    integer, intent(in) :: lbc, ubc        ! column bounds
    integer, intent(in) :: num_soilc       ! number of soil columns in filter
    integer, intent(in) :: filter_soilc(ubc-lbc+1) ! filter for soil columns
CALLED FROM:
   subroutine clm_driver1
REVISION HISTORY:
   12/9/03: Created by Peter Thornton
LOCAL VARIABLES:
   local pointers to implicit in arrays
    real(r8), pointer :: totcoln(:)               ! (gN/m2) total column nitrogen, incl veg
    real(r8), pointer :: ndep_to_sminn(:)         ! atmospheric N deposition to soil mineral N (gN/m2/s)
    real(r8), pointer :: nfix_to_sminn(:)         ! symbiotic/asymbiotic N fixation to soil mineral N (gN/m2/s) 
    real(r8), pointer :: supplement_to_sminn(:)   ! supplemental N supply (gN/m2/s)
    real(r8), pointer :: denit(:)                 ! total rate of denitrification (gN/m2/s)
    real(r8), pointer :: sminn_leached(:)         ! soil mineral N pool loss to leaching (gN/m2/s)
    real(r8), pointer :: col_fire_nloss(:)        ! total column-level fire N loss (gN/m2/s)
    real(r8), pointer :: dwt_nloss(:)              ! (gN/m2/s) total nitrogen loss from product pools and conversion
    real(r8), pointer :: product_nloss(:)          ! (gN/m2/s) total wood product nitrogen loss
   local pointers to implicit in/out arrays
   local pointers to implicit out arrays
    real(r8), pointer :: col_ninputs(:)           ! column-level N inputs (gN/m2/s)
    real(r8), pointer :: col_noutputs(:)          ! column-level N outputs (gN/m2/s)
    real(r8), pointer :: col_begnb(:)             ! nitrogen mass, beginning of time step (gN/m**2)
    real(r8), pointer :: col_endnb(:)             ! nitrogen mass, end of time step (gN/m**2)
    real(r8), pointer :: col_errnb(:)             ! nitrogen balance error for the timestep (gN/m**2)
   !OTHER LOCAL VARIABLES:
    integer :: c,err_index    ! indices
    integer :: fc             ! lake filter indices
    logical :: err_found      ! error flag
    real(r8):: dt             ! radiation time step (seconds)



Erik Kluzek 2011-06-15