Closed sclaw closed 1 month ago
Just another example but for a larger river
100-yr Q is 3172 and incremental normal depth discharges are [1075. , 1340.71, 4471.22, 5771. ]
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.
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.
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.