7 HPROGRAM,HSURF,HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE,YDCTL)
48 USE modi_prep_grib_grid
49 USE modi_read_prep_watflux_conf
50 USE modi_prep_watflux_grib
51 USE modi_prep_watflux_unif
52 USE modi_prep_watflux_buffer
55 USE modi_prep_watflux_extern
73 INTEGER,
INTENT(IN) :: KLAT
75 type(
prep_ctl),
INTENT (INOUT) :: ydctl
77 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
78 CHARACTER(LEN=7),
INTENT(IN) :: HSURF
79 CHARACTER(LEN=28),
INTENT(IN) :: HATMFILE
80 CHARACTER(LEN=6),
INTENT(IN) :: HATMFILETYPE
81 CHARACTER(LEN=28),
INTENT(IN) :: HPGDFILE
82 CHARACTER(LEN=6),
INTENT(IN) :: HPGDFILETYPE
86 CHARACTER(LEN=6) :: YFILETYPE
87 CHARACTER(LEN=28) :: YFILE
88 CHARACTER(LEN=6) :: YFILEPGDTYPE
89 CHARACTER(LEN=28) :: YFILEPGD
91 REAL,
POINTER,
DIMENSION(:,:) :: ZFIELDIN
92 REAL,
POINTER,
DIMENSION(:,:) :: ZFIELDOUT
96 INTEGER :: INFOMPI, INL
97 REAL(KIND=JPRB) :: ZHOOK_HANDLE
103 IF (
lhook)
CALL dr_hook(
'PREP_HOR_WATFLUX_FIELD',0,zhook_handle)
107 hatmfile,hatmfiletype,hpgdfile,hpgdfiletype,iluout,gunif)
115 NULLIFY (zfieldin, zfieldout)
117 IF (ydctl%LPART1)
THEN 120 ELSE IF (yfiletype==
'GRIB ')
THEN 123 ELSE IF (yfiletype==
'MESONH' .OR. yfiletype==
'ASCII ' .OR. yfiletype==
'LFI '&
124 .OR. yfiletype==
'FA '.OR. yfiletype==
'AROME '.OR.yfiletype==
'NC ')
THEN 125 CALL prep_watflux_extern(gcp,hprogram,hsurf,yfile,yfiletype,yfilepgd,yfilepgdtype,iluout,zfieldin)
126 ELSE IF (yfiletype==
'BUFFER')
THEN 129 CALL abor1_sfx(
'PREP_HOR_WATFLUX_FIELD: data file type not supported : '//yfiletype)
138 IF (ydctl%LPART3)
THEN 141 inl =
SIZE(zfieldin,2)
142 ELSEIF (.NOT.
ASSOCIATED(zfieldin))
THEN 143 ALLOCATE(zfieldin(0,0))
148 CALL mpi_bcast(inl,kind(inl)/4,mpi_integer,
npio,
ncomm,infompi)
151 ALLOCATE(zfieldout(klat,inl))
153 CALL hor_interpol(dtco, u, gcp, iluout,zfieldin,zfieldout)
159 IF (ydctl%LPART5)
THEN 165 ALLOCATE(
xzs_ls(
SIZE(zfieldout,1)))
166 xzs_ls(:) = zfieldout(:,1)
168 ALLOCATE(w%XTS(
SIZE(zfieldout,1)))
169 w%XTS(:) = zfieldout(:,1)
178 IF (
ASSOCIATED (zfieldin))
DEALLOCATE(zfieldin )
179 IF (
ASSOCIATED (zfieldout))
DEALLOCATE(zfieldout)
180 IF (
lhook)
CALL dr_hook(
'PREP_HOR_WATFLUX_FIELD',1,zhook_handle)
subroutine prep_grib_grid(HGRIB, KLUOUT, HINMODEL, HGRIDTYPE, HINTERP_
character(len=10) cingrid_type
subroutine prep_hor_watflux_field(DTCO, U, GCP, KLAT, W, HPROGRAM, HSURF, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE, YDCTL)
real, dimension(:), allocatable xzs_ls
character(len=6) cinterp_type
subroutine prep_watflux_unif(KLUOUT, HSURF, PFIELD)
subroutine abor1_sfx(YTEXT)
character(len=6) cinmodel
subroutine hor_interpol(DTCO, U, GCP, KLUOUT, PFIELDIN, PFIELDOUT)
subroutine prep_watflux_buffer(HPROGRAM, HSURF, KLUOUT, PFIELD)
subroutine prep_watflux_grib(HPROGRAM, HSURF, HFILE, KLUOUT, PFIELD)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine read_prep_watflux_conf(HPROGRAM, HVAR, HFILE, HFILETYPE, HF
subroutine prep_watflux_extern(GCP, HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, PFIELD)