5 &(nsec,ctrlsc,flx,volneg,volpos,info,tps,nseg,ncsize,
6 & flxs,volnegs,volposs,susp,flxc,volnegc,volposc,charr)
76 & init_fluxpr,work,workb
83 INTEGER,
INTENT(IN) :: NSEC,NCSIZE
84 INTEGER,
INTENT(IN) :: CTRLSC(*)
85 INTEGER,
INTENT(IN) :: NSEG(nsec)
86 LOGICAL,
INTENT(IN) :: INFO,SUSP,CHARR
87 DOUBLE PRECISION,
INTENT(IN) :: FLX(nsec),TPS
88 DOUBLE PRECISION,
INTENT(IN) :: VOLNEG(nsec),VOLPOS(nsec)
89 DOUBLE PRECISION,
INTENT(IN) :: FLXS(nsec),FLXC(nsec)
90 DOUBLE PRECISION,
INTENT(IN) :: VOLNEGS(nsec),VOLPOSS(nsec)
91 DOUBLE PRECISION,
INTENT(IN) :: VOLNEGC(nsec),VOLPOSC(nsec)
95 INTEGER ISEC,II,ERR,NSEO
96 CHARACTER(LEN=16) :: FMTZON=
'(4(1X,1PG21.14))' 97 LOGICAL :: OLD_METHOD=.false.
98 DOUBLE PRECISION :: DTMP1,DTMP2,DTMP3,DTMP4
106 IF(.NOT.
ALLOCATED(
chain)) old_method=.true.
113 ALLOCATE (work(nsec), stat=err)
115 WRITE(
lu,*)
'FLUXPR_SISYPHE: ERROR ALLOCATING WORK:',err
119 IF(charr.AND.susp)
THEN 120 ALLOCATE (workb(nsec), stat=err)
122 WRITE(
lu,*)
'FLUXPR_SISYPHE: ERROR ALLOCATING WORK:',err
131 IF(charr.AND..NOT.susp)
THEN 132 WRITE(nseo,*)
' INTEGRATED BEDLOAD DISCHARGES ' 133 WRITE(nseo,*)
' VARIABLES = TIME(S) QC(M3/S) FOR',
134 & (
' '//trim(
chain(isec)%DESCR), isec=1,nsec)
137 IF(susp.AND..NOT.charr)
THEN 138 WRITE(nseo,*)
' INTEGRATED SUSPENDED LOAD DISCHARGES ' 139 WRITE(nseo,*)
' VARIABLES = TIME QS (M3/S) FOR SECTIONS ' 143 IF(charr.AND.susp)
THEN 144 WRITE(nseo,*)
' INTEGRATED BEDLOAD AND SUSPENDED LOAD ' 145 WRITE(nseo,*)
'VARIABLES = TIME , QC FOR ',
146 & (
' '//trim(
chain(isec)%DESCR), isec=1,nsec),
' QS FOR',
147 & (
' '//trim(
chain(isec)%DESCR), isec=1,nsec)
150 WRITE(nseo,100)(ii , ii= 1 ,nsec)
151 100
FORMAT(
' TIME',
' SECTION:',i2,
'SECTION: ',i2)
165 WRITE(
lu,131) isec,ctrlsc(1+2*(isec-1)),
166 & ctrlsc(2+2*(isec-1)),
167 & flx(isec),volneg(isec),
170 131
FORMAT(1x,/,1x,
'CONTROL SECTION NUMBER ',1i2,
171 &
' (BETWEEN POINTS ',1i5,
' AND ',1i5,
')',//,5x,
172 &
'DISCHARGE: ',g16.7,/,5x,
173 &
'CUMULATED NEGATIVE VOLUME: ',g16.7,/,5x,
174 &
'CUMULATED POSITIVE VOLUME: ',g16.7)
176 WRITE(
lu,1302) flxs(isec),
181 1302
FORMAT(5x,
'DISCHARGE IN SUSPENSION: ',g16.7,/,5x,
182 &
'CUMULATED NEGATIVE VOLUME: ',g16.7,/,5x,
183 &
'CUMULATED POSITIVE VOLUME: ',g16.7)
185 WRITE(
lu,1304) flxc(isec),
188 1304
FORMAT(5x,
'BEDLOAD DISCHARGE: ',g16.7,/,5x,
189 &
'CUMULATED NEGATIVE VOLUME: ',g16.7,/,5x,
190 &
'CUMULATED POSITIVE VOLUME: ',g16.7)
204 dtmp1 =
p_min(flx(isec))
205 dtmp2 =
p_max(flx(isec))
206 dtmp3 =
p_min(volneg(isec))
207 dtmp4 =
p_max(volpos(isec))
211 WRITE(
lu,131) isec,ctrlsc(1+2*(isec-1)),
212 & ctrlsc(2+2*(isec-1)),
213 & dtmp1+dtmp2,dtmp3,dtmp4
216 dtmp1 =
p_min(flxs(isec))
217 dtmp2 =
p_max(flxs(isec))
218 dtmp3 =
p_min(volnegs(isec))
219 dtmp4 =
p_max(volposs(isec))
220 WRITE(
lu,1302) dtmp1+dtmp2,dtmp3,dtmp4
223 dtmp1 =
p_min(flxc(isec))
224 dtmp2 =
p_max(flxc(isec))
225 dtmp3 =
p_min(volnegc(isec))
226 dtmp4 =
p_max(volposc(isec))
227 WRITE(
lu,1304) dtmp1+dtmp2,dtmp3,dtmp4
235 WRITE(
lu,135) isec,ctrlsc(1+2*(isec-1)),
236 & ctrlsc(2+2*(isec-1))
237 135
FORMAT(1x,/,1x,
'CONTROL SECTION NUMBER ',1i2,
238 &
' (BETWEEN POINTS ',1i5,
' AND ',1i5,
')',//,5x,
239 &
'ACROSS TWO SUB-DOMAINS, NO COMPUTATION')
259 dtmp2 =
p_dsum(volneg(isec))
260 dtmp3 =
p_dsum(volpos(isec))
261 WRITE(
lu,231) isec,trim(
chain(isec)%DESCR),
264 WRITE(
lu,231) isec,trim(
chain(isec)%DESCR),
265 & flx(isec),volneg(isec),volpos(isec)
267 231
FORMAT(1x,/,1x,
'CONTROL SECTION NUMBER ',1i2,
268 &
' (NAME ',a,
')',//,5x,
269 &
'DISCHARGE: ',g16.7,/,5x,
270 &
'CUMULATED NEGATIVE VOLUME: ',g16.7,/,5x,
271 &
'CUMULATED POSITIVE VOLUME: ',g16.7)
274 dtmp1 =
p_dsum(flxs(isec))
275 dtmp2 =
p_dsum(volnegs(isec))
276 dtmp3 =
p_dsum(volposs(isec))
277 WRITE(
lu,2302) dtmp1,dtmp2,dtmp3
280 & flxs(isec),volnegs(isec),volposs(isec)
282 2302
FORMAT(5x,
'DISCHARGE IN SUSPENSION: ',g16.7,/,5x,
283 &
'CUMULATED NEGATIVE VOLUME: ',g16.7,/,5x,
285 &
'CUMULATED POSITIVE VOLUME: ',g16.7)
290 dtmp1 =
p_dsum(flxc(isec))
291 dtmp2 =
p_dsum(volnegc(isec))
292 dtmp3 =
p_dsum(volposc(isec))
293 WRITE(
lu,2304) dtmp1,dtmp2,dtmp3
296 & flxc(isec),volnegc(isec),volposc(isec)
298 2304
FORMAT(5x,
'BEDLOAD DISCHARGE: ',g16.7,/,5x,
299 &
'CUMULATED NEGATIVE VOLUME: ',g16.7,/,5x,
300 &
'CUMULATED POSITIVE VOLUME: ',g16.7)
314 IF(charr.AND..NOT.susp)
THEN 317 dtmp1 =
p_dsum(flxc(isec))
322 WRITE(nseo,fmt=fmtzon) tps,(work(isec),isec=1,nsec)
325 WRITE(nseo,fmt=fmtzon) tps,(flxc(isec),isec=1,nsec)
331 IF(susp.AND..NOT.charr)
THEN 334 dtmp1 =
p_dsum(flxs(isec))
339 WRITE (nseo,fmt=fmtzon) tps,(work(isec),isec=1,nsec)
342 WRITE(nseo,fmt=fmtzon) tps,(flxs(isec),isec=1,nsec)
348 IF(susp.AND.charr)
THEN 351 dtmp1 =
p_dsum(flxc(isec))
353 dtmp2 =
p_dsum(flxs(isec))
357 WRITE (nseo,fmt=fmtzon) tps,(work(isec),isec=1,nsec),
358 & (workb(isec), isec=1,nsec)
361 WRITE (nseo,fmt=fmtzon) tps,(flxc(isec),isec=1,nsec),
362 & (flxs(isec),isec=1,nsec)
subroutine fluxpr_sisyphe(NSEC, CTRLSC, FLX, VOLNEG, VOLPOS, INFO, TPS, NSEG, NCSIZE, FLXS, VOLNEGS, VOLPOSS, SUSP, FLXC, VOLNEGC, VOLPOSC, CHARR)
double precision function p_dsum(MYPART)
type(chain_type), dimension(:), allocatable chain
type(bief_file), dimension(maxlu_sis), target sis_files