real(kind=r_2)
|
|
|
|
:: |
tfin |
|
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)
|
:: |
thetai |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
Jsensible |
|
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(1:mp,-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)
|
:: |
T0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
Tsurface |
|
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:mp)
|
:: |
Jcol_sensible |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
Jcol_latent_S |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
Jcol_latent_T |
|
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)
|
:: |
dxL |
|
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:mp)
|
:: |
plit |
|
type(params),
|
|
|
DIMENSION(1:n)
|
:: |
par |
|
real(kind=r_2),
|
|
optional, |
DIMENSION(1:mp,1:n)
|
:: |
wex |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp,1:nsnow_max)
|
:: |
ciso_snow |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp,1:nsnow_max)
|
:: |
cisoice_snow |
|
real(kind=r_2),
|
|
optional, |
DIMENSION(1:mp)
|
:: |
qali |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp,-nsnow_max:n)
|
:: |
qvsig |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp,-nsnow_max:n)
|
:: |
qlsig |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp,-nsnow_max:n)
|
:: |
qvTsig |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp,-nsnow_max:n)
|
:: |
qvh |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
deltaTa |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
precip |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qevap |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qhL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qybL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qTbL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qhTbL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qhybL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
rexcol |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
wcol |
|
logical,
|
|
|
DIMENSION(1:mp)
|
:: |
again |
|
logical,
|
|
|
DIMENSION(1:mp)
|
:: |
getq0 |
|
logical,
|
|
|
DIMENSION(1:mp)
|
:: |
getqn |
|
logical,
|
|
|
DIMENSION(1:mp)
|
:: |
init |
|
logical,
|
|
|
DIMENSION(1:mp,1:n)
|
:: |
again_ice |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
ih0 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
iok |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
itmp |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
ns |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nsat |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nsatlast |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nsteps0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
accel |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
dmax |
|
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)
|
:: |
fac |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
phip |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qpme |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
rsig |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
rsigdt |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
sig |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
t |
|
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+1:n)
|
:: |
aa |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
bb |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
cc |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
dd |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
ee |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
ff |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
gg |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
dy |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
aah |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
bbh |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
cch |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
ddh |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
eeh |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
ffh |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
ggh |
|
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)
|
:: |
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)
|
:: |
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)
|
:: |
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 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
deltaS |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
dTsoil |
|
real(kind=r_2),
|
|
|
DIMENSION(0:n)
|
:: |
tmp2d1 |
|
real(kind=r_2),
|
|
|
DIMENSION(0:n)
|
:: |
tmp2d2 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
cv0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:nsnow_max)
|
:: |
cisoliqice_snow |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
dthetaldT |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
thetal |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:n)
|
:: |
isave |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:n)
|
:: |
nsteps_ice |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:n)
|
:: |
imelt |
|
type(vars),
|
|
|
DIMENSION(1:mp)
|
:: |
vtop |
|
type(vars),
|
|
|
DIMENSION(1:mp)
|
:: |
vbot |
|
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)
|
:: |
tmp1d4 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
deltah0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
deltaSL |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
lE0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
G0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
Epot |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
Tfreezing |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
dtdT |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
LHS |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
RHS |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
LHS_h |
|
real(kind=r_2),
|
|
|
DIMENSION(-nsnow_max+1:n)
|
:: |
RHS_h |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
surface_case |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nns |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
iflux |
|
logical
|
|
|
|
:: |
litter |
|
integer(kind=i_d)
|
|
|
|
:: |
i |
|
integer(kind=i_d)
|
|
|
|
:: |
j |
|
integer(kind=i_d)
|
|
|
|
:: |
k |
|
integer(kind=i_d)
|
|
|
|
:: |
kk |
|
integer(kind=i_d)
|
|
|
|
:: |
condition |
|
integer(kind=i_d)
|
|
|
|
:: |
littercase |
|
integer(kind=i_d)
|
|
|
|
:: |
isotopologue |
|
integer(kind=i_d)
|
|
|
|
:: |
advection |
|
real(kind=r_2)
|
|
|
|
:: |
c2 |
|
real(kind=r_2)
|
|
|
|
:: |
theta |
|
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)
|
:: |
cp |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
cpeff |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
hice |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
h0_0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
hice_0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
h0_tmp |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
hice_tmp |
|
real(kind=r_2),
|
|
|
DIMENSION(nsnow_max)
|
:: |
qmelt |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
qtransfer |
|
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)
|
:: |
thetai_0 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
J0 |
|
real(kind=r_2)
|
|
|
|
:: |
tmp1 |
|
real(kind=r_2)
|
|
|
|
:: |
tmp2 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
iqex |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac1 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac2 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac3 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac4 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac5 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac6 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac7 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac8 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac9 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac10 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac11 |
|
integer(kind=i_d),
|
|
|
DIMENSION(1:mp)
|
:: |
nfac12 |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
J0snow |
|
real(kind=r_2),
|
|
|
DIMENSION(1:mp)
|
:: |
wcol0snow |
|
real(kind=r_2),
|
|
|
DIMENSION(1:n)
|
:: |
h_ex |
|
real(kind=r_2)
|
|
|
|
:: |
wpi |
|
integer(kind=i_d),
|
intent(inout), |
optional |
|
:: |
err |
|