c file name: scsq.for real function scsq (rain,cniip,cniig,canp,slp,theta1,thetf1) c + + + PURPOSE + + + c This function estimates daily surface runoff by the united c states department of agriculture-soil conservation service (scs) c soil-cover method, which is commonly known as the curve number c method. c The return value is the estimated daily surface runoff (mm) c DATE: 09/22/93 c + + + ARGUMENT DECLARATIONS + + + real rain real cniip real cniig real canp real slp real theta1 real thetf1 c + + + ARGUMENT DEFINITIONS + + + c rain - Daily rainfall, snow melt, and/or irrigation (mm) c cniip - Scs curve # for class ii antecedent soil moisture c conditions, under poor hydrologic conditions c cniig - Scs curve # for class ii antecedent soil moisture c conditions, under good hydrologic conditions c canp - Daily crop canopy (decimal percent) c slp - Average slope of the simulation region (m/m) c theta1 - Soil wc for uppermost simulation layer (m^3/m^3) c thetf1 - Soil wc at fc for uppermost sim layer (m^3/m^3) c + + + LOCAL VARIABLES + + + real cn real cnis real cnii real cniis real cniii real cniiis real cndif real s real rma c + + + LOCAL DEFINITIONS + + + c cn - Calculated scs curve number c cnis - Slope-adjusted scs curve # for class i antecedent c soil moisture conditions c cnii - Scs curve # for class ii antecedent soil moisture c conditions (average soil moisture conditions) c cniis - Slope-adjusted scs curve # for class ii antecedent c soil moisture conditions c cniii - Scs curve # for class iii antecedent soil moisture c conditions (wet soil moisture conditions) c cniiis - Slope-adjusted scs curve # for class iii antecedent c soil moisture conditions c cndif - Difference between condition ii scs curve #s for c poor and good hydrologic conditions c s - Retention parameter (mm) c rma - Rainfall, snow melt, &/or irrigation minus c initial abstraction (mm) c + + + END SPECIFICATIONS + + + c prorate the calculated condition ii scs curve number according c to the daily estimate of crop canopy C *** write(*,*) ' cniip, cniig ', cniip, cniig cndif = cniip - cniig cnii = cniip - ( cndif * canp ) c adjust the calculated condition ii scs curve number according c to the average slope of the simulation region cniii = 6.9386 + 1.6425*cnii - 0.0071*cnii*cnii C *** write(*,*) ' cniii, cnii, slp ', cniii, cnii, slp cniis = 0.3333*(cniii-cnii)*(1-2*exp(-13.86*slp))+cnii c readjust the calculated scs curve number to the correct c class of antecedent soil moisture conditions on the basis of c the current status of surface soil moisture C *** write(*,*) ' cniss ', cniis if ( theta1 .gt. thetf1 ) then cniiis = 6.9386 + 1.6425*cniis - 0.0071*cniis*cniis cn = cniiis else if ( theta1 .lt. (thetf1*0.6) ) then cnis = 0.4678*(1.0113**cniis)*(cniis**0.9191) cn = cnis else cn = cniis endif endif c determine the retention parameter (s), and surface runoff (q). s = 254 * ( 100/cn - 1 ) rma = rain - 0.2*s if ( rma .gt. 0.0 ) then scsq = rma*rma/(rain + 0.8*s) else scsq = 0.0 endif return end