function shears(q,sslope) cWarning from ftnchek cFunction SHEARS modifies argument Q cFunction SHEARS modifies argument SSLOPE cFunction SHEARS modifies common variable WIDTH c c + + + PURPOSE + + + c Compute rill width adjustments, Chezy's coefficient for rill c flow, flow depth, wetted area, wetted perimeter, hydraulic c radius, and shear stress at the end of the slope c c Called from PARAM c Author(s): c Reference in User Guide: c c + + + KEYWORDS + + + c c + + + PARAMETERS + + + include 'pmxnsl.inc' include 'pmxpln.inc' include 'pmxtls.inc' include 'pmxtil.inc' include 'pmxhil.inc' include 'pmxelm.inc' c c + + + ARGUMENT DECLARATIONS + + + real q, sslope, shears c c + + + ARGUMENT DEFINITIONS + + + c c q : flow discharge (m**3/s) c sslope : channel slope (m/m) c c + + + COMMON BLOCKS + + + c include 'cclim.inc' include 'cconsta.inc' c include 'cends.inc' c modify: width(mxplan) c include 'cffact.inc' c include 'cslpopt.inc' c modify: dpthch(mxplan) c include 'csolvar.inc' include 'cstruc.inc' include 'cupdate.inc' c c + + + LOCAL VARIABLES + + + real dz, tol, u, chezch, sinang, wdthck, wp, 1 xsarea c c + + + LOCAL DEFINITIONS + + + c c u : portion of uniform flow equation c wdthck : test width to check against to see if wider than c current rill width c chezch : Chezy C - roughness factor c dz : trial valve for channel depth (m) c xsarea : cross sectional area of the flow (m**2) c wp : wetted perimeter of the flow (m) c hydrad : hydraulic radius (m) c sinang : sine of slope angle c tol : tolerance value c save c c******************************************************************** c c Tolerance value changed by Baffaut, 1996. dcf 3/97 c tol = 5.0e-05 tol = 5.0e-06 q = abs(q) c c SSLOPE value changed by Baffaut, 1996. dcf 3/97 c if (sslope.le.0.0) sslope = 0.00001 if (sslope.le.0.0) sslope = 0.000001 c c compute rill width (width). Note that when tillage occurs c rill width is set to zero in SR CONTIN c c Using Gilley's relationship c if (rwflag(iplane).eq.1) then wdthck = 1.13 * q ** 0.303 if (width(iplane).lt.wdthck) width(iplane) = wdthck end if c if (width(iplane).gt.rspace(iplane)) width(iplane) = 1 rspace(iplane) c c compute Chezy's coefficient: c chezch = sqrt(8.0*accgav/frctrl(iplane)) c c compute rill flow depth (dpthch(iplane)). This is an iterative c process to solve the uniform flow equation: c c dpthch(iplane)=((Q/chezch/sqrt(sslope)** c (2/3)/width)*(width+2*dpthch(iplane))**(1/3) c if (q.le.0.) then dpthch = 0.0 else u = (q/chezch/sqrt(sslope)) ** (2./3.) / width(iplane) dpthch = 0.2 * q ** .36 10 dz = dpthch dpthch = u * (width(iplane)+dz+dz) ** (1./3.) if (abs(dz/dpthch-1.).gt.tol) go to 10 end if c c compute wetted area (xsarea), wetted perimeter (wp), and c hydraulic radius (hydrad): c xsarea = dpthch * width(iplane) wp = width(iplane) + 2.0 * dpthch hydrad(iplane) = xsarea / wp c c compute shear stress: c c Correction made to compute shear stress using the SINE of the c slope angle, not the tangent of the slope angle as has previously c been computed. This should only impact results greatly on steeper c hillslopes. dcf 1/21/93 c shears=wtdens*sslope*hydrad*frcsol(iplane)/frctrl(iplane) c sinang = sin(atan(sslope)) shears = wtdens * sinang * hydrad(iplane) * frcsol(iplane) / 1 frctrl(iplane) return end