7 hprogram,hsurf,hfile,hfiletype,hfilepgd,hfilepgdtype,kluout,kpatch,pfield)
45 USE modi_prep_grid_extern
48 USE modi_open_aux_io_surf
49 USE modi_close_aux_io_surf
50 USE modi_read_teb_patch
51 USE modi_town_presence
53 USE modd_prep, ONLY : cingrid_type, cinterp_type
58 USE yomhook
,ONLY : lhook, dr_hook
59 USE parkind1
,ONLY : jprb
61 USE modi_put_on_all_vegtypes
69 TYPE(isba_t
),
INTENT(INOUT) :: i
72 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
73 CHARACTER(LEN=7),
INTENT(IN) :: hsurf
74 CHARACTER(LEN=28),
INTENT(IN) :: hfile
75 CHARACTER(LEN=6),
INTENT(IN) :: hfiletype
76 CHARACTER(LEN=28),
INTENT(IN) :: hfilepgd
77 CHARACTER(LEN=6),
INTENT(IN) :: hfilepgdtype
78 INTEGER,
INTENT(IN) :: kluout
79 INTEGER,
INTENT(IN) :: kpatch
80 REAL,
DIMENSION(:,:,:),
POINTER :: pfield
84 CHARACTER(LEN=12) :: yrecfm
89 REAL,
DIMENSION(:,:,:),
POINTER :: zfield
90 REAL,
DIMENSION(:,:),
POINTER :: zfield1
91 REAL,
DIMENSION(:,:,:),
POINTER :: zd
92 REAL,
DIMENSION(:,:),
POINTER :: zd1
93 REAL,
DIMENSION(:,:),
ALLOCATABLE :: zout
99 CHARACTER(LEN=12) :: ysurf
100 CHARACTER(LEN=3) :: ypatch
103 REAL(KIND=JPRB) :: zhook_handle
114 IF (lhook) CALL dr_hook(
'PREP_TEB_GARDEN_EXTERN',0,zhook_handle)
122 hfilepgd,hfilepgdtype,
'FULL ')
126 hfilepgdtype,
'VERSION',iversion,iresp)
128 hfilepgdtype,
'BUG',ibugfix,iresp)
129 gold_name=(iversion<7 .OR. (iversion==7 .AND. ibugfix<3))
132 hfilepgdtype,kluout,cingrid_type,cinterp_type,ini)
141 hfilepgd,hfilepgdtype,iteb_patch)
143 hfilepgd,hfilepgdtype,
'FULL ')
145 IF (iteb_patch>1)
THEN
146 WRITE(ypatch,fmt=
'(A,I1,A)')
'T',min(kpatch,iteb_patch),
'_'
161 ALLOCATE(pfield(ini,1,1))
164 hfilepgdtype,yrecfm,pfield(:,1,1),iresp,hdir=
'A')
172 CASE(
'TG ',
'WG ',
'WGI ')
176 hfilepgdtype,
'GARDEN',ggarden,iresp)
179 ysurf =
'GD_'//hsurf(1:3)
180 IF (gold_name) ysurf =
'TWN_'//hsurf(1:3)
181 ysurf = ypatch//ysurf
189 hfile,hfiletype,hfilepgd,hfilepgdtype,kluout,ini,&
190 hsurf,ysurf,zfield,zd)
192 ALLOCATE(zfield1(
SIZE(zfield,1),
SIZE(zfield,2)))
193 ALLOCATE(zd1(
SIZE(zfield,1),
SIZE(zfield,2)))
194 ALLOCATE(zout(
SIZE(zfield,1),
SIZE(xgrid_soil)))
195 ALLOCATE(pfield(
SIZE(zfield,1),
SIZE(xgrid_soil),
SIZE(zfield,3)))
197 DO jpatch=1,
SIZE(zfield,3)
198 zfield1(:,:)=zfield(:,:,jpatch)
199 zd1(:,:)=zd(:,:,jpatch)
201 pfield(:,:,jpatch)=zout(:,:)
214 ALLOCATE(pfield(ini,1,nvegtype))
218 hfilepgdtype,
'GARDEN',ggarden,iresp)
223 IF (gold_name) yrecfm =
'TWN_WR'
224 yrecfm = ypatch//yrecfm
226 hfile,hfiletype,
'TOWN ')
228 yrecfm =
'PATCH_NUMBER'
230 hfilepgd,hfilepgdtype,
'NATURE')
232 hfilepgdtype,yrecfm,ipatch,iresp)
235 hfile,hfiletype,
'NATURE')
238 yrecfm=adjustl(yrecfm)
240 ALLOCATE(zfield(ini,1,ipatch))
242 hfiletype,yrecfm,zfield(:,1,:),iresp,hdir=
'A')
249 ALLOCATE(pfield(ini,1,nvegtype))
250 pfield(:,:,:) = xundef
260 IF (lhook) CALL dr_hook(
'PREP_TEB_GARDEN_EXTERN',1,zhook_handle)
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine prep_teb_garden_extern(DTCO, I, U, HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, KPATCH, PFIELD)
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 read_teb_patch(HFILEPGD, HFILEPGDTYPE, KTEB_PATCH)
subroutine put_on_all_vegtypes(KNI, KLAYER, KPATCH, KVEGTYPE, PFIELD_PATCH, PFIELD_VEGTYPE)
subroutine town_presence(HFILETYPE, OTEB)
subroutine prep_grid_extern(HFILETYPE, KLUOUT, HGRIDTYPE, HINTERP_TYPE, KNI)