7 hprogram,hsurf,hfile,hfiletype,hfilepgd,hfilepgdtype,kluout,pfield,okey)
41 USE modd_prep, ONLY : cingrid_type, cinterp_type
49 USE modi_prep_grid_extern
52 USE modi_open_aux_io_surf
53 USE modi_close_aux_io_surf
57 USE yomhook
,ONLY : lhook, dr_hook
58 USE parkind1
,ONLY : jprb
66 TYPE(isba_t
),
INTENT(INOUT) :: i
69 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
70 CHARACTER(LEN=7),
INTENT(IN) :: hsurf
71 CHARACTER(LEN=28),
INTENT(IN) :: hfile
72 CHARACTER(LEN=6),
INTENT(IN) :: hfiletype
73 CHARACTER(LEN=28),
INTENT(IN) :: hfilepgd
74 CHARACTER(LEN=6),
INTENT(IN) :: hfilepgdtype
75 INTEGER,
INTENT(IN) :: kluout
76 REAL,
DIMENSION(:,:,:),
POINTER :: pfield
77 LOGICAL,
OPTIONAL,
INTENT(INOUT):: okey
81 CHARACTER(LEN=12) :: yrecfm
86 CHARACTER(LEN=3) :: yphoto
88 REAL,
DIMENSION(:,:,:),
POINTER :: zfield
89 REAL,
DIMENSION(:,:),
POINTER :: zfield1
90 REAL,
DIMENSION(:,:,:),
POINTER :: zd
91 REAL,
DIMENSION(:,:),
POINTER :: zd1
92 REAL,
DIMENSION(:,:),
ALLOCATABLE :: zout
93 REAL,
DIMENSION(:),
ALLOCATABLE :: zmask
96 REAL(KIND=JPRB) :: zhook_handle
107 IF (lhook) CALL dr_hook(
'PREP_ISBA_EXTERN',0,zhook_handle)
115 hfilepgd,hfilepgdtype,
'FULL ')
118 hfilepgdtype,kluout,cingrid_type,cinterp_type,ini)
121 CALL
read_surf(hfilepgdtype,yrecfm,iversion,iresp)
124 IF (iversion>=7)
THEN
126 CALL
read_surf(hfilepgdtype,yrecfm,zmask,iresp,hdir=
'A')
142 ALLOCATE(pfield(ini,1,1))
143 pfield(:,:,:) = xundef
146 hfilepgdtype,yrecfm,pfield(:,1,1),iresp,hdir=
'A')
154 CASE(
'TG ',
'WG ',
'WGI ')
159 hfile,hfiletype,hfilepgd,hfilepgdtype,&
160 kluout,ini,hsurf,hsurf,zfield,zd,okey)
162 ALLOCATE(zfield1(
SIZE(zfield,1),
SIZE(zfield,2)))
163 ALLOCATE(zd1(
SIZE(zfield,1),
SIZE(zfield,2)))
164 ALLOCATE(zout(
SIZE(zfield,1),
SIZE(xgrid_soil)))
165 ALLOCATE(pfield(
SIZE(zfield,1),
SIZE(xgrid_soil),
SIZE(zfield,3)))
166 pfield(:,:,:) = xundef
168 DO jpatch=1,
SIZE(zfield,3)
169 zfield1(:,:)=zfield(:,:,jpatch)
170 zd1(:,:)=zd(:,:,jpatch)
172 pfield(:,:,jpatch)=zout(:,:)
175 DO jpatch=1,
SIZE(pfield,3)
176 DO jl=1,
SIZE(pfield,2)
177 WHERE (zmask(:)==0.) pfield(:,jl,jpatch) = xundef
194 hfilepgd,hfilepgdtype,
'NATURE')
195 yrecfm=
'PATCH_NUMBER'
197 hfilepgdtype,yrecfm,ipatch,iresp)
199 ALLOCATE(pfield(ini,1,ipatch))
200 pfield(:,:,:) = xundef
203 hfile,hfiletype,
'NATURE')
205 hfiletype,yrecfm,pfield(:,1,:),iresp,hdir=
'A')
207 DO jpatch=1,
SIZE(pfield,3)
208 WHERE (zmask(:)==0.) pfield(:,1,jpatch) = xundef
215 hfilepgd,hfilepgdtype,
'NATURE')
216 yrecfm=
'PATCH_NUMBER'
218 hfilepgdtype,yrecfm,ipatch,iresp)
221 hfilepgdtype,yrecfm,yphoto,iresp)
223 ALLOCATE(pfield(ini,1,ipatch))
224 pfield(:,:,:) = xundef
225 IF (yphoto==
'LAI' .OR. yphoto==
'LST' .OR. yphoto==
'NIT' .OR. yphoto==
'NCB')
THEN
227 hfile,hfiletype,
'NATURE')
230 hfiletype,yrecfm,pfield(:,1,:),iresp,hdir=
'A')
232 DO jpatch=1,
SIZE(pfield,3)
233 WHERE (zmask(:)==0.) pfield(:,1,jpatch) = xundef
241 hfilepgd,hfilepgdtype,
'NATURE')
242 yrecfm=
'PATCH_NUMBER'
244 hfilepgdtype,yrecfm,ipatch,iresp)
247 hfile,hfiletype,
'NATURE')
250 hfiletype,yrecfm,gglacier,iresp)
251 ALLOCATE(pfield(ini,1,ipatch))
256 hfiletype,yrecfm,pfield(:,1,:),iresp,hdir=
'A')
259 DO jpatch=1,
SIZE(pfield,3)
260 WHERE (zmask(:)==0.) pfield(:,1,jpatch) = xundef
264 CALL
abor1_sfx(
'PREP_ISBA_EXTERN: '//trim(hsurf)//
" initialization not implemented !")
275 IF (lhook) CALL dr_hook(
'PREP_ISBA_EXTERN',1,zhook_handle)
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine abor1_sfx(YTEXT)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK)
subroutine read_extern_isba(U, DTCO, I, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, KNI, HFIELD, HNAME, PFIELD, PDEPTH, OKEY)
subroutine prep_isba_extern(DTCO, I, U, HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, PFIELD, OKEY)
subroutine prep_grid_extern(HFILETYPE, KLUOUT, HGRIDTYPE, HINTERP_TYPE, KNI)