8 hprogram,hsurf,hatmfile,hatmfiletype,hpgdfile,hpgdfiletype)
54 USE modd_prep, ONLY : cingrid_type, cinterp_type, xzs_ls, xlat_out, xlon_out, &
57 USE modi_read_prep_seaflux_conf
58 USE modi_prep_seaflux_grib
59 USE modi_prep_seaflux_unif
60 USE modi_prep_seaflux_buffer
61 USE modi_prep_seaflux_netcdf
64 USE modi_prep_seaflux_extern
65 USE modi_prep_sst_init
67 USE modi_prep_hor_ocean_fields
69 USE yomhook
,ONLY : lhook, dr_hook
70 USE parkind1
,ONLY : jprb
84 TYPE(ocean_t),
INTENT(INOUT) :: o
89 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
90 CHARACTER(LEN=7),
INTENT(IN) :: hsurf
91 CHARACTER(LEN=28),
INTENT(IN) :: hatmfile
92 CHARACTER(LEN=6),
INTENT(IN) :: hatmfiletype
93 CHARACTER(LEN=28),
INTENT(IN) :: hpgdfile
94 CHARACTER(LEN=6),
INTENT(IN) :: hpgdfiletype
98 CHARACTER(LEN=6) :: yfiletype
99 CHARACTER(LEN=28) :: yfile
100 CHARACTER(LEN=6) :: yfilepgdtype
101 CHARACTER(LEN=28) :: yfilepgd
102 REAL,
POINTER,
DIMENSION(:,:) :: zfieldin
103 REAL,
ALLOCATABLE,
DIMENSION(:,:) :: zfieldout
107 REAL(KIND=JPRB) :: zhook_handle
113 IF (lhook) CALL dr_hook(
'PREP_HOR_SEAFLUX_FIELD',0,zhook_handle)
117 hprogram,hsurf,yfile,yfiletype,yfilepgd,yfilepgdtype,&
118 hatmfile,hatmfiletype,hpgdfile,hpgdfiletype,iluout,gunif)
127 ELSE IF (yfiletype==
'GRIB ')
THEN
129 ELSE IF (yfiletype==
'MESONH' .OR. yfiletype==
'ASCII ' .OR. yfiletype==
'LFI '.OR. yfiletype==
'FA ')
THEN
131 hprogram,hsurf,yfile,yfiletype,yfilepgd,yfilepgdtype,iluout,zfieldin)
132 ELSE IF (yfiletype==
'BUFFER')
THEN
134 ELSE IF (yfiletype==
'NETCDF')
THEN
137 CALL
abor1_sfx(
'PREP_HOR_SEAFLUX_FIELD: data file type not supported : '//yfiletype)
143 ALLOCATE(zfieldout(
SIZE(sg%XLAT),
SIZE(zfieldin,2)))
146 iluout,zfieldin,zfieldout)
152 ALLOCATE(xzs_ls(
SIZE(zfieldout,1)))
153 xzs_ls(:) = zfieldout(:,1)
155 ALLOCATE(s%XSST(
SIZE(zfieldout,1)))
156 s%XSST(:) = zfieldout(:,1)
157 IF (dts%LSST_DATA)
THEN
162 IF (o%LMERCATOR)
THEN
166 hprogram,hsurf,yfile,yfiletype,iluout,gunif)
169 ALLOCATE(s%XSSS(
SIZE(zfieldout,1)))
170 s%XSSS(:) = zfieldout(:,1)
172 ALLOCATE(s%XSIC(
SIZE(zfieldout,1)))
173 s%XSIC(:) = zfieldout(:,1)
180 DEALLOCATE(zfieldin )
181 DEALLOCATE(zfieldout)
182 IF (lhook) CALL dr_hook(
'PREP_HOR_SEAFLUX_FIELD',1,zhook_handle)
subroutine prep_hor_ocean_fields(DTCO, UG, U, O, OR, SG, S, HPROGRAM, HSURF, HFILE, HFILETYPE, KLUOUT, OUNIF)
subroutine prep_hor_seaflux_field(DTCO, UG, U, DTS, O, OR, SG, S, HPROGRAM, HSURF, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE)
subroutine abor1_sfx(YTEXT)
subroutine hor_interpol(DTCO, U, KLUOUT, PFIELDIN, PFIELDOUT)
subroutine prep_seaflux_buffer(HPROGRAM, HSURF, KLUOUT, PFIELD)
subroutine prep_seaflux_unif(KLUOUT, HSURF, PFIELD)
subroutine prep_seaflux_extern(HPROGRAM, HSURF, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, KLUOUT, PFIELD)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine prep_sst_init(DTS, S, PSST)
subroutine prep_seaflux_grib(HPROGRAM, HSURF, HFILE, KLUOUT, PFIELD)
subroutine read_prep_seaflux_conf(O, HPROGRAM, HVAR, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE, KLUOUT, OUNIF)
subroutine prep_seaflux_netcdf(HPROGRAM, HSURF, HFILE, KLUOUT, PFIELD)