124 LOGICAL,
DIMENSION(nt,np),
INTENT(in) :: &
126 TYPE(t_atm),
DIMENSION(np),
INTENT(in) :: &
128 TYPE(t_blk),
DIMENSION(nt,np),
INTENT(in) :: &
130 REAL,
DIMENSION(nl,nt,np),
INTENT(in) :: &
132 TYPE(t_sit),
DIMENSION(nt,np),
INTENT(inout) :: &
134 TYPE(t_dia),
DIMENSION(np),
INTENT(inout) :: &
137 LOGICAL,
DIMENSION(nt,np) :: &
141 REAL,
DIMENSION(np) :: &
143 REAL,
DIMENSION(nt,np) :: &
144 zpcps,zpcpr,zasi,zasn,zent0,zalf,zt
154 zhsicr = ( ( albi-albw )/xalf1 )**( 1./xpow )
163 zent0 = -cpsw*mu*pvsp(nilay,:,:)
170 WHERE( tpsit(:,:)%hsn>=epsil1 .AND. gsmelt(:,:) )
171 gsnmelt(:,:) = .true.
174 gsimelt(:,:) = .false.
175 WHERE( tpsit(:,:)%hsi > 0.1 .AND. tpsit(:,:)%hsn < epsil1 .AND. gsmelt(:,:) )
176 gsimelt(:,:) = .true.
181 zpcps(:,:) = spread( tpatm(:)%sop,1,nt )
182 zpcpr(:,:) = spread( tpatm(:)%lip,1,nt )
232 IF ( nmponds==1)
THEN
236 WHERE( gsimelt(:,:) )
237 zasi(:,:) = amin1( zasi(:,:),xalbareimlt )
252 WHERE( gsimelt(:,:) )
253 zasi(:,:) = amin1( zasi(:,:),albimlt )
271 zt(:,:) = tpsit(:,:)%rsn*tpsit(:,:)%hsn / rhofw
272 zalf(:,:) = amin1( zt(:,:)/wnew,1. )
276 WHERE( gsnmelt(:,:) )
291 WHERE ( zpcps(:,:)>zpcpr(:,:) )
306 zalf(:,:)*zasn(:,:) + (1.-zalf(:,:))*zasi(:,:)
316 zfsit(:) = sum( tpsit(:,:)%fsi, dim=1 )
317 tpdia(:)%aiw = tpdia(:)%aiw + zfsit(:)
319 tpdia(:)%asi = sum( tpsit(:,:)%fsi*zasi(:,:),dim=1 )
321 tpdia(:)%asn = sum( tpsit(:,:)%fsi*zasn(:,:),dim=1 )
subroutine glt_updasn_r(gsmelt, tpatm, tpblki, pvsp, tpsit, tpdia)