Пример #1
0
 def test_lookup_cn(self):
     """
     Do some spot-checks on the data from Table C.
     """
     self.assertEqual(lookup_cn('a', 'water'), 100)
     self.assertEqual(lookup_cn('b', 'li_residential'), 68)
     self.assertEqual(lookup_cn('c', 'hi_residential'), 90)
     self.assertEqual(lookup_cn('d', 'commercial'), 95)
     self.assertEqual(lookup_cn('a', 'rock'), 77)
     self.assertEqual(lookup_cn('b', 'deciduous_forest'), 55)
     self.assertEqual(lookup_cn('c', 'evergreen_forest'), 70)
     self.assertEqual(lookup_cn('d', 'mixed_forest'), 77)
Пример #2
0
 def test_lookup_cn(self):
     """
     Do some spot-checks on the data from Table C.
     """
     self.assertEqual(lookup_cn('a', 'open_water'), 100)
     self.assertEqual(lookup_cn('b', 'developed_low'), 80)
     self.assertEqual(lookup_cn('c', 'developed_med'), 91)
     self.assertEqual(lookup_cn('d', 'developed_high'), 96)
     self.assertEqual(lookup_cn('a', 'barren_land'), 77)
     self.assertEqual(lookup_cn('b', 'deciduous_forest'), 55)
     self.assertEqual(lookup_cn('c', 'evergreen_forest'), 70)
     self.assertEqual(lookup_cn('d', 'mixed_forest'), 77)
Пример #3
0
def runoff_nrcs(precip, evaptrans, soil_type, land_use):
    """
    The runoff equation from the TR-55 document.  The output is a
    runoff value in inches.
    """
    curve_number = lookup_cn(soil_type, land_use)
    if nrcs_cutoff(precip, curve_number):
        return 0.0
    potential_retention = (1000.0 / curve_number) - 10
    initial_abs = 0.2 * potential_retention
    precip_minus_initial_abs = precip - initial_abs
    numerator = pow(precip_minus_initial_abs, 2)
    denominator = (precip_minus_initial_abs + potential_retention)
    runoff = numerator / denominator
    return min(runoff, precip - evaptrans)
Пример #4
0
def runoff_nrcs(precip, evaptrans, soil_type, land_use):
    """
    The runoff equation from the TR-55 document.  The output is a
    runoff value in inches.
    """
    if land_use == 'cluster_housing':
        land_use = 'developed_low'
    curve_number = lookup_cn(soil_type, land_use)
    if nrcs_cutoff(precip, curve_number):
        return 0.0
    potential_retention = (1000.0 / curve_number) - 10
    initial_abs = 0.2 * potential_retention
    precip_minus_initial_abs = precip - initial_abs
    numerator = pow(precip_minus_initial_abs, 2)
    denominator = (precip_minus_initial_abs + potential_retention)
    runoff = numerator / denominator
    return min(runoff, precip - evaptrans)