update_unknowns Subroutine

private subroutine update_unknowns(irec, mp, qprec, qprec_snow, n, dx, h0, S, Tsoil, evap, infil, drainage, discharge, qh, nsteps, vmet, vlit, vsnow, var, Hcum, lEcum, Gcum, Qadvcum, csoil, kth, phi, zdelta, SL, Tl, par, wex, qvsig, qlsig, qvTsig, precip, qevap, rexcol, wcol, again, ih0, ns, dt, dwinfil, dwoff, sig, qexd, dy, de, q, qya, qyb, qTa, qTb, qhya, qhyb, qhTa, qhTb, qsig, qhsig, qadvsig, qliq, qv, qvT, qlyb, qvya, qvyb, qlTb, qvTa, qvTb, dTsoil, v_aquifer, dwcol, dwdrainage, drn, inlit, dwinlit, drexcol, dwdischarge, dJcol_latent_S, dJcol_latent_T, dJcol_sensible, deltaJ_latent_S, deltaJ_latent_T, deltaJ_sensible_S, deltaJ_sensible_T, qevapsig, qrunoff, tmp1d1, tmp1d2, tmp1d3, deltah0, deltaSL, LHS_h, surface_case, litter, i, j, kk, advection, theta, Tqw, cp, hsnow, delta_snowcol, delta_snowT, delta_snowliq, J0, iqex, J0snow, wcol0snow)

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) :: S
real(kind=r_2), DIMENSION(1:n) :: Tsoil
real(kind=r_2), DIMENSION(1:mp) :: evap
real(kind=r_2), DIMENSION(1:mp) :: infil
real(kind=r_2), DIMENSION(1:mp) :: drainage
real(kind=r_2), DIMENSION(1:mp) :: discharge
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qh
integer(kind=i_d), DIMENSION(1:mp) :: nsteps
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) :: Hcum
real(kind=r_2), DIMENSION(1:mp) :: lEcum
real(kind=r_2), DIMENSION(1:mp) :: Gcum
real(kind=r_2), DIMENSION(1:mp) :: Qadvcum
real(kind=r_2), DIMENSION(1:n) :: csoil
real(kind=r_2), DIMENSION(1:n) :: kth
real(kind=r_2), DIMENSION(1:n) :: phi
real(kind=r_2), DIMENSION(1:mp) :: zdelta
real(kind=r_2), DIMENSION(1:mp) :: SL
real(kind=r_2), DIMENSION(1:mp) :: Tl
type(params), DIMENSION(1:n) :: par
real(kind=r_2), optional, DIMENSION(1:mp,1:n) :: wex
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvsig
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qlsig
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qvTsig
real(kind=r_2), DIMENSION(1:mp) :: precip
real(kind=r_2), DIMENSION(1:mp) :: qevap
real(kind=r_2), DIMENSION(1:mp) :: rexcol
real(kind=r_2), DIMENSION(1:mp) :: wcol
logical, DIMENSION(1:mp) :: again
integer(kind=i_d), DIMENSION(1:mp) :: ih0
integer(kind=i_d), DIMENSION(1:mp) :: ns
real(kind=r_2), DIMENSION(1:mp) :: dt
real(kind=r_2), DIMENSION(1:mp) :: dwinfil
real(kind=r_2), DIMENSION(1:mp) :: dwoff
real(kind=r_2), DIMENSION(1:mp) :: sig
real(kind=r_2), DIMENSION(1:n) :: qexd
real(kind=r_2), DIMENSION(-nsnow_max+1:n) :: dy
real(kind=r_2), DIMENSION(-nsnow_max+1:n) :: de
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) :: qsig
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qhsig
real(kind=r_2), DIMENSION(-nsnow_max:n) :: qadvsig
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) :: 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
real(kind=r_2), DIMENSION(1:n) :: dTsoil
type(vars_aquifer), DIMENSION(1:mp) :: v_aquifer
real(kind=r_2), DIMENSION(1:mp) :: dwcol
real(kind=r_2), DIMENSION(1:mp) :: dwdrainage
real(kind=r_2), DIMENSION(1:mp) :: drn
real(kind=r_2), DIMENSION(1:mp) :: inlit
real(kind=r_2), DIMENSION(1:mp) :: dwinlit
real(kind=r_2), DIMENSION(1:mp) :: drexcol
real(kind=r_2), DIMENSION(1:mp) :: dwdischarge
real(kind=r_2), DIMENSION(1:mp) :: dJcol_latent_S
real(kind=r_2), DIMENSION(1:mp) :: dJcol_latent_T
real(kind=r_2), DIMENSION(1:mp) :: dJcol_sensible
real(kind=r_2), DIMENSION(1:n) :: deltaJ_latent_S
real(kind=r_2), DIMENSION(1:n) :: deltaJ_latent_T
real(kind=r_2), DIMENSION(1:n) :: deltaJ_sensible_S
real(kind=r_2), DIMENSION(1:n) :: deltaJ_sensible_T
real(kind=r_2), DIMENSION(1:mp) :: qevapsig
real(kind=r_2), DIMENSION(1:mp) :: qrunoff
real(kind=r_2), DIMENSION(1:mp) :: tmp1d1
real(kind=r_2), DIMENSION(1:mp) :: tmp1d2
real(kind=r_2), DIMENSION(1:mp) :: tmp1d3
real(kind=r_2), DIMENSION(1:mp) :: deltah0
real(kind=r_2), DIMENSION(1:mp) :: deltaSL
real(kind=r_2), DIMENSION(-nsnow_max+1:n) :: LHS_h
integer(kind=i_d), DIMENSION(1:mp) :: surface_case
logical :: litter
integer(kind=i_d) :: i
integer(kind=i_d) :: j
integer(kind=i_d) :: kk
integer(kind=i_d) :: advection
real(kind=r_2) :: theta
real(kind=r_2) :: Tqw
real(kind=r_2), DIMENSION(1:mp) :: cp
real(kind=r_2), DIMENSION(nsnow_max) :: hsnow
real(kind=r_2), DIMENSION(nsnow_max) :: delta_snowcol
real(kind=r_2), DIMENSION(nsnow_max) :: delta_snowT
real(kind=r_2), DIMENSION(nsnow_max) :: delta_snowliq
real(kind=r_2), DIMENSION(1:n) :: J0
real(kind=r_2), DIMENSION(1:n) :: iqex
real(kind=r_2), DIMENSION(1:mp) :: J0snow
real(kind=r_2), DIMENSION(1:mp) :: wcol0snow