module#
A reservoir with attached (aggregated) plant.
Input connections |
|
Output connections |
|
License |
PRODRISK_OPEN |
Release version |
9.6.1 |
Introduction#
The module is an aggregated object combining a reservoir with an attached plant. The latter is an aggregated description of all generators in the plant. The following input attributes are mandatory:
Maximum volum of the reservoir.
Dummy modules#
It is possible to set either the volume or the production to zero to model a plant without storage or a reservoir without a plant, respectively.
Examples#
Attributes#
| Object type | Attribute name | Python data type | Core data type | Time series completion | unit | Default value | I/O | License | Version added | Description |
|---|
| Loading ITables v2.3.0 from the internet... (need help?) |
res_ramp_piecewise_linear#
If 1, reservoir ramping limits are linearly interpolated between given weeks. If zero (default), the limits are kept constant until next given week. Note that the value within a week is constant. (unit: none, default: 0)
maintenance#
Time series used to specify the reduction in the power output of the module due to maintenance. This attribute is not required input and may be left out if no maintenance is scheduled. (unit: MW, time series completion: step curve)
BufferReservoirCostDPrice#
Cost of deviating from the guideline curve for buffer reservoirs (unit: EUR/MWh, time series completion: instantaneous)
min_bypass_violation#
Violations of minimum bypass limit. (unit: m3/s, time series completion: step curve)
pmax#
Module max production, hourly resolution. If the resolution for the input series is finer than the price period resolution then the value becomes an average of all the hourly input contributions to that price point. (unit: MW, time series completion: step curve)
MinBypassCostVolume#
Cost of violating minimum bypass constraint (unit: EUR/1000m3, time series completion: instantaneous)
min_discharge_hourly#
Time dependent minimum discharge with hourly resolution. If the resolution for the input series is finer than the price period resolution then the value becomes an average of all the hourly input contributions to that price point. (unit: m3/s, time series completion: step curve)
MinDischargeCostEnergy#
Cost of violating minimum discharge constraint (unit: EUR/MWh, time series completion: instantaneous)
ForwardBypassCostDPrice#
Cost of bypassing in forward simulation (unit: EUR/MWh, time series completion: instantaneous)
rampingDown#
Used to restrict the maximal decrease in reservoir volume per week. It is possible to give in one, both ore none of the ramping attributes, as they are not required input to Prodrisk. The unit is specified with the attribute res_ramp_unit. To toggle off the ramping constraint after a certain point in time, the value -1 should be given in the time series. (unit: Mm3/week, time series completion: step curve)
refVol#
Time-dependent reservoir guideline curves (for buffer reservoirs). (unit: %, time series completion: interpolation)
expected_water_value_indvan_prd#
Expected global water value at start time (to ocean) (unit: Ec /m3)
scenario_start_volumes#
Reservoir start volume per scenario. If used as input, the number of values must match the number of scenarios. This input overwrites the value of startVol, which will be set to the average of all scenarios. When running a serial simulation in -sim or -forts mode, the start volumes found in the previous run (water value calculation) should be used. (unit: Mm3)
max_discharge_series_id#
ID of the inflow series forming the basis for this restriction (unit: none)
minBypass#
Time-dependent minimal water bypass (unit: m3/s, time series completion: interpolation)
ForwardBypassCostVolume#
Cost of bypassing in forward simulation (unit: EUR/1000m3, time series completion: instantaneous)
min_discharge_violation#
Violations of minimum discharge limit. (unit: m3/s, time series completion: step curve)
localEnergyEquivalentConst#
Local energy equivalent (unit: kWh/m3)
head_coefficients_used_in_run#
From cut calculations run two main iterations (no head coefficients given), this contains the head coefficients from the first main iteration. From runs with head coefficient input, this attribute contains the input series, as HeadCoefficient is overwritten with new coefficients. (unit: kEUR/Mm3, time series completion: step curve)
production#
Output production (unit: MW, time series completion: step curve)
reserve_down_allocation#
Output reserve down allocation (unit: MW, time series completion: step curve)
energyEquivalent#
Time-dependent global energy equivalent (to ocean) (unit: kWh/m3, time series completion: interpolation)
RampingDownCostVolume#
Cost of violating ramping down constraint. (unit: EUR/1000m3, time series completion: step curve)
min_bypass_series_id#
ID of the inflow series forming the basis for this restriction. (unit: none)
number#
Module number (unit: none)
nominalHead#
Net nominal head used as reference height for the PQcurve (unit: m)
plantName#
Module plant name (unit: none)
MinReservoirCostEnergy#
Cost of violating minimum reservoir constraint (unit: EUR/MWh, time series completion: instantaneous)
BackwardBypassCostVolume#
Cost of bypassing in backward recursion (unit: EUR/1000m3, time series completion: instantaneous)
MaxReservoirCostDPrice#
Cost of violating maximum reservoir constraint (unit: EUR/MWh, time series completion: instantaneous)
max_discharge_hourly#
Time dependent maximum discharge with hourly resolution. If the resolution for the input series is finer than the price period resolution then the value becomes an average of all the hourly input contributions to that price point. (unit: m3/s, time series completion: step curve)
BackwardSpillingCostVolume#
Cost of spilling in backward recursion (unit: EUR/1000m3, time series completion: instantaneous)
submersion#
Module outlet line height in MASL. (unit: m)
reservoirVolume#
Output reservoir volume (unit: Mm3, time series completion: interpolation)
regulationType#
0 = buffer res 1 = reguation res (unit: none)
cutCoeffs#
Cut coefficients of the module production are given as an array of XY tables. Each table in the array corresponds to a price level in ascending order. The x values are all 0, while the y values represent the coefficients. (unit: kEUR/Mm3)
energyEquivalentConst#
Global energy equivalent (to ocean) (unit: kWh/m3)
volHeadCurve#
the relation between volume (Mm3) and head (MASL) of the module reservoir. This is not a required input attribute, and nominalHead and submersion should be set to 0 if the volHeadCurve is left out. The PQcurve will not be scaled by the height difference in these cases. (unit: Mm3 and m)
shopWaterValues#
Water values (reservoir cut coefficients) for the SHOP cuts. (unit: none)
local_water_value_indvan_prd#
Local water value at start time (unit: EUR/MWh)
n_negative_inflows_back#
Number of occurances of negative inflows in last backward iteration (unit: #, time series completion: step curve)
max_reserve_down_cost#
Violations of maximum reserve down allocation (unit: MW, time series completion: step curve)
min_vol_hourly#
Time dependent minimum volume with hourly resolution. If the resolution for the input series is finer than the price period resolution then the value becomes an average of all the hourly input contributions to that price point. Note that this attribute is not compatible with reservoirMinRestrictionType = 1 (soft restriction) (unit: Mm3, time series completion: step curve)
min_discharge_violation_last_backward#
Violations of minimum discharge limit in last backward iteration (unit: m3/s, time series completion: step curve)
min_discharge_violation_extra_cut#
Violations of minimum discharge limit in extra cut generation (unit: m3/s, time series completion: step curve)
BufferReservoirCostEnergy#
Cost of deviating from the guideline curve for buffer reservoirs (unit: EUR/MWh, time series completion: instantaneous)
rsvMax#
Max reservoir volume (unit: Mm3)
BackwardSpillingCostEnergy#
Cost of spilling in backward recursion (unit: EUR/MWh, time series completion: instantaneous)
average_neg_inflow_back#
Average negative inflow in last backward iteration (unit: Mm3, time series completion: step curve)
waterValueConversionFactors#
Local energy equivalents at the best efficiency point which the SHOP cuts refer to. (unit: GWh/Mm3)
rampingUp#
Used to restrict the maximal increase in reservoir volume per week. It is possible to give in one, both ore none of the ramping attributes, as they are not required input to Prodrisk. The unit is specified with the attribute res_ramp_unit. To toggle off the ramping constraint after a certain point in time, the value - 1 should be given in the time series. (unit: Mm3/week, time series completion: step curve)
n_different_inflows#
Number of calculated inflows in last backward recursion (unit: #, time series completion: step curve)
meanUnregInflow#
Mean unreg. inflow per year (unit: Mm3)
topology#
Describes where the water running through the module will end up. Each of the three entries is the module number of the module where the water will flow: [discharge, bypass, owerflow]. Module number 0 is reserved for the sea (water is lost out of the system). (unit: none)
max_reserve_up_cost#
Violations of maximum reserve up allocation (unit: MW, time series completion: step curve)
RampingDownCostDPrice#
Cost of violating ramping down constraint (unit: EUR/MWh, time series completion: step curve)
bypass#
Output bypass (unit: m3/s, time series completion: step curve)
PQcurve#
Production-discharge table for the power production. The PQ curve can be omitted for modules without any production (pure reservoirs). The curve should be based on nominal head. (unit: MW and m3/s)
localInflow#
Output inflow (unit: m3/s, time series completion: step curve)
ForwardBypassCostEnergy#
Cost of bypassing in forward simulation (unit: EUR/MWh, time series completion: instantaneous)
MinDischargeCostVolume#
Cost of violating minimum discharge constraint (unit: EUR/1000m3, time series completion: instantaneous)
RampingUpCostVolume#
Cost of violating ramping up constraint. (unit: EUR/1000m3, time series completion: step curve)
maxDischarge#
Time-dependent maximal discharge (unit: m3/s, time series completion: interpolation)
max_vol_hourly#
Time dependent maximum volume with hourly resolution. If the resolution for the input series is finer than the price period resolution then the value becomes an average of all the hourly input contributions to that price point. (unit: Mm3, time series completion: step curve)
probability_of_negative_inflow_back#
Probability of occurances of negative inflows in last backward iteration (unit: 1, time series completion: step curve)
min_discharge_series_id#
ID of the inflow series forming the basis for this restriction. (unit: none)
start_cost#
Module startup costs (unit: kEUR, time series completion: step curve)
ForwardSpillingCostDPrice#
Cost of spilling in forward simulation (unit: EUR/MWh, time series completion: instantaneous)
RampingUpCostDPrice#
Cost of violating ramping up constraint. (unit: EUR/MWh, time series completion: step curve)
BufferReservoirCostVolume#
Cost of deviating from the guideline curve for buffer reservoirs (unit: EUR/1000m3, time series completion: instantaneous)
MeanReservoirTrajectories#
Mean reservoir trajectories, used to scale the PQ curve with head in backward iterations. (unit: Mm3, time series completion: interpolation)
min_vol_violation_last_backward#
Violations of minimum volume limit in last backward iteration (unit: Mm3, time series completion: step curve)
MaxReservoirCostVolume#
Cost of violating maximum reservoir constraint (unit: EUR/1000m3, time series completion: instantaneous)
maxBypass#
Time-dependent maximal water bypass (unit: m3/s, time series completion: step curve)
production_cost#
Production cost step series (unit determined by production_cost_type) (unit: none, time series completion: interpolation)
max_bypass_series_mean#
Mean year scalar applied to the inflow series to form the restriction (unit: none)
HeadCoefficient#
Head coefficients represent the expected added value of storing water in the reservoirs due to head. (unit: kEUR/Mm3, time series completion: step curve)
maxVol#
Time-dependent maximal volume (unit: Mm3, time series completion: interpolation)
minDischarge#
Time-dependent minimal discharge (unit: m3/s, time series completion: interpolation)
maxDischargeConst#
Max discharge (unit: m3/s)
reservoirMinRestrictionType#
Min reservoir restriction type. can have three different values: 0 = no restriction, 1 = soft restriction (a less strict hard constraint is calculated based on average inflow and known upstream discharge/bypass due to minimum discharge limits), 2 = absolute restriction (violations penalized with given ). Note that option 1 (‘soft’ restriction) is not compatible with the attribute min_vol_hourly. (unit: none)
BackwardBypassCostEnergy#
Cost of bypassing in backward recursion (unit: EUR/MWh, time series completion: instantaneous)
name#
Module name (unit: none)
min_bypass_violation_extra_cut#
Violations of minimum bypass limit in extra cut generation (unit: m3/s, time series completion: step curve)
production_cost_type#
Production cost type (1-3) 1: fixed EUR/MW, 2: percent of spot, 3: delta to spot in EUR/MW (unit: none)
meanRegInflow#
Mean reg. inflow per year (unit: Mm3)
discharge#
Output discharge (unit: m3/s, time series completion: step curve)
min_discharge_series_mean#
Mean year scalar applied to the inflow series to form the restriction (unit: none)
BackwardSpillingCostDPrice#
Cost of spilling in backward recursion (unit: EUR/MWh, time series completion: instantaneous)
res_ramp_unit#
Unit of reservoir ramping, if given. Allowed values: Mm3/h, Mm3/week (default), m/h, m/week, cm/h, cm/week. If length (m or cm) per time is used, the ramp rate will reflect the change in surface evaluated at the defined nominal height. (unit: none, default: Mm3/week)
min_vol_violation#
Violations of minimum volume limit. (unit: Mm3, time series completion: step curve)
minVol#
Time-dependent minimal volume (unit: Mm3, time series completion: interpolation)
MinBypassCostEnergy#
Cost of violating minimum bypass constraint (unit: EUR/MWh, time series completion: instantaneous)
overflow#
Output overflow (unit: m3/s, time series completion: step curve)
res_ramp_intra_week#
If 1, reservoir ramping is considered in each water balance within weeks. If 0 (default), reservoir ramping is only included at the end of the week, i.e. weekly average ramping satisfies constraints. Activating this option can be mkuch more time consuming. (unit: none, default: 0)
MinReservoirCostVolume#
Cost of violating minimum reservoir constraint (unit: EUR/1000m3, time series completion: instantaneous)
MaxReservoirCostEnergy#
Cost of violating maximum reservoir constraint (unit: EUR/MWh, time series completion: instantaneous)
reserve_up_allocation#
Output reserve up allocation (unit: MW, time series completion: step curve)
max_reserve_up#
Maximum reserve up allocation (unit: MW, time series completion: step curve)
max_discharge_series_mean#
Mean year scalar applied to the inflow series to form the restriction (unit: none)
maxBypassConst#
Max bypass (unit: m3/s)
min_bypass_violation_last_backward#
Violations of minimum bypass limit in last backward iteration (unit: m3/s, time series completion: step curve)
ForwardSpillingCostEnergy#
Cost of spilling in forward simulation (unit: EUR/MWh, time series completion: instantaneous)
hydraulicType#
Describes any hydraulic coupling between modules. The first element is a code for the type of hydraulic coupling: 100 = modules above same station, no free flow between them, 120 = modules above same station, flow between them restricted by coupling capacity, 130 = modules above same station, flow between them controlled by strategy, 200 = coupled modules, flow between them restricted by coupling capacity, 300 = coupled modules, flow between them controlled by strategy. The second element is an id shared between the modules in the coupling, The third element is the coupling capacity in m3/s (integer value). If the module is not part of a hydraulic coupling, this attribute may be left out or entered with all numbers set to 0. (unit: none)
reservoirMaxRestrictionType#
Max reservoir restriction type. can have three different values: 0 = no restriction, 1 = soft restriction (a less strict hard constraint is calculated based on average inflow and known upstream discharge/bypass due to minimum discharge limits), 2 = absolute restriction (violations penalized with given ). (unit: none)
global_water_value_indvan_prd#
Global water value at start time (to ocean) (unit: EUR/MWh)
min_vol_violation_extra_cut#
Violations of minimum volume limit in extra cut generation (unit: Mm3, time series completion: step curve)
RampingDownCostEnergy#
Cost of violating ramping down constraint (unit: EUR/MWh, time series completion: step curve)
max_bypass_series_id#
ID of the inflow series forming the basis for this restriction (unit: none)
ForwardSpillingCostVolume#
Cost of spilling in forward simulation (unit: EUR/1000m3, time series completion: instantaneous)
MinReservoirCostDPrice#
Cost of violating minimum reservoir constraint (unit: EUR/MWh, time series completion: instantaneous)
MinBypassCostDPrice#
Cost of violating minimum bypass constraint (unit: EUR/MWh, time series completion: instantaneous)
localEnergyEquivalent#
Time-dependent local energy equivalent (unit: kWh/m3, time series completion: interpolation)
reservoirReferenceLevels#
Reservoir reference levels for the standard SHOP cuts. (unit: none)
BackwardBypassCostDPrice#
Cost of bypassing in backward recursion (unit: EUR/MWh, time series completion: instantaneous)
MinDischargeCostDPrice#
Cost of violating minimum discharge constraint (unit: EUR/MWh, time series completion: instantaneous)
max_reserve_down#
Maximum reserve down allocation (unit: MW, time series completion: step curve)
min_bypass_series_mean#
Mean year scalar applied to the inflow series to form the restriction. (unit: none)
headDependentQMax#
Head correction of the maximum discharge capacity in the final simulation (not in strategy calculation). The x values are the relative head wrt. nominal head (h/h_nom). The y values are maximum flow in m3/s. Prodrisk uses linear interpolation between the points and there cannot be more than 10 points in the list. The corrected maximum discharge value will be the minimum of the original maximum discharge value of the PQ curve and the head dependent maximum discharge value. This is optional input (no correction by default). (unit: m3/s)
connectedSeriesId#
Id of connected inflowSeries (unit: none)
connected_unreg_series_id#
ID number of the unregulated inflow series the module is connected to. (unit: none, default: connectedSeriesID)
maxProd#
Max production (unit: MW)
RampingUpCostEnergy#
Cost of violating ramping up constraint. (unit: EUR/MWh, time series completion: step curve)
startVol#
Reservoir start volume (unit: Mm3)
mean_reservoir_trajectories_used_in_run#
From cut calculations run two main iterations (no head coefficients given), this contains the mean reservoir trajectories from the first main iteration. From runs with head coefficient input, this attribute contains the input series, as MeanReservoirTrajectories is overwritten with new coefficients. (unit: Mm3, time series completion: interpolation)