pump

Contents

pump#

A hydropower pumping unit which consumes electricity to pump water between reservoirs

Input connections

plant, reserve_group, commit_group, busbar, pump_reserve_capability

Output connections

pump_reserve_capability, busbar, commit_group, reserve_group, plant

License

SHOP_OPEN

Release version

13.0.0.a

Introduction#

The pump object is in many ways analogous to the generator object, but in reverse. Please consult the generator documentation for general topics not covered here (like unit commitment), as they are very similar for pumps. Instead of producing power from falling water, the pump consumes power to lift water. The power consumed by a pump is calculated by the following equation:

\[p = \frac{\rho \cdot g \cdot h \cdot q}{\eta_{\textup{gen}}(p) \cdot \eta_{\textup{turb}}(q, h)},\]

where \(p\) is the power, \(\rho\) is the density of water, \(g\) is the acceleration due to gravity, \(h\) is the effective head of the generator, \(q\) is the flow of water through the turbine, \(\eta_{\textup{gen}}\) is the efficiency of the generator and \(\eta_{\textup{turb}}\) is the efficiency of the turbine. Unlike the generator, the power consumed by the pump increases with lower efficiency.

Required input#

Similar to the generator object, a pump must be connected to a plant object. The plant is in turn connected to the rest of the system which decides the overall system topology of how water flows. A pump must have a specified the penstock number, minimum consumption, maximum consumption, nominal consumption, and turbine efficiency curves. A generator efficiency curve is also common input.

Binary pumps#

A binary pump can only operate with a constant rotational speed, which means that it has a single operating point for a given head in SHOP. Binary pumps can be defined in SHOP by only inputting a single point on each turbine efficiency curve for the pump. This is shown in the binary pump example.

Reversible turbines#

Reversible turbines can operate as both generators and pumps. How these are modelled SHOP is covered in the generator documentation and the reversible turbine example.

Reserve capacity#

Some pumps are able to deliver ancillary services, and reserve capacity can therefore be allocated on pumps in SHOP. Please see the generator and reserve_group objects for further information. Note that a upward reserve capacity on pumps is capacity for decreasing the consumption of the pump, which is the mirrored opposite of delivering upward reserves on generators (increasing production). The same is true for downward reserve capacity.

Examples#

References#

  • Short-term hydro scheduling of a variable speed pumped storage hydropower plant considering head loss in a shared penstock [13]

  • Calculation of power compensation for a pumped storage hydropower plant with hydraulic short-circuit operation [11]

Attributes#

initial_state#

Data type: int. Unit: NO_UNIT.

The initial operation state of the pump before the optimization period: -1 = not set; 0 = not running; 1 = running.

penstock#

Data type: int. Unit: NO_UNIT.

The penstock number the pump is connected to.

separate_droop#

Data type: int. Unit: NO_UNIT.

A flag to turn on (1) or off (0, default) the building of separate droop variables for FCR-N, FCR-D up, and FCR-D down for the pump.

p_min#

Data type: double. Unit: MW.

Static minimum consumption for the pump.

p_max#

Data type: double. Unit: MW.

Static maximum consumption for the pump.

p_nom#

Data type: double. Unit: MW.

The nominal consumption that is the rated capacity of the pump.

gen_eff_curve#

Data type: xy. Unit: x: MW and y: %.

The efficiency curve for the machine powering the pump.

turb_eff_curves#

Data type: xy_array. Unit: x: M3/S and y: %.

The turbine efficiency curve(s) as a function of upflow through the pump. Several curves can be specified for different head levels (reference value in the XY) to make the efficiency head-dependent.

maintenance_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump is out for maintenance for a given time step.

startcost#

Data type: timeseries. Unit: NOK.

Pump startup cost for turning on the pump that can vary over time.

startcost_const#

Data type: double. Unit: NOK.

A constant startup cost when turning on the pump in one time step. The timeseries attribute startcost is preferred over startcost_const if both are set.

stopcost#

Data type: timeseries. Unit: NOK.

Pump shutdown cost for turning off the pump that can vary over time.

stopcost_const#

Data type: double. Unit: NOK.

A constant shutdown cost when turning off the pump in one time step. The timeseries attribute stopcost is preferred over stopcost_const if both are set.

committed_in#

Data type: timeseries. Unit: NO_UNIT.

Committed status given by the user used to define the operating status of the pump in the optimization: 0 - committed not to run; 1 - committed to run.

committed_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether to use the input commit status should be used for a given time step or not.

upstream_max#

Data type: timeseries. Unit: METER.

Maximum water level of upstream reservoir allowed when operating the pump. If the plant is connected to an upstream tunnel network, the smallest reservoir is used to build the constraints.

upstream_max_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the maximum water level of upstream reservoir allowed when operating the pump should be included in the optimization model.

downstream_min#

Data type: timeseries. Unit: METER.

Minimum water level of downstream reservoir required for operating the pump.

downstream_min_flag#

Data type: timeseries. Unit: METER.

Flag determining whether the minimum water level of downstream reservoir required for operating the pump should be included in the optimization model. If the plant is connected to a downstream tunnel network, the smallest reservoir is used to build the constraints.

consumption_schedule#

Data type: timeseries. Unit: MW.

Consumption schedule.

consumption_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump consumption schedule should be included in the optimization model.

upflow_schedule#

Data type: timeseries. Unit: M3/S.

Pump upflow schedule.

upflow_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump upflow schedule should be included in the optimization model.

fcr_mip_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether binary variables should be used to enforce minimum available capacity requirement when delivering FCR.

p_fcr_min#

Data type: timeseries. Unit: MW.

Temporary minimum consumption for the pump when delivering FCR.

p_fcr_max#

Data type: timeseries. Unit: MW.

Temporary maximum consumption for the pump when delivering FCR.

p_rr_min#

Data type: timeseries. Unit: MW.

Temporary, user-overridden minimum consumption for the pump when delivering RR. If not specified, or set above p_min on the pump, it defaults to p_min. The attribute ‘rr_up_stop_mip_flag’ on the pump or the attribute ‘rr_up_stop_mip’ on global_settings ensures valid delivery of RR-UP reserves up to full stop and also prohibits RR-UP allocation in the forbidden consumption region between 0 and p_rr_min.

frr_up_min#

Data type: timeseries. Unit: MW.

Minimum FRR_UP delivery for the pump.

frr_up_max#

Data type: timeseries. Unit: MW.

Maximum FRR_UP delivery for the pump.

frr_down_min#

Data type: timeseries. Unit: MW.

Minimum FRR_DOWN delivery for the pump.

frr_down_max#

Data type: timeseries. Unit: MW.

Maximum FRR_DOWN delivery for the pump.

fcr_n_up_min#

Data type: timeseries. Unit: MW.

Minimum FCR_N_UP delivery for the pump.

fcr_n_up_max#

Data type: timeseries. Unit: MW.

Maximum FCR_N_UP delivery for the pump.

fcr_n_down_min#

Data type: timeseries. Unit: MW.

Minimum FCR_N_DOWN delivery for the pump.

fcr_n_down_max#

Data type: timeseries. Unit: MW.

Maximum FCR_N_DOWN delivery for the pump.

fcr_d_up_min#

Data type: timeseries. Unit: MW.

Minimum FCR_D_UP delivery for the pump.

fcr_d_up_max#

Data type: timeseries. Unit: MW.

Maximum FCR_D_UP delivery for the pump.

fcr_d_down_min#

Data type: timeseries. Unit: MW.

Minimum FCR_D_DOWN delivery for the pump.

fcr_d_down_max#

Data type: timeseries. Unit: MW.

Maximum FCR_D_DOWN delivery for the pump.

rr_up_min#

Data type: timeseries. Unit: MW.

Minimum RR_UP delivery for the pump.

rr_up_max#

Data type: timeseries. Unit: MW.

Maximum RR_UP delivery for the pump.

rr_down_min#

Data type: timeseries. Unit: MW.

Minimum RR_DOWN delivery for the pump.

rr_down_max#

Data type: timeseries. Unit: MW.

Maximum RR_DOWN delivery for the pump.

fcr_n_up_schedule#

Data type: timeseries. Unit: MW.

Pump FCR_N_UP delivery schedule.

fcr_n_up_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump FCR_N_UP delivery schedule should be included in the optimization model.

fcr_n_down_schedule#

Data type: timeseries. Unit: MW.

Pump FCR_N_DOWN delivery schedule.

fcr_n_down_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump FCR_N_DOWN delivery schedule should be included in the optimization model.

fcr_d_up_schedule#

Data type: timeseries. Unit: MW.

Pump FCR_D_UP delivery schedule.

fcr_d_up_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump FCR_D_UP delivery schedule should be included in the optimization model.

fcr_d_down_schedule#

Data type: timeseries. Unit: MW.

Pump FCR_D_DOWN delivery schedule.

fcr_d_down_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump FCR_D_DOWN delivery schedule should be included in the optimization model.

frr_up_schedule#

Data type: timeseries. Unit: MW.

Pump FRR_UP delivery schedule.

frr_up_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump FRR_UP delivery schedule should be included in the optimization model.

frr_down_schedule#

Data type: timeseries. Unit: MW.

Pump FRR_DOWN delivery schedule.

frr_down_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump FRR_DOWN delivery schedule should be included in the optimization model.

rr_up_schedule#

Data type: timeseries. Unit: MW.

Pump RR_UP delivery schedule.

rr_up_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump RR_UP delivery schedule should be included in the optimization model.

rr_down_schedule#

Data type: timeseries. Unit: MW.

Pump RR_DOWN delivery schedule.

rr_down_schedule_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the pump RR_DOWN delivery schedule should be included in the optimization model.

droop_cost#

Data type: timeseries. Unit: NOK.

The cost for the inverse unit droop when it is modelled as a variable in the optimization model, which makes SHOP prefer high droop settings. The default droop_cost on global_settings is used if this attribute is not specified.

fixed_droop#

Data type: timeseries. Unit: NO_UNIT.

Fixed unit droop given as input data.

fixed_droop_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the fixed droop setting should be included in the optimization model.

droop_min#

Data type: timeseries. Unit: NO_UNIT.

The lower bound of the unit droop when it is modelled as a variable in the optimization model. This bound is applied together with other FCR constraints, where the most restrictive will limit the FCR delivery.

droop_max#

Data type: timeseries. Unit: NO_UNIT.

The upper bound of the unit droop when it is modelled as a variable in the optimization model. This bound is applied together with other FCR constraints, where the most restrictive will limit the FCR delivery.

reserve_ramping_cost_up#

Data type: timeseries. Unit: NOK/MW.

Upward reserve ramping cost for changing reserve delivery of the pump.

reserve_ramping_cost_down#

Data type: timeseries. Unit: NOK/MW.

Downward reserve ramping cost for changing reserve delivery of the pump.

discrete_droop_values#

Data type: double_array. Unit: NO_UNIT.

A list of all legal droop values for the pump. If the functionality for fixing the unit droop is activated by the ‘set droop_discretization_limit’ command, this list of discrete values will be used when fixing the pump droop.

fcr_n_discrete_droop_values#

Data type: double_array. Unit: NO_UNIT.

A list of all legal droop values for FCR-N reserves when the pump is built with separate droop. If the functionality for fixing the unit droop is activated by the ‘set droop_discretization_limit’ command, this list of discrete values will be used when fixing the generator droop.

fcr_d_up_discrete_droop_values#

Data type: double_array. Unit: NO_UNIT.

A list of all legal droop values for FCR-D up reserves when the pump is built with separate droop. If the functionality for fixing the unit droop is activated by the ‘set droop_discretization_limit’ command, this list of discrete values will be used when fixing the generator droop.

fcr_d_down_discrete_droop_values#

Data type: double_array. Unit: NO_UNIT.

A list of all legal droop values for FCR-D down reserves when the pump is built with separate droop. If the functionality for fixing the unit droop is activated by the ‘set droop_discretization_limit’ command, this list of discrete values will be used when fixing the generator droop.

fcr_n_up_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating FCR-N up reserves on this pump.

fcr_n_down_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating FCR-N down reserves on this pump.

fcr_d_up_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating FCR-D up reserves on this pump.

fcr_d_down_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating FCR-D down reserves on this pump.

frr_up_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating FRR up reserves on this pump.

frr_down_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating FRR down reserves on this pump.

rr_up_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating RR up reserves on this pump.

rr_down_cost#

Data type: timeseries. Unit: NOK/MWH.

The cost of allocating RR down reserves on this pump.

spinning_reserve_up_max#

Data type: timeseries. Unit: MW.

Sets a maximum limit for the sum of spinning reserves delivered in the upward direction on the pump.

spinning_reserve_down_max#

Data type: timeseries. Unit: MW.

Sets a maximum limit for the sum of spinning reserves delivered in the downward direction on the pump.

fcr_n_droop_cost#

Data type: timeseries. Unit: NOK.

The cost for the inverse unit droop for FCR-N reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. The droop_cost attribute on the pump or global_settings is used if this attribut is not specified.

fcr_d_up_droop_cost#

Data type: timeseries. Unit: NOK.

The cost for the inverse unit droop for FCR-D up reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. The droop_cost attribute on the pump or global_settings is used if this attribut is not specified.

fcr_d_down_droop_cost#

Data type: timeseries. Unit: NOK.

The cost for the inverse unit droop for FCR-D down reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. The droop_cost attribute on the pump or global_settings is used if this attribut is not specified.

fcr_n_fixed_droop#

Data type: timeseries. Unit: NO_UNIT.

Fixed unit droop schedule for FCR-N reserves when droop is built separately for FCR-N and FCR-D.

fcr_d_up_fixed_droop#

Data type: timeseries. Unit: NO_UNIT.

Fixed unit droop schedule for FCR-D up reserves when droop is built separately for FCR-N and FCR-D.

fcr_d_down_fixed_droop#

Data type: timeseries. Unit: NO_UNIT.

Fixed unit droop schedule for FCR-D down reserves when droop is built separately for FCR-N and FCR-D.

fcr_n_droop_min#

Data type: timeseries. Unit: NO_UNIT.

The lower bound of the unit droop for FCR-N reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. This bound is applied together with other FCR-N constraints, where the most restrictive will limit the FCR delivery.

fcr_d_up_droop_min#

Data type: timeseries. Unit: NO_UNIT.

The lower bound of the unit droop for FCR-D up reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. This bound is applied together with other FCR-D up constraints, where the most restrictive will limit the FCR delivery.

fcr_d_down_droop_min#

Data type: timeseries. Unit: NO_UNIT.

The lower bound of the unit droop for FCR-D down reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. This bound is applied together with other FCR-D down constraints, where the most restrictive will limit the FCR delivery.

fcr_n_droop_max#

Data type: timeseries. Unit: NO_UNIT.

The upper bound of the unit droop for FCR-N reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. This bound is applied together with other FCR-N constraints, where the most restrictive will limit the FCR delivery.

fcr_d_up_droop_max#

Data type: timeseries. Unit: NO_UNIT.

The upper bound of the unit droop for FCR-D up reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. This bound is applied together with other FCR-D up constraints, where the most restrictive will limit the FCR delivery.

fcr_d_down_droop_max#

Data type: timeseries. Unit: NO_UNIT.

The upper bound of the unit droop for FCR-D down reserves when it is modelled as a variable in the optimization model and droop is built separately for FCR-N and FCR-D. This bound is applied together with other FCR-D down constraints, where the most restrictive will limit the FCR delivery.

historical_consumption#

Data type: timeseries. Unit: MW.

The pump consumption for times before the optimization start.

min_uptime#

Data type: int. Unit: MINUTE.

Minimum pump up-time, given in whole minutes.

min_downtime#

Data type: int. Unit: MINUTE.

Minimum pump down-time, given in whole minutes.

min_uptime_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag for turning on/off the minimum pump up-time constraints.

min_downtime_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag for turning on/off the minimum pump down-time constraints.

rr_up_stop_mip_flag#

Data type: timeseries. Unit: NO_UNIT.

Setting this flag to 1 turns on the use of binary variables in full iterations to enable the pump to deliver valid RR-UP reserves up to full stop. This forces RR-UP to either be allocated as a spinning reserve up to p_rr_min (which defaults to p_min) or up to a full stop, and no other spinning reserves can be allocated on the unit if RR-UP is delivered up to stop. RR-UP allocation in forbidden consumption regions between 0 and p_rr_min is also prohibited. If the flag is not specified, the attribute ‘rr_up_stop_mip’ on global_settings is used.

max_p_constr#

Data type: timeseries. Unit: MW.

Time-dependent maximum consumption limit for the pump that will replace static p_max if it is more constraining.

max_p_constr_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the time-dependent maximum consumption limit for the pump should be included in the building of the original PQ curve.

min_p_constr#

Data type: timeseries. Unit: MW.

Time-dependent minimum consumption limit for the pump that will replace static p_min if it is more constraining. Note that the pump may still be turned off if a min_p_constr > 0 is set, use the committed_in attribute to force the pump to be on.

min_p_constr_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the time-dependent minimum consumption limit for the pump should be included in the building of the original PQ curve.

min_q_constr#

Data type: timeseries. Unit: M3/S.

Time-dependent minimum upflow limit for the pump. Note that the pump may still be turned off if a min_q_constr > 0 is set, use the committed_in attribute to force the pump to be on.

min_q_constr_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the time-dependent minimum upflow limit for the pump should be included in the building of the original PQ curve.

max_q_constr#

Data type: timeseries. Unit: M3/S.

Time-dependent maximum upflow limit for the pump.

max_q_constr_flag#

Data type: timeseries. Unit: NO_UNIT.

Flag determining whether the time-dependent maximum upflow limit for the pump should be included in the building of the original PQ curve.

only_spinning_rr_down#

Data type: int. Unit: NO_UNIT.

Set this value to 1 to force the pump to only deliver RR-DOWN reserves if it is spinning. The default behaviour in SHOP (when this value is 0) is to allow offline pumps to deliver RR-DOWN reserves.

gross_head_min#

Data type: timeseries. Unit: METER.

Minimum gross head limit for pump consumption. If there is a tunnel network above/below the plant, the gross head is found from the lowest/highest reservoir level in the tunnel network above/below.

gross_head_max#

Data type: timeseries. Unit: METER.

Maximum gross head limit for pump consumption. If there is a tunnel network above/below the plant, the gross head is found from the lowest/highest reservoir level in the tunnel network above/below.

gross_head_min_flag#

Data type: timeseries. Unit: METER.

Flag for turning on/off the minimum gross head limit for pump consumption.

gross_head_max_flag#

Data type: timeseries. Unit: METER.

Flag for turning on/off the maximum gross head limit for pump consumption.

startup_gross_head_min#

Data type: timeseries. Unit: METER.

Minimum gross head limit for pump startup, the unit is not allowed to start if the gross hed is below this limit. If there is a tunnel network above/below the plant, the gross head is found from the lowest/highest reservoir level in the tunnel network above/below.

startup_gross_head_min_flag#

Data type: timeseries. Unit: METER.

Flag for turning on/off the minimum gross head limit for pump startup.

eff_head#

Data type: timeseries. Unit: METER.

Resulting effective head of the pump.

sim_eff_head#

Data type: timeseries. Unit: METER.

Resulting effective head of the pump during simulation.

head_loss#

Data type: timeseries. Unit: METER.

Resulting head loss of the pump, i.e. the effective head of the pump (eff_head) minus the plant gross head (gross_head).

sim_head_loss#

Data type: timeseries. Unit: METER.

Resulting head loss of the pump in the simulation, i.e. the effective head of the pump (eff_head) minus the plant gross head (gross_head).

consumption#

Data type: timeseries. Unit: MW.

Resulting pump consumption, calculated based on upflow.

sim_consumption#

Data type: timeseries. Unit: MW.

Simulated pump consumption, calculated based on upflow.

solver_consumption#

Data type: timeseries. Unit: MW.

Preliminary result for pump consumption that is returned by the linearized optimization problem.

upflow#

Data type: timeseries. Unit: M3/S.

Resulting pump upflow. If solver_upflow >= pump_turn_off_limit, upflow = solver_upflow. Otherwise, upflow = 0.

sim_upflow#

Data type: timeseries. Unit: M3/S.

Simulated pump upflow.

solver_upflow#

Data type: timeseries. Unit: M3/S.

Preliminary result for pump upflow that is returned by the linearized optimization problem.

committed_out#

Data type: timeseries. Unit: NO_UNIT.

Committed status of the pump based on the results of the optimization: 0 - not running; 1 - committed to run. The unit will be either turned on or off based on the optimized upflow in full iterations and the pump_turn_off_limit on global_settings. See also the solver_committed_fraction attribute for the actual optimized value of the (relaxed) binary variable used to model whether the pump is on or off.

solver_committed_fraction#

Data type: timeseries. Unit: NO_UNIT.

The value of the (relaxed) binary variable uesed to model the on/off status of the pump in full iterations. The value could be a fractional number between 0 (off) and 1 (on) if the unit commitment constraints are relaxed (mip_flag turned off).

consumption_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump consumption schedule is violated.

upflow_schedule_penalty#

Data type: timeseries. Unit: MM3.

Resulting penalty when the pump upflow schedule is violated.

fcr_n_up_delivery#

Data type: timeseries. Unit: MW.

Resulting pump FCR_N_UP delivery.

fcr_n_down_delivery#

Data type: timeseries. Unit: MW.

Resulting pump FCR_N_DOWN delivery.

fcr_d_up_delivery#

Data type: timeseries. Unit: MW.

Resulting pump FCR_D_UP delivery.

fcr_d_down_delivery#

Data type: timeseries. Unit: MW.

Resulting pump FCR_D_DOWN delivery.

frr_up_delivery#

Data type: timeseries. Unit: MW.

Resulting pump FRR_UP delivery.

frr_down_delivery#

Data type: timeseries. Unit: MW.

Resulting pump FRR_DOWN delivery.

rr_up_delivery#

Data type: timeseries. Unit: MW.

Resulting pump RR_UP delivery.

rr_down_delivery#

Data type: timeseries. Unit: MW.

Resulting pump RR_DOWN delivery.

fcr_n_up_delivery_physical#

Data type: timeseries. Unit: MW.

Resulting physical pump FCR_N delivery in the upward direction.

fcr_n_down_delivery_physical#

Data type: timeseries. Unit: MW.

Resulting physical pump FCR_N delivery in the downward direction.

fcr_d_up_delivery_physical#

Data type: timeseries. Unit: MW.

Resulting physical pump FCR_D delivery in the upward direction.

fcr_d_down_delivery_physical#

Data type: timeseries. Unit: MW.

Resulting physical pump FCR_D delivery in the downward direction.

fcr_n_up_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump FCR_N_UP schedule is violated.

fcr_n_down_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump FCR_N_DOWN schedule is violated.

fcr_d_up_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump FCR_D_UP schedule is violated.

fcr_d_down_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump FCR_D_DOWN schedule is violated.

frr_up_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump FRR_UP schedule is violated.

frr_down_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump FRR_DOWN schedule is violated.

rr_up_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump RR_UP schedule is violated.

rr_down_schedule_penalty#

Data type: timeseries. Unit: MW.

Resulting penalty when the pump RR_DOWN schedule is violated.

droop_result#

Data type: timeseries. Unit: NO_UNIT.

Resulting unit droop when it is modelled as a variable in the optimization model.

original_pq_curves#

Data type: xyt. Unit: x: M3/S and y: MW.

Original PQ-curve for the pump that includes non-convex regions.

convex_pq_curves#

Data type: xyt. Unit: x: M3/S and y: MW.

Convexified PQ-curve for the pump that removes all the non-concave points of the original PQ curve. The slope of each segment is non-decreasing.

final_pq_curves#

Data type: xyt. Unit: x: M3/S and y: MW.

Final PQ curve for the pump that is the final form included into the optimization problem. The first point of the convex PQ curve is extended to Q=0.

max_cons#

Data type: timeseries. Unit: MW.

The head-dependent maximal consumption of the pump. Most accurate in incremental iterations.

min_cons#

Data type: timeseries. Unit: MW.

The head-dependent minimal consumption of the pump. Most accurate in incremental iterations.

fcr_n_droop_result#

Data type: timeseries. Unit: NO_UNIT.

The optimized unit droop for FCR-N reserves when the droop is built separately for FCR-N and FCR-D. If all FCR reserves share a common droop setting, this timeseries is identical to the ‘droop_result’ attribute.

fcr_d_up_droop_result#

Data type: timeseries. Unit: NO_UNIT.

The optimized unit droop for FCR-D up reserves when the droop is built separately for FCR-N and FCR-D. If all FCR reserves share a common droop setting, this timeseries is identical to the ‘droop_result’ attribute.

fcr_d_down_droop_result#

Data type: timeseries. Unit: NO_UNIT.

The optimized unit droop for FCR-D down reserves when the droop is built separately for FCR-N and FCR-D. If all FCR reserves share a common droop setting, this timeseries is identical to the ‘droop_result’ attribute.