Dewberry / ripple1d

Utilities for reuse of HEC-RAS models for NWM
https://ripple1d.readthedocs.io/en/latest/
MIT License
3 stars 0 forks source link

Too much rounding on rating curves #221

Closed sclaw closed 1 month ago

sclaw commented 1 month ago

To generate discharges for the incremental normal depth run, incremented stages are interpolated on the initial _ind rating curve. In line 214 of ras_run.py, that initial rating curve is rounded to the point of inaccuracy. WSE is floored, and discharge is rounded to the nearest tenth of a cfs. I think the flooring is the main accuracy issue, but rounding WSE to an int is still problematic.

image

Collection: mip_17090003 Model: uw_group11 Sub model: 23764721

For this example, the 100-yr discharge is 161.4. Given the stepped rating curve, even running incremental depths of 0.1 foot will yield incremental discharges that make it hard to generate FIM close to the 100-yr discharge. Using 0.1 ft increments: Stages: [2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4] Discharges: [ 56. , 56. , 56. , 56. , 92.7, 94.4, 96.1, 97.8, 99.5, 101.2, 102.9, 104.6, 106.3, 108. , 214. ]

This throws errors in flows2fim if the N-year discharge is very far from the limited discharge set.

sclaw commented 1 month ago

Just another example but for a larger river

image

100-yr Q is 3172 and incremental normal depth discharges are [1075. , 1340.71, 4471.22, 5771. ]

sclaw commented 1 month ago

I dug into this some more using the mip_05120114 collection as an example. With the current code, 431 of 466 sub models had gaps of more than 1.05 feet in their incremented normal depth runs due to the error documented above (usually small gaps, but gaps nonetheless). By removing the rounding/flooring, 0 of the 466 sub models had a gap of more than 1.05 feet in their incremented normal depth runs.