#!/usr/bin/python
# SlopeArea.py
# Computes Discharge by Slope Area Method 
# Use HMTL POST method
# Use python language

# Import modules for CGI handling
import cgi, cgitb , time

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get inputs from fields
location = str(form.getvalue('location'))
omega_m = float(form.getvalue('omega_m'))
map = float(form.getvalue('map'))
slope = float(form.getvalue('slope'))
area = float(form.getvalue('area'))

# Constants for Regression Equations
l2 = -0.0058
a2 = 50.98
b2 = -50.300
c2 = 1.398
d2 = 0.270
e2 = 0.776
#
l5 = -0.0215
a5 = 16.62
b5 = -15.320
c5 = 1.308
d5 = 0.372
e5 = 0.885
#
l10 = -0.0289
a10 = 13.62
b10 = -11.970
c10 = 1.203
d10 = 0.403
e10 = 0.918
#
l25 = -0.0374
a25 = 11.79
b25 = -9.819
c25 = 1.140
d25 = 0.446
e25 = 0.945
#
l50 = -0.0424
a50 = 11.17
b50 = -8.997
c50 = 1.105
d50 = 0.476
e50 = 0.961
#
l100 = -0.0467
a100 = 10.82
b100 = -8.448
c100 = 1.071
d100 = 0.507
e100 = 0.969
#
l500 = -0.0554
a500 = 10.40
b500 = -7.605
c500 = 0.988
d500 = 0.569
e500 = 0.976

# Perform arithmetic
q2 = (map**c2) * (slope**d2) * (10.0**( omega_m*e2 + a2 + c2*area**l2 ))
q5 = (map**c5) * (slope**d5) * (10.0**( omega_m*e5 + a5 + c5*area**l5 ))
q10 = (map**c10) * (slope**d10) * (10.0**( omega_m*e10 + a10 + c10*area**l10 ))
q25 = (map**c25) * (slope**d25) * (10.0**( omega_m*e25 + a25 + c25*area**l25 ))
q50 = (map**c50) * (slope**d50) * (10.0**( omega_m*e50 + a50 + c50*area**l50 ))
q100 = (map**c100) * (slope**d100) * (10.0**( omega_m*e100 + a100 + c100*area**l100 ))
q500 = (map**c500) * (slope**d500) * (10.0**( omega_m*e500 + a500 + c500*area**l500 ))
# Prepare the output HTML
now = time.strftime("%c")

print "Content-type:text/html\r\n\r\n"
# should have two returns and line feeds
print "<html>"
print "<head>"
print "<title>Slope-Area Discharge Method (US Customary) using Python</title>"
print "</head>"
print "<body>"
print "Discharge by Slope-Area Method (US Customary) <br/><br/> "
print "Run Date : " , now ," <br/> "
print "------ INPUT VALUES ------ <br/> "
print "                  Omega EM       = ", omega_m ," <br/> "
print " Mean Annual Precipitation       = ", map , " inches (per year) <br/> "
print "                     Slope       = ", slope , " dimensionless (ft/ft) <br/> "
print "         Contributing Area       = ", area ," square miles <br/> "
print "------ ESTIMATED DISCHARGE ----- <br/> "
print "    Description (Label) ", location ," <br/>"
print "   2-year Discharge = ", q2 , " cubic feet per second <br/> "
print "   5-year Discharge = ", q5 , " cubic feet per second <br/> "
print "  10-year Discharge = ", q10 , " cubic feet per second <br/> "
print "  25-year Discharge = ", q25 , " cubic feet per second <br/> "
print "  50-year Discharge = ", q50 , " cubic feet per second <br/> "
print " 100-year Discharge = ", q100 , " cubic feet per second <br/> "
print " 500-year Discharge = ", q500 , " cubic feet per second <br/> "
print "</body>"
print "</html>"

# end of script







