7 hprogram,hsurf,hfile,hfiletype,hfilepgd,hfilepgdtype,kluout,kpatch,pfield)
41 USE modi_prep_grid_extern
44 USE modi_open_aux_io_surf
45 USE modi_close_aux_io_surf
46 USE modi_read_teb_patch
47 USE modi_town_presence
49 USE modd_prep, ONLY : cingrid_type, cinterp_type
54 USE yomhook
,ONLY : lhook, dr_hook
55 USE parkind1
,ONLY : jprb
57 USE modi_put_on_all_vegtypes
65 TYPE(isba_t
),
INTENT(INOUT) :: i
68 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
69 CHARACTER(LEN=7),
INTENT(IN) :: hsurf
70 CHARACTER(LEN=28),
INTENT(IN) :: hfile
71 CHARACTER(LEN=6),
INTENT(IN) :: hfiletype
72 CHARACTER(LEN=28),
INTENT(IN) :: hfilepgd
73 CHARACTER(LEN=6),
INTENT(IN) :: hfilepgdtype
74 INTEGER,
INTENT(IN) :: kluout
75 INTEGER,
INTENT(IN) :: kpatch
76 REAL,
DIMENSION(:,:,:),
POINTER :: pfield
80 CHARACTER(LEN=12) :: yrecfm
85 REAL,
DIMENSION(:,:,:),
POINTER :: zfield
86 REAL,
DIMENSION(:,:),
POINTER :: zfield1
87 REAL,
DIMENSION(:,:,:),
POINTER :: zd
88 REAL,
DIMENSION(:,:),
POINTER :: zd1
89 REAL,
DIMENSION(:,:),
ALLOCATABLE :: zout
92 CHARACTER(LEN=12) :: ysurf
97 CHARACTER(LEN=3) :: ypatch
100 REAL(KIND=JPRB) :: zhook_handle
111 IF (lhook) CALL dr_hook(
'PREP_TEB_GREENROOF_EXTERN',0,zhook_handle)
114 hfilepgd,hfilepgdtype,
'FULL ')
118 hfilepgdtype,
'VERSION',iversion,iresp)
120 hfilepgdtype,
'BUG',ibugfix,iresp)
121 gold_name=(iversion<7 .OR. (iversion==7 .AND. ibugfix<3))
129 hfilepgdtype,kluout,cingrid_type,cinterp_type,ini)
138 hfilepgd,hfilepgdtype,iteb_patch)
140 hfilepgd,hfilepgdtype,
'FULL ')
142 IF (iteb_patch>1)
THEN
143 WRITE(ypatch,fmt=
'(A,I1,A)')
'T',min(kpatch,iteb_patch),
'_'
159 ALLOCATE(pfield(ini,1,1))
162 hfilepgdtype,yrecfm,pfield(:,1,1),iresp,hdir=
'A')
170 CASE(
'TG ',
'WG ',
'WGI ')
174 hfilepgd,hfilepgdtype,
'TOWN ')
177 hfilepgdtype,
'LGREENROOF',ggreenroof,iresp)
180 ysurf =
'GR_'//hsurf(1:3)
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 hfilepgd,hfilepgdtype,
'TOWN ')
221 hfilepgdtype,
'LGREENROOF',ggreenroof,iresp)
226 yrecfm=ypatch//yrecfm
228 hfile,hfiletype,
'TOWN ')
230 yrecfm =
'PATCH_NUMBER'
232 hfilepgd,hfilepgdtype,
'NATURE')
234 hfilepgdtype,yrecfm,ipatch,iresp)
237 hfile,hfiletype,
'NATURE')
240 yrecfm=adjustl(yrecfm)
241 ALLOCATE(zfield(ini,1,ipatch))
243 hfiletype,yrecfm,zfield(:,1,:),iresp,hdir=
'A')
250 ALLOCATE(pfield(ini,1,nvegtype))
251 pfield(:,:,:) = xundef
261 IF (lhook) CALL dr_hook(
'PREP_TEB_GREENROOF_EXTERN',1,zhook_handle)
subroutine close_aux_io_surf(HFILE, HFILETYPE)
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)
subroutine prep_teb_greenroof_extern(DTCO, I, U, HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, KPATCH, PFIELD)