7 hprogram,hsurf,hfile,hfiletype,hfilepgd,hfilepgdtype,kluout,pfield)
15 USE modi_prep_grid_extern
17 USE modi_open_aux_io_surf
18 USE modi_close_aux_io_surf
22 USE modd_prep, ONLY : cingrid_type, cinterp_type
25 USE yomhook
,ONLY : lhook, dr_hook
26 USE parkind1
,ONLY : jprb
34 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
35 CHARACTER(LEN=7),
INTENT(IN) :: hsurf
36 CHARACTER(LEN=28),
INTENT(IN) :: hfile
37 CHARACTER(LEN=6),
INTENT(IN) :: hfiletype
38 CHARACTER(LEN=28),
INTENT(IN) :: hfilepgd
39 CHARACTER(LEN=6),
INTENT(IN) :: hfilepgdtype
40 INTEGER,
INTENT(IN) :: kluout
41 REAL,
DIMENSION(:,:),
POINTER :: pfield
46 REAL,
DIMENSION(:),
ALLOCATABLE :: zmask
48 CHARACTER(LEN=12) :: yrecfm
54 CHARACTER(LEN=6) :: ywater
56 REAL(KIND=JPRB) :: zhook_handle
67 IF (lhook) CALL dr_hook(
'PREP_FLAKE_EXTERN',0,zhook_handle)
70 hfilepgd,hfilepgdtype,
'FULL ')
73 hfilepgdtype,
'WATER',ywater,iresp)
81 hfilepgdtype,kluout,cingrid_type,cinterp_type,ini)
84 hfilepgdtype,
'DIM_WATER',idim_water,iresp)
87 CALL
read_surf(hfilepgdtype,yrecfm,iversion,iresp)
92 CALL
read_surf(hfilepgdtype,yrecfm,zmask,iresp,hdir=
'A')
97 IF (idim_water==0)
THEN
100 WRITE(iluout,*)
'No inland water data available in input file ',hfile
101 WRITE(iluout,*)
'Please change your input file '
102 WRITE(iluout,*)
' or '
103 WRITE(iluout,*)
'specify inland water temperature XTS_WATER_UNIF'
104 CALL
abor1_sfx(
'PREP_FLAKE_EXTERN: No inland water data available in input file')
115 ALLOCATE(pfield(ini,1))
118 hfilepgdtype,yrecfm,pfield(:,1),iresp,hdir=
'A')
125 ALLOCATE(pfield(ini,1))
129 hfile,hfiletype,
'WATER ')
131 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
133 WHERE (zmask(:)==0.) pfield(:,1) = xundef
140 IF (hsurf/=
'ZS ' .AND. hsurf/=
'TS ')
THEN
144 IF (ywater==
'FLAKE ')
THEN
147 hfile,hfiletype,
'WATER ')
152 ALLOCATE(pfield(ini,1))
155 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
158 ALLOCATE(pfield(ini,1))
161 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
164 ALLOCATE(pfield(ini,1))
167 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
170 ALLOCATE(pfield(ini,1))
173 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
176 ALLOCATE(pfield(ini,1))
179 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
182 ALLOCATE(pfield(ini,1))
185 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
188 ALLOCATE(pfield(ini,1))
191 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
194 ALLOCATE(pfield(ini,1))
197 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
200 ALLOCATE(pfield(ini,1))
203 hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'A')
208 WHERE (zmask(:)==0.) pfield(:,1) = xundef
213 ALLOCATE(pfield(ini,1))
224 IF (lhook) CALL dr_hook(
'PREP_FLAKE_EXTERN',1,zhook_handle)
subroutine prep_flake_extern(HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, PFIELD)
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine abor1_sfx(YTEXT)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine prep_grid_extern(HFILETYPE, KLUOUT, HGRIDTYPE, HINTERP_TYPE, KNI)