Additional Information
Book Details
Abstract
One approach to the introduction of computational material to the classroom is to supplement a textbook with modern computer codes. Unfortunately most codes are expensive, designed for commercial use, without source code and may require special software. Visual Hydrology provides a cheaper and simpler alternative, supplying computational exercises that can be fully assimilated by students, and allowing them to activate, understand and reproduce modern computer code. Visual Hydrology aims to: explain the structure of modern object-oriented computer code provide the source code for worked examples numerically check the worked examples used in text show how worked examples can be used with alternative data describe and reference the underlying theory provide additional exercises with each worked example use Microsoft Excel software alone Requiring only a basic knowledge of Microsoft Excel, this Primer teaches the use of modern and readily-available computer code for engineering computation. Visual Hydrology demonstrates codes for common and practical examples used in hydrological engineering, and will be a valuable resource to students, research workers and consulting engineers in the water-related sector. Examples of source code to accompany this publication can be downloaded by clicking here.
Table of Contents
Section Title | Page | Action | Price |
---|---|---|---|
CONTENTS | 6 | ||
PREFACE | 8 | ||
Foreword by Professor E O’Connell | 12 | ||
Source Code Examples | 13 | ||
1.0 Visual Basic for Applications | 14 | ||
1.1 THE VISUAL BASIC OBJECT MODEL | 15 | ||
1.1.1 Summary | 15 | ||
1.1.2 The object model | 16 | ||
Object oriented programs | 16 | ||
Tasks level | 17 | ||
Collections level | 17 | ||
Objects level | 17 | ||
Procedures level | 18 | ||
1.1.3 The excel environment | 18 | ||
Toolbars | 19 | ||
1.1.4 Recording a Macro | 20 | ||
1.2 OBJECTS AND PROCEDURES | 23 | ||
1.2.1 Summary | 23 | ||
1.2.2 The VBE object library | 24 | ||
1.2.3 “Histogram” worksheet | 27 | ||
1.2.4 “Scatter” worksheet | 30 | ||
1.2.5 “Surface” worksheet | 31 | ||
1.3 NUMERICAL OBJECTS – ESTIMATING THE PI CONSTANT | 33 | ||
1.3.1 Summary | 33 | ||
1.3.2 The scope and lifetime of objects | 34 | ||
1.3.3 Code operation | 35 | ||
1.3.4 Subroutines | 36 | ||
1.4 KINEMATIC OBJECTS – A MANOMETER SIMULATION | 39 | ||
1.4.1 Summary | 39 | ||
1.4.2 Excel symbols used in manipulating drawing objects | 40 | ||
1.4.3 Drawing the manometer apparatus | 41 | ||
1.4.4 Drawing the water tank and mercury manometer | 42 | ||
1.4.5 Subroutines | 43 | ||
1.5 FUNCTION OBJECTS - EVAPORATION AND POTENTIAL EVAPOTRANSPIRATION | 45 | ||
1.5.1 Summary | 45 | ||
1.5.2 Code operation | 46 | ||
1.5.3 Theory | 47 | ||
1.5.4 Dissipation of Energy | 48 | ||
1.5.5 Potential evapotranspiration | 50 | ||
1.5.6 Modules | 51 | ||
“Penman” | 51 | ||
“Functions” | 51 | ||
2.0 Statistics and Geostatistics | 54 | ||
2.1 THE CENTRAL LIMIT THEOREM | 55 | ||
2.1.1 Summary | 55 | ||
2.1.2 Code operation | 56 | ||
2.1.3 Theory | 57 | ||
Example distributions | 57 | ||
Example distribution functions | 57 | ||
Sample distributions | 58 | ||
Normal distributions | 58 | ||
Summary of results | 59 | ||
2.1.4 Modules | 59 | ||
Data module | 59 | ||
Uniform module | 60 | ||
Numerical Check | 60 | ||
2.2 LINEAR AND MULTIPLE REGRESSION | 61 | ||
2.2.1 Summary | 61 | ||
2.2.2 Code operation | 62 | ||
2.2.3 Theory | 63 | ||
Linear regression | 63 | ||
Goodness of fit | 63 | ||
Confidence levels | 64 | ||
Multiple regression | 64 | ||
2.2.4 Modules | 66 | ||
“Data” | 66 | ||
“Linear” | 66 | ||
“Multiple” | 66 | ||
Numerical Check | 67 | ||
2.3 EXTREME VALUE ANALYSIS | 68 | ||
2.3.1 Summary | 68 | ||
2.3.2 Code operation | 69 | ||
2.3.3 Theory | 69 | ||
Introduction | 69 | ||
Probability density function | 70 | ||
Inverse distribution function (idf) | 71 | ||
Monte Carlo simulation | 72 | ||
2.3.4 Modules | 72 | ||
“Gumbel” subroutine | 73 | ||
“MCData” subroutine | 73 | ||
“MCPlot” subroutine | 74 | ||
Numerical Check | 74 | ||
Alternative data | 74 | ||
2.4 LINEAR MOMENT ANALYSIS | 75 | ||
2.4.1 Summary | 75 | ||
2.4.2 Code operation | 76 | ||
Theory | 76 | ||
Discrete C-Moments for a sample | 76 | ||
Continuous C-Moments and L-Moments for a population | 77 | ||
Discrete L-Moments for a sample | 78 | ||
2.4.4 Modules | 79 | ||
“Data” | 79 | ||
“Quantiles” | 79 | ||
Numerical Check | 80 | ||
2.5 ORDINARY AND UNIVERSAL KRIGING | 81 | ||
2.5.1 Summary | 81 | ||
2.5.2 Code operation | 82 | ||
2.5.3 Ordinary Kriging for 2 stations | 82 | ||
Theory | 82 | ||
“Krige2” subroutine | 83 | ||
Numerical Check | 84 | ||
2.5.4 Universal Kriging for 3 stations | 85 | ||
Theory | 85 | ||
“Krige3U” subroutine | 85 | ||
Numerical Check | 86 | ||
2.6 BLOCK KRIGING | 87 | ||
2.6.1 Summary | 87 | ||
2.6.2 Code operation | 88 | ||
2.6.3 Theory | 89 | ||
2.6.4 Modules | 91 | ||
“Krige” | 91 | ||
“Functions” | 92 | ||
Numerical check | 92 | ||
2.6.5 Controls | 94 | ||
Option buttons | 94 | ||
“Point3” Spin buttons | 94 | ||
“Area” Spin buttons | 94 | ||
“Range” Spin button | 94 | ||
“Sill” Spin button | 95 | ||
“Nugget” Spin button | 95 | ||
3.0 Groundwater Analysis | 96 | ||
3.1 GROUNDWATER LEVELS BY POINT AND BLOCK KRIGING | 97 | ||
3.1.1 Summary | 97 | ||
3.1.2 Code operation | 98 | ||
“Load data” area | 98 | ||
“Trend surface” area | 98 | ||
“Semivariogram” area | 99 | ||
“Kriged surface” area | 99 | ||
Summary of results | 99 | ||
3.1.3 Modules | 100 | ||
“Trends” | 100 | ||
“Data” | 101 | ||
“Krige” | 103 | ||
Numerical check | 103 | ||
3.1.4 Aspects of semivariogram theory | 104 | ||
Covariance-semivariance relation | 104 | ||
Stationarity | 105 | ||
3.2 CONFINED AND UNCONFINED AQUIFERS | 107 | ||
3.2.1 Summary | 107 | ||
3.2.2 Code operation | 108 | ||
3.2.3 Theory | 108 | ||
Confined aquifer | 108 | ||
Partially confined aquifer | 109 | ||
Well pumping from an unconfined aquifer | 110 | ||
3.2.4 Modules | 111 | ||
“Aquifer” | 111 | ||
“Well” | 111 | ||
Numerical check | 113 | ||
3.3. GROUNDWATER FLOW BY FINITE DIFFERENCE | 114 | ||
3.3.1 Summary | 114 | ||
3.3.2 Code operation | 115 | ||
3.3.3 Theory | 116 | ||
Well drawdown for a confined aquifer | 116 | ||
Laplace and Poisson equations | 117 | ||
Solution by finite difference | 118 | ||
Boundary conditions | 118 | ||
Iterative methods | 119 | ||
3.3.4 Modules | 120 | ||
“Well” | 120 | ||
“Drawdown” | 121 | ||
4.0 Precipitation | 122 | ||
4.1 DESIGN LOCATION OF RAINFALL GAUGES | 123 | ||
4.1.1 Summary | 123 | ||
4.1.2 Code operation | 124 | ||
Summary of results | 124 | ||
Kriging 11 stations | 124 | ||
Rainfall direction-elevation trend | 125 | ||
Kriging 16 stations | 126 | ||
4.1.3 Modules | 126 | ||
Sheet1 (Run) object | 126 | ||
“Data” | 127 | ||
“Functions” | 128 | ||
“Krige” | 128 | ||
“Rainfall” | 128 | ||
“Trends” | 128 | ||
Numerical check | 128 | ||
4.2 MEAN CATCHMENT RAINFALL AND ERROR | 129 | ||
4.2.1 Summary | 129 | ||
4.2.2 Code operation | 130 | ||
Summary of results | 130 | ||
Kriging 39 stations | 130 | ||
Kriging 349 stations | 131 | ||
4.2.3 Modules | 132 | ||
“Data” | 132 | ||
“Functions” | 133 | ||
“Krige” | 133 | ||
“Rainfall” | 133 | ||
“Trends” | 133 | ||
Alternative Data | 133 | ||
4.2.4 Regional standard error | 134 | ||
Theory | 134 | ||
Numerical check | 135 | ||
Discussion of the method | 136 | ||
4.3 RAINFALL DEPTH, DURATION AND FREQUENCY | 137 | ||
4.3.1 Summary | 137 | ||
4.3.2 Code operation | 138 | ||
4.3.3 Procedure for the single station data | 138 | ||
Annual maxima | 138 | ||
Gumbel reduced ordinates | 139 | ||
“Growth” curve | 139 | ||
4.3.4 Procedure for the FEH method | 140 | ||
Brief description | 140 | ||
The DDF model | 140 | ||
These FEH-DDF values were directly calculated as worksheet functions in the “FEH” worksheet. If a station is changed, the 6 variables are changed accordingly from the FEH tabulated data. Note that the variable values must not be deleted in the worksheet, | 141 | ||
Discussion | 141 | ||
4.3.5 Modules | 142 | ||
“Data” | 142 | ||
“Hourly” | 142 | ||
“Growth” | 143 | ||
“Solve” | 143 | ||
5.0 Surface Runoff | 144 | ||
5.1 ROUND-NOSED, HORIZONTAL BROAD-CRESTED WEIR | 145 | ||
5.1.1 Summary | 145 | ||
5.1.2 Code operation | 146 | ||
5.1.3 Theory | 147 | ||
Critical depth | 147 | ||
Critical flow over a weir | 148 | ||
Design standards | 149 | ||
Boundary roughness at the weir crest | 150 | ||
Velocity coefficient | 150 | ||
5.1.4 Modules | 151 | ||
“Weir” | 151 | ||
“Levels” | 152 | ||
5.2 FLOOD FREQUENCY USING ANNUAL MAXIMUM FLOWS | 153 | ||
5.2.1 Summary | 153 | ||
5.2.2 Code operation | 154 | ||
5.2.3 Procedure | 155 | ||
Frequency distributions | 155 | ||
Design hydrograph | 155 | ||
5.2.4 Modules | 157 | ||
“Data” | 157 | ||
“GLO” | 157 | ||
“Charts” | 157 | ||
“Hydrograph” worksheet | 158 | ||
6.0 Hydrologic Cycle | 160 | ||
6.1 RAINFALL-RUNOFF USING THE FEH METHOD | 161 | ||
6.1.1 Summary | 161 | ||
6.1.2 Code operation | 162 | ||
The Hydrological Cycle | 162 | ||
Code events | 163 | ||
6.1.3 Procedure | 164 | ||
1. Unit Hydrograph | 164 | ||
Design storm duration | 165 | ||
3. Design storm depth | 165 | ||
4. Design storm profile | 166 | ||
5. Standard percentage runoff | 167 | ||
6. Dynamic percentage runoff | 167 | ||
Total runoff hydrograph | 168 | ||
8. Flood peak frequency | 168 | ||
6.1.4 Modules | 168 | ||
“Shapes” | 168 | ||
“Hydrology” | 169 | ||
Alternative Data | 170 | ||
6.2 RAINFALL-RUNOFF USING THE SCS METHOD | 172 | ||
6.2.1 Summary | 172 | ||
6.2.2 Code operation | 173 | ||
Soil groups | 173 | ||
The curve number expert system | 174 | ||
Computation and Design areas | 174 | ||
6.2.3 Procedure | 175 | ||
Design storm depth | 175 | ||
Design storm profile | 176 | ||
Runoff hyetograph | 177 | ||
Discussion | 178 | ||
6.2.4 Modules | 179 | ||
Subroutines in the “Sheet1 (Run)” object | 179 | ||
“CN” | 180 | ||
“Hydrology” | 180 | ||
7.0 Reservoir Design | 182 | ||
7.1 RESERVOIR ROUTING OF FLOODS | 183 | ||
7.1.1 Summary | 183 | ||
7.1.2 Code operation | 184 | ||
7.1.3 Theory | 185 | ||
River inflow rating curve | 185 | ||
Spillway outflow rating curve | 185 | ||
Reservoir routing | 186 | ||
Storage curve | 186 | ||
7.1.4 Modules | 187 | ||
“Flows” | 187 | ||
“Drawings” | 188 | ||
Numerical check | 188 | ||
7.2 RESERVOIR STORAGE DESIGN | 190 | ||
7.2.1 Summary | 190 | ||
7.2.2 Code operation | 191 | ||
7.2.3 Discussion | 192 | ||
7.2.4 Modules | 192 | ||
“Hydrograph” | 192 | ||
“ComputeTangent” | 193 | ||
“ComputeYieldCurves” | 194 | ||
Numerical check | 195 | ||
EXERCISES | 196 | ||
Chapter 1. Visual Basic for Applications | 196 | ||
Chapter 2. Statistics and Geostatistics | 197 | ||
Chapter 3. Groundwater analysis | 198 | ||
Chapter 4. Precipitation | 198 | ||
Chapter 5. Surface runoff | 199 | ||
Chapter 6. Hydrologic cycle | 200 | ||
Chapter 7. Reservoir design | 200 | ||
BIBLIOGRAPHY | 201 | ||
Computing | 201 | ||
Statistics | 201 | ||
Geostatistics | 201 | ||
Hydrology | 202 | ||
INDEX | 204 |