2009-08-01

EPA SWMM v5.0.016 - Hargreaves Method

The Hargreaves method to compute daily evaporation has been included in the latest release of SWMM. I am unsure of whether this is the original or a modified version of the Hargreaves equation/method. The document with this release did not include detailed information on how the method was implemented, though you can check the source code (available on the EPA SWMM site).

http://www.epa.gov/ednnrmrl/models/swmm/

1 comment:

  1. Just for the record this is the code for the new Hargreaves method in SWMM 5.0.016

    double getTempEvap(int day)
    //
    // Input: day = day of year
    // Output: returns evaporation rate in in/day
    // Purpose: uses Hargreaves method to compute daily evaporation rate
    // from daily min/max temperatures and Julian day.
    //
    {
    double a = 2.0*PI/365.0;
    double ta = (Tave - 32.0)*5.0/9.0; //average temperature (deg C)
    double tr = (Tmax - Tmin)*5.0/9.0; //temperature range (deg C)
    double lamda = 2.50 - 0.002361 * ta; //latent heat of vaporization
    double dr = 1.0 + 0.033*cos(a*day); //relative earth-sun distance
    double phi = Temp.anglat*2.0*PI/360.0; //latitude angle (rad)
    double del = 0.4093*sin(a*(284+day)); //solar declination angle (rad)
    double omega = acos(-tan(phi)*tan(del)); //sunset hour angle (rad)
    double ra = 37.6*dr* //extraterrestrial radiation
    (omega*sin(phi)*sin(del) +
    cos(phi)*cos(del)*sin(omega));
    double e = 0.0023*ra/lamda*sqrt(tr)*(ta+17.8); //evap. rate (mm/day)
    if ( UnitSystem == US ) e /= MMperINCH;
    return e;
    }

    ReplyDelete