129 real (kind=dbl_kind),
parameter :: &
130 ahmax = 0.5_dbl_kind &
131 , dt_mlt = 1._dbl_kind &
132 , dalb_mlt = -0.075_dbl_kind &
134 , dalb_mltv = -0.100_dbl_kind &
136 , dalb_mlti = -0.150_dbl_kind
139 integer (kind=int_kind) :: i, j, ni
141 real (kind=dbl_kind) :: &
153 integer (kind=int_kind) :: &
157 integer (kind=int_kind),
dimension (1:(ihi-ilo+1)*(jhi-jlo+1)) :: &
161 fhtan = atan(ahmax*
c4i)
191 fh = min(atan(hi*
c4i)/fhtan,
c1i)
192 albo = albocn*(
c1i-fh)
193 alvdfn(i,j,ni) = albicev*fh + albo
194 alidfn(i,j,ni) = albicei*fh + albo
198 ft = min(dts/dt_mlt-
c1i,
c0i)
199 alvdfn(i,j,ni) = alvdfn(i,j,ni) - dalb_mlt*ft
200 alidfn(i,j,ni) = alidfn(i,j,ni) - dalb_mlt*ft
203 alvdfn(i,j,ni) = max(alvdfn(i,j,ni), albocn)
204 alidfn(i,j,ni) = max(alidfn(i,j,ni), albocn)
209 asnow = hs / ( hs + snowpatch )
214 asnwv = asnwv - dalb_mltv*ft
215 asnwi = asnwi - dalb_mlti*ft
218 alvdfn(i,j,ni) = alvdfn(i,j,ni)*(
c1i-asnow) + &
220 alidfn(i,j,ni) = alidfn(i,j,ni)*(
c1i-asnow) + &
224 alvdrn(i,j,ni) = alvdfn(i,j,ni)
225 alidrn(i,j,ni) = alidfn(i,j,ni)
228 alvdfn(i,j,ni) = albocn
229 alidfn(i,j,ni) = albocn
230 alvdrn(i,j,ni) = albocn
231 alidrn(i,j,ni) = albocn
257 alvdf(i,j) = alvdf(i,j) + alvdfn(i,j,ni)*
aicen(i,j,ni)
258 alidf(i,j) = alidf(i,j) + alidfn(i,j,ni)*
aicen(i,j,ni)
259 alvdr(i,j) = alvdr(i,j) + alvdrn(i,j,ni)*
aicen(i,j,ni)
260 alidr(i,j) = alidr(i,j) + alidrn(i,j,ni)*
aicen(i,j,ni)
272 alvdf(i,j) = alvdf(i,j) /
aice(i,j)
273 alidf(i,j) = alidf(i,j) /
aice(i,j)
274 alvdr(i,j) = alvdr(i,j) /
aice(i,j)
275 alidr(i,j) = alidr(i,j) /
aice(i,j)
real(kind=dbl_kind), parameter c0i
real(kind=dbl_kind), parameter c4i
real(kind=dbl_kind), parameter puny
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save tsfcn
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save vicen
real(kind=dbl_kind), parameter timelt
real(kind=dbl_kind), dimension(:,:), allocatable, target, save aice
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save aicen
real(kind=dbl_kind), parameter c1i
logical(kind=log_kind), dimension(:,:), allocatable tmask
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save vsnon