6 SUBROUTINE prep_flake_extern (GCP,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
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)
71 CALL read_surf(hfilepgdtype,
'WATER',ywater,iresp,hdir=
'-')
80 CALL read_surf(hfilepgdtype,
'DIM_WATER',idim_water,iresp,hdir=
'-')
83 CALL read_surf(hfilepgdtype,yrecfm,iversion,iresp)
90 CALL read_surf(hfilepgdtype,yrecfm,zmask,iresp,hdir=
'E')
95 IF (idim_water==0)
THEN 98 WRITE(iluout,*)
'No inland water data available in input file ',hfile
99 WRITE(iluout,*)
'Please change your input file ' 100 WRITE(iluout,*)
' or ' 101 WRITE(iluout,*)
'specify inland water temperature XTS_WATER_UNIF' 102 CALL abor1_sfx(
'PREP_FLAKE_EXTERN: No inland water data available in input file')
115 ALLOCATE(pfield(ini,1))
117 CALL read_surf(hfilepgdtype,yrecfm,pfield(:,1),iresp,hdir=
'E')
124 ALLOCATE(pfield(ini,1))
128 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
130 WHERE (zmask(:)==0.) pfield(:,1) =
xundef 137 IF (hsurf/=
'ZS ' .AND. hsurf/=
'TS ')
THEN 141 IF (ywater==
'FLAKE ')
THEN 148 ALLOCATE(pfield(ini,1))
150 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
153 ALLOCATE(pfield(ini,1))
155 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
158 ALLOCATE(pfield(ini,1))
160 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
163 ALLOCATE(pfield(ini,1))
165 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
168 ALLOCATE(pfield(ini,1))
170 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
173 ALLOCATE(pfield(ini,1))
175 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
178 ALLOCATE(pfield(ini,1))
180 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
183 ALLOCATE(pfield(ini,1))
185 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
188 ALLOCATE(pfield(ini,1))
190 CALL read_surf(hfiletype,yrecfm,pfield(:,1),iresp,hdir=
'E')
195 WHERE (zmask(:)==0.) pfield(:,1) =
xundef 200 ALLOCATE(pfield(ini,1))
211 IF (
lhook)
CALL dr_hook(
'PREP_FLAKE_EXTERN',1,zhook_handle)
character(len=10) cingrid_type
character(len=6) cinterp_type
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine prep_grid_extern(GCP, HFILETYPE, KLUOUT, HGRIDTYPE, HINTER
subroutine abor1_sfx(YTEXT)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine prep_flake_extern(GCP, HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, PFIELD)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK, HDIR)