INTERFACE:
subroutine C13FluxCalc(c13_flux, ctot_flux, c13_state, ctot_state, & num, filter, frax, diag)DESCRIPTION:
On the radiation time step, set the 13-carbon flux variables (except for gap-phase mortality and fire fluxes)
USES:
use clmtypeARGUMENTS:
implicit none
real(r8), pointer :: c13_flux(:) !OUTPUT 13C flux
real(r8), pointer :: ctot_flux(:) !INPUT totC flux
real(r8), pointer :: c13_state(:) !INPUT 13C state, upstream pool
real(r8), pointer :: ctot_state(:) !INPUT totC state, upstream pool
real(r8), intent(in):: frax !fractionation factor (1 = no fractionation)
integer, intent(in) :: num ! number of filter members
integer, intent(in) :: filter(:) ! filter indices
integer, intent(in) :: diag !0=no diagnostics, 1=print diagnostics
CALLED FROM:
subroutine C13Flux1REVISION HISTORY:
!OTHER LOCAL VARIABLES:
integer :: i,f ! indices
real(r8) :: temp
! loop over the supplied filter
do f = 1,num
i = filter(f)
if (ctot_state(i) /= 0._r8) then
c13_flux(i) = ctot_flux(i) * (c13_state(i)/ctot_state(i)) * frax
else
c13_flux(i) = 0._r8
end if
if (diag == 1) then
! put diagnostic print statements here for 13C flux calculations
end if
end do
end subroutine C13FluxCalc
-----------------------------------------------------------------------
#endif
end module CNC13FluxMod
\markboth{Left}{Source File: CNC13StateUpdate1Mod.F90, Date: Wed Jun 15 14:32:20 MDT 2011
}
module CNC13StateUpdate1Mod
#if (defined CN) && (defined C13)
-----------------------------------------------------------------------
%/////////////////////////////////////////////////////////////
\mbox{}\hrulefill\
\subsection{Fortran: Module Interface C13StateUpdate1Mod (Source File: CNC13StateUpdate1Mod.F90)}
Module for carbon state variable update, non-mortality fluxes.
\bigskip{\em USES:}
\begin{verbatim} use shr_kind_mod, only: r8 => shr_kind_r8
implicit none
save
private
PUBLIC MEMBER FUNCTIONS:
public:: C13StateUpdate1,C13StateUpdate0REVISION HISTORY:
4/21/2005: Created by Peter Thornton and Neil Suits - copied from
CNCStateUpdate1 for C13 state variables.