103 TYPE(t_mxl),
DIMENSION(np),
INTENT(in) :: &
105 TYPE(t_vtp),
DIMENSION(nl,nt,np),
INTENT(inout) :: &
107 TYPE(t_tfl),
DIMENSION(np),
INTENT(inout) :: &
109 TYPE(t_sit),
DIMENSION(nt,np),
INTENT(inout) :: &
111 TYPE(t_dia),
DIMENSION(np),
INTENT(inout) :: &
117 zenti,zentf,zssinew,zhsinew
118 REAL,
DIMENSION(nt,np) :: &
119 zdh,zdmass,zdmsi,zdmsn,zentsi,zentsn,zsalt,ztmp
139 zdmass(:,:) = tpsit(:,:)%rsn*tpsit(:,:)%hsn - &
140 (rhosw-rhoice)*tpsit(:,:)%hsi
147 WHERE ( zdmass(:,:)<=0. )
156 zdh(:,:) = zdmass(:,:) / &
157 ( tpsit(:,:)%rsn+rhosw-rhoice )
176 zdmsi(:,:) = rhoice * tpsit(:,:)%fsi * zdh(:,:)
181 tpdia(:)%sni = sum( zdmsi(:,:),dim=1 ) / dtt
185 zdmsn(:,:) = -tpsit(:,:)%rsn * tpsit(:,:)%fsi * zdh(:,:)
198 IF ( zdh(jk,jp)>epsil1 )
THEN
199 zsalt(jk,jp) = tpmxl(jp)%sml*( 1. - tpsit(jk,jp)%rsn/rhoice )
214 sum( tpsil(nilay+1:nl,:,:)%ent, dim=1 )/float(nslay)
232 ztmp(jk,:) = tpmxl(:)%sml
234 CALL
glt_updtfl_r(
'I2O',tpmxl,tptfl,zdmsi+zdmsn,pent=zentsi,psalt=ztmp)
237 tptfl(:)%tio = tptfl(:)%tio - &
238 sum(zdmsi*zentsi,dim=1)/dtt - &
239 sum(zdmsn*zentsn,dim=1)/dtt
254 CALL
glt_updtfl_r(
'FW2I',tpmxl,tptfl,-1.*zdmsn,zentsn )
285 IF ( zdh(jk,jp)>epsil1 )
THEN
288 zhsinew = tpsit(jk,jp)%hsi + zdh(jk,jp)
293 zenti = zenti + sf3tinv(jl)*tpsil(jl,jk,jp)%ent
297 zentf = ( zenti*tpsit(jk,jp)%hsi + zentsi(jk,jp)*zdh(jk,jp) ) / &
301 IF ( zenti/=0. )
THEN
302 tpsil(1:nilay,jk,jp)%ent = &
303 tpsil(1:nilay,jk,jp)%ent * zentf/zenti
305 tpsil(1:nilay,jk,jp)%ent = zentf
309 tpsit(jk,jp)%hsn = tpsit(jk,jp)%hsn - zdh(jk,jp)
313 ( tpsit(jk,jp)%ssi*tpsit(jk,jp)%hsi + zsalt(jk,jp)*zdh(jk,jp) ) / &
317 tpsit(jk,jp)%hsi = zhsinew
subroutine glt_updtfl_r(hflag, tpmxl, tptfl, pdmass, pent, psalt)
subroutine glt_snowice_r(tpmxl, tpsil, tptfl, tpsit, tpdia)