58 INTEGER :: I,K,NCON1,J,KI,hutemp
63 REAL(DP) :: TMP,TMP1,TMP2,TMP3,QTMP,GW,ZDEP,FKH,UMOLPR,WETFAC
64 REAL(SP),
DIMENSION(0:MT,KB) :: F
65 REAL(DP),
DIMENSION(M,KB) :: FF,AF,CF,VHF,VHPF,RAD
66 REAL(DP),
DIMENSION(M) :: KHBOTTOM,WFSURF,SWRADF,SASURF
67 REAL(DP),
DIMENSION(M) :: COSGAMA1,COSGAMA2
92 af(i,k-1)=-
dti*(fkh+umolpr)/(
dz(i,k-1)*
dzz(i,k-1)*
d(i)*
d(i))
93 cf(i,k)=-
dti*(fkh+umolpr)/(
dz(i,k)*
dzz(i,k-1)*
d(i)*
d(i))
129 IF(
d(i) < 100.0_sp)
THEN 133 ELSE IF(
d(i) > 150.0_sp)
THEN 138 tmp1=(
d(i)-100.0_sp)/(150.0_sp-100.0_sp)
139 rheat=0.78_sp+(0.58_sp-0.78_sp)*tmp1
140 zeta1=1.4_sp+ (0.35_sp-1.4_sp )*tmp1
141 zeta2=6.3_sp+ (23.0_sp-6.3_sp )*tmp1
155 CALL fatal_error(
"HEATING TYPE IS SET INCORRECTLY:",&
172 CALL fatal_error(
'NCON NOT CORRECT IN VDIF_TS_GOM')
181 vhf(i,1) = af(i,1) / (af(i,1)-1.)
182 vhpf(i,1) = -
dti *(sasurf(i)+wfsurf(i)-swradf(i) &
183 +rad(i,1)-rad(i,2)) / (-
dz(i,1)*
d(i)) - f(i,1)
184 vhpf(i,1) = vhpf(i,1) / (af(i,1)-1.)
192 vhpf(i,k)=1./ (af(i,k)+cf(i,k)*(1.-vhf(i,k-1))-1.)
193 vhf(i,k) = af(i,k) * vhpf(i,k)
194 vhpf(i,k) = (cf(i,k)*vhpf(i,k-1)-dble(f(i,k)) &
195 +
dti*(rad(i,k)-rad(i,k+1))/(
d(i)*
dz(i,k)))*vhpf(i,k)
225 IF (
isonb(i) /= 2)
THEN 231 tmp=tmp1*tmp2/tmp3*(khbottom(i)+umolpr)
237 IF (tmp1 > 0.0_sp) tmp=0.0_sp
239 IF (tmp1 < 0.0_sp) tmp=0.0_sp
242 CALL fatal_error(
'NCON NOT CORRECT IN VDIF_TS_GOM')
262 & /(cf(i,
kbm1)*(1._sp-vhf(i,
kbm2))-1._sp)
271 IF(
isonb(i) /= 2)
THEN 274 ff(i,ki) = (vhf(i,ki)*ff(i,ki+1)+vhpf(i,ki))
real(sp), dimension(:), allocatable, target d
logical function dbg_set(vrb)
real(sp), dimension(:), allocatable, target pfpxb
real(sp), dimension(:), allocatable, target pfpyb
real(sp), dimension(:), allocatable, target phpn
real(sp), dimension(:), allocatable, target swrad
character(len=80) heating_type
logical noflux_bot_condition
real(sp), dimension(:,:), allocatable, target dzz
real(sp), dimension(:), allocatable, target sita_gd
real(sp), dimension(:,:), allocatable, target dz
integer, dimension(:), allocatable iswetnt
real(sp), dimension(:,:), allocatable, target kh
real(sp), dimension(:,:), allocatable, target z
subroutine fatal_error(ER1, ER2, ER3, ER4)
real(sp), dimension(:), allocatable, target ah_bottom
real(sp), dimension(:), allocatable, target wtsurf
integer, parameter dbg_sbr
integer, dimension(:), allocatable, target isonb
integer, dimension(:), allocatable iswetn