subroutine wshrun c c + + + PURPOSE + + + c c SR WSHRUN routes the runoff from impoundments and c channels through the watershed. c c Called from: SR WSHDRV c Author(s): Ascough II c Reference in User Guide: c c Version: c Date recoded: c Recoded by: c c + + + KEYWORDS + + + c c + + + PARAMETERS + + + c include 'pmxcsg.inc' include 'pmxelm.inc' include 'pmxhil.inc' include 'pmximp.inc' include 'pmxpln.inc' include 'pmxprt.inc' c c + + + ARGUMENT DECLARATIONS + + + c c + + + ARGUMENT DEFINITIONS + + + c c + + + COMMON BLOCKS + + + c include 'cdiss11.inc' include 'cirspri.inc' include 'coutchn.inc' include 'cstore1.inc' include 'cstruct.inc' c c + + + LOCAL VARIABLES + + + c c + + + LOCAL DEFINITIONS + + + c c + + + SAVES + + + c c + + + SUBROUTINES CALLED + + + c c wshpek c c + + + DATA INITIALIZATIONS + + + c c + + + END SPECIFICATIONS + + + c c c calculate the average runoff on the watershed at the outlet c of the current channel element c rofave(ielmt) = runvol(ielmt) / wsarea(ielmt) c c save monthly, annual, and total runoff from each channel c element c trunm(ielmt) = trunm(ielmt) + runvol(ielmt) truny(ielmt) = truny(ielmt) + runvol(ielmt) trunt(ielmt) = trunt(ielmt) + runvol(ielmt) c c the duration for the channel element is the maximum c duration of the watershed elements that may feed it c watdur(ielmt) = amax1(watdur(nhleft(ielmt)), 1 watdur(nhrght(ielmt)),watdur(nhtop(ielmt)), 1 watdur(ncleft(ielmt)),watdur(ncrght(ielmt)), 1 watdur(nctop(ielmt)),watdur(nileft(ielmt)), 1 watdur(nirght(ielmt)),watdur(nitop(ielmt)),dur,irdur) c c c calculate peak runoff using modified Rational method c (ipeak = 1) or modified CREAMS method (ipeak = 2) c call wshpek c return end