The Meta Level

River routing - flow at a point that is not a gauge

Generated by build_river_routing.py. The chapter the scheme layer is blocked on: an intake is never at a gauge.

Generated by build_river_routing.py. The chapter the scheme layer is blocked on: an intake is never at a gauge.

The test

Predicting a gauge with its own fitted parameters proves nothing about ungauged points - calibration already did that. So every catchment here is predicted using the median parameters of all the OTHERS, leave-one-out. That is exactly the operation an ungauged intake requires, performed where the answer happens to be known.

  • catchments tested: 9
  • leave-one-out NSE > 0.5: 8 of 9
  • median NSE calibrated 0.72 -> leave-one-out 0.65
  • the cost of being ungauged: 0.07 NSE
the cost of being ungauged
the cost of being ungauged
catchment km2 NSE own NSE regionalised bias % own f regional f
Fenny Castle 60 0.82 0.79 -13.3 0.47 0.60
Milverton 28 0.84 0.74 +15.8 0.56 0.60
Lovington 147 0.73 0.67 -8.8 0.62 0.57
Pen Mill 215 0.73 0.66 +29.8 0.65 0.57
Ashford Mill 89 0.70 0.65 +14.4 0.57 0.59
Halsewater 53 0.68 0.65 -29.2 0.26 0.60
Chiselborough 75 0.69 0.62 -3.9 0.66 0.57
Bishops Hull 244 0.72 0.53 +42.5 0.56 0.60
Somerton 23 0.19 0.07 -75.1 0.63 0.57

What this licenses, and what it does not

Licensed: generating a daily flow series at an ungauged point of known upstream area, with the stated skill above. That is enough to put an availability series at a candidate intake.

Not licensed:

  • stage. Flow is not level. A rating Q = a(h-h0)^b is a property of ONE channel cross-section and does not regionalise. Only two sites have co-located flow and stage under 300 m (Ashford Mill, Halsewater), so stage is available there and nowhere else until more ratings exist.
  • peaks. The timestep is daily and flood peaks are sub-daily. The 15-minute stage on disk is the refinement, and the split f must NOT be re-tuned to absorb a timestep error.
  • nested catchments. Summing gauges double-counts shared water - see compare_04c_nesting.py, which exists because run 04 did exactly that. Accumulate on the network, never by addition.
  • tidal reaches. Below the tidal limit, level is set by the sea and gates, not by upstream flow. Nothing here knows that.

← All notes · More from Aquifer Storage