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

Calls

proc~~get_fluxes_and_derivs~~CallsGraph proc~get_fluxes_and_derivs get_fluxes_and_derivs interface~getfluxes_vp getfluxes_vp proc~get_fluxes_and_derivs->interface~getfluxes_vp interface~getheatfluxes getheatfluxes proc~get_fluxes_and_derivs->interface~getheatfluxes proc~flux flux proc~get_fluxes_and_derivs->proc~flux proc~seb SEB proc~get_fluxes_and_derivs->proc~seb proc~zerovars zerovars proc~get_fluxes_and_derivs->proc~zerovars proc~getfluxes_vp_1d getfluxes_vp_1d interface~getfluxes_vp->proc~getfluxes_vp_1d proc~getfluxes_vp_2d getfluxes_vp_2d interface~getfluxes_vp->proc~getfluxes_vp_2d proc~getheatfluxes_1d getheatfluxes_1d interface~getheatfluxes->proc~getheatfluxes_1d proc~getheatfluxes_2d getheatfluxes_2d interface~getheatfluxes->proc~getheatfluxes_2d proc~weight weight proc~flux->proc~weight proc~hyofh hyofh proc~seb->proc~hyofh proc~potential_evap potential_evap proc~seb->proc~potential_evap proc~slope_csat slope_csat proc~seb->proc~slope_csat proc~getfluxes_vp_1d->proc~flux proc~getfluxes_vp_1d->proc~zerovars proc~getfluxes_vp_1d->proc~hyofh proc~getfluxes_vp_2d->proc~flux proc~getfluxes_vp_2d->proc~zerovars proc~getfluxes_vp_2d->proc~hyofh proc~slope_esat slope_esat proc~potential_evap->proc~slope_esat proc~slope_esat_ice slope_esat_ice proc~potential_evap->proc~slope_esat_ice proc~weight->proc~hyofh

Called by

proc~~get_fluxes_and_derivs~~CalledByGraph proc~get_fluxes_and_derivs get_fluxes_and_derivs proc~iflux_loop iflux_loop proc~iflux_loop->proc~get_fluxes_and_derivs proc~timestep_loop timestep_loop proc~timestep_loop->proc~iflux_loop proc~solve solve proc~solve->proc~timestep_loop proc~sli_main sli_main proc~sli_main->proc~solve