Post Reply 
(33E) Stream Flow Estimate in Culverts
03-08-2019, 01:14 PM (This post was last modified: 03-09-2019 03:55 PM by SlideRule.)
Post: #1
(33E) Stream Flow Estimate in Culverts
An extract from Stream Flow Estimate in Culverts, Oregon State University (School of Forestry), Forest Research Laboratory, Research Note 67, OCT 1981 (4 pgs)

INTRODUCTION
Streamflow measurement in mountain streams is often difficult because the typical succession of pools, riffles, meanders, large rocks, and organic debris creates nonuniform flows throughout a reach. Because channel irregularities, obstructions to flow, and movable beds cause substantial variability in the relationship between elevation of the water surface (stage) and streamflow (discharge), artificial control sections are often constructed in channels where accurate streamflow records are essential. Control sections provide a stable channel geometry and thus a stable stage-to-discharge relation (rating curve). For estimating streamflow on many mountain watersheds where roads cross streams and drainage ways, culverts may substitute for more elaborate artificial control sections. The procedures outlined in this note for calculating the velocity and cross-sectional area of flow and the discharge through culverts may be useful to road engineers, fisheries biologists, hydrologists, foresters, and others needing field estimates of streamflow …
APPENDIX: PROGRAM FOR HP 33E
A program for computing cross-sectional area of flow, average flow velocity, and discharge. Although the program shown is for an HP33E calculator, it can be used with other programmable calculators with minor modifications.


replete w/ description, discussion, equations, tables, illustrations, references & program listing - concise but complete.

BEST!
SlideRule
Find all posts by this user
Quote this message in a reply
03-09-2019, 04:32 AM
Post: #2
RE: (33E) Stream Flow Estimate in Culverts
(03-08-2019 01:14 PM)SlideRule Wrote:  An extract from Stream Flow Estimate in Culverts, Oregan State University (School of Forestry), Forest Research Laboratory, Research Note 67, OCT 1981 (4 pgs)
Very nice program about Hydrology. It is short enough (49 steps) to work well also for HP-25
Pedro
Find all posts by this user
Quote this message in a reply
03-09-2019, 06:57 PM (This post was last modified: 03-09-2019 09:15 PM by Dieter.)
Post: #3
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 04:32 AM)PedroLeiva Wrote:  Very nice program about Hydrology. It is short enough (49 steps) to work well also for HP-25

But it can be improved. :-)

The original version requires the user to prestore not less than three numeric constansts (180, 0,6666... and 1,49). Which also means that the program occupies all available data registers R0...R7.

Here is a version that also does it in 49 steps, but the user only has to provide the characteristic culvert data. The program also uses only R0...R4. There is even enough space to use the more exact conversion constant 1,486 instead of 1,49 (actually this is 0,3048–1/3 = 1,4859...).

Code:
prestore parameters:

culvert radius r [ft]    STO 1
culvert slope s [1]      STO 2
roughness coefficient n  STO 3

01 RAD
02 STO 0
03 RCL 1
04 X<>Y
05 -
06 RCL 1
07 /
08 COS-1
09 STO 4
10 RCL 1
11 x^2
12 *
13 LastX
14 RCL 1
15 RCL 0
16 *
17 -
18 RCL 4
19 SIN
20 *
21 -
22 PAUSE
23 ENTER
24 ENTER
25 RCL 4
26 2
27 *
28 RCL 1
29 *
30 /
31 x^2
32 3
33 1/x
34 Y^X
35 RCL 3
36 /
37 RCL 2
38 SQRT
39 *
40 1
41 .
42 4
43 8
44 6
45 *
46 PAUSE
47 *
48 DEG
49 GTO 00

Enter flow depth d and [R/S] returns three results:

Area A [ft²]
Velocity V [ft/s]
Stream discharge Q [ft³/s]

Example:
Culvert radius = 3 ft, slope = 2%, roughness coefficient = 0,024.

3 STO 1
0,02 STO 2
0,024 STO 3

2 [R/S]
"8,25"
"9,43"
77,77

3,5 [R/S]
"17,12"
"12,19"
208,67


Notes:

1. On start the program switches to radians mode. The last step reverts to standard degrees mode. Simply change this last step if your preferred angle mode is different.

2. The program can be easily modified for regular metric units, i.e. m², m/s and m³/s: simply remove the "1,486 ×" multiplication in step 40...45. This even frees up six lines which may be used for display formatting or other goodies.

To adjust the original program for m², m/s and m³/s simply store 1 in R2.

3. After the program has been run the previously displayed results can still be recalled. On exit...
– X shows the discharge rate Q
– [X⇄Y] returns the area A
– [LastX] recalls the velocity V again.

If two more steps can be squeezed out (e.g. in the metric version) simply add [LastX] [X⇄Y] as the final steps and all three values are nicely returned on the stack.

Edit: this post has seen more than a dozen edits, finally leading to a better program. If you read this post earlier be sure to use the final program version.

Dieter
Find all posts by this user
Quote this message in a reply
03-09-2019, 09:04 PM
Post: #4
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 06:57 PM)Dieter Wrote:  1. This program will not work on the HP25 as the latter features no D–>R degrees to radians conversion.

You can add RAD at the begin of the program and remove these two lines:
Code:
09 ->RAD
26 ->RAD

Edit: Just noticed that you realised this meanwhile.

Quote:BTW the conversion constant actually is 0,3048–1/3 = 1,4859...
If you manage to squeeze out one more step (which is possible) you can replace that 1,49 with the more exact value 1,486. ;-)

We can even use 1.4859 with the HP-25:
Code:
01: 15 33 :    RAD
02: 23 00 :    STO 0
03: 24 01 :    RCL 1
04: 21    :    x<>y
05: 41    :    -
06: 24 01 :    RCL 1
07: 71    :    ÷
08: 15 05 :    cos⁻¹
09: 23 04 :    STO 4
10: 24 01 :    RCL 1
11: 15 02 :    x²
12: 61    :    ×
13: 24 01 :    RCL 1
14: 15 02 :    x²
15: 24 01 :    RCL 1
16: 24 00 :    RCL 0
17: 61    :    ×
18: 41    :    -
19: 24 04 :    RCL 4
20: 14 04 :    sin
21: 61    :    ×
22: 41    :    -
23: 14 74 :    PAUSE
24: 31    :    ENTER
25: 31    :    ENTER
26: 24 04 :    RCL 4
27: 02    :    2
28: 61    :    ×
29: 24 01 :    RCL 1
30: 61    :    ×
31: 71    :    ÷
32: 15 02 :    x²
33: 03    :    3
34: 15 22 :    1/x
35: 14 03 :    yˣ
36: 01    :    1
37: 73    :    .
38: 04    :    4
39: 08    :    8
40: 05    :    5
41: 09    :    9
42: 61    :    ×
43: 24 03 :    RCL 3
44: 71    :    ÷
45: 24 02 :    RCL 2
46: 14 02 :    √x
47: 61    :    ×
48: 14 74 :    PAUSE
49: 61    :    ×

With this I get for your example:

2 [R/S]
"8,25"
"9,43"
77,77

3,5 [R/S]
"17,12"
"12,19"
208,65


Quote:If two more steps can be squeezed out (e.g. in the metric version) simply add [LastX] [X⇄Y] as the final steps and all three values are nicely returned on the stack.

Code:
10 RCL 1
11 x^2
12 *
13 RCL 1
14 x^2

What about:
Code:
10 RCL 1
11 x^2
12 *
13 LASTx

Cheers
Thomas
Find all posts by this user
Quote this message in a reply
03-09-2019, 09:21 PM (This post was last modified: 03-09-2019 09:30 PM by Dieter.)
Post: #5
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 09:04 PM)Thomas Klemm Wrote:  You can add RAD at the begin of the program and remove these two lines:
Code:
09 ->RAD
26 ->RAD

Edit: Just noticed that you realised this meanwhile.

Yes. This is work in progress. ;-)
Switching to RAD mode also makes sure the program runs in a defined angle mode. The previous version(s) required the user to make sure that DEG mode is set.

(03-09-2019 09:04 PM)Thomas Klemm Wrote:  We can even use 1.4859 with the HP-25:

Does the 33E/C not need a final GTO 00 either?
But I wanted to revert the angle mode to degrees, so I would like to keep this final step.

(03-09-2019 09:04 PM)Thomas Klemm Wrote:  
Code:
10 RCL 1
11 x^2
12 *
13 RCL 1
14 x^2

What about:
Code:
10 RCL 1
11 x^2
12 *
13 LASTx

I had the same idea a few minutes ago. Take a look at the listing. ;-)

Dieter
Find all posts by this user
Quote this message in a reply
03-09-2019, 10:30 PM
Post: #6
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 09:21 PM)Dieter Wrote:  I had the same idea a few minutes ago. Take a look at the listing. ;-)

Or then extract \(r\) in the formula for \(A\):

\(A=(\beta r - (r-d)\sin \beta)\cdot r\)

Thus replace lines 10-21 by:
Code:
10: 24 01 :    RCL 1
11: 61    :    ×
12: 24 01 :    RCL 1
13: 24 00 :    RCL 0
14: 41    :    -
15: 24 04 :    RCL 4
16: 14 04 :    sin
17: 61    :    ×
18: 41    :    -
19: 24 01 :    RCL 1
20: 61    :    ×

Cheers
Thomas
Find all posts by this user
Quote this message in a reply
03-10-2019, 10:03 AM
Post: #7
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 10:30 PM)Thomas Klemm Wrote:  Or then extract \(r\) in the formula for \(A\):

This saves one step. But we even can save two more if the two ENTERs are removed and the automatic stack drop with T-copy is used. This allows for a constant of 1,4859, a final DEG to reset the angle mode and a stack that holds all three calculated results:

Code:
01 RAD
02 STO 0
03 RCL 1
04 X<>Y
05 -
06 RCL 1
07 /
08 COS-1
09 STO 4
10 RCL 1
11 *
12 RCL 1
13 RCL 0
14 -
15 RCL 4
16 SIN
17 *
18 -
19 RCL 1
20 *
21 PAUSE
22 RCL 4
23 RCL 1
24 2
25 *
26 *
27 /
28 x^2
29 3
30 1/x
31 Y^X
32 RCL 3
33 /
34 RCL 2
35 SQRT
36 *
37 1
38 .
39 4
40 8
41 5
42 9
43 *
44 PAUSE
45 *
46 LastX
47 X<>Y
48 DEG
49 GTO 00

On exit the stack content is

T: Area A
Z: Area A
Y: Velocity V
X: Discharge rate Q

Dieter
Find all posts by this user
Quote this message in a reply
03-10-2019, 01:53 PM (This post was last modified: 03-10-2019 04:19 PM by Dieter.)
Post: #8
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 09:04 PM)Thomas Klemm Wrote:  
Quote:BTW the conversion constant actually is 0,3048–1/3 = 1,4859...
If you manage to squeeze out one more step (which is possible) you can replace that 1,49 with the more exact value 1,486. ;-)

We can even use 1.4859 with the HP-25:

We can even use the exact value. ;-)

Sometimes you overlook the obvious: since the exact value is a cube root it can be factored into the one that is already calculated.

Code:
01 RAD
02 STO 0
03 RCL 1
04 X<>Y
05 -
06 RCL 1
07 /
08 COS-1
09 STO 4
10 RCL 1
11 *
12 RCL 1
13 RCL 0
14 -
15 RCL 4
16 SIN
17 *
18 -
19 RCL 1
20 *
21 PAUSE
22 RCL 4
23 RCL 1
24 2
25 *
26 *
27 /
28 x^2
29 .
30 3
31 0
32 4
33 8
34 /
35 3
36 1/x
37 Y^X
38 RCL 3
39 /
40 RCL 2
41 SQRT
42 *
43 PAUSE
44 *
45 LastX
46 X<>Y
47 DEG
48 GTO 00

For d=3,5 this yields a flow rate of 208,66 ft³/s.

And finally there is even one unused step left. Add your preferred display format if you like.

For metric units (input in m, output in m², m/s and m³/s) simply remove line 29...34.

Dieter
Find all posts by this user
Quote this message in a reply
03-10-2019, 07:53 PM
Post: #9
RE: (33E) Stream Flow Estimate in Culverts
(03-10-2019 01:53 PM)Dieter Wrote:  And finally there is even one unused step left. Add your preferred display format if you like.

Or use it to free one more data register.
The following version no longer stores the input in R0, instead R0 is now used for the calculated angle which up to now was stored in R4.

Code:
01 RAD
02 ENTER
03 ENTER
04 RCL 1
05 X<>Y
06 -
07 RCL 1
08 /
09 COS-1
10 STO 0
11 RCL 1
12 *
13 X<>Y
14 RCL 1
15 -
16 RCL 0
17 SIN
18 *
19 +
20 RCL 1
21 *
22 PAUSE
23 RCL 0
24 RCL 1
25 2
26 *
27 *
28 /
29 x^2
30 .
31 3
32 0
33 4
34 8
35 /
36 3
37 1/x
38 Y^X
39 RCL 3
40 /
41 RCL 2
42 SQRT
43 *
44 PAUSE
45 *
46 LastX
47 X<>Y
48 DEG
49 GTO 00

Everything else works as in the previous version.

Dieter
Find all posts by this user
Quote this message in a reply
03-10-2019, 10:19 PM
Post: #10
RE: (33E) Stream Flow Estimate in Culverts
(03-09-2019 10:30 PM)Thomas Klemm Wrote:  Or then extract \(r\) in the formula for \(A\):

\(A=(\beta r - (r-d)\sin \beta)\cdot r\)

Or rather extract \(r^2\):

\(A=(\beta - \frac{r-d}{r}\sin \beta)\cdot r^2\)

Because we've already calculated \(\frac{r-d}{r} = \cos \beta\).

Code:
01: 15 33 :    RAD
02: 24 01 :    RCL 1
03: 21    :    x<>y
04: 41    :    -
05: 24 01 :    RCL 1
06: 71    :    ÷
07: 31    :    ENTER
08: 15 05 :    cos⁻¹
09: 23 00 :    STO 0
10: 21    :    x<>y
11: 24 00 :    RCL 0
12: 14 04 :    sin
13: 61    :    ×
14: 41    :    -
15: 24 01 :    RCL 1
16: 15 02 :    x²
17: 61    :    ×
18: 14 74 :    PAUSE
19: 24 00 :    RCL 0
20: 24 01 :    RCL 1
21: 02    :    2
22: 61    :    ×
23: 61    :    ×
24: 71    :    ÷
25: 15 02 :    x²
26: 73    :    .
27: 03    :    3
28: 00    :    0
29: 04    :    4
30: 08    :    8
31: 71    :    ÷
32: 03    :    3
33: 15 22 :    1/x
34: 14 03 :    yˣ
35: 24 03 :    RCL 3
36: 71    :    ÷
37: 24 02 :    RCL 2
38: 14 02 :    √x
39: 61    :    ×
40: 14 74 :    PAUSE
41: 61    :    ×
42: 14 73 :    LASTx
43: 21    :    x<>y
44: 15 32 :    DEG
45: 13 00 :    GTO 00
Find all posts by this user
Quote this message in a reply
03-11-2019, 09:58 AM
Post: #11
RE: (33E) Stream Flow Estimate in Culverts
(03-10-2019 10:19 PM)Thomas Klemm Wrote:  Or rather extract \(r^2\):

Good idea – but it can be done with one step less:

Code:
01 RAD
02 RCL 1
03 X<>Y
04 -
05 RCL 1
06 /
07 COS-1
08 STO 0
09 LastX
10 RCL 0
11 SIN
12 *
13 -
14 RCL 1
15 x^2
16 *
17 PAUSE
18 RCL 0
19 RCL 1
20 2
21 *
22 *
23 /
24 x^2
25 .
26 3
27 0
28 4
29 8
30 /
31 3
32 1/x
33 Y^X
34 RCL 3
35 /
36 RCL 2
37 SQRT
38 *
39 PAUSE
40 *
41 LastX
42 X<>Y
43 DEG
44 GTO 00

Will it get any better ?-)

Dieter
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 5 Guest(s)