7 HPROGRAM,PSEA,PWATER,HINIFILE,HINIFILETYPE)
53 USE modi_open_aux_io_surf
55 USE modi_close_aux_io_surf
56 USE modi_prep_grid_extern
58 USE modi_prep_output_grid
64 USE modi_clean_prep_output_grid
76 TYPE(
sso_t),
INTENT(INOUT) :: USS
79 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
80 REAL,
DIMENSION(:),
INTENT(IN) :: PSEA
81 REAL,
DIMENSION(:),
INTENT(IN) :: PWATER
82 CHARACTER(LEN=28),
INTENT(IN) :: HINIFILE
83 CHARACTER(LEN=6),
INTENT(IN) :: HINIFILETYPE
94 REAL,
DIMENSION(:),
POINTER :: ZZS
95 REAL,
DIMENSION(:),
POINTER :: ZAVG_ZS
96 REAL,
DIMENSION(:),
POINTER :: ZSIL_ZS
97 REAL,
DIMENSION(:),
POINTER :: ZSSO_STDEV
98 REAL,
DIMENSION(:),
POINTER :: ZMIN_ZS
99 REAL,
DIMENSION(:),
POINTER :: ZMAX_ZS
100 REAL,
DIMENSION(:),
POINTER :: ZSSO_ANIS
101 REAL,
DIMENSION(:),
POINTER :: ZSSO_DIR
102 REAL,
DIMENSION(:),
POINTER :: ZSSO_SLOPE
103 REAL,
DIMENSION(:),
POINTER :: ZAOSIP
104 REAL,
DIMENSION(:),
POINTER :: ZAOSIM
105 REAL,
DIMENSION(:),
POINTER :: ZAOSJP
106 REAL,
DIMENSION(:),
POINTER :: ZAOSJM
107 REAL,
DIMENSION(:),
POINTER :: ZHO2IP
108 REAL,
DIMENSION(:),
POINTER :: ZHO2IM
109 REAL,
DIMENSION(:),
POINTER :: ZHO2JP
110 REAL,
DIMENSION(:),
POINTER :: ZHO2JM
111 CHARACTER(LEN=12) :: YRECFM
112 REAL(KIND=JPRB) :: ZHOOK_HANDLE
114 IF (
lhook)
CALL dr_hook(
'ZOOM_PGD_OROGRAPHY',0,zhook_handle)
144 ALLOCATE(zavg_zs(ini))
145 ALLOCATE(zsil_zs(ini))
146 ALLOCATE(zsso_stdev(ini))
147 ALLOCATE(zmin_zs(ini))
148 ALLOCATE(zmax_zs(ini))
150 ALLOCATE(zsso_anis(ini))
151 ALLOCATE(zsso_dir(ini))
152 ALLOCATE(zsso_slope(ini))
154 ALLOCATE(zaosip(ini))
155 ALLOCATE(zaosim(ini))
156 ALLOCATE(zaosjp(ini))
157 ALLOCATE(zaosjm(ini))
158 ALLOCATE(zho2ip(ini))
159 ALLOCATE(zho2im(ini))
160 ALLOCATE(zho2jp(ini))
161 ALLOCATE(zho2jm(ini))
164 CALL read_surf(hprogram,yrecfm,zzs,iresp,hdir=
'A')
167 CALL read_surf(hprogram,yrecfm,zavg_zs,iresp,hdir=
'A')
169 CALL read_surf(hprogram,yrecfm,zsil_zs,iresp,hdir=
'A')
171 CALL read_surf(hprogram,yrecfm,zsso_stdev,iresp,hdir=
'A')
173 CALL read_surf(hprogram,yrecfm,zmin_zs,iresp,hdir=
'A')
175 CALL read_surf(hprogram,yrecfm,zmax_zs,iresp,hdir=
'A')
178 CALL read_surf(hprogram,yrecfm,zsso_anis,iresp,hdir=
'A')
180 CALL read_surf(hprogram,yrecfm,zsso_dir,iresp,hdir=
'A')
182 CALL read_surf(hprogram,yrecfm,zsso_slope,iresp,hdir=
'A')
185 CALL read_surf(hprogram,yrecfm,zaosip,iresp,hdir=
'A')
187 CALL read_surf(hprogram,yrecfm,zaosim,iresp,hdir=
'A')
189 CALL read_surf(hprogram,yrecfm,zaosjp,iresp,hdir=
'A')
191 CALL read_surf(hprogram,yrecfm,zaosjm,iresp,hdir=
'A')
193 CALL read_surf(hprogram,yrecfm,zho2ip,iresp,hdir=
'A')
195 CALL read_surf(hprogram,yrecfm,zho2im,iresp,hdir=
'A')
197 CALL read_surf(hprogram,yrecfm,zho2jp,iresp,hdir=
'A')
199 CALL read_surf(hprogram,yrecfm,zho2jm,iresp,hdir=
'A')
211 ALLOCATE(uss%XAVG_ZS (il))
212 ALLOCATE(uss%XSIL_ZS (il))
213 ALLOCATE(uss%XSSO_STDEV (il))
214 ALLOCATE(uss%XMIN_ZS (il))
215 ALLOCATE(uss%XMAX_ZS (il))
217 ALLOCATE(uss%XSSO_ANIS (il))
218 ALLOCATE(uss%XSSO_DIR (il))
219 ALLOCATE(uss%XSSO_SLOPE (il))
221 ALLOCATE(uss%XAOSIP (il))
222 ALLOCATE(uss%XAOSIM (il))
223 ALLOCATE(uss%XAOSJP (il))
224 ALLOCATE(uss%XAOSJM (il))
225 ALLOCATE(uss%XHO2IP (il))
226 ALLOCATE(uss%XHO2IM (il))
227 ALLOCATE(uss%XHO2JP (il))
228 ALLOCATE(uss%XHO2JM (il))
230 CALL zoom(iluout,zzs,u%XZS)
231 CALL zoom(iluout,zavg_zs,uss%XAVG_ZS)
232 CALL zoom(iluout,zsil_zs,uss%XSIL_ZS)
233 CALL zoom(iluout,zmin_zs,uss%XMIN_ZS)
234 CALL zoom(iluout,zmax_zs,uss%XMAX_ZS)
237 CALL zoom(iluout,zsso_stdev,uss%XSSO_STDEV)
238 CALL zoom(iluout,zsso_anis,uss%XSSO_ANIS)
239 CALL zoom(iluout,zsso_dir,uss%XSSO_DIR)
240 CALL zoom(iluout,zsso_slope,uss%XSSO_SLOPE)
241 CALL zoom(iluout,zaosip,uss%XAOSIP)
242 CALL zoom(iluout,zaosim,uss%XAOSIM)
243 CALL zoom(iluout,zaosjp,uss%XAOSJP)
244 CALL zoom(iluout,zaosjm,uss%XAOSJM)
245 CALL zoom(iluout,zho2ip,uss%XHO2IP)
246 CALL zoom(iluout,zho2im,uss%XHO2IM)
247 CALL zoom(iluout,zho2jp,uss%XHO2JP)
248 CALL zoom(iluout,zho2jm,uss%XHO2JM)
252 WHERE(psea==1.) u%XZS=0.
253 WHERE(psea(:)==1.) uss%XSSO_STDEV(:) =
xundef 254 WHERE(pwater(:)==1.) uss%XSSO_STDEV(:) = 0.
255 WHERE(psea(:)>0.) uss%XMIN_ZS(:) = 0.
256 WHERE(psea(:)==1.) uss%XMAX_ZS(:) = 0.
259 uss%XSSO_ANIS (:) =
xundef 261 uss%XSSO_SLOPE(:) =
xundef 264 WHERE (pwater(:)==1.)
265 uss%XSSO_ANIS (:) = 1.
266 uss%XSSO_DIR (:) = 0.
267 uss%XSSO_SLOPE(:) = 0.
281 WHERE (pwater(:)==1.)
299 DEALLOCATE(zsso_stdev )
303 DEALLOCATE(zsso_anis )
304 DEALLOCATE(zsso_dir )
305 DEALLOCATE(zsso_slope )
318 IF (
lhook)
CALL dr_hook(
'ZOOM_PGD_OROGRAPHY',1,zhook_handle)
321 SUBROUTINE zoom(KLUOUT,PFIELDIN,PFIELDOUT)
322 INTEGER,
INTENT(IN) :: KLUOUT
323 REAL,
DIMENSION(:),
POINTER :: PFIELDIN
324 REAL,
DIMENSION(:),
INTENT(OUT) :: PFIELDOUT
325 REAL,
DIMENSION(:,:),
POINTER :: ZFIELDIN
326 REAL,
DIMENSION(:,:),
POINTER :: ZFIELDOUT
327 REAL(KIND=JPRB) :: ZHOOK_HANDLE
329 ALLOCATE(zfieldin(
SIZE(pfieldin, 1),1))
330 ALLOCATE(zfieldout(
SIZE(pfieldout,1),1))
331 zfieldin(:,1) = pfieldin(:)
332 CALL hor_interpol(dtco, u, gcp, kluout,zfieldin,zfieldout)
333 pfieldout(:) = zfieldout(:,1)
334 DEALLOCATE(zfieldin )
335 DEALLOCATE(zfieldout)
character(len=10) cingrid_type
subroutine clean_prep_output_grid
character(len=6) cinterp_type
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine prep_grid_extern(GCP, HFILETYPE, KLUOUT, HGRIDTYPE, HINTER
logical, dimension(:), allocatable linterp
subroutine hor_interpol(DTCO, U, GCP, KLUOUT, PFIELDIN, PFIELDOUT)
subroutine goto_model_mnh(U, HPROGRAM, KMI, KINFO_ll)
subroutine prep_output_grid(UG, G, KSIZE_FULL, KLUOUT)
subroutine zoom_pgd_orography(DTCO, UG, U, USS, GCP, HPROGRAM, PSEA, PWATER, HINIFILE, HINIF
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine zoom(KLUOUT, PFIELDIN, PFIELDOUT)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK, HDIR)