3 KLISTING,KLON,KLAT,PTIME,PTIMEC, &
4 OPRINT,KNB_TSTEP_RUN,KNB_TSTEP_DIAG,&
5 PTSTEP_RUN,PTSTEP_DIAG,PRUNOFF, &
6 PDRAIN,PCALVING,PSRC_FLOOD,OXIOS )
53 USE modi_trip_diag_init
55 USE modi_trip_diag_write
56 USE modi_trip_diag_cpl_esm
59 USE modi_gwf_cpl_update
72 TYPE(
trip_t),
INTENT(INOUT) :: TP
75 INTEGER,
INTENT(IN) :: KLISTING
76 INTEGER,
INTENT(IN) :: KLON
77 INTEGER,
INTENT(IN) :: KLAT
78 REAL,
INTENT(INOUT) :: PTIME
79 REAL,
INTENT(INOUT) :: PTIMEC
80 LOGICAL,
INTENT(IN) :: OPRINT
81 INTEGER,
INTENT(IN) :: KNB_TSTEP_RUN
82 REAL,
INTENT(IN) :: PTSTEP_RUN
83 REAL,
INTENT(IN) :: PTSTEP_DIAG
84 INTEGER,
INTENT(INOUT) :: KNB_TSTEP_DIAG
85 LOGICAL,
INTENT(IN) :: OXIOS
87 REAL,
DIMENSION(:,:),
INTENT(IN) :: PRUNOFF
88 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDRAIN
89 REAL,
DIMENSION(:,:),
INTENT(IN) :: PCALVING
90 REAL,
DIMENSION(:,:),
INTENT(IN) :: PSRC_FLOOD
94 REAL,
DIMENSION(KLON,KLAT) :: ZRUNOFF
95 REAL,
DIMENSION(KLON,KLAT) :: ZDRAIN
96 REAL,
DIMENSION(KLON,KLAT) :: ZSRC_FLOOD
98 REAL,
DIMENSION(KLON,KLAT) :: ZSOUT
99 REAL,
DIMENSION(KLON,KLAT) :: ZSIN
100 REAL,
DIMENSION(KLON,KLAT) :: ZVEL
101 REAL,
DIMENSION(KLON,KLAT) :: ZHS
102 REAL,
DIMENSION(KLON,KLAT) :: ZGOUT
103 REAL,
DIMENSION(KLON,KLAT) :: ZGNEG
104 REAL,
DIMENSION(KLON,KLAT) :: ZWTD
105 REAL,
DIMENSION(KLON,KLAT) :: ZFWTD
106 REAL,
DIMENSION(KLON,KLAT) :: ZQGCELL
107 REAL,
DIMENSION(KLON,KLAT) :: ZHGHS
108 REAL,
DIMENSION(KLON,KLAT) :: ZQFR
109 REAL,
DIMENSION(KLON,KLAT) :: ZQRF
110 REAL,
DIMENSION(KLON,KLAT) :: ZVFIN
111 REAL,
DIMENSION(KLON,KLAT) :: ZVFOUT
112 REAL,
DIMENSION(KLON,KLAT) :: ZHSF
113 REAL,
DIMENSION(KLON,KLAT) :: ZDISCHARGE
114 REAL,
DIMENSION(KLON,KLAT) :: ZHG_OLD
123 INTEGER :: JTSTEP, ITSTEP
125 REAL(KIND=JPRB) :: ZHOOK_HANDLE
129 IF (
lhook)
CALL dr_hook(
'TRIP_INTERFACE',0,zhook_handle)
151 zdischarge(:,:) = 0.0
165 zrunoff(:,:) = prunoff(:,:)
170 WHERE(tpg%GMASK(:,:).AND..NOT.tpg%GMASK_GRE(:,:).AND..NOT.tpg%GMASK_ANT(:,:))
171 zdrain(:,:) = pdrain(:,:)+pcalving(:,:)
173 zdrain(:,:) = pdrain(:,:)
179 zsrc_flood(:,:) = psrc_flood(:,:)
180 WHERE(tp%XFFLOOD(:,:)==1.0.AND.zsrc_flood(:,:)>0.0)
181 zrunoff(:,:) = zrunoff(:,:) + psrc_flood(:,:)
182 zsrc_flood(:,:) = 0.0
185 zsrc_flood(:,:) = 0.0
194 zwtd,zfwtd,zqgcell,zhghs, &
195 zqfr,zqrf,zvfin,zvfout,zhsf,zdischarge, &
196 zgsto_all,zgsto2_all,zgin_all,zgout_all )
204 tp%XSLOPEBED,tp%XN,tp%XSURF_STO,zhs,zvel )
216 klon,klat,oprint,ptstep_run,
xtstep, &
217 tpg%GMASK_GW,tp%XNUM_AQUI,zdrain, &
218 tpg%XLEN,tp%XWIDTH,tp%XHC_BED, &
219 tp%XTOPO_RIV,tp%XTAUG,tpg%XAREA, &
220 tp%XTRANS,tp%XWEFF,tp%XTABGW_F, &
221 tp%XTABGW_H,zhs,tp%XHGROUND,zhg_old, &
222 psurf_sto=tp%XSURF_STO,pqgcell=zqgcell, &
223 pwtd=zwtd,pfwtd=zfwtd,phghs=zhghs, &
224 pgout=zgout,pgneg=zgneg, &
225 pgsto_all=zgsto_all, &
226 pgsto2_all=zgsto2_all, &
227 pgin_all=zgin_all,pgout_all=zgout_all )
232 tpg%XLEN,tp%XWIDTH, &
233 tp%XSLOPEBED,tp%XN, &
234 tp%XSURF_STO,zhs,zvel )
243 itstep = int(ptstep_run/
xtstep)
248 tpg%NGRCN,tpg%NSEQ,tpg%NNEXTX,tpg%NNEXTY, &
249 tpg%NSEQMAX,tpg%XAREA,tpg%XLEN, &
250 tpg%GMASK_GW,tpg%GMASK_VEL,tpg%GMASK_FLD, &
251 tp%XTAUG,tp%XFLOOD_LEN,tp%XSLOPEBED, &
252 tp%XWIDTH,tp%XN,tp%XN_FLOOD,tp%XHC_BED, &
253 tp%XWFLOOD,tp%XTAB_F,tp%XTAB_H, &
254 tp%XTAB_VF,zdrain,zrunoff,zsrc_flood,zhs,zvel,&
255 tp%XGROUND_STO,tp%XSURF_STO,tp%XFLOOD_STO, &
256 zsout,zgout,tp%XHFLOOD,tp%XFFLOOD, &
257 zqfr,zqrf,zvfin,zvfout,zhsf,zsin,knb_tstep_run, &
258 jtstep,itstep,zgsto_all,zgsto2_all,zgin_all,zgout_all,&
259 tp%XHGROUND,tp%XWEFF)
265 tp%XTOPO_RIV,tp%XHC_BED,tp%XHGROUND, &
270 xtstep,zsout,zsin,zvel,zhs,zgout,zgneg, &
271 zwtd,zfwtd,zqgcell,zhghs, &
272 zqfr,zqrf,zvfin,zvfout,zhsf,zsrc_flood, &
273 zdrain,zrunoff,zdischarge )
278 tpg%XLEN,tp%XWIDTH, &
279 tp%XSLOPEBED,tp%XN, &
280 tp%XSURF_STO,zhs,zvel )
289 gwrdiag = (
lwr_diag.AND.mod(ptimec,ptstep_diag) == 0.)
292 knb_tstep_diag = knb_tstep_diag + 1
294 klisting,klon,klat,knb_tstep_diag,ptstep_diag,oxios)
299 IF(oprint)
WRITE(klisting,*)
' ' 310 ptstep_run,zdischarge,pcalving,zwtd,zfwtd)
312 IF (
lhook)
CALL dr_hook(
'TRIP_INTERFACE',1,zhook_handle)
subroutine trip_diag_init(PSOUT, PSIN, PVEL, PHS, PGOUT, PGNEG, PHG_OLD, PWTD, PFWTD, PQGCELL, PHGHS, PQFR, PQRF, PVFIN, PVFOUT, PHSF, PDISCHARGE, PGSTO_ALL, PGSTO2_ALL, PGIN_ALL, PGOUT_ALL)
subroutine trip_hs_vel(PTSTEP, OMASK_VEL, PLEN, PWIDTH, PSLOPEBED, PN, PSURF_STO, PHS, PVEL)
subroutine gwf_cpl_update(PTABGW_H, PTABGW_F, OMASK_GW, PTOPO_RIV, PHC_BED, PHGROUND, PHG_OLD, PWTD, PFWTD)
subroutine trip_diag_cpl_esm(TP, TPG, PTSTEP_RUN, PDISCHARGE, PCALVING, PWTD, PFWTD)
subroutine trip_diag(TPDG, TP, TPG, PTSTEP, PSOUT, PSIN, PVEL, PHS, PGOUT, PGNEG, PWTD, PFWTD, PQGCELL, PHGHS, PQFR, PQRF, PVFIN, PVFOUT, PHSF, PSRC_FLOOD, PDRAIN, PRUNOFF, PDISCHARGE)
character(len=3) cgroundw
subroutine trip_diag_write(TPDG, TPG, KLISTING, KLON, KLAT, KDIAG, PTSTEP_DIAG, O
subroutine trip(KLISTING, HGROUNDW, OFLOOD, OPRINT, PTSTEP,
subroutine trip_interface(TPDG, TP, TPG, KLISTING, KLON, KLAT, PTIME, PTIMEC, OPRINT, KNB_TSTEP_RUN, KNB_TSTEP_DIAG, PTSTEP_RUN, PTSTEP_DIAG, PRUNOFF, PDRAIN, PCALVING, PSRC_FLOOD, OXIOS)