# Hydrology, weirs and open flow (fluids.open_flow)

This module contains functionality for calculating the flow rate of fluids in open channels. The Manning and Chezy methods are implemented Weirs as well as several calculations for flow rate over weirs.

For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact the author at Caleb.Andrew.Bell@gmail.com.

## Weirs

fluids.open_flow.Q_weir_V_Shen(h1, angle=90)

  Calculates the flow rate across a V-notch (triangular) weir from the height of the liquid above the tip of the notch, and with the angle of the notch. Most of these type of weir are 90 degrees. Model from [1] as reproduced in [2].

  Flow rate is given by:

  \[Q = C \tan\left(\frac{\theta}{2}\right)\sqrt{g}(h_1 + k)^{2.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the notch [m]

    angle `python:float`, `optional`

      Angle of the notch [degrees]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  angles = [20, 40, 60, 80, 100] Cs = [0.59, 0.58, 0.575, 0.575, 0.58] k = [0.0028, 0.0017, 0.0012, 0.001, 0.001]

  The following limits apply to the use of this equation:

  h1 >= 0.05 m h2 > 0.45 m h1/h2 <= 0.4 m b > 0.9 m

  \[\frac{h_1}{b}\tan\left(\frac{\theta}{2}\right) < 2\]

  Flows are lower than obtained by the curves at http://www.lmnoeng.com/Weirs/vweir.php.

  References

  [1]

  Shen, John. “Discharge Characteristics of Triangular-Notch Thin-Plate Weirs : Studies of Flow to Water over Weirs and Dams.” USGS Numbered Series. Water Supply Paper. U.S. Geological Survey : U.S. G.P.O., 1981

  [2]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

      >>> Q_weir_V_Shen(0.6, angle=45)
      0.21071725775478

fluids.open_flow.Q_weir_rectangular_Kindsvater_Carter(h1, h2, b)

  Calculates the flow rate across rectangular weir from the height of the liquid above the crest of the notch, the liquid depth beneath it, and the width of the notch. Model from [1] as reproduced in [2].

  Flow rate is given by:

  \[Q = 0.554\left(1 - 0.0035\frac{h_1}{h_2}\right)(b + 0.0025) \sqrt{g}(h_1 + 0.0001)^{1.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the crest of the weir [m]

    h2 `python:float`

      Height of the fluid below the crest of the weir [m]

    b `python:float`

      Width of the rectangular flow section of the weir [m]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  The following limits apply to the use of this equation:

  b/b1 ≤ 0.2 h1/h2 < 2 b > 0.15 m h1 > 0.03 m h2 > 0.1 m

  References

  [1]

  Kindsvater, Carl E., and Rolland W. Carter. “Discharge Characteristics of Rectangular Thin-Plate Weirs.” Journal of the Hydraulics Division 83, no. 6 (December 1957): 1-36.

  [2]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

      >>> Q_weir_rectangular_Kindsvater_Carter(0.2, 0.5, 1)
      0.15545928949179422

fluids.open_flow.Q_weir_rectangular_SIA(h1, h2, b, b1)

  Calculates the flow rate across rectangular weir from the height of the liquid above the crest of the notch, the liquid depth beneath it, and the width of the notch. Model from [1] as reproduced in [2].

  Flow rate is given by:

  \[Q = 0.544\left[1 + 0.064\left(\frac{b}{b_1}\right)^2 + \frac{0.00626 - 0.00519(b/b_1)^2}{h_1 + 0.0016}\right] \left[1 + 0.5\left(\frac{b}{b_1}\right)^4\left(\frac{h_1}{h_1+h_2} \right)^2\right]b\sqrt{g}h^{1.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the crest of the weir [m]

    h2 `python:float`

      Height of the fluid below the crest of the weir [m]

    b `python:float`

      Width of the rectangular flow section of the weir [m]

    b1 `python:float`

      Width of the full section of the channel [m]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  The following limits apply to the use of this equation:

  b/b1 ≤ 0.2 h1/h2 < 2 b > 0.15 m h1 > 0.03 m h2 > 0.1 m

  References

  [1]

  Normen für Wassermessungen: bei Durchführung von Abnahmeversuchen an Wasserkraftmaschinen. SIA, 1924.

  [2]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

      >>> Q_weir_rectangular_SIA(0.2, 0.5, 1, 2)
      1.0408858453811165

fluids.open_flow.Q_weir_rectangular_full_Ackers(h1, h2, b)

  Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2], confirmed with [3].

  Flow rate is given by:

  \[Q = 0.564\left(1+0.150\frac{h_1}{h_2}\right)b\sqrt{g}(h_1+0.001)^{1.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the crest of the weir [m]

    h2 `python:float`

      Height of the fluid below the crest of the weir [m]

    b `python:float`

      Width of the channel section [m]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  The following limits apply to the use of this equation:

  h1 > 0.02 m h2 > 0.15 m h1/h2 ≤ 2.2

  References

  [1]

  Ackers, Peter, W. R. White, J. A. Perkins, and A. J. M. Harrison. Weirs and Flumes for Flow Measurement. Chichester ; New York: John Wiley & Sons Ltd, 1978.

  [2]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  [3] (1,2)

  Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

  Examples

  Example as in [3], matches. However, example is unlikely in practice.

      >>> Q_weir_rectangular_full_Ackers(h1=0.9, h2=0.6, b=5)
      9.251938159899948

fluids.open_flow.Q_weir_rectangular_full_SIA(h1, h2, b)

  Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2].

  Flow rate is given by:

  \[Q = \frac{2}{3}\sqrt{2}\left(0.615 + \frac{0.000615}{h_1+0.0016}\right) b\sqrt{g} h_1 +0.5\left(\frac{h_1}{h_1+h_2}\right)^2b\sqrt{g} h_1^{1.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the crest of the weir [m]

    h2 `python:float`

      Height of the fluid below the crest of the weir [m]

    b `python:float`

      Width of the channel section [m]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  The following limits apply to the use of this equation:

  0.025 < h < 0.8 m b > 0.3 m h2 > 0.3 m h1/h2 < 1

  References

  [1]

  Normen für Wassermessungen: bei Durchführung von Abnahmeversuchen an Wasserkraftmaschinen. SIA, 1924.

  [2] (1,2)

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

  Example compares terribly with the Ackers expression - probable error in [2]. DO NOT USE.

      >>> Q_weir_rectangular_full_SIA(h1=0.3, h2=0.4, b=2)
      1.1875825055400384

fluids.open_flow.Q_weir_rectangular_full_Rehbock(h1, h2, b)

  Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2].

  Flow rate is given by:

  \[Q = \frac{2}{3}\sqrt{2}\left(0.602 + 0.0832\frac{h_1}{h_2}\right) b\sqrt{g} (h_1 +0.00125)^{1.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the crest of the weir [m]

    h2 `python:float`

      Height of the fluid below the crest of the weir [m]

    b `python:float`

      Width of the channel section [m]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  The following limits apply to the use of this equation:

  0.03 m < h1 < 0.75 m b > 0.3 m h2 > 0.3 m h1/h2 < 1

  References

  [1]

  King, H. W., Floyd A. Nagler, A. Streiff, R. L. Parshall, W. S. Pardoe, R. E. Ballester, Gardner S. Williams, Th Rehbock, Erik G. W. Lindquist, and Clemens Herschel. “Discussion of ‘Precise Weir Measurements.’” Transactions of the American Society of Civil Engineers 93, no. 1 (January 1929): 1111-78.

  [2]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

      >>> Q_weir_rectangular_full_Rehbock(h1=0.3, h2=0.4, b=2)
      0.6486856330601333

fluids.open_flow.Q_weir_rectangular_full_Kindsvater_Carter(h1, h2, b)

  Calculates the flow rate across a full-channel rectangular weir from the height of the liquid above the crest of the weir, the liquid depth beneath it, and the width of the channel. Model from [1] as reproduced in [2].

  Flow rate is given by:

  \[Q = \frac{2}{3}\sqrt{2}\left(0.602 + 0.0832\frac{h_1}{h_2}\right) b\sqrt{g} (h_1 +0.00125)^{1.5}\]
  Parameters:
    h1 `python:float`

      Height of the fluid above the crest of the weir [m]

    h2 `python:float`

      Height of the fluid below the crest of the weir [m]

    b `python:float`

      Width of the channel section [m]

  Returns:
    Q `python:float`

      Volumetric flow rate across the weir [m^3/s]

  Notes

  The following limits apply to the use of this equation:

  h1 > 0.03 m b > 0.15 m h2 > 0.1 m h1/h2 < 2

  References

  [1]

  Kindsvater, Carl E., and Rolland W. Carter. “Discharge Characteristics of Rectangular Thin-Plate Weirs.” Journal of the Hydraulics Division 83, no. 6 (December 1957): 1-36.

  [2]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  Examples

      >>> Q_weir_rectangular_full_Kindsvater_Carter(h1=0.3, h2=0.4, b=2)
      0.641560300081563

## Manning and Chezy Equations

fluids.open_flow.V_Manning(Rh, S, n)

  Predicts the average velocity of a flow across an open channel of hydraulic radius Rh and slope S, given the Manning roughness coefficient n.

  Flow rate is given by:

  \[V = \frac{1}{n} R_h^{2/3} S^{0.5}\]
  Parameters:
    Rh `python:float`

      Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]

    S `python:float`

      Slope of the channel, m/m [-]

    n `python:float`

      Manning roughness coefficient; traditionally in the correct units, [s/m^(1/3)]

  Returns:
    V `python:float`

      Average velocity of the channel [m/s]

  Notes

  This is equation is often given in imperial units multiplied by 1.49. Although n could be converted to be in imperial units, in practice this has not been done and all tables keep it in the units of s/m^(1/3).

  References

  [1]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  [2]

  Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

  Examples

  Example is from [2], matches.

      >>> V_Manning(0.2859, 0.005236, 0.03)
      1.0467781958118971

fluids.open_flow.V_Chezy(Rh, S, C)

  Predicts the average velocity of a flow across an open channel of hydraulic radius Rh and slope S, given the Chezy coefficient C.

  Flow rate is given by:

  \[V = C\sqrt{S R_h}\]
  Parameters:
    Rh `python:float`

      Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]

    S `python:float`

      Slope of the channel, m/m [-]

    C `python:float`

      Chezy coefficient [m^0.5/s]

  Returns:
    V `python:float`

      Average velocity of the channel [m/s]

  References

  [1]

  Blevins, Robert D. Applied Fluid Dynamics Handbook. New York, N.Y.: Van Nostrand Reinhold Co., 1984.

  [2]

  Cengel, Yunus, and John Cimbala. Fluid Mechanics: Fundamentals and Applications. Boston: McGraw Hill Higher Education, 2006.

  [3]

  Chow, Ven Te. Open-Channel Hydraulics. New York: McGraw-Hill, 1959.

  Examples

  Custom example, checked.

      >>> V_Chezy(Rh=5, S=0.001, C=26.153)
      1.8492963648371776

fluids.open_flow.n_Manning_to_C_Chezy(n, Rh)

  Converts a Manning roughness coefficient to a Chezy coefficient, given the hydraulic radius of the channel.

  \[C = \frac{1}{n}R_h^{1/6}\]
  Parameters:
    n `python:float`

      Manning roughness coefficient [s/m^(1/3)]

    Rh `python:float`

      Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]

  Returns:
    C `python:float`

      Chezy coefficient [m^0.5/s]

  References

  [1]

  Chow, Ven Te. Open-Channel Hydraulics. New York: McGraw-Hill, 1959.

  Examples

  Custom example, checked.

      >>> n_Manning_to_C_Chezy(0.05, Rh=5)
      26.15320972023661

fluids.open_flow.C_Chezy_to_n_Manning(C, Rh)

  Converts a Chezy coefficient to a Manning roughness coefficient, given the hydraulic radius of the channel.

  \[n = \frac{1}{C}R_h^{1/6}\]
  Parameters:
    C `python:float`

      Chezy coefficient [m^0.5/s]

    Rh `python:float`

      Hydraulic radius of the channel, Flow Area/Wetted perimeter [m]

  Returns:
    n `python:float`

      Manning roughness coefficient [s/m^(1/3)]

  References

  [1]

  Chow, Ven Te. Open-Channel Hydraulics. New York: McGraw-Hill, 1959.

  Examples

  Custom example, checked.

      >>> C_Chezy_to_n_Manning(26.15, Rh=5)
      0.05000613713238358

## Manning Coefficients

fluids.open_flow.n_natural = {'Flood plains': {'Brush, light brush and trees, in summer': (0.04, 0.06, 0.08), 'Brush, light brush and trees, in winter': (0.035, 0.05, 0.06), 'Brush, medium to dense brush, in summer': (0.07, 0.1, 0.16), 'Brush, medium to dense brush, in winter': (0.045, 0.07, 0.11), 'Brush, scattered brush, heavy weeds': (0.035, 0.05, 0.07), 'Cultivated areas, mature field crops': (0.03, 0.04, 0.05), 'Cultivated areas, mature row crops': (0.025, 0.035, 0.045), 'Cultivated areas, no crop': (0.02, 0.03, 0.04), 'Pasture, no brush, high grass': (0.03, 0.035, 0.05), 'Pasture, no brush, short grass': (0.025, 0.03, 0.035), 'Trees, cleared land with tree stumps, heavy growth of sprouts': (0.05, 0.06, 0.08), 'Trees, cleared land with tree stumps, no sprouts': (0.03, 0.04, 0.05), 'Trees, dense willows, summer, straight': (0.11, 0.15, 0.2), 'Trees, heavy stand of timber, a few down trees, little undergrowth, flood stage below branches': (0.08, 0.1, 0.12), 'Trees, heavy stand of timber, a few down trees, little undergrowth, flood stage reaching branches': (0.1, 0.12, 0.16)}, 'Major streams': {'Irregular, rough': (0.035, 0.07, 0.1)}, 'Minor streams': {'Clean, winding, some pools and shoals': (0.033, 0.04, 0.045), 'Clean, winding, some pools and shoals, more weeds and stones': (0.045, 0.05, 0.06), 'Clean, winding, some pools and shoals, some weeds and stones': (0.035, 0.045, 0.05), 'Clean, winding, some pools and shoals, some weeds and stones, lower stages, less effective slopes and sections': (0.04, 0.048, 0.055), 'Mountain streams, no vegetation in channel, banks steep, trees and bush on the banks submerged to high stages, with cobbles and large boulders on bottom': (0.04, 0.05, 0.07), 'Mountain streams, no vegetation in channel, banks steep, trees and bush on the banks submerged to high stages, with gravel, cobbles and few boulders on bottom': (0.03, 0.04, 0.05), 'Plain streams, clean, straight, full stage, no rifts or deep pools': (0.025, 0.03, 0.033), 'Plain streams, clean, straight, full stage, no rifts or deep pools, more stones and weeds': (0.03, 0.035, 0.04), 'Sluggish reaches, weedy, deep pools': (0.05, 0.07, 0.08), 'Very weedy reaches, deep pools, or floodways with heavy stand of timber and underbrush': (0.075, 0.1, 0.15)}}

fluids.open_flow.n_excavated_dredged = {'Channels not maintained, with weeds and uncut brush': {'Clean bottom, brush on sides': (0.04, 0.05, 0.08), 'Clean bottom, brush on sides, highest stage of flow': (0.045, 0.07, 0.11), 'Dense brush, high stage': (0.08, 0.1, 0.14), 'Dense weeds, as high as the flow depth': (0.05, 0.08, 0.12)}, 'Dragline-excavated or dredged': {'Light brush on banks': (0.035, 0.05, 0.06), 'No vegetation': (0.025, 0.028, 0.033)}, 'Earth, straight, and uniform': {'Clean, after weathering': (0.018, 0.022, 0.025), 'Clean, recently completed': (0.016, 0.018, 0.02), 'Gravel, uniform section, clean': (0.022, 0.025, 0.03), 'With short grass and few weeds': (0.022, 0.027, 0.033)}, 'Earth, winding and sluggish': {'Cobble bottom; clean sides': (0.03, 0.04, 0.05), 'Dense weeds or aquatic plants, in deep channels': (0.03, 0.035, 0.04), 'Earth bottom; rubble sides': (0.028, 0.03, 0.035), 'Grass and some weeds': (0.025, 0.03, 0.033), 'No vegetation': (0.023, 0.025, 0.03), 'Stony bottom; weedy banks': (0.025, 0.035, 0.04)}, 'Rock cuts': {'Jaged and Irregular': (0.035, 0.04, 0.05), 'Smooth and Uniform': (0.025, 0.035, 0.04)}}

fluids.open_flow.n_lined_built = {'Asphalt': {'Rough': (0.016, 0.016, 0.016), 'Smooth': (0.013, 0.013, 0.013)}, 'Brick': {'Glazed': (0.011, 0.013, 0.015), 'In-cement mortar': (0.012, 0.015, 0.018)}, 'Cement': {'Mortar': (0.011, 0.013, 0.015), 'Neat, surface': (0.01, 0.011, 0.013)}, 'Concrete': {'Finished, with gravel on bottom': (0.015, 0.017, 0.02), 'Float finish': (0.013, 0.015, 0.016), 'Gunite, good section': (0.016, 0.019, 0.023), 'Gunite, wavy section': (0.018, 0.022, 0.025), 'On good excavated rock': (0.017, 0.02, 0.02), 'On irregular excavated rock': (0.022, 0.027, 0.027), 'Trowel finish': (0.011, 0.013, 0.015), 'Unfinished': (0.014, 0.017, 0.02)}, 'Concrete bottom float': {'Finished with sides of cement rubble masonry': (0.02, 0.025, 0.03), 'Finished with sides of cement rubble masonry, plastered': (0.016, 0.02, 0.024), 'Finished with sides of dressed stone in mortar': (0.015, 0.017, 0.02), 'Finished with sides of dry rubble or riprap': (0.02, 0.03, 0.035), 'Finished with sides of random stone in mortar': (0.017, 0.02, 0.024)}, 'Dressed ashlar': {'Stone paving': (0.013, 0.015, 0.017)}, 'Gravel bottom': {'Sides of dry rubble or riprap': (0.023, 0.033, 0.036), 'Sides of formed concrete': (0.017, 0.02, 0.025), 'Sides of random stone in mortar': (0.02, 0.023, 0.026)}, 'Masonry': {'Cemented rubble': (0.017, 0.025, 0.03), 'Dry rubble': (0.023, 0.032, 0.035)}, 'Metal': {'Corrugated': (0.021, 0.025, 0.03), 'Smooth steel, painted': (0.012, 0.013, 0.017), 'Smooth steel, unpainted': (0.011, 0.012, 0.014)}, 'Vegatal': {'Lined': (0.03, 0.4, 0.5)}, 'Wood': {'Lined with Roofing paper': (0.01, 0.014, 0.017), 'Planed, creosoted': (0.011, 0.012, 0.015), 'Planed, untreated': (0.01, 0.012, 0.014), 'Plank with battens': (0.012, 0.015, 0.018), 'Unplaned': (0.011, 0.013, 0.015)}}

fluids.open_flow.n_closed_conduit = {'Acrylic': {'Smooth': (0.008, 0.009, 0.01)}, 'Brass': {'Smooth': (0.009, 0.01, 0.013)}, 'Brickwork': {'Glazed': (0.011, 0.013, 0.015), 'Lined with cement mortar': (0.012, 0.015, 0.017)}, 'Cast Iron': {'Coated ': (0.01, 0.013, 0.014), 'Uncoated': (0.011, 0.014, 0.016)}, 'Cement': {'Mortar': (0.011, 0.013, 0.015), 'Neat, surface': (0.01, 0.011, 0.013)}, 'Clay': {'Common drainage tile': (0.011, 0.013, 0.017), 'Vitrified Subdrain with open joint': (0.014, 0.016, 0.018), 'Vitrified sewer': (0.011, 0.014, 0.017), 'Vitrified sewer with manholes, inlet, etc.': (0.013, 0.015, 0.017)}, 'Concrete': {'Culvert, some bends, connections, and debris': (0.011, 0.013, 0.014), 'Culvert, straight and free of debris': (0.01, 0.011, 0.013), 'Finished': (0.011, 0.012, 0.014), 'Sewer with manholes, inlet, straight': (0.013, 0.015, 0.017), 'Unfinished, rough wood form': (0.015, 0.017, 0.02), 'Unfinished, smooth wood form': (0.012, 0.014, 0.016), 'Unfinished, steel form': (0.012, 0.013, 0.014)}, 'Corrugated metal': {'Storm drain': (0.021, 0.024, 0.03), 'Subdrain': (0.017, 0.019, 0.021)}, 'Glass': {'Smooth': (0.009, 0.01, 0.013)}, 'Other': {'Paved invert, sewer, smooth bottom': (0.016, 0.019, 0.02), 'Rubble masonry, cemented': (0.018, 0.025, 0.03), 'Sanitary sewers coated with sewage slime with bends and connections': (0.012, 0.013, 0.016)}, 'Steel': {'Lockbar and welded': (0.01, 0.012, 0.014), 'Riveted and spiral': (0.013, 0.016, 0.017)}, 'Wood': {'Laminated, treated': (0.015, 0.017, 0.02), 'Stave': (0.01, 0.012, 0.014)}, 'Wrought Iron': {'Black ': (0.012, 0.014, 0.015), 'Galvanized': (0.013, 0.016, 0.017)}}

fluids.open_flow.n_dicts = [{'Flood plains': {'Brush, light brush and trees, in summer': (0.04, 0.06, 0.08), 'Brush, light brush and trees, in winter': (0.035, 0.05, 0.06), 'Brush, medium to dense brush, in summer': (0.07, 0.1, 0.16), 'Brush, medium to dense brush, in winter': (0.045, 0.07, 0.11), 'Brush, scattered brush, heavy weeds': (0.035, 0.05, 0.07), 'Cultivated areas, mature field crops': (0.03, 0.04, 0.05), 'Cultivated areas, mature row crops': (0.025, 0.035, 0.045), 'Cultivated areas, no crop': (0.02, 0.03, 0.04), 'Pasture, no brush, high grass': (0.03, 0.035, 0.05), 'Pasture, no brush, short grass': (0.025, 0.03, 0.035), 'Trees, cleared land with tree stumps, heavy growth of sprouts': (0.05, 0.06, 0.08), 'Trees, cleared land with tree stumps, no sprouts': (0.03, 0.04, 0.05), 'Trees, dense willows, summer, straight': (0.11, 0.15, 0.2), 'Trees, heavy stand of timber, a few down trees, little undergrowth, flood stage below branches': (0.08, 0.1, 0.12), 'Trees, heavy stand of timber, a few down trees, little undergrowth, flood stage reaching branches': (0.1, 0.12, 0.16)}, 'Major streams': {'Irregular, rough': (0.035, 0.07, 0.1)}, 'Minor streams': {'Clean, winding, some pools and shoals': (0.033, 0.04, 0.045), 'Clean, winding, some pools and shoals, more weeds and stones': (0.045, 0.05, 0.06), 'Clean, winding, some pools and shoals, some weeds and stones': (0.035, 0.045, 0.05), 'Clean, winding, some pools and shoals, some weeds and stones, lower stages, less effective slopes and sections': (0.04, 0.048, 0.055), 'Mountain streams, no vegetation in channel, banks steep, trees and bush on the banks submerged to high stages, with cobbles and large boulders on bottom': (0.04, 0.05, 0.07), 'Mountain streams, no vegetation in channel, banks steep, trees and bush on the banks submerged to high stages, with gravel, cobbles and few boulders on bottom': (0.03, 0.04, 0.05), 'Plain streams, clean, straight, full stage, no rifts or deep pools': (0.025, 0.03, 0.033), 'Plain streams, clean, straight, full stage, no rifts or deep pools, more stones and weeds': (0.03, 0.035, 0.04), 'Sluggish reaches, weedy, deep pools': (0.05, 0.07, 0.08), 'Very weedy reaches, deep pools, or floodways with heavy stand of timber and underbrush': (0.075, 0.1, 0.15)}}, {'Channels not maintained, with weeds and uncut brush': {'Clean bottom, brush on sides': (0.04, 0.05, 0.08), 'Clean bottom, brush on sides, highest stage of flow': (0.045, 0.07, 0.11), 'Dense brush, high stage': (0.08, 0.1, 0.14), 'Dense weeds, as high as the flow depth': (0.05, 0.08, 0.12)}, 'Dragline-excavated or dredged': {'Light brush on banks': (0.035, 0.05, 0.06), 'No vegetation': (0.025, 0.028, 0.033)}, 'Earth, straight, and uniform': {'Clean, after weathering': (0.018, 0.022, 0.025), 'Clean, recently completed': (0.016, 0.018, 0.02), 'Gravel, uniform section, clean': (0.022, 0.025, 0.03), 'With short grass and few weeds': (0.022, 0.027, 0.033)}, 'Earth, winding and sluggish': {'Cobble bottom; clean sides': (0.03, 0.04, 0.05), 'Dense weeds or aquatic plants, in deep channels': (0.03, 0.035, 0.04), 'Earth bottom; rubble sides': (0.028, 0.03, 0.035), 'Grass and some weeds': (0.025, 0.03, 0.033), 'No vegetation': (0.023, 0.025, 0.03), 'Stony bottom; weedy banks': (0.025, 0.035, 0.04)}, 'Rock cuts': {'Jaged and Irregular': (0.035, 0.04, 0.05), 'Smooth and Uniform': (0.025, 0.035, 0.04)}}, {'Asphalt': {'Rough': (0.016, 0.016, 0.016), 'Smooth': (0.013, 0.013, 0.013)}, 'Brick': {'Glazed': (0.011, 0.013, 0.015), 'In-cement mortar': (0.012, 0.015, 0.018)}, 'Cement': {'Mortar': (0.011, 0.013, 0.015), 'Neat, surface': (0.01, 0.011, 0.013)}, 'Concrete': {'Finished, with gravel on bottom': (0.015, 0.017, 0.02), 'Float finish': (0.013, 0.015, 0.016), 'Gunite, good section': (0.016, 0.019, 0.023), 'Gunite, wavy section': (0.018, 0.022, 0.025), 'On good excavated rock': (0.017, 0.02, 0.02), 'On irregular excavated rock': (0.022, 0.027, 0.027), 'Trowel finish': (0.011, 0.013, 0.015), 'Unfinished': (0.014, 0.017, 0.02)}, 'Concrete bottom float': {'Finished with sides of cement rubble masonry': (0.02, 0.025, 0.03), 'Finished with sides of cement rubble masonry, plastered': (0.016, 0.02, 0.024), 'Finished with sides of dressed stone in mortar': (0.015, 0.017, 0.02), 'Finished with sides of dry rubble or riprap': (0.02, 0.03, 0.035), 'Finished with sides of random stone in mortar': (0.017, 0.02, 0.024)}, 'Dressed ashlar': {'Stone paving': (0.013, 0.015, 0.017)}, 'Gravel bottom': {'Sides of dry rubble or riprap': (0.023, 0.033, 0.036), 'Sides of formed concrete': (0.017, 0.02, 0.025), 'Sides of random stone in mortar': (0.02, 0.023, 0.026)}, 'Masonry': {'Cemented rubble': (0.017, 0.025, 0.03), 'Dry rubble': (0.023, 0.032, 0.035)}, 'Metal': {'Corrugated': (0.021, 0.025, 0.03), 'Smooth steel, painted': (0.012, 0.013, 0.017), 'Smooth steel, unpainted': (0.011, 0.012, 0.014)}, 'Vegatal': {'Lined': (0.03, 0.4, 0.5)}, 'Wood': {'Lined with Roofing paper': (0.01, 0.014, 0.017), 'Planed, creosoted': (0.011, 0.012, 0.015), 'Planed, untreated': (0.01, 0.012, 0.014), 'Plank with battens': (0.012, 0.015, 0.018), 'Unplaned': (0.011, 0.013, 0.015)}}, {'Acrylic': {'Smooth': (0.008, 0.009, 0.01)}, 'Brass': {'Smooth': (0.009, 0.01, 0.013)}, 'Brickwork': {'Glazed': (0.011, 0.013, 0.015), 'Lined with cement mortar': (0.012, 0.015, 0.017)}, 'Cast Iron': {'Coated ': (0.01, 0.013, 0.014), 'Uncoated': (0.011, 0.014, 0.016)}, 'Cement': {'Mortar': (0.011, 0.013, 0.015), 'Neat, surface': (0.01, 0.011, 0.013)}, 'Clay': {'Common drainage tile': (0.011, 0.013, 0.017), 'Vitrified Subdrain with open joint': (0.014, 0.016, 0.018), 'Vitrified sewer': (0.011, 0.014, 0.017), 'Vitrified sewer with manholes, inlet, etc.': (0.013, 0.015, 0.017)}, 'Concrete': {'Culvert, some bends, connections, and debris': (0.011, 0.013, 0.014), 'Culvert, straight and free of debris': (0.01, 0.011, 0.013), 'Finished': (0.011, 0.012, 0.014), 'Sewer with manholes, inlet, straight': (0.013, 0.015, 0.017), 'Unfinished, rough wood form': (0.015, 0.017, 0.02), 'Unfinished, smooth wood form': (0.012, 0.014, 0.016), 'Unfinished, steel form': (0.012, 0.013, 0.014)}, 'Corrugated metal': {'Storm drain': (0.021, 0.024, 0.03), 'Subdrain': (0.017, 0.019, 0.021)}, 'Glass': {'Smooth': (0.009, 0.01, 0.013)}, 'Other': {'Paved invert, sewer, smooth bottom': (0.016, 0.019, 0.02), 'Rubble masonry, cemented': (0.018, 0.025, 0.03), 'Sanitary sewers coated with sewage slime with bends and connections': (0.012, 0.013, 0.016)}, 'Steel': {'Lockbar and welded': (0.01, 0.012, 0.014), 'Riveted and spiral': (0.013, 0.016, 0.017)}, 'Wood': {'Laminated, treated': (0.015, 0.017, 0.02), 'Stave': (0.01, 0.012, 0.014)}, 'Wrought Iron': {'Black ': (0.012, 0.014, 0.015), 'Galvanized': (0.013, 0.016, 0.017)}}]

  Built-in mutable sequence.

  If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.