Rating curves
A rating curve is used to convert water level in river measurements in
a watercourse to discharge. In Mesh we use the formula
to approximate discharge, and we store rating curves as a set of segments where
each segment contains values for the 64 bit floating point factors , ,
and . Additionally each segment stores a 64 bit floating point
x_range_until
value and is valid for a range of values
[x_range_until[i-1], x_range_until[i])
.
For example, with a segment...
x_range_until | a | b | c |
---|---|---|---|
10 | 1.24 | 13.7 | 11.1 |
50 | 11.2 | 1.0 | 6.65 |
100 | 4.27 | 1.55 | 0.87 |
...we'd have the following rating curve function:
Rating curves can change over time because of for example changes in a river due to erosion and sedimentation. Such changes affect the discharge function and the function equation factors need to be adjusted. To reflect that the rating curve segments in Mesh are grouped into rating curve versions. Each version is timestamped with the time at which the version becomes active, and the version is active until the next version, if any, becomes active.
version | x_range_until | a | b | c |
---|---|---|---|---|
2019 | 10 | 1.24 | 13.7 | 11.1 |
2019 | 50 | 11.2 | 1.0 | 6.65 |
2019 | 100 | 4.27 | 1.55 | 0.87 |
2020 | 10 | 3.31 | 11.7 | 12.1 |
2020 | 50 | 10.1 | 1.5 | 5.45 |
2020 | 100 | 5.00 | 1.32 | 0.96 |
2021 | 10 | 2.22 | 12.7 | 10.1 |
2021 | 50 | 11.1 | 1.3 | 5.65 |
2021 | 100 | 3.27 | 2.55 | 0.37 |
In addition each version has an x_range_from
field, with the minimal $x$ value
for the curve. For x < x_range_from
for the given version the f(x) = nan
.
In Mesh rating curve attributes contain a set of rating curve versions.