126 CHARACTER(*),
INTENT(in) :: &
128 TYPE(t_mxl),
DIMENSION(nx,ny),
INTENT(in) :: &
130 TYPE(t_tfl),
DIMENSION(nx,ny),
INTENT(inout) :: &
132 REAL,
DIMENSION(nt,nx,ny),
INTENT(in) :: &
134 REAL,
DIMENSION(nt,nx,ny),
INTENT(in),
OPTIONAL :: &
139 REAL,
DIMENSION(nx,ny) :: &
141 REAL,
DIMENSION(nt,nx,ny) :: &
142 zsalt,zaux,zsml,zqsalt2,zent
154 zqm(:,:) = sum( pdmass(:,:,:),dim=1 ) / dtt
164 IF ( present( psalt ) )
THEN
165 zsalt(:,:,:) = psalt(:,:,:)
169 IF ( present( pent ) )
THEN
170 zent(:,:,:) = pent(:,:,:)
177 zqsalt2(:,:,:) = pdmass(:,:,:)*zsalt(:,:,:)
178 zqsalt(:,:) = sum( zqsalt2(:,:,:),dim=1 ) / dtt
186 zqent(:,:) = sum( amin1( pdmass(:,:,:),0. )*zent(:,:,:),dim=1 ) / dtt
201 IF ( hflag==
'I2O' )
THEN
202 IF ( nleviti==1 )
THEN
205 CALL
glt_salflx( zqsalt2,tpmxl,tptfl,pdmass=pdmass,psalt=zsalt )
206 tptfl(:,:)%sio = tptfl(:,:)%sio - 1.e-3 * zqsalt(:,:)
209 ELSE IF ( hflag==
'FW2O')
THEN
210 tptfl(:,:)%wlo = tptfl(:,:)%wlo - zqm(:,:)
212 ELSE IF ( hflag==
'FW2I')
THEN
213 tptfl(:,:)%wio = tptfl(:,:)%wio + zqm(:,:)
214 IF ( nleviti==1 )
THEN
215 tptfl(:,:)%cio = tptfl(:,:)%cio - zqm(:,:)
222 tptfl(:,:)%tio = tptfl(:,:)%tio - zqent(:,:)
subroutine glt_updtfl(hflag, tpmxl, tptfl, pdmass, pent, psalt)
subroutine glt_salflx(pqsalt, tpmxl, tptfl, pdmass, psalt)