get_fluxes_and_derivs Subroutine

private subroutine get_fluxes_and_derivs(irec, mp, qprec, qprec_snow, n, dx, h0, Tsoil, S, qh, vmet, vlit, vsnow, var, T0, Tsurface, dxL, SL, Tl, plit, par, qali, qvh, qevap, again, getq0, getqn, init, ns, nsat, nsatlast, phip, qpme, hint, phimin, qexd, q, qya, qyb, qTa, qTb, qhya, qhyb, qhTa, qhTb, qadv, qadvya, qadvyb, qadvTa, qadvTb, vtmp, qliq, qv, qvT, qlya, qlyb, qvya, qvyb, qlTb, qvTa, qvTb, vtop, vbot, lE0, G0, Epot, surface_case, iflux, litter, j, kk, advection, dTqwdTa, dTqwdTb, Tqw, keff, hice)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d) :: irec
integer(kind=i_d) :: mp
real(kind=r_2), DIMENSION(1:mp) :: qprec
real(kind=r_2), DIMENSION(1:mp) :: qprec_snow
integer(kind=i_d) :: n
real(kind=r_2), DIMENSION(1:n) :: dx
real(kind=r_2), DIMENSION(1:mp) :: h0
real(kind=r_2), DIMENSION(1:n) :: Tsoil
real(kind=r_2), DIMENSION(1:n) :: S
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qh
type(vars_met), DIMENSION(1:mp) :: vmet
type(vars), DIMENSION(1:mp) :: vlit
type(vars_snow), DIMENSION(1:mp) :: vsnow
type(vars), DIMENSION(1:n) :: var
real(kind=r_2), DIMENSION(1:mp) :: T0
real(kind=r_2), DIMENSION(1:mp) :: Tsurface
real(kind=r_2), DIMENSION(1:mp) :: dxL
real(kind=r_2), DIMENSION(1:mp) :: SL
real(kind=r_2), DIMENSION(1:mp) :: Tl
type(params), DIMENSION(1:mp) :: plit
type(params), DIMENSION(1:n) :: par
real(kind=r_2), optional, DIMENSION(1:mp) :: qali
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvh
real(kind=r_2), DIMENSION(1:mp) :: qevap
logical, DIMENSION(1:mp) :: again
logical, DIMENSION(1:mp) :: getq0
logical, DIMENSION(1:mp) :: getqn
logical, DIMENSION(1:mp) :: init
integer(kind=i_d), DIMENSION(1:mp) :: ns
integer(kind=i_d), DIMENSION(1:mp) :: nsat
integer(kind=i_d), DIMENSION(1:mp) :: nsatlast
real(kind=r_2), DIMENSION(1:mp) :: phip
real(kind=r_2), DIMENSION(1:mp) :: qpme
real(kind=r_2), DIMENSION(1:n) :: hint
real(kind=r_2), DIMENSION(1:n) :: phimin
real(kind=r_2), DIMENSION(1:n) :: qexd
real(kind=r_2), DIMENSION(-nsnow_max:n) :: q
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qya
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qyb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qTa
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qTb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qhya
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qhyb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qhTa
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qhTb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qadv
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qadvya
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qadvyb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qadvTa
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qadvTb
type(vars) :: vtmp
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qliq
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qv
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvT
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qlya
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qlyb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvya
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvyb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qlTb
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvTa
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvTb
type(vars), DIMENSION(1:mp) :: vtop
type(vars), DIMENSION(1:mp) :: vbot
real(kind=r_2), DIMENSION(1:mp) :: lE0
real(kind=r_2), DIMENSION(1:mp) :: G0
real(kind=r_2), DIMENSION(1:mp) :: Epot
integer(kind=i_d), DIMENSION(1:mp) :: surface_case
integer(kind=i_d), DIMENSION(1:mp) :: iflux
logical :: litter
integer(kind=i_d) :: j
integer(kind=i_d) :: kk
integer(kind=i_d) :: advection
real(kind=r_2) :: dTqwdTa
real(kind=r_2) :: dTqwdTb
real(kind=r_2) :: Tqw
real(kind=r_2) :: keff
real(kind=r_2), DIMENSION(1:mp) :: hice