1.
Using Chadwick provide a detailed step by step procedure to
determine the Level pool reservoir routing.
2. Clearly state the assumptions
3. Present the solution in Excel format
Below I summarize the Chadwick procedure and assumptions (with
references), and then you can download the Excel workbook I made which
contains:
Instructions (step-by-step + assumptions)
Inputs (time, inflow hydrograph)
Area–Elevation–Storage table (example)
Rating curve (Q vs stage) (example)
Routing_Results (routed outflow, storage, stage) computed with the
Modified-Puls / trapezoidal discretization and iterative solution
(Chadwick-style approach)
1) Short, step-by-step procedure (Chadwick / level-pool routing,
summary)
1. Collect data: inflow hydrograph I(t)I(t)I(t) at uniform time steps Δt\
Delta tΔt (m³/s), stage–storage S(H)S(H)S(H) (m³) and rating
Q(H)Q(H)Q(H) (m³/s). Ensure consistent units.
PagePlaceHec.usace.army.mil
2. Set initial conditions: choose initial stage H0H_0H0; compute
S0=S(H0)S_0=S(H_0)S0=S(H0) and Q0=Q(H0)Q_0=Q(H_0)Q0=Q(H0
). PagePlace
3. Use the trapezoidal (Modified-Puls) form of continuity:
Sn+1=Sn+Δt2(In+In+1−Qn−Qn+1)S_{n+1}=S_n+\frac{\Delta t}{2}\
bigl(I_n+I_{n+1}-Q_n-Q_{n+1}\bigr)Sn+1=Sn+2Δt(In+In+1−Qn−Qn+1)
Unknown is Qn+1Q_{n+1}Qn+1 because QQQ depends on stage which
depends on SSS. Hec.usace.army.mil
4. For each time step n→n+1n\to n+1n→n+1, do:
a. Take In,In+1,Sn,Qn.I_n,I_{n+1},S_n,Q_n.In,In+1,Sn,Qn.
b. Guess Qn+1Q_{n+1}Qn+1 (use QnQ_nQn as initial guess).
c. Compute trial Sn+1S_{n+1}Sn+1 from the trapezoidal equation.
d. Invert Sn+1S_{n+1}Sn+1 → Hn+1H_{n+1}Hn+1 (interpolate
stage-storage table).
e. Compute Qn+1new=Q(Hn+1)Q_{n+1}^{\
f. If ∣Qn+1new−Qn+1old∣<|Q_{n+1}^{\text{new}}-Q_{n+1}^{\
text{new}}=Q(H_{n+1})Qn+1new=Q(Hn+1) from the rating curve.
text{old}}|<∣Qn+1new−Qn+1old∣< tolerance accept; else update
guess (optionally relax) and repeat.
5. Store Sn+1,Hn+1,Qn+1S_{n+1},H_{n+1},Q_{n+1}Sn+1,Hn+1
,Qn+1 and advance time step. Continue until hydrograph finished.
(This is exactly the iterative algorithm shown in textbook
treatments.) PagePlaceMaseeh Engineering Department
6. Post-processing: check mass balance (final−initial storage ≈
∑(I−Q)Δt), peak outflow, peak stage, required spillway performance,
etc.
Numerical notes: use a Δt small enough to resolve the hydrograph (rule of
thumb: Δt ≤ Tp/10 or smaller for steep hydrographs), use relaxation if
iterations oscillate, and ensure the stage-storage and rating tables cover
the range of possible S/H values (extend or extrapolate carefully if
needed). Hec.usace.army.mil
2) Assumptions (clear)
Level-pool reservoir: free surface is horizontal; storage is a single-
valued function of stage S(H)S(H)S(H).
Rating curve Q(H)Q(H)Q(H) gives a unique steady discharge for any
stage.
All inflows are represented in the supplied inflow hydrograph (no
unmodelled lateral inflows).
Outlet dynamics are represented by the rating curve (i.e., quasi-
steady assumption for discharge).
Linear interpolation of S(H) and Q(H) between tabulated points
(unless the user supplies higher-order fits).
Numerical: trapezoidal discretization (Modified Puls), iterative
solution tolerance and max iterations chosen by user.
Units consistent (time in seconds for the mass balance
computations; volumes in m³; flows in m³/s).
3) Excel workbook with a worked example
I generated an Excel file with a ready example and the routing
implemented (iterative Modified-Puls / trapezoidal scheme). Download it
here:
Download the workbook — Chadwick_LevelPool_Routing.xlsx
Inside you'll find:
Instructions sheet — full step-by-step algorithm and the
assumptions (same text as above).
Inputs — the example inflow hydrograph (time [hr], inflow [m³/s])
— replace with your data.
Area_Elev_Storage — example Elevation (m), Area (m²) and
computed Storage (m³).
Rating_Curve — example Elevation (m) and Q (m³/s).
Routing_Results — final routed outflow, storage, and stage for
each time step computed by the iterative scheme.
References / Sources used
Chadwick A., Morfett J., Borthwick M. — Hydraulics in Civil and
Environmental Engineering (chapter on flood hydrology and level-
pool routing). PagePlace
USACE / HEC documentation on Level-Pool routing / Modified-Puls
(HEC notes). Hec.usace.army.mil
Worked example material / homework demonstrating level-pool
routing (UT Austin example). Maseeh Engineering Department
If you want any of the following, I can update the workbook right away (no
waiting):
Replace the example hydrograph, S(H) table or rating curve with
your actual data.
Add an Excel-sheet implementation that uses Excel formulas (not
precomputed) so the workbook recalculates inside Excel (I can
create iterative macros or enable iterative calculation settings).
Tighten numerical settings (tolerance, relaxation) or add mass-
balance diagnostics & plots.
Add comments/annotations inside the Excel cells so your team can
edit easily.
Replace the example hydrograph, S(H) table or rating curve with your
actual data.
ChatGPT said:
Thought for a couple of seconds
Great — I can update the workbook for you. Quick question: do you want
to paste the actual data here, or upload a file (CSV / Excel)? Either works.
What I need from you (pick whichever you have):
1. Inflow hydrograph — table with either:
o time (hours or datetime) and inflow (m³/s), or
o time-step Δt and a list of inflows (m³/s).
Example (CSV or pasted):
python-repl
CopyEdit
time_hr,inflow_m3s
0,5
1,10
2,25
...
If you use datetimes, please specify the format and confirm they are
evenly spaced (or provide times for each row).
2. Area–Elevation table (S(H)) — elevation (m) and area (m²) for each
contour level (or storage directly). Example:
python-repl
CopyEdit
elevation_m,area_m2
100,2000
101,2500
102,3000
...
OR supply elevation vs storage:
python-repl
CopyEdit
elevation_m,storage_m3
100,0
101,2250
...
3. Rating curve (Q(H)) — elevation (m) and discharge (m³/s). Example:
python-repl
CopyEdit
elevation_m,Q_m3s
100,0
101,10
102,30
...
Optional but helpful:
Initial stage H0H_0H0 (m) or initial storage; if not given, I’ll use the
minimum elevation in your table.
Desired time units (hours or minutes) and desired tolerance / max
iterations.
If you want the workbook to recalculate inside Excel (formulas /
iterative settings) or you prefer I run the routing and place
computed results in the sheet (static results). I can do either — for
Excel iterative formula approach I may add a small VBA macro or
enable iterative calculation instructions.
Tell me:
Paste the tables directly into the chat, OR
Upload a CSV / XLSX file with sheets named (Inputs, Area_Elev,
Rating) — I’ll read it and update the workbook.
Which way do you want to provide the data?
SCRIBED