3 KLISTING,KLON,KLAT,KDIAG,PTSTEP_DIAG,OXIOS)
53 INTEGER,
INTENT(IN) :: KLISTING
54 INTEGER,
INTENT(IN) :: KLON
55 INTEGER,
INTENT(IN) :: KLAT
56 INTEGER,
INTENT(IN) :: KDIAG
57 REAL,
INTENT(IN) :: PTSTEP_DIAG
58 LOGICAL,
INTENT(IN) :: OXIOS
62 CHARACTER(LEN=19),
PARAMETER :: YDIAG =
'TRIP_DIAG.nc' 63 CHARACTER(LEN=50) :: YFILE
64 CHARACTER(LEN=10) :: YVNAME
66 REAL,
DIMENSION(KLON,KLAT) :: ZWRITE
67 LOGICAL,
DIMENSION(KLON,KLAT) :: LMASK
68 LOGICAL,
DIMENSION(KLON,KLAT) :: LMASK_GW
70 INTEGER :: ITNUM, ITVAL
71 REAL(KIND=JPRB) :: ZHOOK_HANDLE
75 IF (
lhook)
CALL dr_hook(
'TRIP_DIAG_WRITE',0,zhook_handle)
79 lmask(:,:) = tpg%GMASK(:,:)
84 lmask_gw(:,:) = tpg%GMASK_GW(:,:)
101 CALL xios_update_calendar(kdiag)
111 zwrite = tpdg%TDIAG%XSURF_STO / ptstep_diag
112 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
113 CALL cum_diag(tpdg%TDIAG%XSURF_STO,tpdg%TDIAG_RUN%XSURF_STO)
116 zwrite = tpdg%TDIAG%XQDIS / ptstep_diag
117 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
118 CALL cum_diag(tpdg%TDIAG%XQDIS,tpdg%TDIAG_RUN%XQDIS)
122 zwrite = tpdg%TDIAG%XQIN / ptstep_diag
123 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
124 CALL cum_diag(tpdg%TDIAG%XQIN,tpdg%TDIAG_RUN%XQIN)
130 zwrite = tpdg%TDIAG%XRUNOFF
131 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
132 CALL cum_diag(tpdg%TDIAG%XRUNOFF,tpdg%TDIAG_RUN%XRUNOFF)
135 zwrite = tpdg%TDIAG%XDRAIN
136 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
137 CALL cum_diag(tpdg%TDIAG%XDRAIN,tpdg%TDIAG_RUN%XDRAIN)
144 zwrite = tpdg%TDIAG%XQGF / ptstep_diag
145 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
146 CALL cum_diag(tpdg%TDIAG%XQGF,tpdg%TDIAG_RUN%XQGF)
148 yvname =
'GROUND_STO' 149 zwrite = tpdg%TDIAG%XGROUND_STO / ptstep_diag
150 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
151 CALL cum_diag(tpdg%TDIAG%XGROUND_STO,tpdg%TDIAG_RUN%XGROUND_STO)
158 zwrite = tpdg%TDIAG%XHGROUND / ptstep_diag
159 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
160 CALL cum_diag(tpdg%TDIAG%XHGROUND,tpdg%TDIAG_RUN%XHGROUND)
163 zwrite = tpdg%TDIAG%XFWTD / ptstep_diag
164 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
165 CALL cum_diag(tpdg%TDIAG%XFWTD,tpdg%TDIAG_RUN%XFWTD)
168 zwrite = tpdg%TDIAG%XWTD / ptstep_diag
169 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
170 CALL cum_diag(tpdg%TDIAG%XWTD,tpdg%TDIAG_RUN%XWTD)
175 zwrite = tpdg%TDIAG%XQGCELL / ptstep_diag
176 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
177 CALL cum_diag(tpdg%TDIAG%XQGCELL,tpdg%TDIAG_RUN%XQGCELL)
180 zwrite = tpdg%TDIAG%XHGHS / ptstep_diag
181 CALL write_trip(klisting,yfile,yvname,lmask_gw,zwrite,itnum,itval,oxios
182 CALL cum_diag(tpdg%TDIAG%XHGHS,tpdg%TDIAG_RUN%XHGHS)
191 zwrite = tpdg%TDIAG%XVEL / ptstep_diag
192 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
193 CALL cum_diag(tpdg%TDIAG%XVEL,tpdg%TDIAG_RUN%XVEL)
196 zwrite = tpdg%TDIAG%XHS / ptstep_diag
197 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
198 CALL cum_diag(tpdg%TDIAG%XHS,tpdg%TDIAG_RUN%XHS)
205 zwrite = tpdg%TDIAG%XFF / ptstep_diag
206 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
207 CALL cum_diag(tpdg%TDIAG%XFF,tpdg%TDIAG_RUN%XFF)
210 zwrite = tpdg%TDIAG%XFLOOD_STO / ptstep_diag
211 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
212 CALL cum_diag(tpdg%TDIAG%XFLOOD_STO,tpdg%TDIAG_RUN%XFLOOD_STO)
215 zwrite = tpdg%TDIAG%XHF / ptstep_diag
216 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios=oxios
217 CALL cum_diag(tpdg%TDIAG%XHF,tpdg%TDIAG_RUN%XHF)
223 zwrite = tpdg%TDIAG%XSOURCE
224 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
225 CALL cum_diag(tpdg%TDIAG%XSOURCE,tpdg%TDIAG_RUN%XSOURCE)
229 zwrite = tpdg%TDIAG%XQFR / ptstep_diag
230 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
231 CALL cum_diag(tpdg%TDIAG%XQFR,tpdg%TDIAG_RUN%XQFR)
234 zwrite = tpdg%TDIAG%XQRF / ptstep_diag
235 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
236 CALL cum_diag(tpdg%TDIAG%XQRF,tpdg%TDIAG_RUN%XQRF)
239 zwrite = tpdg%TDIAG%XVFIN / ptstep_diag
240 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
241 CALL cum_diag(tpdg%TDIAG%XVFIN,tpdg%TDIAG_RUN%XVFIN)
244 zwrite = tpdg%TDIAG%XVFOUT / ptstep_diag
245 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
246 CALL cum_diag(tpdg%TDIAG%XVFOUT,tpdg%TDIAG_RUN%XVFOUT)
249 zwrite = tpdg%TDIAG%XHSF / ptstep_diag
250 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
251 CALL cum_diag(tpdg%TDIAG%XHSF,tpdg%TDIAG_RUN%XHSF)
254 zwrite = tpdg%TDIAG%XWF / ptstep_diag
255 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
256 CALL cum_diag(tpdg%TDIAG%XWF,tpdg%TDIAG_RUN%XWF)
259 zwrite = tpdg%TDIAG%XLF / ptstep_diag
260 CALL write_trip(klisting,yfile,yvname,lmask,zwrite,itnum,itval,oxios
261 CALL cum_diag(tpdg%TDIAG%XLF,tpdg%TDIAG_RUN%XLF)
267 IF (
lhook)
CALL dr_hook(
'TRIP_DIAG_WRITE',1,zhook_handle)
277 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: PDIAG
278 REAL,
DIMENSION(:,:),
INTENT(OUT ) :: PRUN
280 REAL(KIND=JPRB) :: ZHOOK_HANDLE
282 IF (
lhook)
CALL dr_hook(
'TRIP_DIAG_WRITE:CUM_DIAG',0,zhook_handle)
284 prun(:,:) = prun(:,:) + pdiag(:,:)
288 IF (
lhook)
CALL dr_hook(
'TRIP_DIAG_WRITE:CUM_DIAG',1,zhook_handle)
character(len=3) cgroundw
subroutine cum_diag(PDIAG, PRUN)
subroutine trip_diag_write(TPDG, TPG, KLISTING, KLON, KLAT, KDIAG, PTSTEP_DIAG, O