78 #if ! defined in_surfex
79 USE mode_gltools_bound
80 USE modi_gltools_advmsk
81 USE modi_gltools_expand
86 TYPE(t_glt),
INTENT(inout) :: &
90 REAL,
OPTIONAL,
INTENT(IN) :: &
93 INTEGER,
PARAMETER :: &
95 INTEGER,
DIMENSION(jporder,SIZE(tpglt%dom,1),SIZE(tpglt%dom,2)) :: &
97 REAL,
DIMENSION(SIZE(tpglt%dom,1),SIZE(tpglt%dom,2)) :: &
99 REAL,
DIMENSION(SIZE(tpglt%dom,1),SIZE(tpglt%dom,2)) :: &
102 DIMENSION(SIZE(tpglt%sit,1),SIZE(tpglt%sit,2),SIZE(tpglt%sit,3)) :: &
116 sum( tzsit(:,:,:)%fsi,dim=1 )*float( tpglt%dom(:,:)%tmk )
117 #if ! defined in_surfex
118 CALL gltools_bound(
'T',
'scalar',zfsit )
123 WHERE( zfsit(:,:)>=0.05 )
132 IF ( nnflxin/=0 )
THEN
142 IF ( nnflxin==1 )
THEN
144 WHERE( zfsit(:,:)>epsil5 )
146 sum( tzsit(:,:,:)%fsi*tzsit(:,:,:)%tsf,dim=1 ) / zfsit(:,:)
148 sum( tzsit(:,:,:)%fsi*tzsit(:,:,:)%asn,dim=1 ) / zfsit(:,:)
150 IF (present(xtmlf))
THEN
151 WHERE( zfsit(:,:)<=epsil5 )
155 WHERE( zfsit(:,:)<=epsil5 )
156 ztsfm(:,:) = tpglt%tml(:,:)%mlf
159 WHERE( zfsit(:,:)<=epsil5 )
164 zalbm(:,:) = 1.-( 1.-zalbm(:,:) )*( 1.-zalbc(:,:) )
166 #if ! defined in_surfex
170 iadvmsk(:,:,:) = gltools_advmsk( jporder, tpglt%dom, zfsit(:,:)>epsil5 )
171 ztsfm(:,:) = gltools_expand( iadvmsk,ztsfm )
172 zalbm(:,:) = gltools_expand( iadvmsk,zalbm )
178 tpglt%ice_atm(1,:,:)%fsi = zfsit(:,:)
181 #if ! defined in_surfex
182 CALL gltools_bound(
'T',
'scalar',zalbm )
184 tpglt%ice_atm(1,:,:)%alb = zalbm(:,:)
187 #if ! defined in_surfex
188 CALL gltools_bound(
'T',
'scalar',ztsfm )
190 ztsfm(:,:) = ztsfm(:,:)+t0deg
191 tpglt%ice_atm(1,:,:)%tsf = ztsfm(:,:)
202 tpglt%ice_atm(:,:,:)%fsi = tzsit(:,:,:)%fsi
205 tpglt%ice_atm(:,:,:)%alb = tzsit(:,:,:)%asn
208 tpglt%ice_atm(:,:,:)%tsf = tzsit(:,:,:)%tsf + t0deg
220 sum( tzsit(:,:,:)%fsi*tzsit(:,:,:)%asn,dim=1 ) + &
221 ( 1.-zfsit(:,:) )*albw
223 zalbm(:,:) = 1.-( 1.-zalbm(:,:) )*( 1.-zalbc(:,:) )
227 sum( tzsit(:,:,:)%fsi*tzsit(:,:,:)%tsf,dim=1 ) + &
228 ( 1.-zfsit(:,:) )*tpglt%tml(:,:)%tml + t0deg
231 #if ! defined in_surfex
232 CALL gltools_bound(
'T',
'scalar',zalbm )
233 CALL gltools_bound(
'T',
'scalar',ztsfm )
239 tpglt%mix_atm(1,:,:)%fsi = zfsit(:,:)
242 tpglt%mix_atm(1,:,:)%alb = zalbm(:,:)
245 tpglt%mix_atm(1,:,:)%tsf = ztsfm(:,:)
subroutine glt_sndatmf(tpglt, xtmlf)