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)[source]

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:
h1python:float

Height of the fluid above the notch [m]

anglepython:float, optional

Angle of the notch [degrees]

Returns:
Qpython: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)[source]

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:
h1python:float

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

h2python:float

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

bpython:float

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

Returns:
Qpython: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)[source]

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:
h1python:float

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

h2python:float

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

bpython:float

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

b1python:float

Width of the full section of the channel [m]

Returns:
Qpython: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)[source]

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:
h1python:float

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

h2python:float

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

bpython:float

Width of the channel section [m]

Returns:
Qpython: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)[source]

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:
h1python:float

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

h2python:float

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

bpython:float

Width of the channel section [m]

Returns:
Qpython: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)[source]

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:
h1python:float

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

h2python:float

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

bpython:float

Width of the channel section [m]

Returns:
Qpython: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)[source]

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:
h1python:float

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

h2python:float

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

bpython:float

Width of the channel section [m]

Returns:
Qpython: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)[source]

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:
Rhpython:float

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

Spython:float

Slope of the channel, m/m [-]

npython:float

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

Returns:
Vpython: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)[source]

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:
Rhpython:float

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

Spython:float

Slope of the channel, m/m [-]

Cpython:float

Chezy coefficient [m^0.5/s]

Returns:
Vpython: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)[source]

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:
npython:float

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

Rhpython:float

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

Returns:
Cpython: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)[source]

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:
Cpython:float

Chezy coefficient [m^0.5/s]

Rhpython:float

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

Returns:
npython: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.