...
What |
---|
pi_ratingcurves.xml | |
Description | Configuration for rating curves at specific locations |
---|---|
schema location |
Entry in ModuleDescriptors
<moduleDescriptor id="Transformation">
<description>General transformation Component</description>
<className>nl.wldelft.fews.system.plugin.transformation.TransformationController</className>
</moduleDescriptor>
Rating Curves Module Configuration
The rating curves module is a standard file (i.e. it has a fixed name) which contains all the rating curves used in your system. A rating curve is referenced by the location id. I.e. each location has a specific rating curve for that point in the river. Furthermore a rating curve can have one or more periods for which it is valid. For each location there can be different rating curves that are valid for different times.
When the transformation module needs to use a rating curve for a given location at a given time, then it will search all rating curves for the given location id. From all rating curves with the given location id, it will use the rating curve that is valid for the given time.
It is also possible to have different rating curves with the same location id, the same rating curve type and with overlapping valid periods, as long as they have different rating curve ids. This makes it possible to have rating curves with valid periods that only have a start date (no end date), which are valid until the next rating curve with the next start date becomes valid. In this case, if multiple rating curves are valid for a given time, then the transformation module will use the rating curve that has the most recent start date in its valid period.
The ratings are either "qhrelationtable" or "simpleratingcurve" refer to by the hydroMeteoFunction in the transformation module. An example of the reference from the transformation module is shown below:
Code Block |
---|
<hydroMeteoFunction function="qhrelationtable" outputVariableId="Flow" useRatingCurve="true" ratingCurveType="LevelToFlow"/>
or
<hydroMeteoFunction function="simpleratingcurve" outputVariableId="Flow" useRatingCurve="true" ratingCurveType="LevelToFlow"/>
|
Rating curve
Figure 1: Overview of rating curve config file
location for which the rating is valid should be the same as in the locations.xml
ratingCurveType you can choose from either LevelToFlow or FlowToLevel
reversible if this option is set to "true" then both level to flow and flow to level calculations with be allowed
ValidPeriod allows you to enter a start and end date for which the rating is valid (e.g. a summer and winter rating). The dates and times can be specified with or without a time zone. Use e.g. 2008-06-20T11:33:00+05:00 for a time in time zone GMT+05:00. Use e.g. 2008-06-20T11:33:00Z for a time in GMT, where the Z means GMT. If a time is specified without a time zone, e.g. 2009-12-01T00:00:00, then the time is assumed to be in local time. Note: 2008-06-20 11:33:00 in time zone GMT+5:00 is physically the same time as 2008-06-20 06:33:00 in GMT.
correction see below
ratingCurveTable see below
ratingCurveEquation see below
correction (not yet implemented)
Figure 2: correction complex type
The correction complex type allows the user to specify a correction technique for unsteady flow (jones equation) or backwater (constant fall method or normal fall method).
jonesEquation the user must specify the minimum h for which the method is valid (h_min and the a, b and c parameters - see below)
The Jones Equation is of the form:
where:
Qm = unsteady discharge
Qc = steady discharge
S0 = energy slope for steady flow
vw = wave velocity
dh/dt = rate of charge of water level in time (m/day)
The adjustment factor 1/S0vw (day/m) varies with water level. This factor is fitted by a parabolic function of h:
for h>hmin
Twin gauge station fall-discharge methods
Stage-fall-discharge or twin gauge station fall-discharge methods are user to include backwater effects on stage-discharge ratings.
In these methods the fall F between the water level at the discharge measuring site and a downstream station is considered as an additional parameter, to account for the effect of water surface slope on discharge. Both the constant fall method and normal fall method are based on the following equation:
Where:
Qm = backwater affected discharge
Qr = reference discharge
Fm = measured fall
Fr = reference fall
p = power, with 0.4 < p < 0.6
constant fall method
In this method the reference fall Fr is taken as a constant. A special case of the constant-fall method is the unit-fall method, where Fr = 1m is applied. In the computational procedure a value for Fr is assumed. Then a rating curve is fitted to the values:
normal fall method
In this method the reference fall (Fr) is modelled as a function of the water level; Fr = f(h). This function is represented by a parabola:
In Fews you should specify the a, b and c parameters and also a value of hmin, below which the backwater correction is not valid.
Rating Curve Table
ratingCurveTable this allows you to simply enter the pairs of q and h values.
...
</ratingCurve>
<ratingCurve ratingCurveId="TheBigRiver">
<location>
<locationId>X1123</locationId>
</location>
<ratingCurveType>LevelToFlow</ratingCurveType>
<reversible>true</reversible>
<ratingCurveTable>
<ratingCurveTableRecord flow="0.100" level="0.054"/>
<ratingCurveTableRecord flow="0.500" level="0.155"/>
<ratingCurveTableRecord flow="1.000" level="0.244"/>
<ratingCurveTableRecord flow="1.479" level="0.317"/>
</ratingCurveTable>
</ratingCurve>
Rating Curve Equation
A rating curve equation can be defined per section of the rating curve using the lowerLevel and UpperLevel tags. The equation can be in the form of a power equation or a parabola. The form of the equation:
Power equation
Parabola
In Fews you should configure the appropriate values for a, b and c
Here is an example:
...
Configuration
The transformation stageDischarge/ratingCurve uses rating curves according to the schema pi_ratingcurves.xsd.
Rating curves can be stored in the folder RegionConfigFiles in the file RegionConfig.xml , or can be imported in the FEWS database with TimeSeriesImport module, import type “pi_ratingcurves”
Rating Curve schema
The schema of the pi-ratingcurves can be found at: https://fewsdocs.deltares.nl/schemas/version1.0/pi-schemas/pi_ratingcurves.xsd
Header
The header element contains the metadata about the rating curve. Below an overview of the available elements.
- locationId: The location id for which the rating curve is valid
- qualifierId: The allows the configurator to add 1 or more qualifier to the definition of the rating curve. This is useful when for 1 location more rating curves are valid. The locationId and the configured qualifiers define the id of the rating curve.
- startDate: This element defines when the rating curve becomes active.
- endDate: This (optional) element defines until when the rating curve is active.
- longName: Optional descriptive name
- stationName: Optional station name
- stageUnit: Definition of the stage unit
- dischargeUnit: Definition of the discharge unit
- comment: This section allows to define a (optional comment) for the rating curve. If a comment is defined the comment will be shown in the TimeSeriesDialog when viewing the rating curve.
- creationDate: The date on which the rating curve was created.
- creationTime: The time on which the rating curve was created.
- region: The description of the region. This is needed when the id of the rating curve is the same in different regions.
- properties: Optional properties of the rating curve
Table
The table contains the actual description of the Table rating curve.
- InterpolationMethod: Two options are available:linear and logaritmic. When linear is selected the calculation is done by the regular linear method.
The slope will be computed as:
The discharge can be calcuted from the stage by using the following equation:
When the logartimic option is selected the slope will be calculated by:
The discharge can be computed by using the following equation:
The stage can be computed by using the following equation:
When an offset is defined the stage can be calculated by:
minStage
The minimum stage which is allowed for this rating curve. If the minStage is configured as 0.2m and a stage of 0.1m is used as input to calculate a discharge.
than the actual stage used in the calculation will not 0.1m but 0.2m. If the rating curve is used in a discharge to stage calculation and the calculated stage is lower than
the minStage than the calculated stage will be set to the minStage value. If, for example, the minStage is set 0.2m and the calculated stage is equal to 0.1m the
actual calculated stage will be corrected to 0.2m to ensure that no stages lower than minStage are calculated.
This option is usually used to limit the stage value calculated when using extrapolation.
maxStage
The maximum stage which is allowed for this rating curve.
If the maxStage is configured as 5.2m and a stage of 5.5m is used as input to calculate a discharge,
then the actual stage used in the calculation will not be 5.5m but 5.2m. If the rating curve is used in a discharge to stage calculation and the calculated stage is higher than
the maxStage than the calculated stage will be set to the maxStage value. If, for example, the maxStage is set 5.2m and the calculated stage is equal to 5.5m the
actual calculated stage will be corrected to 5.2m to ensure that no stages higher than maxStage are calculated. It is possible to configure the maxStage as INF which means that the
maxStage is set to infinite. Which is the same as defining no maximum stage
row
The row element can be used to define the rows of the stage-discharge table. Each row has a mandatory stage and discharge element. An optional offset can be added.
If a row doesn't include an offset element then the previous defined offset will be used.
powerEquation (Since 2018.02)
PowerEquation can be used as PI Rating cuve since Delft-FEWS version 2018.02.
The powerEquation uses the following equations:
discharge = cr * (stage - alpha)^ beta + Q0
stage = (discharge/cr)^(1/beta) + alpha
where ‘cr’ and ‘beta’ are rating curve constants, ‘alpha’ is a constant which represents the stage corresponding to zero discharge and Q0 is optional shifting constant.
To show the stageToDischargePowerEquation rating curves in the TimeSeriesDisplay, a table is generated on the fly from the power equations.
For each equation ten stage values are generated using increment (max stage – min stage) /10 , and for each stage a discharge is computed. Please note that this table is only used in the display and not in TransformationModule computations.