79 ( tpsit,pswtra,pent,pvsp,pdhmelt )
94 TYPE(t_sit),
DIMENSION(nt,np),
INTENT(in) :: &
96 REAL,
DIMENSION(nl,nt,np),
INTENT(in) :: &
98 REAL,
DIMENSION(nl,nt,np),
INTENT(inout) :: &
100 REAL,
DIMENSION(nl,nt,np),
INTENT(inout) :: &
102 REAL,
DIMENSION(nl,nt,np),
INTENT(inout) :: &
109 LOGICAL,
DIMENSION(nt,np) :: &
118 zicondt,zicondb,zidhi_swa,zidhs_swa,ziswa,zinrg,zfsit
119 REAL,
DIMENSION(nilay,nt,np) :: &
121 REAL,
DIMENSION(nl,nt,np) :: &
134 ztsi_m(:,:,:) = -mu * pvsp(1:nilay,:,:)
138 zento(:,:,:) = pent(:,:,:)
155 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsi>epsil1 )
156 pent(jl,:,:) = pent(jl,:,:) + &
157 dtt*pswtra(jl,:,:)/( rhoice*sf3tinv(jl)*tpsit(:,:)%hsi )
183 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsn>epsil1 )
184 pent(nilay+1,:,:) = pent(nilay+1,:,:) + &
185 dtt*pswtra(nilay+1,:,:)/( tpsit(:,:)%rsn*tpsit(:,:)%hsn )
196 WHERE ( pent(jl,:,:)>cpsw*ztsi_m(jl,:,:) )
197 pdhmelt(jl,:,:) = pdhmelt(jl,:,:) + &
198 rhoice*tpsit(:,:)%hsi*sf3tinv(jl)* &
199 ( pent(jl,:,:)-cpsw*ztsi_m(jl,:,:) )
200 pent(jl,:,:) = cpsw*ztsi_m(jl,:,:)
215 WHERE ( pent(nilay+1,:,:)>-xmhofusn0 )
216 pdhmelt(nilay+1,:,:) = pdhmelt(nilay+1,:,:) + &
217 tpsit(:,:)%rsn*tpsit(:,:)%hsn*( pent(nilay+1,:,:)+xmhofusn0 )
218 pent(nilay+1,:,:) = -xmhofusn0
232 'At the end of SWABS (vert. heat diffusion scheme), W/m2 of ice'
236 WHERE( tpsit(:,:)%hsi>epsil1 )
239 zfsit = sum( tpsit(:,:)%fsi, mask=(omask) )
240 zfsit = amax1( zfsit,epsil1 )
246 ziswa = ziswa + sum( tpsit(:,:)%fsi*pswtra(jl,:,:) ) / zfsit
250 ' Input solar energy:', ziswa
257 zidhi_swa = zidhi_swa + &
258 rhoice*sf3tinv(jl)* &
259 sum( tpsit(:,:)%fsi*tpsit(:,:)%hsi*( pent(jl,:,:)-zento(jl,:,:) ) )
261 zidhi_swa = zidhi_swa / (zfsit*dtt)
264 ' Ice gltools_enthalpy change due to solar warming:', &
270 sum( tpsit(:,:)%fsi*tpsit(:,:)%rsn*tpsit(:,:)%hsn* &
271 ( pent(nilay+1,:,:)-zento(nilay+1,:,:) ) ) / (zfsit*dtt)
274 ' Snow gltools_enthalpy change due to solar warming:', &
279 zdhmelt = zdhmelt + &
280 sum( tpsit(:,:)%fsi*pdhmelt(jl,:,:) ) / (zfsit*dtt)
288 zinrg = ziswa - ( zdhmelt + zidhi_swa + zidhs_swa )
291 ' Energy variation of the whole system (solar):', zinrg
295 IF ( abs(zinrg)>0.01 )
THEN
297 WRITE(noutlu,*)
' ** WARNING **'
299 ' Heat conduction scheme not conservative'
301 ' ========================================='
subroutine glt_swabs_r(tpsit, pswtra, pent, pvsp, pdhmelt)