Attributes
Each object type has a defined set of input and output attributes that hold the majority of all data in the SHOP model. The table lists all 1461 attributes. Filter on any column, click ▸ to show the description of an attribute, and click the attribute name for its full documentation on the object page.
| Object type | Attribute name | Data type | I/O | Required | Unit | Default value | License | Version added | NaN Allowed | Description |
|---|---|---|---|---|---|---|---|---|---|---|
| reservoir | latitude | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 13.0.0.a | No | Reserved for future use. |
| reservoir | longitude | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 13.0.0.a | No | Reserved for future use. |
| reservoir | max_vol | double | Input | Yes | MM3 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Maximum volume of the reservoir. |
| reservoir | lrl | double | Input | Yes | METER | 0.0 | SHOP_OPEN | 13.0.0.a | No | Lowest Regulation Level (meter above sea level) of the reservoir. |
| reservoir | hrl | double | Input | Yes | METER | 0.0 | SHOP_OPEN | 13.0.0.a | No | Highest Regulation Level (meter above sea level) of the reservoir. |
| reservoir | vol_level | xy | Input | Yes | x: MM3 and y: METER | None/null | SHOP_OPEN | 13.0.0.a | No | The volume (Mm3) and water level (meter above sea level) relation of the reservoir. The list should cover all feasible reservoir level values so that the volume-head conversion is always successful. |
| reservoir | level_area | xy | Input | No | x: METER and y: KM2 | None/null | SHOP_OPEN | 14.6.0.0 | No | The water level (meter above sea level) and surface area (Km2) relation of the reservoir. |
| reservoir | elevation_adjustment | timeseries | Input | No | METER | None/null | SHOP_ELEVATION_ADJUSTMENT | 13.0.0.a | No | Adjustment for the lowest regulation level (lrl), highest regulation level (hrl), and the volume (Mm3) and water level (meter above sea level) relation of the reservoir. |
| reservoir | start_vol | double | Input | No | MM3 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Reservoir start volume. If start_vol and start_level are both defined, the value of the prefer_start_vol attribute on global_settings will decide which is used. |
| reservoir | start_level | double | Input | No | METER | 0.0 | SHOP_OPEN | 13.0.0.a | No | Reservoir start water level (meter above sea level). If start_vol and start_level are both defined, the value of the prefer_start_vol attribute on global_settings will decide which is used. |
| reservoir | inflow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Natural inflow to reservoir. |
| reservoir | inflow_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.2.0.a | No | Flag determining whether the inflow to a reservoir should be used as input or calculated as output in the simulation: 0 = input; 1 = output. |
| reservoir | sim_inflow_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SIMULATION | 13.0.0.a | No | Flag determining whether inflow should be simulated to reservoir or not. |
| reservoir | flow_descr | xy | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | The water level (meter above sea level) and overflow (m3/s) relation of the reservoir. Only used when a spill gate is connected, please see the overflow modelling example. |
| reservoir | overflow_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OVERFLOW_MIP | 13.0.0.a | No | Flag determining whether the binary variables should be used to prevent non-physical spill. |
| reservoir | overflow_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Overflow cost for the reservoir. |
| reservoir | overflow_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether overflow cost for this reservoir should be included in the optimization model. |
| reservoir | min_vol_constr | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent minimum volume limit for the reservoir. |
| reservoir | min_vol_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent minimum volume limit for the reservoir should be included in the optimization model. |
| reservoir | max_vol_constr | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent maximum volume limit for the reservoir. |
| reservoir | max_vol_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent maximum volume limit for the reservoir should be included in the optimization model. |
| reservoir | min_level_constr | timeseries | Input | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | Yes | Time-dependent minimum water level limit for the reservoir. The min_vol_constr attribute is preferred if it is present for the same reservoir. |
| reservoir | min_level_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether the time-dependent minimum water level limit for the reservoir should be included in the optimization model. |
| reservoir | max_level_constr | timeseries | Input | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | Yes | Time-dependent maximum water level limit for the reservoir. The max_vol_constr attribute is preferred if it is present for the same reservoir. |
| reservoir | max_level_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether the time-dependent maximum water level limit for the reservoir should be included in the optimization model. |
| reservoir | tactical_limit_min | timeseries | Input | No | MM3 | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | Yes | Tactical (soft) minimum volume limit for the reservoir. |
| reservoir | tactical_limit_min_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | No | Flag determining whether the tactical minimum volume limit should be included in the optimization model. |
| reservoir | tactical_cost_min | timeseries | Input | No | NOK/MM3H | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | Yes | Given penalty cost for violating the tactical minimum volume limit for the reservoir. |
| reservoir | tactical_cost_min_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | No | Flag determining whether the penalty cost for violating the tactical minimum volume limit should be included in the optimization model. |
| reservoir | tactical_limit_max | timeseries | Input | No | MM3 | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | Yes | Tactical (soft) maximum volume limit for the reservoir. |
| reservoir | tactical_limit_max_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | No | Flag determining whether the tactical maximum volume limit should be included in the optimization model. |
| reservoir | tactical_cost_max | timeseries | Input | No | NOK/MM3H | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | Yes | Given penalty cost for violating the tactical maximum volume limit for the reservoir. |
| reservoir | tactical_cost_max_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | No | Flag determining whether the penalty cost for violating the tactical maximum volume limit should be included in the optimization model. |
| reservoir | tactical_level_limit_min | timeseries | Input | No | METER | None/null | SHOP_TACTICAL_LIMIT | 15.7.0.0 | Yes | Tactical minimum level limit for the reservoir. |
| reservoir | tactical_level_limit_max | timeseries | Input | No | METER | None/null | SHOP_TACTICAL_LIMIT | 15.7.0.0 | Yes | Tactical maximum level limit for the reservoir. |
| reservoir | upper_slack | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Used to expand the upper reservoir limit when running with an active reservoir schedule so that the volume can be between the schedule and upper_slack. |
| reservoir | lower_slack | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Used to expand the lower reservoir limit when running with an active reservoir schedule so that the volume can be between the schedule and lower_slack. |
| reservoir | schedule | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Reservoir volume schedule used to specify the volume of the reservoir in each time step. Must be combined with a schedule_flag to be active. |
| reservoir | schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the reservoir volume schedule should be included in the optimization model: 0 = no schedule; 1 = the endpoint interval upper_slack and lower_slack is valid; 2 = reservoir volume schedule is valid anywhere during the optimization period. |
| reservoir | sim_volume_schedule | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Reservoir volume schedule used in the SHOP simulator when simulating reservoir inflow with the /inflow command option. The sim_volume_schedule takes precedence over the sim_level_schedule if both are defined. If neither attribute is defined, the storage attribute (result from the optimization) is used. |
| reservoir | sim_level_schedule | timeseries | Input | No | METER | None/null | SHOP_OPEN | 13.0.0.a | No | Reservoir water level schedule used in the SHOP simulator when simulating reservoir inflow with the /inflow command option. The sim_volume_schedule takes precedence over the sim_level_schedule if both are defined. If neither attribute is defined, the storage attribute (result from the optimization) is used. |
| reservoir | volume_ramping_up | timeseries | Input | No | MM3/HOUR | None/null | SHOP_OPEN | 14.0.0.1 | Yes | Maximum limit for increase in reservoir volume per hour. |
| reservoir | volume_ramping_down | timeseries | Input | No | MM3/HOUR | None/null | SHOP_OPEN | 14.0.0.1 | Yes | Maximum limit for decrease in reservoir volume per hour. |
| reservoir | level_ramping_up | timeseries | Input | No | METER/HOUR | None/null | SHOP_OPEN | 14.0.0.1 | Yes | Maximum limit for increase in reservoir level per hour. |
| reservoir | level_ramping_down | timeseries | Input | No | METER/HOUR | None/null | SHOP_OPEN | 14.0.0.1 | Yes | Maximum limit for decrease in reservoir level per hour. |
| reservoir | water_value_input | xy_array | Input | No | x: MM3 and y: NOK/MM3 | None/null | SHOP_OPEN | 14.0.0.1 | No | The input water value description of water values referred to the sea. Can be a single constant value, a water value table (xy), or cut coefficients for a single or multiple price nodes. In the case of price dependent cut coefficients, the reference value of each xy in the xy_array should be the relevant price level. |
| reservoir | energy_value_input | double | Input | No | NOK/MWH | 0.0 | SHOP_OPEN | 14.0.0.1 | No | The input local energy value of the reservoir which will be converted to a global water value internally. |
| reservoir | peak_volume_cost_curve | xy | Input | No | x: MM3 and y: NOK/MM3 | None/null | SHOP_FLOOD_SUPPORT | 14.2.2.0 | No | A piece-wise constant increasing cost which is applied to the highest reservoir volume reached in the optimization horizon. |
| reservoir | flood_volume_cost_curve | xy | Input | No | x: MM3 and y: NOK/MM3 | None/null | SHOP_FLOOD_SUPPORT | 14.2.2.0 | No | A piece-wise constant increasing cost curve which is used to penalize the reservoir volume level in each hour of the optimzation. |
| reservoir | evaporation_rate | timeseries | Input | No | METER/HOUR | None/null | SHOP_OPEN | 14.6.0.0 | No | Evaporation rate of water from the reservoir. |
| reservoir | level_rolling_ramping_penalty_cost | timeseries | Input | No | NOK/METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | No | The penalty cost for breaking any rolling ramping constraint applied to the reservoir level. |
| reservoir | level_period_ramping_penalty_cost | timeseries | Input | No | NOK/METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | No | The penalty cost for breaking any period ramping constraint applied to the reservoir level. |
| reservoir | average_level_rolling_ramping_up | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the reservoir level upwards from the average reservoir level in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the reservoir level can increase above the average rolling level. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| reservoir | average_level_rolling_ramping_down | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the reservoir level downwards from the average reservoir level in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the reservoir level can decrease below the average rolling level. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| reservoir | limit_level_rolling_ramping_up | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the reservoir level upwards from the minimal reservoir level in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the reservoir level can increase above the minimal rolling level. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| reservoir | limit_level_rolling_ramping_down | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the reservoir level downwards from the maximal reservoir level in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the reservoir level can decrease below the maximal rolling level. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| reservoir | average_level_period_ramping_up | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the reservoir level upwards from the average reservoir level in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the reservoir level can increase above the average level in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| reservoir | average_level_period_ramping_down | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the reservoir level downwards from the average reservoir level in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the reservoir level can decrease below the average level in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| reservoir | limit_level_period_ramping_up | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the reservoir level upwards from the minimal reservoir level in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the reservoir level can increase above the minimal level in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| reservoir | limit_level_period_ramping_down | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the reservoir level downwards from the maximal reservoir level in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the reservoir level can decrease below the maximal level in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| reservoir | historical_level | timeseries | Input | No | METER | None/null | SHOP_OPEN | 15.2.0.0 | No | The reservoir level for times before the optimization start. The input start volume or start level of the reservoir will override any value in this timeseries that corresponds to the start time of the optimization, values inside the optimization horizon are ignored. The datatype of this attribute changed from XY to timeseries in version 15.3.1.0. |
| reservoir | average_level_period_ramping_up_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the average_level_period_ramping_up attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the average ramping up period constraints. |
| reservoir | average_level_period_ramping_down_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the average_level_period_ramping_down attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the average ramping down period constraints. |
| reservoir | limit_level_period_ramping_up_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the limit_level_period_ramping_up attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the limit ramping up period constraints. |
| reservoir | limit_level_period_ramping_down_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the limit_level_period_ramping_down attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the limit ramping up period constraints. |
| reservoir | volume_nonseq_ramping_limit_up | xyt | Input | No | x: MINUTE and y: MM3 | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit volume ramping between two non-sequential time steps. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | volume_nonseq_ramping_limit_down | xyt | Input | No | x: MINUTE and y: MM3 | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit volume ramping between two non-sequential time steps. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | volume_amplitude_ramping_limit_up | xyt | Input | No | x: MINUTE and y: MM3 | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit volume ramping between in time interval. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | volume_amplitude_ramping_limit_down | xyt | Input | No | x: MINUTE and y: MM3 | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit volume ramping between in time interval. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | level_nonseq_ramping_limit_up | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit level ramping between two non-sequential time steps. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | level_nonseq_ramping_limit_down | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit level ramping between two non-sequential time steps. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | level_amplitude_ramping_limit_up | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit level ramping between in time interval. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | level_amplitude_ramping_limit_down | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Limit level ramping between in time interval. Start time is given by time T, duration by X and ramping by Y. |
| reservoir | dynamic_level_limit | xyt | Input | No | x: MINUTE and y: METER | None/null | SHOP_OPEN | 17.1.0 | No | Input to specify the maximum difference between the max and min reservoir level within given time periods. The x-values represent the length of the fixed time period and the y-values specify the max difference in reservoir level within that time period. |
| reservoir | dynamic_level_limit_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_OPEN | 17.1.0 | No | The y-values must be the same as the period lengths used in the dynamic_level_limit attribute, while the strings are timestamps that specify when the first whole dynamic level limit period starts for each of the dynamic level limit constraints. |
| reservoir | dynamic_level_limit_penalty_cost | timeseries | Input | No | NOK/METER | None/null | SHOP_OPEN | 17.1.0 | No | The penalty cost for breaking the dynamic reservoir level limits. |
| reservoir | disable_penalties | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 17.11.0 | No | Disable the use of reservoir penalty variables by setting this parameter to 1. This means that SHOP is unable to create or destroy water in this reservoir by using penalties, but the optimization model may become infeasible. If the corresponding global settings attribute ‘disable_rsv_penalties’ is set to 1, this takes precedence over any individual reservoir specification. |
| reservoir | storage | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting reservoir volume, includes both the start volume and the final end volume in the optimization. |
| reservoir | sim_storage | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated reservoir volume. |
| reservoir | level | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting reservoir water level (meter above sea level), calculated by converting the volume of the reservoir with the vol_level curve. |
| reservoir | area | timeseries | Output | No | KM2 | None/null | SHOP_OPEN | 14.6.0.0 | No | Resulting reservoir surface area (km2), used to calculate evaporation. |
| reservoir | sim_level | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated reservoir water level (meter above sea level). |
| reservoir | sim_inflow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated inflow to the reservoir that is calculated when the SHOP simulator is used to calculate inflow with the /inflow command option. |
| reservoir | sim_water_surplus | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 16.8.0 | No | Simulated reservoir volume that has been subtracted from the simulation to maintain the reservoir below the maximal volume defined in the vol_level curve. Similar to reservoir penalty from the optimization. |
| reservoir | sim_water_deficit | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 16.8.0 | No | Simulated reservoir volume that has been added from the simulation to maintain the reservoir above 0 Mm3. Similar to reservoir penalty from the optimization. |
| reservoir | endpoint_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the maximum or minimum volume limit for the reservoir at the end of the optimization period is violated. |
| reservoir | penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the maximum or minimum volume limit for the reservoir during the optimization period is violated. |
| reservoir | tactical_penalty_up | timeseries | Output | No | MM3 | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | No | Resulting penalty when the tactical maximum volume limit for the reservoir is violated. |
| reservoir | tactical_penalty_down | timeseries | Output | No | MM3 | None/null | SHOP_TACTICAL_LIMIT | 13.0.0.a | No | Resulting penalty when the tactical minimum volume limit for the reservoir is violated. |
| reservoir | end_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost when the maximum or minimum volume limit for the reservoir at the end of the optimization period is violated. |
| reservoir | penalty_nok | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost when the maximum or minimum volume limit for the reservoir during the optimization period is violated. |
| reservoir | tactical_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost when the tactical maximum or minimum volume limit for the reservoir is violated. |
| reservoir | water_value_global_result | timeseries | Output | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Marginal cost of 1 Mm3 of the water in the reservoir calculated using the sum of the best efficiency point of all cascaded plants below this reservoir. |
| reservoir | water_value_local_result | timeseries | Output | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Marginal cost of 1 Mm3 of the water discharged from the reservoir through the downstream plant. |
| reservoir | energy_value_local_result | timeseries | Output | No | NOK/MWH | None/null | SHOP_OPEN | 13.0.0.a | No | Marginal cost of 1 MWh power that generated from the water in the reservoir through the downstream plant. |
| reservoir | end_value | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Value of reservoir contents at the end of the optimization period. |
| reservoir | change_in_end_value | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Relative change in value of reservoir contents between the start and the end of the optimization horizon. |
| reservoir | vow_in_transit | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Value of delayed water on its way to this reservoir after the end of the optimization period. |
| reservoir | calc_global_water_value | double | Output | No | NOK/MM3 | 0.0 | SHOP_OPEN | 14.0.0.1 | No | The resulting global water value of the reservoir after the local energy value has been converted internally based on the energy_conversion_factor reservoir attribute. |
| reservoir | energy_conversion_factor | double | Output | No | MWH/MM3 | 0.0 | SHOP_OPEN | 14.0.0.1 | No | The calculated conversion factor between MWh and Mm3 based on the first plant below the reservoir and initial start head. |
| reservoir | global_energy_conversion_factor | double | Output | No | MWH/MM3 | 0.0 | SHOP_OPEN | 18.4.0 | No | The total calculated energy conversion factor for this reservoir all the way down to sea. Based on the energy_conversion_factor of the reservoir and all subsequent reservoirs in the watercourse and initial start head. |
| reservoir | water_value_cut_result | xy_array | Output | No | x: MM3 and y: NOK/MM3 | None/null | SHOP_SCENARIO_FUNCTIONALITY | 14.0.0.1 | No | The resulting output water value cut coefficients when SHOP is used to create cuts. |
| reservoir | added_to_network | int | Output | No | NO_UNIT | 0 | SHOP_TUNNEL | 13.0.0.a | No | Flag determining whether the model has determined that this reservoir is part of a tunnel network. |
| reservoir | network_no | int | Output | No | NO_UNIT | 0 | SHOP_TUNNEL | 13.0.0.a | No | Network identification number set by the model to indicate which tunnel network this reservoir is part of. |
| reservoir | peak_volume_penalty | timeseries | Output | No | NOK | None/null | SHOP_FLOOD_SUPPORT | 14.0.1.1 | No | The peak volume penalty incurred for the reservoir, zero in all time steps except for when the reservoir volume peak occurs. |
| reservoir | flood_volume_penalty | timeseries | Output | No | NOK | None/null | SHOP_FLOOD_SUPPORT | 14.2.2.0 | No | The penalty incurred for the reservoir based on the optimized reservoir volume and the flood_volume_cost_curve. |
| reservoir | physical_spill | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 18.3.0 | No | The sum of river spill volume for the part of the spill that represents physical spill, i.e. the spill occurs when the water reaches max_vol of the reservoir. |
| reservoir | nonphysical_spill | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 18.3.0 | No | The sum of river spill volume for the part of the spill that represents non-physical spill, i.e. the spill occurs when the water does not reach max_vol of the reservoir. |
| plant | num_gen | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Number of generators in the plant. |
| plant | num_pump | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Number of pumps in the plant. |
| plant | less_distribution_eps | double | Input | No | NO_UNIT | 0.001 | SHOP_OPEN | 13.0.0.a | No | The tolerance level for heuristically distributing discharge on generators. |
| plant | latitude | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 13.0.0.a | No | Reserved for future use. |
| plant | longitude | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 13.0.0.a | No | Reserved for future use. |
| plant | power_head_optimization_factor | double | Input | No | NO_UNIT | 1.0 | SHOP_OPEN | 15.5.0.0 | No | Individual scale factor for plant power head optimization. |
| plant | exclude_from_bp_calculations | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 17.15.0 | No | Setting this attribute to 1 will skip the plant in the Best Profit calculations. |
| plant | ownership | double | Input | No | % | 100.0 | SHOP_OWNERSHIP | 13.0.0.a | No | Percentage of ownership of plant in case of shared ownership. Used to scale generator efficiency curves accordingly. |
| plant | prod_area | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: use a busbar object per price area and connect the appropriate units and markets to the busbars. Production from this plant will be sold in markets connected to the given price area. |
| plant | prod_area_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: use a busbar object per price area and connect the appropriate units and markets to the busbars. Flag determining whether production area connection should be included in the optimization model. |
| plant | prod_factor | double | Input | No | KWH/MM3 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Optional fixed production factor for the plant in KWh/m3, which is used to convert between NOK/MWh and NOK/Mm3. If this is not specified (value of 0.0), SHOP will calculate a production factor for the plant based on best point operation given the initial plant head. |
| plant | outlet_line | double | Input | No | METER | 0.0 | SHOP_OPEN | 13.0.0.a | No | The level (meter above sea level) of the outlet tunnel from the plant. |
| plant | intake_line | timeseries | Input | No | METER | None/null | SHOP_EXTENDED_PUMP_FUNCTIONALITY | 13.0.0.a | No | Minimum upper level used to calculate the height the pump must lift water to. The upper reservoir water level is used if it is above the value of intake_line. |
| plant | main_loss | double_array | Input | Yes | S2/M5 | None/null | SHOP_OPEN | 13.0.0.a | No | The loss factor for the main tunnel of the plant. Loss is assumed to be a quadratic function of flow. |
| plant | penstock_loss | double_array | Input | Yes | S2/M5 | None/null | SHOP_OPEN | 13.0.0.a | No | The list of loss factors for the penstocks of the plant, multiple units may share a penstock. Loss is assumed to be a quadratic function of flow. |
| plant | tailrace_loss | xy_array | Input | No | x: M3/S and y: METER | None/null | SHOP_OPEN | 13.0.0.a | No | The head loss curve for the tailrace of the plant which can be modelled as an additional head loss related to the discharge of the plant (and bypass if intake_loss_from_bypass_flag is active). Each XY curve is referred to a downstream level in masl. |
| plant | tailrace_loss_from_bypass_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether bypass discharge should be included in the calculation of tailrace loss for the plant. If the flag is zero or not set, only plant discharge is used to calculate tailrace loss. If the flag is 1, the flow in the rivers and the discharge in the bypass gates that carry water past the plant are counted towards the tailrace loss calculation in addition to the plant discharge. When the plant discharges into a river, SHOP uses the flow at the top of the first river downstream where the plant discharge meets other water, since this is where the total flow in the watercourse just below the plant is found. If the plant discharges into a reservoir, all bypass gates and all rivers that discharge into this reservoir are counted. The rivers that are used can be given explicitly with the tailrace_loss_river_names attribute. |
| plant | tailrace_loss_river_names | string_array | Input | No | STRING | None/null | SHOP_OPEN | 18.5.0 | No | Names of the rivers whose flow at the top of the river should be used as bypass flow when calculating tailrace loss for the plant, used instead of the rivers SHOP identifies from the topology. The plant discharge is subtracted from the sum of the flow in these rivers if the plant discharges into one of them or into a river above one of them. Only relevant if tailrace_loss_from_bypass_flag is set to 1. Leave empty to let SHOP find the rivers from the topology, and see the log for the rivers and gates that are used. Naming two rivers where one flows into the other counts the water in between twice and is warned about. |
| plant | intake_loss | xy_array | Input | No | x: M3/S and y: METER | None/null | SHOP_OPEN | 13.0.0.a | No | The head loss curve for the intake of the plant which can be modelled as an additional head loss related to the discharge of the plant (and bypass if intake_loss_from_bypass_flag is active). Each XY curve is referred to an upstream level in masl. |
| plant | intake_loss_from_bypass_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether bypass discharge should be included in the calculation of intake loss for the plant. If the flag is zero or not set, only plant discharge is used to calculate intake loss. If the flag is 1 and the plant is connected to an upstream reservoir, all bypass gates and all rivers that discharge out of this reservoir are counted towards the intake loss calculation in addition to the plant discharge. The rivers that are used can be given explicitly with the intake_loss_river_names attribute. |
| plant | intake_loss_river_names | string_array | Input | No | STRING | None/null | SHOP_OPEN | 18.5.0 | No | Names of the rivers whose flow at the top of the river should be used as bypass flow when calculating intake loss for the plant, used instead of the rivers flowing out of the reservoir above the plant that SHOP identifies from the topology. Only relevant if intake_loss_from_bypass_flag is set to 1. Leave empty to let SHOP find the rivers from the topology, and see the log for the rivers and gates that are used. |
| plant | tides | timeseries | Input | No | DELTA_METER | None/null | SHOP_OPEN | 13.0.0.a | No | The change of plant head related to tides. |
| plant | time_delay | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All time delay should be modelled by using the river object (does not require additional license). The delay between the water leaving the plant and until it ends up in the downstream reservoir. |
| plant | shape_discharge | xy | Input | No | x: HOUR and y: NO_UNIT | None/null | SHOP_DYNAMIC_DELAY | 13.0.0.a | No | Deprecated: All time delay should be modelled by using the river object (does not require additional license). Describes the shape of the delayed discharge as a wave function of ratios per time step. |
| plant | discharge_fee | timeseries | Input | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Extra cost for plant discharge referring to the time when it was discharged by the plant. |
| plant | discharge_fee_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the discharge fee should be included in the optimization model. |
| plant | discharge_cost_curve | xy | Input | No | x: M3/S and y: NOK/H/M3/S | None/null | SHOP_BLOCK_MERGE | 13.0.0.a | No | Extra cost depending on the discharge of the plant. |
| plant | feeding_fee | timeseries | Input | No | NOK/MWH | None/null | SHOP_FEEDING_FEE | 13.0.0.a | Yes | Extra cost for feeding electricity into the grid. The feeding fee is added as an extra production cost in the objective function. |
| plant | feeding_fee_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_FEEDING_FEE | 13.0.0.a | No | Flag determining whether the feed-in fee should be included in the optimization model. |
| plant | production_fee | timeseries | Input | No | NOK/MWH | None/null | SHOP_CONSUMPTION_FEE | 13.0.0.a | Yes | Fee that is used to reduce the sale price for energy delivered by this plant. |
| plant | production_fee_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_CONSUMPTION_FEE | 13.0.0.a | No | Flag determining whether the production fee should be included in the optimization model. |
| plant | consumption_fee | timeseries | Input | No | NOK/MWH | None/null | SHOP_CONSUMPTION_FEE | 13.0.0.a | Yes | Fee that is used to increase the buy price for energy consumed by this plant. |
| plant | consumption_fee_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_CONSUMPTION_FEE | 13.0.0.a | No | Flag determining whether the consumption fee should be included in the optimization model. |
| plant | linear_startup_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Flag determining whether the plant should have linear startup costs when MIP is not active. |
| plant | maintenance_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether the plant is out for maintenance or not. |
| plant | mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining for which time steps to use binary variables to model generator startup and min production. |
| plant | mip_length | timeseries | Input | No | NO_UNIT | None/null | SHOP_FLEX_MIP | 13.0.0.a | Yes | Set the binary variable length to another value other than the default length of one time step. |
| plant | mip_length_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_FLEX_MIP | 13.0.0.a | No | Flag determining whether the mip_length should be included in the optimization model. |
| plant | gen_priority | int_array | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Prioritization for startup order of generators. If no generators have timeseries priority, use this static generator priority. Use positive values to set priority. Value 0 means that no priority has been defined. |
| plant | n_seg_down | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | The number of segments below the best efficiency point of the unit in the building of original PQ curve in incremental mode. |
| plant | n_seg_up | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | The number of segments above the best efficiency point of the unit in the building of original PQ curve in incremental mode. |
| plant | n_mip_seg_down | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | The number of segments below the best efficiency point of the unit in the building of original PQ curve in full mode. |
| plant | n_mip_seg_up | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | The number of segments below the best efficiency point of the unit in the building of original PQ curve in full mode. |
| plant | dyn_pq_seg_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether dynamically define the segments in the building of the original PQ curve for all the units in this plant in incremental mode. |
| plant | dyn_mip_pq_seg_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether dynamically define the segments in the building of the original PQ curve for all the units in this plant in full mode. |
| plant | build_original_pq_curves_by_discharge_limits | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.0.0 | Yes | Flag determining whether the original PQ curve should only consider only physical discharge-related limits or take into account all the operating limits. |
| plant | min_p_constr | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent minimum production limit for the plant. |
| plant | min_p_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent minimum production limit for the plant should be included in the optimization model. If the flag is set equal to 2, all downward FCR-N, FCR-D, FRR, and RR reserve capcity allocated on the generators in the plant is also included in the constraint. |
| plant | min_p_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the time-dependent minimum production limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | min_p_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Given penalty cost for violating the time-dependent minimum production limit for the plant (if min_p_penalty_flag is set as 1). |
| plant | min_p_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the cost for violating the minimum production constraint should be included in the optimization model. |
| plant | max_p_constr | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent maximum production limit for the plant. |
| plant | max_p_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent maximum production limit for the plant should be included in the optimization model. |
| plant | max_p_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the time-dependent maximum production limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | max_p_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Given penalty cost for violating the time-dependent maximum production limit for the plant (if max_p_penalty_flag is set as 1). |
| plant | max_p_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the cost for violating the maximum production constraint should be included in the optimization model. |
| plant | min_q_constr | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent minimum discharge limit for the plant. |
| plant | min_q_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent minimum discharge limit for the plant should be included in the optimization. |
| plant | min_q_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the time-dependent minimum discharge limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | min_q_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Given penalty cost for violating the time-dependent minimum discharge limit for the plant (if min_q_penalty_flag is set as 1). |
| plant | min_q_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the cost for violating the minimum discharge constraint should be included in the optimization model. |
| plant | max_q_constr | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent maximum discharge limit for the plant. |
| plant | max_q_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent maximum discharge limit for the plant should be included in the optimization model. |
| plant | max_q_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the time-dependent maximum discharge limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | max_q_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Given penalty cost for violating the time-dependent maximum discharge limit for the plant by (if max_q_penalty_flag is set as 1). |
| plant | max_q_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Flag determining whether the cost for violating the maximum discharge constraint should be included in the optimization model. |
| plant | max_q_limit_rsv_up | xy | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Maximum plant discharge limit (m3/s) and upstream reservoir water level (meter above sea level) relation. |
| plant | max_q_limit_rsv_down | xy | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Maximum plant discharge limit (m3/s) and downstream reservoir water level (meter above sea level) relation. |
| plant | production_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Plant production schedule. |
| plant | production_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the plant production schedule should be included in the optimization model. |
| plant | discharge_schedule | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Discharge schedule. |
| plant | discharge_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the plant discharge schedule should be included in the optimization model. |
| plant | consumption_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Plant consumption schedule. |
| plant | consumption_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the plant consumption schedule should be included in the optimization model. |
| plant | upflow_schedule | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Plant upflow schedule. |
| plant | upflow_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the plant upflow schedule should be included in the optimization model. |
| plant | sched_penalty_cost_down | double | Input | No | NOK | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Given penalty cost for deviating below the plant schedule. | |
| plant | sched_penalty_cost_up | double | Input | No | NOK | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Given penalty cost for deviating above the plant schedule. | |
| plant | power_ramping_up | timeseries | Input | No | MW_HOUR | None/null | SHOP_OPEN | 13.0.0.a | Yes | Maximum limit for increase in plant production per hour. |
| plant | power_ramping_down | timeseries | Input | No | MW_HOUR | None/null | SHOP_OPEN | 13.0.0.a | Yes | Maximum limit for decrease in plant production per hour. |
| plant | discharge_ramping_up | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_OPEN | 13.0.0.a | Yes | Maximum limit for increase in plant discharge per hour. |
| plant | discharge_ramping_down | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_OPEN | 13.0.0.a | Yes | Maximum limit for decrease in plant discharge per hour. |
| plant | block_merge_tolerance | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Maximum deviation in production between two time steps that allows SHOP to force these hours to have the same production in later iterations. |
| plant | block_generation_mwh | timeseries | Input | No | MINUTE | None/null | SHOP_BLOCK_GENERATION | 13.0.0.a | No | Gives a constant production for the plant in one or more blocks of time steps. The t-value denotes the time of the block start and the y-value the block length in minutes. The block length is repeated until a new t-value and corresponding y-value is given. |
| plant | block_generation_m3s | timeseries | Input | No | MINUTE | None/null | SHOP_BLOCK_GENERATION | 13.0.0.a | No | Gives a constant discharge for the plant in one or more blocks of time steps. The t-value denotes the time of the block start and the y-value the block length in minutes. The block length is repeated until a new t-value and corresponding y-value is given. |
| plant | frr_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FRR_UP delivery for the plant. |
| plant | frr_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FRR_UP delivery for the plant. |
| plant | frr_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FRR_DOWN delivery for the plant. |
| plant | frr_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FRR_DOWN delivery for the plant. |
| plant | rr_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum RR_UP delivery for the plant. |
| plant | rr_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 15.5.3.0 | Yes | Minimum RR_DOWN delivery for the plant. |
| plant | frr_symmetric_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether all the generators in the plant should deliver both FRR_UP and FRR_DOWN as long as they are assigned for the FRR reserve. |
| plant | bp_dyn_wv_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Flag determining whether water values in the best profit calculation should be based on dynamic results per time step from the optimization or the static end value description. |
| plant | ref_prod | timeseries | Output | No | MW | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Production of the plant indicating the planned operating point as starting point for the best profit calculation. |
| plant | plant_unbalance_recommit | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether the generators in the plant should be recommitted when the optimization model changes from full mode to incremental mode and the resulting plant discharge is smaller than the optimal discharge from solver. |
| plant | spinning_reserve_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.5.0 | Yes | Sets a maximum limit for the sum of spinning reserves delivered in the upward direction for the plant. The sum ranges over reserves delivered on all generators and pumps in the plant. |
| plant | spinning_reserve_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.5.0 | Yes | Sets a maximum limit for the sum of spinning reserves delivered in the downward direction for the plant. The sum ranges over reserves delivered on all generators and pumps in the plant. |
| plant | ramping_steps | xy_array | Input | No | x: MW and y: MW_HOUR | None/null | SHOP_RAMP_STEP | 15.0.1.0 | No | X-value: Defines the production steps with different ramping values (p_max of the plant should be the final value). Y-value: Maximum change in production per hour if the production in the previous time step is in this ramping interval. Ref: Select which series to use based on input from ramping_step_reference_discharge. Changed from xy to xy_array from 15.3.4.0. |
| plant | ramping_steps_up | xy_array | Input | No | x: MW and y: MW_HOUR | None/null | SHOP_RAMP_STEP | 17.16.0 | No | Same as the ramping_steps attribute, but only applies ramping constraints in the upward direction. The ramping_steps attribute is preferred over this attribute if both are defined, and the ramping_steps_direction attribute has no effect when using this attribute. |
| plant | ramping_steps_down | xy_array | Input | No | x: MW and y: MW_HOUR | None/null | SHOP_RAMP_STEP | 17.16.0 | No | Same as the ramping_steps attribute, but only applies ramping constraints in the downward direction. The ramping_steps attribute is preferred over this attribute if both are defined, and ramping_steps_direction attribute has no effect when using this attribute. |
| plant | ramping_steps_direction | string | Input | No | STRING | BOTH | SHOP_RAMP_STEP | 17.7.0 | No | Decides whether the ramping_steps constraints should be applied in the upward direction (‘UP’), downward direction (‘DOWN’), or in both directions (‘BOTH’, default). Note that ramping_steps_up and ramping_steps_down can be used to apply different ramping limits upwards and downwards. |
| plant | relax_ramping_steps_on_shutdown | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.6.0 | No | Specifies whether the stepwise ramping defined by the XYN attribute ramping_steps should be relaxed when units are shutting down. If the attribute is set to 1, the generators are allowed to shut down even though it would violate the ramping constraints. |
| plant | relax_ramping_steps_on_startup | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.6.0 | No | Specifies whether the stepwise ramping defined by the XYN attribute ramping_steps should be relaxed when units are starting up. If the attribute is set to 1, the generators are allowed to start up even though it would violate the ramping constraints. |
| plant | discharge_rolling_ramping_penalty_cost | timeseries | Input | No | NOK/M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | No | The penalty cost for breaking any rolling ramping constraint applied to the plant discharge. |
| plant | discharge_period_ramping_penalty_cost | timeseries | Input | No | NOK/M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | No | The penalty cost for breaking any period ramping constraint applied to the plant discharge. |
| plant | average_discharge_rolling_ramping_up | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the plant discharge upwards from the average plant discharge in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the plant discharge can increase above the average rolling discharge. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| plant | average_discharge_rolling_ramping_down | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the plant discharge downwards from the average plant discharge in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the plant discharge can decrease below the average rolling discharge. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| plant | limit_discharge_rolling_ramping_up | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the plant discharge upwards from the minimal plant discharge in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the plant discharge can increase above the minimal rolling discharge. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| plant | limit_discharge_rolling_ramping_down | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify rolling ramping constraints that constrain the plant discharge downwards from the maximal plant discharge in a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the number of meters the plant discharge can decrease below the maximal rolling discharge. Each (x, y) point in each XY curve represents a rolling ramping constraint. |
| plant | average_discharge_period_ramping_up | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the plant discharge upwards from the average plant discharge in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the plant discharge can increase above the average discharge in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| plant | average_discharge_period_ramping_down | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the plant discharge downwards from the average plant discharge in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the plant discharge can decrease below the average discharge in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| plant | limit_discharge_period_ramping_up | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the plant discharge upwards from the minimal plant discharge in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the plant discharge can increase above the minimal discharge in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| plant | limit_discharge_period_ramping_down | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_COMPLEX_RAMPING | 15.2.0.0 | Yes | Input to specify period ramping constraints that constrain the plant discharge downwards from the maximal plant discharge in a fixed time window. The x-values represent the length of the fixed time window and the y-values specify the number of meters the plant discharge can decrease below the maximal discharge in the previous fixed time period. Each (x, y) point in each XY curve represents a period ramping constraint. |
| plant | historical_discharge | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 15.2.0.0 | No | The plant discharge for times before the optimization start, values after the start time of the optimization are ignored. The datatype of this attribute changed from XY to timeseries in version 15.3.1.0. historical_discharge on the connected generators will be used if this is not specified. |
| plant | average_discharge_period_ramping_up_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the average_discharge_period_ramping_up attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the average ramping up period constraints. |
| plant | average_discharge_period_ramping_down_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the average_discharge_period_ramping_down attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the average ramping down period constraints. |
| plant | limit_discharge_period_ramping_up_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the limit_discharge_period_ramping_up attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the limit ramping up period constraints. |
| plant | limit_discharge_period_ramping_down_offset | sy | Input | No | s: STRING and y: MINUTE | None/null | SHOP_COMPLEX_RAMPING | 15.3.3.0 | No | The y-values must be the same as the period lengths used in the limit_discharge_period_ramping_down attribute, while the strings are timestamps that specify when the first whole ramping period starts for each of the limit ramping down period constraints. |
| plant | fcr_n_up_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the FCR-N up reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | fcr_n_down_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the FCR-N down reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | fcr_d_up_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the FCR-D up reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | fcr_d_down_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the FCR-D down reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | frr_up_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the FRR up reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | frr_down_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the FRR down reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | rr_up_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the RR up reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | rr_down_activation_time | double | Input | No | HOUR | -1.0 | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The number of hours that one expects the RR down reserves allocated on the units of the plant to be activated. The default value of -1 will ignore the activation factor and instead use the activation factor on global_settings. |
| plant | fcr_n_up_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated FCR-N up reserves on the units of the plant that is expected to be activated. |
| plant | fcr_n_down_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated FCR-N down reserves on the units of the plant that is expected to be activated. |
| plant | fcr_d_up_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated FCR-D up reserves on the units of the plant that is expected to be activated. |
| plant | fcr_d_down_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated FCR-D down reserves on the units of the plant that is expected to be activated. |
| plant | frr_up_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated FRR up reserves on the units of the plant that is expected to be activated. |
| plant | frr_down_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated FRR down reserves on the units of the plant that is expected to be activated. |
| plant | rr_up_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated RR up reserves on the units of the plant that is expected to be activated. |
| plant | rr_down_activation_factor | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | Yes | The fraction (between 0.0 and 1.0) of the allocated RR down reserves on the units of the plant that is expected to be activated. |
| plant | fcr_n_up_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by FCR-N up reserves on this plant. |
| plant | fcr_n_down_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by FCR-N down reserves on this plant. |
| plant | fcr_d_up_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by FCR-D up reserves on this plant. |
| plant | fcr_d_down_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by FCR-D down reserves on this plant. |
| plant | frr_up_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by FRR up reserves on this plant. |
| plant | frr_down_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by FRR down reserves on this plant. |
| plant | rr_up_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by RR up reserves on this plant. |
| plant | rr_down_activation_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_RESERVE_GROUP | 15.3.0.0 | No | The penalty cost for violating the reserve activation constraints caused by RR down reserves on this plant. |
| plant | sum_reserve_up_max | timeseries | Input | No | MW | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | Sets a maximum limit for the sum of all upward reserve types delivered for the plant. The sum ranges over reserves delivered on all generators and pumps in the plant. |
| plant | sum_reserve_down_max | timeseries | Input | No | MW | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | Sets a maximum limit for the sum of all downward reserve types delivered for the plant. The sum ranges over reserves delivered on all generators and pumps in the plant. |
| plant | max_q_reserve_constr | timeseries | Input | No | M3/S | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The maximal discharge allowed through the plant when potential upward reserve activation is considered in addition to the planned plant discharge. |
| plant | min_q_reserve_constr | timeseries | Input | No | M3/S | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The minimal discharge allowed through the plant when potential downward reserve activation is considered in addition to the planned plant discharge. |
| plant | max_q_reserve_constr_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost incurred for violating the max_q_reserve_constr constraint, the max_q_constr_penalty_cost is used otherwise. |
| plant | min_q_reserve_constr_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost incurred for violating the min_q_reserve_constr constraint, the min_q_constr_penalty_cost is used otherwise. |
| plant | sum_reserve_up_max_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost incurred for violating the sum_reserve_up_max constraint, the reserve_penalty_cost is used otherwise. |
| plant | sum_reserve_down_max_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost incurred for violating the sum_reserve_down_max constraint, the reserve_penalty_cost is used otherwise. |
| plant | reserve_tactical_activation_cost_scaling | double | Input | No | NO_UNIT | -1.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the tactical reservoir volumes is decided by the reserve activation penalty cost scaled by this factor. If the default value of -1 is not changed, the reserve_tactical_activation_cost_scaling attribute on the global_settings object will be used instead. |
| plant | coupled_fcr_activation_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | If this flag is set to 1, 100% of the FCR-N reserves will be considered activated when building FCR-D reserve activation constraints for the reservoirs around this power plant. |
| plant | ramping_step_reference_discharge | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 15.3.4.0 | No | If multiple ramping steps XY curves are given, this timeseries decides which curve is used. The curve with reference that is both smaller than and closest to the timeseries value. If no curve references are smaller, the closest one will be used. |
| plant | min_uptime | int | Input | No | MINUTE | 0 | SHOP_MIN_UPTIME_DOWNTIME | 15.7.0.0 | No | Minimum up-time on plant level, given in whole minutes. |
| plant | min_downtime | int | Input | No | MINUTE | 0 | SHOP_MIN_UPTIME_DOWNTIME | 15.7.0.0 | No | Minimum down-time on plant level, given in whole minutes. |
| plant | min_uptime_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_MIN_UPTIME_DOWNTIME | 15.7.0.0 | No | Flag for turning on/off the minimum plant up-time constraints. |
| plant | min_downtime_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_MIN_UPTIME_DOWNTIME | 15.7.0.0 | No | Flag for turning on/off the minimum plant down-time constraints. |
| plant | historical_production | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.7.0.0 | No | The plant production for times before the optimization start. If not provided, historical production on generator level is checked. |
| plant | historical_consumption | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.7.0.0 | No | The plant consumption for times before the optimization start. If not provided, historical consumption on pump level is checked. |
| plant | simultanous_generating_pumping_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.0.0 | No | Flag determining whether simultanously generating and pumping is allowed in the plant. Default setting is 0 (not allowed). |
| plant | max_prod_reserve_strategy | string | Input | No | STRING | NOT SET | SHOP_RESERVE_GROUP | 16.2.0 | No | Overrides the global_setting attribute ‘plant_max_prod_reserve_strategy’ if set to a value other than ‘NOT SET’ (default), see the documentation for ‘plant_max_prod_reserve_strategy’ for a description of the different strategies. |
| plant | min_prod_reserve_strategy | string | Input | No | STRING | NOT SET | SHOP_RESERVE_GROUP | 16.2.0 | No | Overrides the global_setting attribute ‘plant_min_prod_reserve_strategy’ if set to a value other than ‘NOT SET’ (default), see the documentation for ‘plant_min_prod_reserve_strategy’ for a description of the different strategies. |
| plant | max_prod_reserve_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 16.2.0 | No | The penalty cost for violating the maximum limits for plant production including upward reserve capacity created by ‘plant_max_prod_reserve_strategy’. If not specified, the penalty is the same as for violating the max_p_constr plant constraint. |
| plant | min_prod_reserve_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 16.2.1 | No | The penalty cost for violating the minimum limits for plant production including downward reserve capacity created by ‘plant_min_prod_reserve_strategy’. If not specified, the penalty is the same as for violating the min_p_constr plant constraint. |
| plant | strict_pq_uploading_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.5.0 | No | If this flag is set to 1 for a time step, strict uploading constraints using binary variables for each PQ curve segment can be built for all generators on the plant object. See the attribute description for strict_pq_uploading_upon_detection for more information about automatic selection of hours to build strict PQ curve uploading. No strict uploading constraints are built for time steps where the flag is set to zero, or if the flag is not defined (default). |
| plant | strict_pq_uploading_upon_detection | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 16.5.0 | No | Setting this attribute to 1 will turn on building of strict PQ curve uploading constraints for the genarators of the plant. These constraints will only be built if incorrrect uploading has been detected for the plant and time step in a previous iteration AND if the strict_pq_uploading_flag is set to 1. Building these constraints upon detection is turned off when this attribute is set to zero (default), which means that all hours where strict_pq_uploading_flag = 1 will include the constraints. |
| plant | min_consumption | timeseries | Input | No | MW | None/null | SHOP_OPEN | 17.8.0 | No | Time-dependent minimum consumption limit for the plant. |
| plant | min_consumption_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent minimum consumption limit for the plant should be included in the optimization model. |
| plant | min_consumption_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent minimum consumption limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | min_consumption_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 17.8.0 | No | Given penalty cost for violating the time-dependent minimum consumption limit for the plant (if min_p_penalty_flag is set as 1). |
| plant | max_consumption | timeseries | Input | No | MW | None/null | SHOP_OPEN | 17.8.0 | No | Time-dependent maximum consumption limit for the plant. |
| plant | max_consumption_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent maximum consumption limit for the plant should be included in the optimization model. |
| plant | max_consumption_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent maximum consumption limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | max_consumption_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 17.8.0 | No | Given penalty cost for violating the time-dependent maximum consumption limit for the plant (if min_p_penalty_flag is set as 1). |
| plant | min_upflow | timeseries | Input | No | MW | None/null | SHOP_OPEN | 17.8.0 | No | Time-dependent minimum upflow limit for the plant. |
| plant | min_upflow_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent minimum upflow limit for the plant should be included in the optimization model. |
| plant | min_upflow_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent minimum upflow limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | min_upflow_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 17.8.0 | No | Given penalty cost for violating the time-dependent minimum upflow limit for the plant (if min_p_penalty_flag is set as 1). |
| plant | max_upflow | timeseries | Input | No | MW | None/null | SHOP_OPEN | 17.8.0 | No | Time-dependent maximum upflow limit for the plant. |
| plant | max_upflow_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent maximum upflow limit for the plant should be included in the optimization model. |
| plant | max_upflow_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether the time-dependent maximum upflow limit for the plant should be a hard or soft constraint: 0 = hard; 1 = soft. |
| plant | max_upflow_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 17.8.0 | No | Given penalty cost for violating the time-dependent maximum upflow limit for the plant (if min_p_penalty_flag is set as 1). |
| plant | min_consumption_include_reserves_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether reserves should be included in the minimum consumption constraints. |
| plant | max_consumption_include_reserves_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.8.0 | No | Flag determining whether reserves should be included in the maximum consumption constraints. |
| plant | rr_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 17.17.0 | Yes | Maximum RR_UP delivery for the plant. |
| plant | rr_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 17.17.0 | Yes | Maximum RR_DOWN delivery for the plant. |
| plant | production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting plant production, i.e. sum of resulting generator production. |
| plant | solver_production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.0.0.1 | No | Preliminary result for the sum of generator production that is returned by the linearized optimization problem. |
| plant | sim_production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated plant production. |
| plant | prod_unbalance | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Difference between the result of the non-linear post-calculation (production) and the production determined by the linear optimization problem (solver_production). |
| plant | consumption | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting plant consumption, i.e. sum of resulting pump consumption. |
| plant | sim_consumption | timeseries | Output | No | MW | None/null | SHOP_SIMULATION | 13.0.0.a | No | Simulated plant consumption, i.e. sum of resulting pump consumption. |
| plant | solver_consumption | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.0.0.1 | No | Preliminary result for the sum of pump consumption that is returned by the linearized optimization problem. |
| plant | cons_unbalance | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Difference between the result of the non-linear post-calculation (consumption) and the consumption determined by the linear optimization problem (solver_consumption). |
| plant | discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting plant discharge, i.e. sum of resulting generator discharge. |
| plant | solver_discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.0.0.1 | No | Preliminary result for the sum of generator discharge that is returned by the linearized optimization problem. |
| plant | sim_discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated plant discharge. |
| plant | upflow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting plant upflow, i.e. sum of resulting pump upflow. |
| plant | sim_upflow | timeseries | Output | No | M3/S | None/null | SHOP_SIMULATION | 13.0.0.a | No | Simulated plant upflow, i.e. sum of resulting pump upflow. |
| plant | solver_upflow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.0.0.1 | No | Preliminary result for the sum of pump upflow that is returned by the linearized optimization problem. |
| plant | gross_head | timeseries | Output | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | No | Plant gross head, i.e. the difference between upstream reservoir water level and max(plant outlet_line, downstream reservoir water level). |
| plant | eff_head | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting plant effective head. If overall generating, effective plant head is defined as the lowest eff_head of the generators. If overall pumping, effective plant head is defined as the highest eff_head of the pumps. |
| plant | head_loss | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.0.0.a | No | Plant head loss, i.e. the plant gross head minus the lowest effective head of the unit in the plant. If overall generating, plant head loss is positive. If overall pumping, plant head loss is negative. |
| plant | min_p_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the time-dependent maximum production limit for the plant is violated. |
| plant | max_p_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the time-dependent maximum production limit for the plant is violated. |
| plant | min_q_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the time-dependent minimum discharge limit for the plant is violated. |
| plant | max_q_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the time-dependent maximum discharge limit for the plant is violated. |
| plant | p_constr_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost when the time-dependent maximum or minimum production limit for the plant is violated. |
| plant | q_constr_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost when the time-dependent maximum or minimum discharge limit for the plant is violated. |
| plant | schedule_up_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when deviating above the plant schedule. |
| plant | schedule_down_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when deviating below the plant schedule. |
| plant | schedule_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost for violation of the plant schedule. |
| plant | max_prod_all | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.1.0 | No | Maximum plant production if all generators not on maintenance in the plant are producing at maximum. |
| plant | max_prod_available | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | Maximum plant production if all generators not on maintenance or committed off in the plant are producing at maximum. |
| plant | max_prod_spinning | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | Maximum plant production if all the spinning generators in the plant are producing at maximum. |
| plant | min_prod_spinning | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | Minimum plant production if all the spinning generators in the plant are producing at minimum. |
| plant | best_profit_q | xyt | Output | No | x: MW and y: M3/S | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Plant discharge after changing the production of the plant from the current operating point to a new point in the best profit curve of the plant. Created after the command ‘create bp_curves’ has been performed. |
| plant | best_profit_mc | xyt | Output | No | x: MW and y: NOK/MW | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Marginal production cost after changing the production of the plant from the current operating point to a new point in the best profit curve of the plant. Created after the command ‘create bp_curves’ has been performed. |
| plant | best_profit_ac | xyt | Output | No | x: MW and y: NOK/MW | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Average production cost after changing the production of the plant from the current operating point to a new point in the best profit curve of the plant. Created after the command ‘create bp_curves’ has been performed. |
| plant | best_profit_commitment_cost | xyt | Output | No | x: MW and y: NOK | None/null | SHOP_BEST_PROFIT | 13.5.4.e | No | Sum of startup costs or shutdown costs after changing the production of the plant from the current operating point to a new point in the best profit curve of the plant. Created after the command ‘create bp_curves’ has been performed. |
| plant | best_profit_bid_matrix | xyt | Output | No | x: MW and y: NOK/MW | None/null | SHOP_BEST_PROFIT | 14.2.2.0 | No | A plant bid matrix created by reducing the best_profit_mc curves when the command ‘print bp_bid_matrix’ is called. The maximum number of price columns in the bid matrix is set by the attribute bp_bid_matrix_points on the global_settings object. |
| plant | times_of_wrong_pq_uploading | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.9 | No | How many times the unit PQ segments are wrongly uploaded, i.e. the latter segments are fulfilled first. |
| plant | max_prod_reserve_violation | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.2.0 | No | The violation of the maximum limit for plant production including upward reserve capacity that is created by choosing a plant_max_prod_reserve_strategy. |
| plant | min_prod_reserve_violation | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.2.0 | No | The violation of the minimum limit for plant production including downward reserve capacity that is created by choosing a plant_min_prod_reserve_strategy. |
| plant | min_consumption_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 17.8.0 | No | Resulting penalty when the time-dependent maximum consumption limit for the plant is violated. |
| plant | max_consumption_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 17.8.0 | No | Resulting penalty when the time-dependent maximum consumption limit for the plant is violated. |
| plant | min_upflow_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 17.8.0 | No | Resulting penalty when the time-dependent minimum upflow limit for the plant is violated. |
| plant | max_upflow_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 17.8.0 | No | Resulting penalty when the time-dependent maximum upflow limit for the plant is violated. |
| plant | consumption_penalty_cost | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 17.8.0 | No | Resulting penalty cost when the time-dependent maximum or minimum consumption limit for the plant is violated. |
| plant | upflow_penalty_cost | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 17.8.0 | No | Resulting penalty cost when the time-dependent maximum or minimum upflow limit for the plant is violated. |
| plant | incorrect_pq_uploading | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 17.9.0 | No | This timeseries is set to 1 for all time steps where incorrect uploading of the PQ curve has happened for any generator on this plant in any previous iteration. This is used for the strict pq uploading functionality. |
| generator | type | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Specification of type of generator when using ASCII-files as input. 0 indicates Francis or Kaplan turbine while PELTON indicates a Pelton unit (or a unit where forbidden operating zones is modelled as Pelton). |
| generator | num_needle_comb | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Number of needle combinations for Pelton units. |
| generator | prod_area | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: use a busbar object per price area and connect the appropriate units and markets to the busbars. Production from this generator will be sold in markets connected to the given price area. |
| generator | initial_state | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 13.0.0.a | No | The initial operation state of the generator before the optimization period: -1 = not set; 0 = not running; 1 = running. |
| generator | penstock | int | Input | Yes | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | The penstock number the generator is connected to in the plant, must be a number between 1 and the size of the penstock_loss attribute on the plant object. |
| generator | separate_droop | int | Input | No | NO_UNIT | 0 | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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 generator. |
| generator | p_min | double | Input | No | MW | 0.0 | SHOP_OPEN | 13.0.0.a | No | Static minimum production for the generator. |
| generator | p_max | double | Input | Yes | MW | 0.0 | SHOP_OPEN | 13.0.0.a | No | Static maximum production for the generator. |
| generator | p_nom | double | Input | Yes | MW | 0.0 | SHOP_OPEN | 13.0.0.a | No | The nominal production that is the rated capacity of the generator, only used in droop calculations. |
| generator | gen_eff_curve | xy | Input | No | x: MW and y: % | None/null | SHOP_OPEN | 13.0.0.a | No | The generator efficiency curve as a function of the produced power. |
| generator | turb_eff_curves | xy_array | Input | Yes | x: M3/S and y: % | None/null | SHOP_OPEN | 13.0.0.a | No | The turbine efficiency curve(s) as a function of discharge through the turbine. Several curves can be specified for different head levels (reference value in the XY) to make the efficiency head-dependent. |
| generator | maintenance_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the generator is out for maintenance for a given time step. |
| generator | startcost | timeseries | Input | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Generator startup cost when turning on the unit in one time step. |
| generator | startcost_const | double | Input | No | NOK | 0.0 | SHOP_OPEN | 17.5.0 | No | A constant startup cost when turning on the generator in one time step. The timeseries attribute startcost is preferred over startcost_const if both are set. |
| generator | stopcost | timeseries | Input | No | NOK | None/null | SHOP_BLOCK_MERGE | 13.0.0.a | No | Generator shutdown cost when turning off the unit in one time step. |
| generator | stopcost_const | double | Input | No | NOK | 0.0 | SHOP_OPEN | 17.5.0 | No | A constant shutdown cost when turning off the generator in one time step. The timeseries attribute stopcost is preferred over stopcost_const if both are set. |
| generator | discharge_cost_curve | xy | Input | No | x: M3/S and y: NOK/H/M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Extra cost depending on the discharge of the generator. |
| generator | priority | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent generators priority to define the uploading order among all the generators in a plant. Plant gen_priority will be ignored if generator priority is set. |
| generator | committed_in | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | Committed status given by the user used to define the operating status of the generator in the optimization: 0 - committed not to run; 1 - committed to run. |
| generator | committed_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the input commit status should be used for a given time step or not. |
| generator | min_p_constr | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent minimum production limit for the generator that will replace static p_min if it is more constraining. Note that the generator may still be turned off if a min_p_constr > 0 is set, use the committed_in attribute to force the generator to be on. |
| generator | min_p_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent minimum production limit for the generator should be included in the building of the original PQ curve. |
| generator | max_p_constr | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent maximum production limit for the generator that will replace static p_max if it is more constraining. |
| generator | max_p_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent maximum production limit for the generator should be included in the building of the original PQ curve. |
| generator | min_q_constr | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent minimum discharge limit for the generator. Note that the generator may still be turned off if a min_q_constr > 0 is set, use the committed_in attribute to force the generator to be on. |
| generator | min_q_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent minimum discharge limit for the generator should be included in the building of the original PQ curve. |
| generator | max_q_constr | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Time-dependent maximum discharge limit for the generator. |
| generator | max_q_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the time-dependent maximum discharge limit for the generator should be included in the building of the original PQ curve. |
| generator | max_q_limit_rsv_down | xy | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Maximum generator discharge limit (m3/s) and downstream reservoir water level (meter above sea level) relation. |
| generator | upstream_min | timeseries | Input | No | METER | None/null | SHOP_RESIDUAL_RESERVOIR | 13.0.0.a | Yes | Minimum water level of upstream reservoir required for running the generator. If the plant is connected to an upstream tunnel network, the smallest reservoir is used to build the constraints. |
| generator | upstream_min_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESIDUAL_RESERVOIR | 13.0.0.a | No | Flag determining whether the minimum water level of upstream reservoir required for running the generator should be included in the optimization model. |
| generator | downstream_max | timeseries | Input | No | METER | None/null | SHOP_OPEN | 13.0.0.a | Yes | Maximum water level of downstream reservoir allowed when running the generator. If the plant is connected to a downstream tunnel network, the smallest reservoir is used to build the constraints. |
| generator | downstream_max_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESIDUAL_RESERVOIR | 13.0.0.a | No | Flag determining whether the maximum water level of downstream allowed when running the generator should be included in the optimization model. |
| generator | production_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Generator production schedule. Note that setting a schedule higher or lower than the operating limits of the generator is allowed, but this might lead to inaccurate results due to lacking efficiency data. |
| generator | production_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the generator production schedule should be included in the optimization model. |
| generator | discharge_schedule | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Generator discharge schedule. Note that setting a schedule higher or lower than the operating limits of the generator is allowed, but this might lead to inaccurate results due to lacking efficiency data. The three special flag values 1e41, 1e42, and 1e43 can be set to make the generator run at best, minimum, and maximum output, respectively. |
| generator | discharge_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the generator discharge schedule should be included in the optimization model. |
| generator | fcr_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether binary variables should be used to indicate that the generator can contribute to FCR only if its unused capacity is no less than 2 % of the maximum production limit. |
| generator | p_fcr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Temporary minimum production for the generator when delivering FCR. If this is not set, the head-dependent minimum production of the generator will be used instead. Note that the p_fcr_n_min and p_fcr_d_min attributes will take precedence over this attribute if both are specified. |
| generator | p_fcr_n_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary minimum production for the generator when delivering FCR-N. If this attribute is not specified, the p_fcr_min attribute on the generator object will be used instead. |
| generator | p_fcr_d_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary minimum production for the generator when delivering FCR-D. If this attribute is not specified, the p_fcr_min attribute on the generator object will be used instead. |
| generator | p_fcr_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Temporary maximum production for the generator when delivering FCR. If this is not set, the head-dependent maximum production of the generator will be used instead. Note that the p_fcr_n_max and p_fcr_d_max attributes will take precedence over this attribute if both are specified. |
| generator | p_fcr_n_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary maximum production for the generator when delivering FCR-N. If this attribute is not specified, the p_fcr_max attribute on the generator object will be used instead. |
| generator | p_fcr_d_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary maximum production for the generator when delivering FCR-D. If this attribute is not specified, the p_fcr_max attribute on the generator object will be used instead. |
| generator | p_frr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 15.0.1.0 | Yes | Minimum production for the generator when delivering FRR. If not specified, the head-dependent minimum production for the generator (or needle_combination for Pelton units) is used as lower bound for downward FRR. |
| generator | p_frr_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 15.0.1.0 | Yes | Maximum production for the generator when delivering FRR. If not specified, the head-dependent maximum production for the generator (or needle_combination for Pelton units) is used as upper bound for upward FRR. |
| generator | p_rr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Temporary, user-overridden minimum production for the generator when delivering RR. If not specified, or set above p_min on the generator, it defaults to p_min. The attribute ‘rr_down_stop_mip_flag’ on the generator or the attribute ‘rr_down_stop_mip’ on global_settings ensures valid delivery of RR-DOWN reserves down to full stop and also prohibits RR-DOWN allocation in the forbidden production region between 0 and p_rr_min. |
| generator | frr_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FRR_UP delivery for the generator. |
| generator | frr_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FRR_UP delivery for the generator. |
| generator | frr_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FRR_DOWN delivery for the generator. |
| generator | frr_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FRR_DOWN delivery for the generator. |
| generator | fcr_n_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FCR_N_UP delivery for the generator. |
| generator | fcr_n_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FCR_N_UP delivery for the generator. |
| generator | fcr_n_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FCR_N_DOWN delivery for the generator. |
| generator | fcr_n_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FCR_N_DOWN delivery for the generator. |
| generator | fcr_d_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FCR_D_UP delivery for the generator. |
| generator | fcr_d_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FCR_D_UP delivery for the generator. |
| generator | fcr_d_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | Minimum FCR_D_DOWN delivery for the generator. |
| generator | fcr_d_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | Maximum FCR_D_DOWN delivery for the generator. |
| generator | rr_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum RR_UP delivery for the generator. |
| generator | rr_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum RR_UP delivery for the generator. |
| generator | rr_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum RR_DOWN delivery for the generator. |
| generator | rr_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum RR_DOWN delivery for the generator. |
| generator | fcr_n_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator FCR_N_UP delivery schedule. |
| generator | fcr_n_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator FCR_N_UP delivery schedule should be included in the optimization model. |
| generator | fcr_n_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator FCR_N_DOWN delivery schedule. |
| generator | fcr_n_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator FCR_N_DOWN delivery schedule should be included in the optimization model. |
| generator | fcr_d_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator FCR_D_UP delivery schedule. |
| generator | fcr_d_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator FCR_D_UP delivery schedule should be included in the optimization model. |
| generator | fcr_d_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | Generator FCR_D_DOWN delivery schedule. |
| generator | fcr_d_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Flag determining whether the generator FCR_D_DOWN delivery schedule should be included in the optimization model. |
| generator | frr_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator FRR_UP delivery schedule. |
| generator | frr_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator FRR_UP delivery schedule should be included in the optimization model. |
| generator | frr_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator FRR_DOWN delivery schedule. |
| generator | frr_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator FRR_DOWN delivery schedule should be included in the optimization model. |
| generator | rr_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator RR_UP delivery schedule. |
| generator | rr_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator RR_UP delivery schedule should be included in the optimization model. |
| generator | rr_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Generator RR_DOWN delivery schedule. |
| generator | rr_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the generator RR_DOWN delivery schedule should be included in the optimization model. |
| generator | droop_cost | timeseries | Input | No | NOK | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | 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. |
| generator | fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Fixed unit droop given as input data. |
| generator | fixed_droop_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the fixed droop setting should be included in the optimization model. |
| generator | droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | 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. |
| generator | droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | 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. |
| generator | discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_DISCRETE_DROOP | 14.0.1.0 | No | A list of all legal droop values for the generator. 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. |
| generator | fcr_n_discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | A list of all legal droop values for FCR-N reserves when the generator 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. |
| generator | fcr_d_up_discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | A list of all legal droop values for FCR-D up reserves when the generator 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. |
| generator | fcr_d_down_discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | A list of all legal droop values for FCR-D down reserves when the generator 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. |
| generator | reserve_ramping_cost_up | timeseries | Input | No | NOK | None/null | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 13.0.0.a | Yes | Upward reserve ramping cost for changing reserve delivery of the generator. |
| generator | reserve_ramping_cost_down | timeseries | Input | No | NOK | None/null | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 13.0.0.a | Yes | Downward reserve ramping cost for changing reserve delivery of the generator. |
| generator | ref_production | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Production of the generator indicating the planned operating point as starting point for the best profit calculation. |
| generator | schedule_deviation_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the generator can deviate from the input schedule when calculating marginal cost and best profit curves. Implicitly generated based on the ref_prod attribute if the command ‘set prod_from_ref_prod’ is used. |
| generator | gen_turn_off_limit | timeseries | Input | No | NO_UNIT | 0.5 | SHOP_OPEN | 14.0.0.1 | No | A decimal number between 0 and 1 that signifies if the generator operates below the fraction (the decimal number) of its minimum operating limit in a full mode without MIP, the unit will be turned off. |
| generator | fcr_n_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-N up reserves on this generator. |
| generator | fcr_n_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-N down reserves on this generator. |
| generator | fcr_d_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-D up reserves on this generator. |
| generator | fcr_d_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-D down reserves on this generator. |
| generator | frr_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FRR up reserves on this generator. |
| generator | frr_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FRR down reserves on this generator. |
| generator | rr_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating RR up reserves on this generator. |
| generator | rr_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating RR down reserves on this generator. |
| generator | spinning_reserve_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.5.0 | Yes | Sets a maximum limit for the sum of spinning reserves delivered in the upward direction on the generator. |
| generator | spinning_reserve_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.5.0 | Yes | Sets a maximum limit for the sum of spinning reserves delivered in the downward direction on the generator. |
| generator | fcr_n_droop_cost | timeseries | Input | No | NOK | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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 generator or global_settings is used if this attribut is not specified. |
| generator | fcr_d_up_droop_cost | timeseries | Input | No | NOK | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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 generator or global_settings is used if this attribut is not specified. |
| generator | fcr_d_down_droop_cost | timeseries | Input | No | NOK | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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 generator or global_settings is used if this attribut is not specified. |
| generator | fcr_n_fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | Fixed unit droop schedule for FCR-N reserves when droop is built separately for FCR-N and FCR-D. |
| generator | fcr_d_up_fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | Fixed unit droop schedule for FCR-D up reserves when droop is built separately for FCR-N and FCR-D. |
| generator | fcr_d_down_fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | Fixed unit droop schedule for FCR-D down reserves when droop is built separately for FCR-N and FCR-D. |
| generator | fcr_n_droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| generator | fcr_d_up_droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| generator | fcr_d_down_droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| generator | fcr_n_droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| generator | fcr_d_up_droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| generator | fcr_d_down_droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| generator | couple_fcr_delivery_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.3.0 | No | If this flag is set to 1, no FCR-D capacity can be allocated to the generator unless the allocated FCR-N reserve capacity is at its maximal value. Upward and downward reserve capacity are handled separately. |
| generator | historical_production | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.4.1.0 | No | The generator production for times before the optimization start. |
| generator | min_uptime | int | Input | No | MINUTE | 0 | SHOP_MIN_UPTIME_DOWNTIME | 15.4.1.0 | No | Minimum generator up-time, given in whole minutes. |
| generator | min_downtime | int | Input | No | MINUTE | 0 | SHOP_MIN_UPTIME_DOWNTIME | 15.4.1.0 | No | Minimum generator down-time, given in whole minutes. |
| generator | min_uptime_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_MIN_UPTIME_DOWNTIME | 15.4.1.0 | No | Flag for turning minimum uptime constraints on (1) or off (0). Constraints are built if no flag is given. |
| generator | min_downtime_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_MIN_UPTIME_DOWNTIME | 15.4.1.0 | No | Flag for turning minimum downtime constraints on (1) or off (0). Constraints are built if no flag is given. |
| generator | rr_down_stop_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.6.0.0 | No | Setting this flag to 1 turns on the use of binary variables in full iterations to enable the generator to deliver valid RR-DOWN reserves down to full stop. This forces RR-DOWN to either be allocated as a spinning reserve down to p_rr_min (which defaults to p_min) or down to a full stop, and no other spinning reserves can be allocated on the unit if RR-DOWN is delivered down to stop. RR-DOWN allocation in the forbidden production region between 0 and p_rr_min is also prohibited. If the flag is not specified, the attribute ‘rr_down_stop_mip’ on global_settings is used. |
| generator | min_discharge | xy | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 16.0.0 | No | Minimum discharge as a function of net head. |
| generator | max_discharge | xy | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 16.0.0 | No | Maximum discharge as a function of net head. |
| generator | historical_discharge | timeseries | Input | No | MW | None/null | SHOP_OPEN | 16.9.0 | No | The generator discharge for times before the optimization start. This is mainly used when adding discharge ramping constraints on plant level if historical_discharge on the plant is not specified. |
| generator | only_spinning_rr_up | int | Input | No | NO_UNIT | 0 | SHOP_RESERVE_GROUP | 16.9.0 | No | Set this value to 1 to force the generator to only deliver RR-UP reserves if it is spinning. The default behaviour in SHOP (when this value is 0) is to allow offline generators to deliver RR-UP reserves. |
| generator | gross_head_min | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | Minimum gross head limit for generator production. 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. |
| generator | gross_head_max | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | Maximum gross head limit for generator production. 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. |
| generator | gross_head_min_flag | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | Flag for turning on/off the minimum gross head limit for generator production. |
| generator | gross_head_max_flag | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | Flag for turning on/off the maximum gross head limit for generator production. |
| generator | startup_gross_head_min | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.9.0 | Yes | Minimum gross head limit for generator 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. |
| generator | startup_gross_head_min_flag | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.9.0 | No | Flag for turning on/off the minimum gross head limit for generator startup. |
| generator | frr_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 17.13.0 | No | Setting this flag to 1 will turn on the use of binary variables in full iterations to ensure that activated FRR reserves end up outside forbidden zones. |
| generator | pelton_change_needle_combination_cost | timeseries | Input | No | NOK | None/null | SHOP_PELTON | 18.2.0 | No | Cost for changing the committed needle combination between time steps for pelton units. Any startup or shutdown cost defined on the generator should be larger thant this change cost. |
| generator | eff_head | timeseries | Output | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | No | Resulting effective head of the generator. |
| generator | sim_eff_head | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.5.4.c | No | The simulated effective head of the generator. |
| generator | head_loss | timeseries | Output | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | No | Resulting head loss of the generator, i.e. the plant gross head (gross_head) minus the effective head of the generator (eff_head). |
| generator | sim_head_loss | timeseries | Output | No | METER | None/null | SHOP_OPEN | 16.7.0 | No | Resulting head loss of the generator in the simulation, i.e. the plant gross head (gross_head) minus the effective head of the generator (eff_head). |
| generator | production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting generator production, calculated base on discharge. |
| generator | solver_production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Preliminary result for generator production that is returned by the linearized optimization problem. |
| generator | sim_production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated generator production. |
| generator | discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting generator discharge. If solver_discharge >= gen_turn_off_limit, discharge is equal to solver_discharge. Otherwise, discharge = 0. |
| generator | solver_discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Preliminary result for generator discharge that is returned by the linearized optimization problem. |
| generator | sim_discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated generator discharge. |
| generator | committed_out | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Committed status of the generator 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 discharge in full iterations and the gen_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 generator is on or off. Note that if a Pelton is committed to run, the number of the committed needle_comb is returned. |
| generator | solver_committed_fraction | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 17.6.0 | No | The value of the (relaxed) binary variable uesed to model the on/off status of the generator 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). For Pelton units, the fraction is the sum of the (fractional) commitment of all needle combinations. |
| generator | production_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the generator production schedule is violated. |
| generator | discharge_schedule_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the generator discharge schedule is violated. |
| generator | fcr_n_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator FCR_N_UP delivery. |
| generator | fcr_n_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator FCR_N_DOWN delivery. |
| generator | fcr_d_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator FCR_D_UP delivery. |
| generator | fcr_d_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Resulting generator FCR_D_DOWN delivery. |
| generator | frr_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator FRR_UP delivery. |
| generator | frr_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator FRR_DOWN delivery. |
| generator | rr_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator RR_UP delivery. |
| generator | rr_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting generator RR_DOWN delivery. |
| generator | fcr_n_up_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical generator FCR_N delivery in the upward direction. |
| generator | fcr_n_down_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical generator FCR_N delivery in the downward direction. |
| generator | fcr_d_up_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical generator FCR_D delivery in the upward direction. |
| generator | fcr_d_down_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical generator FCR_D delivery in the downward direction. |
| generator | fcr_n_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator FCR_N_UP schedule is violated. |
| generator | fcr_n_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator FCR_N_DOWN schedule is violated. |
| generator | fcr_d_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator FCR_D_UP schedule is violated. |
| generator | fcr_d_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Resulting penalty when the generator FCR_D_DOWN schedule is violated. |
| generator | frr_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator FRR_UP schedule is violated. |
| generator | frr_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator FRR_DOWN schedule is violated. |
| generator | rr_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator RR_UP schedule is violated. |
| generator | rr_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the generator RR_DOWN schedule is violated. |
| generator | droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting unit droop when it is modelled as a variable in the optimization model. |
| generator | best_profit_q | xyt | Output | No | x: MW and y: M3/S | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Optimal discharge for the generator given a certain production level of the plant. Created after the command ‘create bp_curves’ has been performed. |
| generator | best_profit_p | xyt | Output | No | x: MW and y: MW | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Optimal production for the generator given a certain production level of the plant. Created after the command ‘create bp_curves’ has been performed. |
| generator | best_profit_q_p | xyt | Output | No | x: MW and y: M3/S | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Ratio between discharge and production for the generator given a certain production level of the plant. Created after the command ‘create bp_curves’ has been performed. |
| generator | best_profit_needle_comb | xyt | Output | No | x: MW and y: NO_UNIT | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Optimal needle combination for the generator given a certain production level of the plant. Created after the command ‘create bp_curves’ has been performed. |
| generator | startup_cost_mip_objective | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Cost in the objective function of the solver from startup costs originating from the time steps when MIP is used. |
| generator | startup_cost_total_objective | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Post-optimization calculated startup costs based on change in commitment status for both time steps with and without MIP activated. |
| generator | discharge_fee_objective | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Cost in the objective function resulting from discharge fees for this generator. |
| generator | feeding_fee_objective | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Cost in the objective function resulting from feed-in fees for this generator. |
| generator | schedule_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty cost when the generator schedule (production schedule and/or discharge schedule) for the generator is voilated. |
| generator | market_income | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Income in the objective function from selling the energy produced on this generator. |
| generator | original_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Original PQ-curve for the generator that includes non-convex regions. |
| generator | convex_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Convexified PQ-curve for the generator that includes all the time-dependent operating limits and removes all the non-concave points of the original PQ curve. The slope of each segment is non-increasing. |
| generator | final_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Final PQ curve for the generator that is the final form included into the optimization problem. The first point of the convex PQ curve is extended to Q=0. |
| generator | max_prod_individual | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | No | The head-dependent maximal production of the generator if all other units continue to operate at their current production level. Most accurate in incremental iterations. |
| generator | max_prod_all | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | The head-dependent maximal production of the generator if all generators not on maintenance in the plant are also producing at maximum. |
| generator | max_prod_available | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | The head.dependent maximal production of the generator if all generators not on maintenance or committed off in the plant are also producing at maximum. |
| generator | max_prod_spinning | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | The head-dependent maximal production of the generator if all spinning generators in the plant are also producing at maximum. |
| generator | min_prod_individual | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | No | The head-dependent minimal production of the generator if all other units continue to operate at their current production level. Most accurate in incremental iterations. |
| generator | min_prod_spinning | timeseries | Output | No | MW | None/null | SHOP_OPEN | 16.1.0 | No | The head-dependent minimal production of the generator if all spinning generators in the plant are also producing at minimum. |
| generator | fcr_n_droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| generator | fcr_d_up_droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| generator | fcr_d_down_droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| generator | fcr_binary_variable_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 17.9.0 | No | The (potentially fractional) result of the (relaxed) binary variable used when the fcr_mip_flag is set. |
| generator | pelton_rr_up_needle_commit | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 17.9.0 | No | The needle combination that is chosen to deliver RR up reserves for pelton units. If -1, no needle combination is used to deliver RR up. If -2, attribute has not been set. |
| needle_combination | p_max | double | Input | Yes | MW | 0.0 | SHOP_PELTON | 13.0.0.a | No | Static maximum production for the needle combination. |
| needle_combination | p_min | double | Input | No | MW | 0.0 | SHOP_PELTON | 13.0.0.a | No | Static minimum production for the needle combination. |
| needle_combination | p_nom | double | Input | Yes | MW | 0.0 | SHOP_PELTON | 13.0.0.a | No | The nominal production that is the rated capacity of the needle combination, only used for droop calculations. |
| needle_combination | turb_eff_curves | xy_array | Input | Yes | x: M3/S and y: % | None/null | SHOP_PELTON | 13.0.0.a | No | The turbine efficiency curve(s) as a function of discharge through the turbine for this needle_combination. Several curves can be specified for different head levels (reference value in the XY) to make the efficiency head-dependent. |
| needle_combination | p_fcr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | Yes | Temporary minimum production allowed for the needle combination when delivering FCR. If this is not set, any p_fcr_min attribute defined on the generator object will be used instead. Note that the p_fcr_n_min and p_fcr_d_min attributes on the needle_combination will take precedence over this attribute if both are specified. |
| needle_combination | p_fcr_n_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary minimum production allowed for the needle combination when delivering FCR-N. If this attribute is not specified, the p_fcr_min attribute on the needle_combination object will be used instead. |
| needle_combination | p_fcr_d_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary minimum production allowed for the needle combination when delivering FCR-D. If this attribute is not specified, the p_fcr_min attribute on the needle_combination object will be used instead. |
| needle_combination | p_fcr_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | Yes | Temporary maximum production allowed for the needle combination when delivering FCR. If this is not set, any p_fcr_max attribute defined on the generator object will be used instead. Note that the p_fcr_n_max and p_fcr_d_max attributes on the needle_combination will take precedence over this attribute if both are specified. |
| needle_combination | p_fcr_n_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary maximum production allowed for the needle combination when delivering FCR-N. If this attribute is not specified, the p_fcr_max attribute on the needle_combination object will be used instead. |
| needle_combination | p_fcr_d_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 16.6.1 | Yes | Temporary maximum production allowed for the needle combination when delivering FCR-D. If this attribute is not specified, the p_fcr_max attribute on the needle_combination object will be used instead. |
| needle_combination | p_frr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 15.0.1.0 | Yes | Minimum production allowed for the needle combination when delivering FRR. If not specified, the head-dependent minimum production for the needle combination is used as lower bound for downward FRR. |
| needle_combination | p_frr_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 15.0.1.0 | Yes | Maximum production allowed for the needle combination when delivering FRR. If not specified, the head-dependent maximum production for the needle combination is used as upper bound for upward FRR. |
| needle_combination | production_cost | xy | Input | No | x: MW and y: NOK/MW | None/null | SHOP_OPEN | 15.0.0.a | No | Production cost depending on the production of the needle combination. |
| needle_combination | min_discharge | xy | Input | No | x: NO_UNIT and y: NO_UNIT | None/null | SHOP_OPEN | 16.0.0 | No | Minimum discharge as a function of net head. |
| needle_combination | max_discharge | xy | Input | No | x: NO_UNIT and y: NO_UNIT | None/null | SHOP_OPEN | 16.0.0 | No | Maximum discharge as a function of net head. |
| needle_combination | original_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Original PQ-curve for the needle combination that includes non-convex regions. |
| needle_combination | convex_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Convexified PQ-curve for the needle combination that includes all the time-dependent operating limits and remove all the non-concave points of the original PQ curve. The slope of each segment is non-increasing. |
| needle_combination | final_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Final PQ curve for the needle combination that is the final form included into the MILP optimization problem. The first point of the convex PQ curve is extended to Q=0. |
| needle_combination | max_prod | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | No | The head dependent maximal production of the needle_combination, most accurate in incremental iterations. |
| needle_combination | min_prod | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | No | The head dependent minimal production of the needle_combination, most accurate in incremental iterations. |
| needle_combination | solver_committed_fraction | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 17.6.0 | No | The value of the (relaxed) binary variable uesed to model the on/off status of the needle combination 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). |
| pump | initial_state | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 13.0.0.a | No | The initial operation state of the pump before the optimization period: -1 = not set; 0 = not running; 1 = running. |
| pump | penstock | int | Input | Yes | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | The penstock number the pump is connected to. |
| pump | separate_droop | int | Input | No | NO_UNIT | 0 | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | p_min | double | Input | No | MW | 0.0 | SHOP_OPEN | 13.0.0.a | No | Static minimum consumption for the pump. |
| pump | p_max | double | Input | Yes | MW | 0.0 | SHOP_OPEN | 13.0.0.a | No | Static maximum consumption for the pump. |
| pump | p_nom | double | Input | Yes | MW | 0.0 | SHOP_OPEN | 13.0.0.a | No | The nominal consumption that is the rated capacity of the pump. |
| pump | gen_eff_curve | xy | Input | No | x: MW and y: % | None/null | SHOP_OPEN | 13.0.0.a | No | The efficiency curve for the machine powering the pump. |
| pump | turb_eff_curves | xy_array | Input | Yes | x: M3/S and y: % | None/null | SHOP_OPEN | 13.0.0.a | No | 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. |
| pump | maintenance_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the pump is out for maintenance for a given time step. |
| pump | startcost | timeseries | Input | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Pump startup cost for turning on the pump that can vary over time. |
| pump | startcost_const | double | Input | No | NOK | 0.0 | SHOP_OPEN | 17.5.0 | No | 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. |
| pump | stopcost | timeseries | Input | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Pump shutdown cost for turning off the pump that can vary over time. |
| pump | stopcost_const | double | Input | No | NOK | 0.0 | SHOP_OPEN | 17.5.0 | No | 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. |
| pump | committed_in | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | 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. |
| pump | committed_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether to use the input commit status should be used for a given time step or not. |
| pump | upstream_max | timeseries | Input | No | METER | None/null | SHOP_PUMPING_CONSTRAINT | 13.0.0.a | Yes | 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. |
| pump | upstream_max_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_PUMPING_CONSTRAINT | 13.0.0.a | No | Flag determining whether the maximum water level of upstream reservoir allowed when operating the pump should be included in the optimization model. |
| pump | downstream_min | timeseries | Input | No | METER | None/null | SHOP_PUMPING_CONSTRAINT | 13.0.0.a | Yes | Minimum water level of downstream reservoir required for operating the pump. |
| pump | downstream_min_flag | timeseries | Input | No | METER | None/null | SHOP_PUMPING_CONSTRAINT | 13.0.0.a | No | 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. |
| pump | consumption_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Consumption schedule. |
| pump | consumption_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the pump consumption schedule should be included in the optimization model. |
| pump | upflow_schedule | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Pump upflow schedule. |
| pump | upflow_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Flag determining whether the pump upflow schedule should be included in the optimization model. |
| pump | fcr_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether binary variables should be used to enforce minimum available capacity requirement when delivering FCR. |
| pump | p_fcr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Temporary minimum consumption for the pump when delivering FCR. |
| pump | p_fcr_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Temporary maximum consumption for the pump when delivering FCR. |
| pump | p_rr_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | 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. |
| pump | frr_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FRR_UP delivery for the pump. |
| pump | frr_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FRR_UP delivery for the pump. |
| pump | frr_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FRR_DOWN delivery for the pump. |
| pump | frr_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FRR_DOWN delivery for the pump. |
| pump | fcr_n_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FCR_N_UP delivery for the pump. |
| pump | fcr_n_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FCR_N_UP delivery for the pump. |
| pump | fcr_n_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FCR_N_DOWN delivery for the pump. |
| pump | fcr_n_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FCR_N_DOWN delivery for the pump. |
| pump | fcr_d_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum FCR_D_UP delivery for the pump. |
| pump | fcr_d_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum FCR_D_UP delivery for the pump. |
| pump | fcr_d_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | Minimum FCR_D_DOWN delivery for the pump. |
| pump | fcr_d_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | Maximum FCR_D_DOWN delivery for the pump. |
| pump | rr_up_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum RR_UP delivery for the pump. |
| pump | rr_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum RR_UP delivery for the pump. |
| pump | rr_down_min | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Minimum RR_DOWN delivery for the pump. |
| pump | rr_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Maximum RR_DOWN delivery for the pump. |
| pump | fcr_n_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump FCR_N_UP delivery schedule. |
| pump | fcr_n_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump FCR_N_UP delivery schedule should be included in the optimization model. |
| pump | fcr_n_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump FCR_N_DOWN delivery schedule. |
| pump | fcr_n_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump FCR_N_DOWN delivery schedule should be included in the optimization model. |
| pump | fcr_d_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump FCR_D_UP delivery schedule. |
| pump | fcr_d_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump FCR_D_UP delivery schedule should be included in the optimization model. |
| pump | fcr_d_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | Pump FCR_D_DOWN delivery schedule. |
| pump | fcr_d_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Flag determining whether the pump FCR_D_DOWN delivery schedule should be included in the optimization model. |
| pump | frr_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump FRR_UP delivery schedule. |
| pump | frr_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump FRR_UP delivery schedule should be included in the optimization model. |
| pump | frr_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump FRR_DOWN delivery schedule. |
| pump | frr_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump FRR_DOWN delivery schedule should be included in the optimization model. |
| pump | rr_up_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump RR_UP delivery schedule. |
| pump | rr_up_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump RR_UP delivery schedule should be included in the optimization model. |
| pump | rr_down_schedule | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Pump RR_DOWN delivery schedule. |
| pump | rr_down_schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Flag determining whether the pump RR_DOWN delivery schedule should be included in the optimization model. |
| pump | droop_cost | timeseries | Input | No | NOK | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | 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. |
| pump | fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Fixed unit droop given as input data. |
| pump | fixed_droop_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | Flag determining whether the fixed droop setting should be included in the optimization model. |
| pump | droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | 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. |
| pump | droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | 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. |
| pump | reserve_ramping_cost_up | timeseries | Input | No | NOK/MW | None/null | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 13.0.0.a | Yes | Upward reserve ramping cost for changing reserve delivery of the pump. |
| pump | reserve_ramping_cost_down | timeseries | Input | No | NOK/MW | None/null | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 13.0.0.a | Yes | Downward reserve ramping cost for changing reserve delivery of the pump. |
| pump | discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_DISCRETE_DROOP | 14.0.1.0 | No | 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. |
| pump | fcr_n_discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_d_up_discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_d_down_discrete_droop_values | double_array | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_n_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-N up reserves on this pump. |
| pump | fcr_n_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-N down reserves on this pump. |
| pump | fcr_d_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-D up reserves on this pump. |
| pump | fcr_d_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FCR-D down reserves on this pump. |
| pump | frr_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FRR up reserves on this pump. |
| pump | frr_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating FRR down reserves on this pump. |
| pump | rr_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating RR up reserves on this pump. |
| pump | rr_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 14.3.4.0 | No | The cost of allocating RR down reserves on this pump. |
| pump | spinning_reserve_up_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.5.0 | Yes | Sets a maximum limit for the sum of spinning reserves delivered in the upward direction on the pump. |
| pump | spinning_reserve_down_max | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.5.0 | Yes | Sets a maximum limit for the sum of spinning reserves delivered in the downward direction on the pump. |
| pump | fcr_n_droop_cost | timeseries | Input | No | NOK | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_d_up_droop_cost | timeseries | Input | No | NOK | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_d_down_droop_cost | timeseries | Input | No | NOK | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_n_fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | Fixed unit droop schedule for FCR-N reserves when droop is built separately for FCR-N and FCR-D. |
| pump | fcr_d_up_fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | Fixed unit droop schedule for FCR-D up reserves when droop is built separately for FCR-N and FCR-D. |
| pump | fcr_d_down_fixed_droop | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | Fixed unit droop schedule for FCR-D down reserves when droop is built separately for FCR-N and FCR-D. |
| pump | fcr_n_droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| pump | fcr_d_up_droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| pump | fcr_d_down_droop_min | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| pump | fcr_n_droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| pump | fcr_d_up_droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| pump | fcr_d_down_droop_max | timeseries | Input | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | Yes | 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. |
| pump | historical_consumption | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.6.0.0 | No | The pump consumption for times before the optimization start. |
| pump | min_uptime | int | Input | No | MINUTE | 0 | SHOP_MIN_UPTIME_DOWNTIME | 15.6.0.0 | No | Minimum pump up-time, given in whole minutes. |
| pump | min_downtime | int | Input | No | MINUTE | 0 | SHOP_MIN_UPTIME_DOWNTIME | 15.6.0.0 | No | Minimum pump down-time, given in whole minutes. |
| pump | min_uptime_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_MIN_UPTIME_DOWNTIME | 15.6.0.0 | No | Flag for turning on/off the minimum pump up-time constraints. |
| pump | min_downtime_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_MIN_UPTIME_DOWNTIME | 15.6.0.0 | No | Flag for turning on/off the minimum pump down-time constraints. |
| pump | rr_up_stop_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 15.6.1.0 | No | 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. |
| pump | max_p_constr | timeseries | Input | No | MW | None/null | SHOP_OPEN | 16.4.1 | Yes | Time-dependent maximum consumption limit for the pump that will replace static p_max if it is more constraining. |
| pump | max_p_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.4.1 | No | Flag determining whether the time-dependent maximum consumption limit for the pump should be included in the building of the original PQ curve. |
| pump | min_p_constr | timeseries | Input | No | MW | None/null | SHOP_OPEN | 16.4.1 | Yes | 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. |
| pump | min_p_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.4.1 | No | Flag determining whether the time-dependent minimum consumption limit for the pump should be included in the building of the original PQ curve. |
| pump | min_q_constr | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 16.4.1 | Yes | 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. |
| pump | min_q_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.4.1 | No | Flag determining whether the time-dependent minimum upflow limit for the pump should be included in the building of the original PQ curve. |
| pump | max_q_constr | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 16.4.1 | Yes | Time-dependent maximum upflow limit for the pump. |
| pump | max_q_constr_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 16.4.1 | No | Flag determining whether the time-dependent maximum upflow limit for the pump should be included in the building of the original PQ curve. |
| pump | only_spinning_rr_down | int | Input | No | NO_UNIT | 0 | SHOP_RESERVE_GROUP | 16.9.0 | No | 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. |
| pump | gross_head_min | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | 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. |
| pump | gross_head_max | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | 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. |
| pump | gross_head_min_flag | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | Flag for turning on/off the minimum gross head limit for pump consumption. |
| pump | gross_head_max_flag | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.6.0 | No | Flag for turning on/off the maximum gross head limit for pump consumption. |
| pump | startup_gross_head_min | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.9.0 | Yes | 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. |
| pump | startup_gross_head_min_flag | timeseries | Input | No | METER | None/null | SHOP_OPEN | 17.9.0 | No | Flag for turning on/off the minimum gross head limit for pump startup. |
| pump | eff_head | timeseries | Output | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | No | Resulting effective head of the pump. |
| pump | sim_eff_head | timeseries | Output | No | METER | None/null | SHOP_OPEN | 16.7.0 | No | Resulting effective head of the pump during simulation. |
| pump | head_loss | timeseries | Output | No | METER | None/null | SHOP_OPEN | 14.0.0.1 | No | Resulting head loss of the pump, i.e. the effective head of the pump (eff_head) minus the plant gross head (gross_head). |
| pump | sim_head_loss | timeseries | Output | No | METER | None/null | SHOP_OPEN | 16.7.0 | No | 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). |
| pump | consumption | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting pump consumption, calculated based on upflow. |
| pump | sim_consumption | timeseries | Output | No | MW | None/null | SHOP_SIMULATION | 13.0.0.a | No | Simulated pump consumption, calculated based on upflow. |
| pump | solver_consumption | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Preliminary result for pump consumption that is returned by the linearized optimization problem. |
| pump | upflow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting pump upflow. If solver_upflow >= pump_turn_off_limit, upflow = solver_upflow. Otherwise, upflow = 0. |
| pump | sim_upflow | timeseries | Output | No | M3/S | None/null | SHOP_SIMULATION | 13.0.0.a | No | Simulated pump upflow. |
| pump | solver_upflow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Preliminary result for pump upflow that is returned by the linearized optimization problem. |
| pump | committed_out | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | 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. |
| pump | solver_committed_fraction | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 17.6.0 | No | 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). |
| pump | consumption_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the pump consumption schedule is violated. |
| pump | upflow_schedule_penalty | timeseries | Output | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting penalty when the pump upflow schedule is violated. |
| pump | fcr_n_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump FCR_N_UP delivery. |
| pump | fcr_n_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump FCR_N_DOWN delivery. |
| pump | fcr_d_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump FCR_D_UP delivery. |
| pump | fcr_d_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Resulting pump FCR_D_DOWN delivery. |
| pump | frr_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump FRR_UP delivery. |
| pump | frr_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump FRR_DOWN delivery. |
| pump | rr_up_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump RR_UP delivery. |
| pump | rr_down_delivery | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting pump RR_DOWN delivery. |
| pump | fcr_n_up_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical pump FCR_N delivery in the upward direction. |
| pump | fcr_n_down_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical pump FCR_N delivery in the downward direction. |
| pump | fcr_d_up_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical pump FCR_D delivery in the upward direction. |
| pump | fcr_d_down_delivery_physical | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.3.3.0 | No | Resulting physical pump FCR_D delivery in the downward direction. |
| pump | fcr_n_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump FCR_N_UP schedule is violated. |
| pump | fcr_n_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump FCR_N_DOWN schedule is violated. |
| pump | fcr_d_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump FCR_D_UP schedule is violated. |
| pump | fcr_d_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Resulting penalty when the pump FCR_D_DOWN schedule is violated. |
| pump | frr_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump FRR_UP schedule is violated. |
| pump | frr_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump FRR_DOWN schedule is violated. |
| pump | rr_up_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump RR_UP schedule is violated. |
| pump | rr_down_schedule_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when the pump RR_DOWN schedule is violated. |
| pump | droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting unit droop when it is modelled as a variable in the optimization model. |
| pump | original_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | Original PQ-curve for the pump that includes non-convex regions. |
| pump | convex_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | 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. |
| pump | final_pq_curves | xyt | Output | No | x: M3/S and y: MW | None/null | SHOP_OPEN | 13.5.2.a | No | 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. |
| pump | max_cons | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | No | The head-dependent maximal consumption of the pump. Most accurate in incremental iterations. |
| pump | min_cons | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | No | The head-dependent minimal consumption of the pump. Most accurate in incremental iterations. |
| pump | fcr_n_droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_d_up_droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| pump | fcr_d_down_droop_result | timeseries | Output | No | NO_UNIT | None/null | SHOP_SEPARATE_DROOP | 15.1.0.0 | No | 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. |
| gate | time_delay | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All time delay should be modelled by using the river object (does not require additional license). The delay between water leaving the gate and until it ends up in the downstream reservoir. |
| gate | add_slack | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Include slack variables for the corresponding delta meter gate. |
| gate | max_discharge | double | Input | No | M3/S | 100000.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Maximum discharge capacity for the gate. |
| gate | lin_rel_a | double | Input | No | NO_UNIT | SHOP_GATE_FLOW_LIN_REL | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Linear approximation to model gate discharge (in Mm3) as a function of upstream reservoir volume: gate_flow = lin_rel_a*up_rsv_volume + lin_rel_b. | |
| gate | lin_rel_b | double | Input | No | MM3 | SHOP_GATE_FLOW_LIN_REL | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Linear approximation to model gate discharge (in Mm3) as a function of upstream reservoir volume: gate_flow = lin_rel_a*up_rsv_volume + lin_rel_b. | |
| gate | shape_discharge | xy | Input | No | x: HOUR and y: NO_UNIT | None/null | SHOP_DYNAMIC_DELAY | 13.0.0.a | No | Deprecated: All time delay should be modelled by using the river object (does not require additional license). Describes the wave shape of the delayed discharge for a gate by ratios as a function of time delays. |
| gate | spill_cost_curve | xy | Input | No | x: M3/S and y: NOK/M3/S | None/null | SHOP_FLOOD_SUPPORT | 14.2.2.0 | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Describes a piece-wise constant cost curve for the flow in the gate. This is only available for spill gates, and overrides the default overflow penalty in SHOP. |
| gate | peak_flow_cost_curve | xy | Input | No | x: M3/S and y: NOK/M3/S | None/null | SHOP_FLOOD_SUPPORT | 14.2.2.0 | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Describes the piece-wise constant cost curve for the highest achieved flow rate in the gate over the optimization horizon. |
| gate | peak_flow_penalty | timeseries | Output | No | NOK | None/null | SHOP_FLOOD_SUPPORT | 14.0.1.0 | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). The penalty incurred based on the peak_flow_cost_curve and the highest achieved flow rate in the gate over the optimization horizon. |
| gate | functions_meter_m3s | xy_array | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). The relation between the head and opening of the gate or weir to define the discharge function of the gate. |
| gate | functions_deltameter_m3s | xy_array | Input | No | x: DELTA_METER and y: M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Relationship between flow through the gate and water level in upper reservoir and difference in water level between upper and lower reservoir. |
| gate | min_flow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Minimum flow constraint on the gate. |
| gate | min_flow_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining whether the min_flow should be used. |
| gate | max_flow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Maximum flow constraint on the gate. |
| gate | max_flow_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining whether the max_flow should be used. |
| gate | schedule_m3s | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Gate discharge schedule. |
| gate | schedule_percent | timeseries | Input | No | % | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Gate schedule in percent opening of the gate. |
| gate | schedule_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining how the gate schedule should be used: 0 = no discharge schedule; 1 = discharge schedule; 2 = flow is calculated from reservoir water level and flow function for the gate. |
| gate | setting | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Predefined position of the gate to be used for determining gate flow together with functions and upstream water level. |
| gate | setting_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining whether the gate setting should be used to determine the flow through the gate. |
| gate | discharge_fee | timeseries | Input | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Cost of discharging water through the gate referred to the time of discharge. |
| gate | discharge_fee_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining whether discharge_fee should be used in the optimization model. |
| gate | block_merge_tolerance | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Maximum deviation in discharge between two time steps that forces these hours to have the same discharge in later iterations. |
| gate | min_q_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). A flag enabling the penalty cost for the minimum discharge constraint on the gate. |
| gate | max_q_penalty_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). A flag enabling the penalty cost for the maximum discharge constraint on the gate. |
| gate | ramping_up | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_GATE_RAMPING | 13.5.4.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Maximum limit for increase in gate discharge per hour. |
| gate | ramping_up_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_GATE_RAMPING | 13.5.4.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). A flag for toggling the upper ramping limit constraint on and off for this gate. |
| gate | ramping_down | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_GATE_RAMPING | 13.5.4.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Maximum limit for decrease in gate discharge per hour. |
| gate | ramping_down_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_GATE_RAMPING | 13.5.4.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). A flag for toggling the lower ramping limit constraint on and off for this gate. |
| gate | ramp_penalty_cost | timeseries | Input | No | NOK/M3/S | None/null | SHOP_GATE_RAMPING | 13.5.4.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). The penalty cost for breaking the upper or lower discharge ramping limits for the gate. |
| gate | ramp_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_GATE_RAMPING | 13.5.4.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). A flag for toggling the use of the specified ramping penalty cost for this gate on or off. |
| gate | max_q_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). The penalty cost for the gate maximum discharge constraint. |
| gate | min_q_penalty_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | Yes | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). The penalty cost for the gate minimum discharge constraint. |
| gate | max_q_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining whether max_q_penalty_cost should be included in the optimization model. |
| gate | min_q_penalty_cost_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SOFT_CONSTRAINTS | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Flag determining whether min_q_penalty_cost should be included in the optimization model. |
| gate | min_q_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Resulting penalty when the gate minimum discharge is violated. |
| gate | max_q_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Resulting penalty when the gate maximum discharge is violated. |
| gate | discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Resulting gate discharge. |
| gate | sim_discharge | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.2.0.a | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Simulated gate discharge. |
| gate | spill_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 17.9.0 | No | Deprecated: All gates should be modelled by using the river or tunnel objects (does not require additional license). Resulting cost for spilling water for spill gates. |
| thermal | fuel_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 14.3.2.0 | No | Cost proportional to the amount of fuel used by the thermal unit. |
| thermal | quadratic_fuel_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 14.3.2.0 | No | Cost proportional to the square of the amount of fuel used by the thermal unit. |
| thermal | n_segments | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.3.2.0 | No | Number of segments on the production curve of the unit. |
| thermal | min_prod | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.2.0 | No | Minimum production level of the unit. |
| thermal | max_prod | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.2.0 | No | Maximum production level of the unit. |
| thermal | startcost | timeseries | Input | No | NOK | None/null | SHOP_OPEN | 14.3.2.0 | No | Cost for starting up the unit. |
| thermal | stopcost | timeseries | Input | No | NOK | None/null | SHOP_OPEN | 14.3.2.0 | No | Cost for shutting down the unit. |
| thermal | production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.2.0 | No | Production from the unit. |
| junction | junc_slack | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Flag determining whether slack variables should be added to the mass balance of the junction. |
| junction | altitude | double | Input | No | METER | 0.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Physical height of the connection point between tunnel_1 and tunnel_2 coming into this junction. |
| junction | tunnel_flow_1 | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Resulting flow in tunnel_1. |
| junction | tunnel_flow_2 | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Resulting flow in tunnel_2. |
| junction | sim_tunnel_flow_1 | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.5.4.c | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). The simulated flow in tunnel_1 of the junction. |
| junction | sim_tunnel_flow_2 | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.5.4.c | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). The simulated flow in tunnel_2 of the junction. |
| junction | loss_factor_1 | double | Input | No | S2/M5 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Friction loss factor for tunnel_1 into this junction multiplied with the square of the flow to get head loss. |
| junction | loss_factor_2 | double | Input | No | S2/M5 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Friction loss factor for tunnel_2 into this junction multiplied with the square of the flow to get head loss. |
| junction | min_pressure | timeseries | Input | No | METER | None/null | SHOP_PRESSURE_LINK | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Minimum pressure requirement at the connection point of tunnel_1 and tunnel_2. |
| junction | pressure_height | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Resulting pressure height from the optimization calculations. |
| junction | sim_pressure_height | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.5.4.c | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Resulting pressure height from the simulation. |
| junction | incr_cost | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Resulting marginal value of water in this junction referred to ocean level accounting for headloss between the tunnel connection point and the plant below. |
| junction | local_incr_cost | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junctions should be modelled by using the tunnel object (does not require additional license). Resulting marginal value of water in this junction referred to the next reservoir below accounting for headloss between the tunnel connection point and the plant below. |
| junction_gate | add_slack | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Flag determining whether slack variables should be added to the mass balance of the junction gate. |
| junction_gate | height_1 | double | Input | No | METER | 0.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Physical height of the connection point between tunnel_1 and tunnel_2 coming into this junction. |
| junction_gate | loss_factor_1 | double | Input | No | S2/M5 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Friction loss factor for tunnel_1 into this junction multiplied with the square of the flow to get head loss. |
| junction_gate | loss_factor_2 | double | Input | No | S2/M5 | 0.0 | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Friction loss factor for tunnel_2 into this junction multiplied with the square of the flow to get head loss. |
| junction_gate | schedule | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Schedule determining the opening status of this junction gate. -2 means that both tunnel_1 and tunnel_2 are open 0 means that the output from the junction_gate is closed 1 means that only tunnel_1 is connected and 2 means that only tunnel_2 is connected. If two junction_gates are connected in series. The lower junction gate can only have schedule values of 0 or 1 or 2. |
| junction_gate | pressure_height | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Resulting pressure height from the optimization calculations. |
| junction_gate | tunnel_flow_1 | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Resulting flow in tunnel_1. |
| junction_gate | tunnel_flow_2 | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: All junction_gates should be modelled by using the tunnel object (does not require additional license). Resulting flow in tunnel_2. |
| creek_intake | net_head | double | Input | No | METER | 0.0 | SHOP_CREEK_INTAKE | 13.0.0.a | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license). Physical height of the creek intake opening. |
| creek_intake | max_inflow | double | Input | No | M3/S | 0.0 | SHOP_CREEK_INTAKE | 13.0.0.a | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Static maximum capacity for inflow to this creek intake. |
| creek_intake | max_inflow_dynamic | timeseries | Input | No | M3/S | None/null | SHOP_CREEK_INTAKE | 13.0.0.a | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Time-dependent maxiumu capacity for inflow to this creek intake. |
| creek_intake | inflow | timeseries | Input | No | M3/S | None/null | SHOP_CREEK_INTAKE | 13.0.0.a | Yes | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Inflow to the creek intake. |
| creek_intake | sim_inflow | timeseries | Output | No | M3/S | None/null | SHOP_CREEK_INTAKE | 13.2.0.a | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Resulting inflow to this creek intake after simulation based on observed reservoir level and plant production. |
| creek_intake | sim_pressure_height | timeseries | Output | No | METER | None/null | SHOP_CREEK_INTAKE | 13.5.4.c | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Resulting pressure height of the creek intake after simulation based on observed reservoir level and plant production. |
| creek_intake | inflow_percentage | timeseries | Input | No | M3/S | None/null | SHOP_CREEK_INTAKE | 13.0.0.a | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Predefined factor to generate inflow to this creek intake based on a percentage of the inflow to the reservoir above. |
| creek_intake | overflow_cost | timeseries | Input | No | NOK/MM3 | None/null | SHOP_CREEK_INTAKE | 13.0.0.a | Yes | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Cost for spillage from this creek intake if a spill gate is connected to it. |
| creek_intake | non_physical_overflow_flag | timeseries | Output | No | NO_UNIT | None/null | SHOP_CREEK_INTAKE | 13.0.0.a | No | Deprecated: All creek_intakes should be modelled by using the tunnel object (does not require additional license).Resulting flag series telling if there was non-physical overflow from this creek intake i.e. spilling water with inflow below the maximum capacity. |
| contract | initial_trade | double | Input | No | MW | SHOP_CONTRACT | 14.5.0.0 | Yes | The amount of power traded on the contract right before the optimization horizon begins, only used to implement ramping constraints for the first time step. If this value is not specified (default value 1e40), no ramping constraints are built for the first time step. | |
| contract | trade_curve | xyt | Input | Yes | x: MW and y: NOK/MWH | None/null | SHOP_CONTRACT | 14.5.0.0 | No | The trade_curve defines the size and price of the sale (negative volume) and buy (positive volume) steps of the financial contract. The X values of each XY table represents a step curve of volumes that can be traded, while the Y values defines the price for each volume step. Each XY table is valid from the specified start time until the start time of a later XY table is reached. |
| contract | min_trade | timeseries | Input | No | MW | None/null | SHOP_CONTRACT | 14.5.0.0 | Yes | The minimum amount of power that must be traded on this contract, can be a negative number. |
| contract | max_trade | timeseries | Input | No | MW | None/null | SHOP_CONTRACT | 14.5.0.0 | Yes | The maximum amount of power that must be traded on this contract, can be a negative number. |
| contract | ramping_up | timeseries | Input | No | MW_HOUR | None/null | SHOP_CONTRACT | 14.5.0.0 | No | The limit for ramping up the power traded in the contract between time steps. The ramping up constraints are hard limits if ramping_up_penalty_cost is not specified on the contract. |
| contract | ramping_down | timeseries | Input | No | MW_HOUR | None/null | SHOP_CONTRACT | 14.5.0.0 | No | The limit for ramping down the power traded in the contract between time steps. The ramping down constraints are hard limits if ramping_down_penalty_cost is not specified on the contract. |
| contract | ramping_up_penalty_cost | timeseries | Input | No | NOK/MW | None/null | SHOP_CONTRACT | 14.5.0.0 | Yes | The cost of breaking the ramping up constraints. |
| contract | ramping_down_penalty_cost | timeseries | Input | No | NOK/MW | None/null | SHOP_CONTRACT | 14.5.0.0 | Yes | The cost of breaking the ramping down constraints. |
| contract | trade | timeseries | Output | No | MW | None/null | SHOP_CONTRACT | 14.5.0.0 | No | The total amount of power traded on the contract. |
| contract | ramping_up_penalty | timeseries | Output | No | NOK | None/null | SHOP_CONTRACT | 14.5.0.0 | No | The penalty for breaking the upward ramping constraints on the contract. |
| contract | ramping_down_penalty | timeseries | Output | No | NOK | None/null | SHOP_CONTRACT | 14.5.0.0 | No | The penalty for breaking the downward ramping constraints on the contract. |
| market | prod_area | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 13.0.0.a | No | Deprecated: use a busbar object per price area and connect the appropriate units and markets to the busbars. Definition of which production area this market belongs to. All the plants with corresponding prod_area will sell their production to markets in this price area. |
| market | market_type | string | Input | No | STRING | ENERGY | SHOP_RESERVE_GROUP | 13.0.0.a | No | String defining the product that is sold in this market. Allowed values are ENERGY, FCR_N_UP, FCR_N_DOWN, FCR_D_UP, FCR_D_DOWN (from version 14.2.0.0), FRR_UP, FRR_DOWN, RR_UP, and RR_DOWN. If this value is not given default market type is ENERGY. |
| market | load | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | Deprecated: use a busbar object to add load to a set of connected units and markets. Fixed demand that must be delivered to this market. This comes in addition to any power sold to the market. |
| market | max_buy | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | The maximum power that can be bought from the market. |
| market | max_sale | timeseries | Input | No | MW | None/null | SHOP_OPEN | 13.0.0.a | Yes | The maximum power that can be sold to the market. |
| market | load_price | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 14.6.0.0 | Yes | Price for load obligation to this market. If load_price is not given, sale_price is used to calculate the load value. |
| market | buy_price | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 13.0.0.a | Yes | Price for buying power from this market. |
| market | sale_price | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 13.0.0.a | Yes | Price for selling power to this market. |
| market | buy_delta | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 13.0.0.a | No | A (small) amount that will be added to the buy price in this market. |
| market | sale_delta | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 13.0.0.a | No | A (small) amount that will be subtracted from the sale price in this market. |
| market | bid_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Flag determining the time steps that should be included in the bid matrix. |
| market | common_scenario | timeseries | Input | No | NO_UNIT | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Definition of non-anticipativity constraints for each market. The amount traded in the market must be the same for all scenarios and time steps where common_scenario is equal. |
| market | buy | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting power bought from this market. |
| market | sale | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Resulting power sold to this market. |
| market | sim_sale | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.2.0.a | No | Simulated power sold to this market. |
| market | sim_buy | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.4.0.0 | No | Simulated power bought from this market. |
| market | reserve_obligation_penalty | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Deprecated: the reserve obligation penalty for reserve markets is found under the connected reserve_group object (rr_up_violation etc.). Resulting penalty when the reserve obligation is violated. |
| market | load_penalty | timeseries | Output | No | MW | None/null | SHOP_OPEN | 13.0.0.a | No | Deprecated: use a busbar object to add load to a set of connected units and markets. Resulting penalty when the load obligation is violated. |
| global_settings | load_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the creation of load penalty variables to add to the load balance constraint. Can also be set with the command ‘penalty flag’. |
| global_settings | rsv_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of reservoir storage penalty variables. Can also be set with the command ‘penalty flag’. |
| global_settings | volume_ramp_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables for volume ramping on reservoir. Can also be set with the command ‘penalty flag’. |
| global_settings | level_ramp_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.6 | No | Turn on (1, default) or off (0) the addition of penalty variables for level ramping on reservoir. Can also be set with the command ‘penalty flag’. |
| global_settings | production_ramp_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables for power ramping on plant production. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_min_q_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1) or off (0) the addition of penalty variables to the min discharge restrictions on all plants. Default value -1 uses the min_q_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_min_p_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1) or off (0) the addition of penalty variables to the min power restrictions on all plants. Default value -1 uses the min_p_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_max_q_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1) or off (0) the addition of penalty variables to the max discharge restrictions on all plants. Default value -1 uses the max_q_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_max_p_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1) or off (0) the addition of penalty variables to the max power restrictions on all plants. Default value -1 uses the max_p_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | gate_min_q_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1) or off (0) the addition of penalty variables to the min discharge restrictions on all gates. Default value -1 uses the min_q_penalty_flag specified on each gate to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | gate_max_q_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1) or off (0) the addition of penalty variables to the max discharge restrictions on all gates. Default value -1 uses the max_q_penalty_flag specified on each gate to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | gate_ramp_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables to the gate ramping restrictions. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_schedule_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables to allow breaking the plant production or discharge schedule. Can also be set with the command ‘penalty flag’. |
| global_settings | gen_discharge_schedule_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables to allow breaking the generator discharge schedule. |
| global_settings | pump_schedule_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables to allow breaking the pump consumption or upflow schedule. |
| global_settings | power_limit_penalty_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the addition of penalty variables to allow breaking the sum power limits for a group of plants. Can also be set with the command ‘penalty flag’. |
| global_settings | power_limit_penalty_cost | double | Input | No | NOK/MWH | 50000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the constraints limiting the sum power output for a group of plants. Default value is 50000 NOK/MWh. Can also be set with the command ‘penalty cost’. |
| global_settings | load_penalty_cost | double | Input | No | NOK/MWH | 5000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for not fulfilling the load obligation. Default value is 5000 NOK/MWh. Can also be set with the command ‘penalty cost’. |
| global_settings | rsv_penalty_cost | double | Input | No | NOK/MM3 | 10000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the reservoir water balance constraints. Default value is 10,000,000 NOK/Mm3. Can also be set with the command ‘penalty cost’. |
| global_settings | rsv_hard_limit_penalty_cost | double | Input | No | NOK/MM3 | 9000000 | SHOP_OPEN | 14.4.0.3 | No | The penalty cost for breaking the hard min/max volume or level limit constraints on all reservoirs. Default value is 9,000,000 NOK/Mm3. Can also be set with the command ‘set rsv_hard_limit_penalty_cost’. |
| global_settings | volume_ramp_penalty_cost | double | Input | No | NOK/MM3 | 100 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the reservoir volume ramping constraints. Default value is 100 NOK/MM3. Can also be set with the command ‘penalty cost’. |
| global_settings | level_ramp_penalty_cost | double | Input | No | NOK/METER | 100 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the reservoir level ramping constraints. Default value is 100 NOK/METER. |
| global_settings | production_ramp_penalty_cost | double | Input | No | NOK/MWH | 100 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the plant power production ramping constraints. Default value is 100 NOK/MWh. Can also be set with the command ‘penalty cost’. |
| global_settings | plant_discharge_ramp_penalty_cost | double | Input | No | NOK/M3/S | 100 | SHOP_OPEN | 15.2.0.0 | No | The penalty cost for breaking the plant discharge ramping constraints. Default value is 100 NOK/m3s. Can also be set with the command ‘penalty cost’. |
| global_settings | plant_soft_p_penalty | double | Input | No | NOK/MWH | 100 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | The penalty cost for breaking max and min power production constraints on plant level if max_p_penalty_cost and min_p_penalty_cost are not set for the plant. Default value is 100 NOK/MWh. Can also be set with the command ‘penalty cost’. |
| global_settings | plant_soft_q_penalty | double | Input | No | NOK/MM3 | 100000 | SHOP_SOFT_CONSTRAINTS | 14.0.0.1 | No | The penalty cost for breaking max and min discharge constraints on plant level if max_q_penalty_cost and min_q_penalty_cost are not set for the plant. Default value is 100000 NOK/Mm3. Can also be set with the command ‘penalty cost’. |
| global_settings | plant_sched_penalty_cost_up | double | Input | No | NOK | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the plant production or discharge schedules in upward direction. Default value is 1000000 NOK/MWh or 1000000 NOK/Mm3. |
| global_settings | plant_sched_penalty_cost_down | double | Input | No | NOK | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the plant production or discharge schedules in downward direction. Default value is 1000000 NOK/MWh or 1000000 NOK/Mm3. |
| global_settings | gen_discharge_sched_penalty_cost_up | double | Input | No | NOK/MM3 | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the generator discharge schedule in upward direction. Default value is 1000000 NOK/Mm3. |
| global_settings | gen_discharge_sched_penalty_cost_down | double | Input | No | NOK/MM3 | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the generator discharge schedules in downward direction. Default value is 1000000 NOK/Mm3. |
| global_settings | pump_sched_penalty_cost_up | double | Input | No | NOK | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the pump production or discharge schedules in upward direction. Default value is 1000000 NOK/MWh or 1000000 NOK/Mm3. |
| global_settings | pump_sched_penalty_cost_down | double | Input | No | NOK | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the pump production or discharge schedules in downward direction. Default value is 1000000 NOK/MWh or 1000000 NOK/Mm3. |
| global_settings | gate_ramp_penalty_cost | double | Input | No | NOK/M3/S | 360 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the gate discharge ramping constraints. Default value is 360 NOK/(m3/s). Can also be set with the command ‘penalty cost’. |
| global_settings | discharge_group_penalty_cost | double | Input | No | NOK/MM3 | 1000000 | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the discharge group constraints. Default value is 1000000 NOK/Mm3. |
| global_settings | reserve_schedule_penalty_cost | double | Input | No | NOK/MWH | 10000 | SHOP_RESERVE_GROUP | 14.0.0.1 | No | The penalty cost for breaking the unit reserve schedule constraints. Default value is 10000 NOK/MWH. Can also be set with the command ‘set reserve_schedule_penalty_cost’. |
| global_settings | reserve_group_penalty_cost | double | Input | No | NOK/MWH | 10000 | SHOP_RESERVE_GROUP | 14.0.0.1 | No | The penalty cost for delivering less than the reserve obligations of any reserve type in any reserve group. Default value is 10000 NOK/MWH. Can also be set with the command ‘set reserve_penalty_cost’. |
| global_settings | bypass_cost | double | Input | No | NOK/MM3 | 0.01 | SHOP_OPEN | 14.0.0.1 | No | The cost of discharging water in bypass gates. Default value is 0.01 NOK/Mm3. |
| global_settings | gate_cost | double | Input | No | NOK/MM3 | 0.0 | SHOP_OPEN | 14.0.0.1 | No | The cost of discharging water in regular gates. Default value is 0 NOK/Mm3. |
| global_settings | overflow_cost | double | Input | No | NOK/MM3 | 50000 | SHOP_OPEN | 14.0.0.1 | No | The cost of discharging water in spill gates. Default value is 50000 NOK/Mm3. Can also be set with the command ‘penalty cost’. |
| global_settings | overflow_cost_time_factor | double | Input | No | NOK/MM3H | -0.000001 | SHOP_OPEN | 14.0.0.1 | No | A small negative cost element added to the spillage cost to avoid all flooding to occur at the end of the optimization period. Default value is -0.000001 NOK/Mm3/h. Can also be set with the command ‘penalty cost’. |
| global_settings | gen_reserve_ramping_cost | double | Input | No | NOK/MW | 0.0 | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 14.0.0.1 | Yes | The default cost for ramping on all reserves types delivered on generators if generator specific or reserve type specific costs are not present. See the reserve type specific attributes fcr_n_ramping_cost, fcr_d_ramping_cost, frr_ramping_cost, and rr_ramping_cost and the command ‘set reserve_ramping_cost’. |
| global_settings | pump_reserve_ramping_cost | double | Input | No | NOK/MW | 0.0 | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 14.0.0.1 | Yes | The default cost for ramping on all reserves types delivered on pumps if pump specific or reserve type specific costs are not present. See the reserve type specific attributes fcr_n_ramping_cost, fcr_d_ramping_cost, frr_ramping_cost, and rr_ramping_cost and the command ‘set reserve_ramping_cost’. |
| global_settings | reserve_contribution_cost | double | Input | No | NOK | 0.0 | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 14.0.0.1 | No | The cost for a unit participating in the reserve delivery per time step. Default value is 0 NOK. Can also be set with the command ‘set reserve_contribution_cost’. |
| global_settings | gate_ramp_cost | double | Input | No | NOK/M3/S | 0.0 | SHOP_OPEN | 14.0.0.1 | No | The cost of ramping on gate discharge. Default value is 0 NOK/(m3/s). |
| global_settings | reserve_group_slack_cost | double | Input | No | NOK/MWH | 0.000001 | SHOP_RESERVE_GROUP | 14.0.0.1 | No | The cost for delivering more than the reserve obligations of any reserve type in any reserve group. Default value is 0.000001 NOK/MWH. Can also be set with the command ‘set reserve_slack_cost’. |
| global_settings | fcr_n_ramping_cost | double | Input | No | NOK/MW | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 15.0.0.0 | Yes | The cost for ramping on the FCR-N reserves delivered by the generators and pumps if unit specific costs are not provided. Default value of 1e40 signifies that the ramping cost is not specified, and that the default gen_reserve_ramping_cost should be used instead. Can also be set with the command ‘set reserve_ramping_cost’. | |
| global_settings | fcr_d_ramping_cost | double | Input | No | NOK/MW | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 15.0.0.0 | Yes | The cost for ramping on the FCR-D reserves delivered by the generators and pumps if unit specific costs are not provided. Default value of 1e40 signifies that the ramping cost is not specified, and that the default gen_reserve_ramping_cost should be used instead. Can also be set with the command ‘set reserve_ramping_cost’. | |
| global_settings | frr_ramping_cost | double | Input | No | NOK/MW | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 15.0.0.0 | Yes | The cost for ramping on the FRR reserves delivered by the generators and pumps if unit specific costs are not provided. Default value of 1e40 signifies that the ramping cost is not specified, and that the default gen_reserve_ramping_cost should be used instead. Can also be set with the command ‘set reserve_ramping_cost’. | |
| global_settings | rr_ramping_cost | double | Input | No | NOK/MW | SHOP_RESERVE_CLUSTERING_FUNCTIONALITY | 15.0.0.0 | Yes | The cost for ramping on the RR reserves delivered by the generators and pumps if unit specific costs are not provided. Default value of 1e40 signifies that the ramping cost is not specified, and that the default gen_reserve_ramping_cost should be used instead. Can also be set with the command ‘set reserve_ramping_cost’. | |
| global_settings | fcr_n_up_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved FCR-N up capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_n_down_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved FCR-N down capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_d_up_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved FCR-D up capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_d_down_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved FCR-D down capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | frr_up_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved FRR up capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | frr_down_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved FRR down capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | rr_up_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved RR up capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | rr_down_activation_factor | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | Yes | The fraction (between 0 and 1) of the reserved RR down capacity that is assumed to be activated for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_n_up_activation_time | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved FCR-N up capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_n_down_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved FCR-N down capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_d_up_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved FCR-D up capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_d_down_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved FCR-D down capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | frr_up_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved FRR up capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | frr_down_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved FRR down capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | rr_up_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved RR up capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | rr_down_activation_time | double | Input | No | HOUR | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The expected activation duration for the reserved RR down capacity that is assumed for all units in the system, the plant specific attribute with the same name will override this value. |
| global_settings | fcr_n_up_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of FCR-N up reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | fcr_n_down_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of FCR-N down reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | fcr_d_up_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of FCR-D up reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | fcr_d_down_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of FCR-D down reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | frr_up_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of FRR up reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | frr_down_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of FRR down reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | rr_up_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of RR up reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | rr_down_activation_penalty_cost | double | Input | No | NOK/MM3 | 10000.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the reservoir volume constraints due to potential activation of RR down reserves. Can also be set with the command ‘set reserve_activation_penalty_cost’. |
| global_settings | reserve_tactical_activation_cost_scaling | double | Input | No | NO_UNIT | 0.0 | SHOP_ADVANCED_RESERVE_ACTIVATION | 15.3.0.0 | No | The penalty cost for violating the tactical reservoir volumes is decided by the reserve activation penalty cost scaled by this factor. Can also be set with the command ‘set reserve_tactical_activation_cost_scaling’. |
| global_settings | rsv_period_limit_penalty_cost | double | Input | No | NOK/METER | 100000 | SHOP_OPEN | 17.1.0 | No | The penalty cost for breaking the reservoir period level limit constraints, such as the dynamic_level_limit. Default value is 100 000 NOK/METER. |
| global_settings | plant_soft_consumption_penalty_cost | double | Input | No | NOK/MWH | 100 | SHOP_OPEN | 17.8.0 | No | The penalty cost for breaking max and min consumption constraints on plant level if no penalty costs are set for the plant. Default value is 100 NOK/MWh. Can also be set with the command ‘penalty cost’. |
| global_settings | plant_soft_upflow_penalty_cost | double | Input | No | NOK/MWH | 100 | SHOP_OPEN | 17.8.0 | No | The penalty cost for breaking max and min upflow constraints on plant level if no penalty costs are set for the plant. Default value is 100 NOK/MWh. Can also be set with the command ‘penalty cost’. |
| global_settings | plant_min_consumption_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 17.8.0 | No | Turn on (1) or off (0) the addition of penalty variables to the min consumption restrictions on all plants. Default value -1 uses the min_consumption_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_max_consumption_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 17.8.0 | No | Turn on (1) or off (0) the addition of penalty variables to the max consumption restrictions on all plants. Default value -1 uses the max_consumption_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_min_upflow_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 17.8.0 | No | Turn on (1) or off (0) the addition of penalty variables to the min upflow restrictions on all plants. Default value -1 uses the min_upflow_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | plant_max_upflow_penalty_flag | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 17.8.0 | No | Turn on (1) or off (0) the addition of penalty variables to the max upflow restrictions on all plants. Default value -1 uses the min_upflow_penalty_flag specified on each plant to decide if the penalty variables should be added. Can also be set with the command ‘penalty flag’. |
| global_settings | include_rr_schedules_in_bp_curves | int | Input | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 17.18.0 | No | Turn on (1) or off (0) inclusion of RR reserve schedules in best profit calculations. Default setting is off. |
| global_settings | use_heuristic_basis | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | If this parameter is set to 1 a heuristic start basis is given to CPLEX, while a value of 0 (default) does not provide CPLEX with a start basis guess. Can also be set with the command ‘set optbasis’. |
| global_settings | nodelog | int | Input | No | NO_UNIT | 100 | SHOP_OPEN | 14.0.0.1 | No | Set the MIP node logging interval (100 is default) used by CPLEX when updating the CPLEX log file. Can also be set with the command ‘set mip_nodelog’. |
| global_settings | max_num_threads | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 14.0.0.1 | No | Set the max number of threads CPLEX can use when solving a MIP problem or using the barrier solver. Default of -1 lets CPLEX use all available threads. Can also be set with the command ‘set max_num_threads’. |
| global_settings | parallelmode | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Choose the parallel mode CPLEX uses when solving a problem in parallel: 1 (default) gives deterministic result behaviour while -1 lets CPLEX fully utilize the parallel processing. A value of 0 lts CPLEX choose based on the problem. Can also be set with the command ‘set parallel_mode’. |
| global_settings | timelimit | double | Input | No | SECOND | 900.0 | SHOP_OPEN | 14.0.0.1 | No | Maximal number of seconds that can be used to solve a SHOP iteration in CPLEX. Default value is 900 s. Can also be set with the command ‘set timelimit’. |
| global_settings | mipgap_rel | double | Input | No | NO_UNIT | -1.0 | SHOP_OPEN | 14.0.0.1 | No | The maximal relative objective function gap between final integer solution and best bound in CPLEX. Default value is -1 which uses default CPLEX relative MIP gap. Can also be set with the command ‘set mipgap’. |
| global_settings | mipgap_abs | double | Input | No | NOK | -1.0 | SHOP_OPEN | 14.0.0.1 | No | The maximal objective function gap between final integer solution and best bound in CPLEX. Default value is -1 which uses default CPLEX absolute MIP gap. Can also be set with the command ‘set mipgap’. |
| global_settings | inteps | double | Input | No | NO_UNIT | 0.00001 | SHOP_OPEN | 14.0.0.1 | No | Numerical tolerance for when CPLEX will consider a decimal number to be integer. Default value is 0.00001. Can also be set with the command ‘set inteps’. |
| global_settings | input_basis_name | string | Input | No | STRING | Empty | SHOP_OPEN | 14.0.0.1 | No | Name of the file containing a saved input basis for the optimization problem is saved. If no name is given, no input basis will be loaded. Can also be set with the command ‘read optbasis’. |
| global_settings | output_basis_name | string | Input | No | STRING | Empty | SHOP_OPEN | 14.0.0.1 | No | Name of the file where the optimal basis from the optimization problem in the next iteration is saved. If no name is given, no basis will be saved. Can also be set with the command ‘save optbasis’. |
| global_settings | solver_algorithm | string | Input | No | STRING | DUAL | SHOP_OPEN | 14.0.0.1 | No | Name of the solution algorithm CPLEX will use to solve linear problems, can be either ‘PRIMAL’, ‘DUAL’ (default), ‘BARRIER’, ‘NETPRIMAL’, ‘NETDUAL’, or ‘CONCURRENT’. Can also be set with the command ‘set method’. |
| global_settings | cplex_int_params | xy | Input | No | x: NO_UNIT and y: NO_UNIT | None/null | SHOP_OPEN | 16.4.0 | No | Specify any integer parameter that can be set in CPLEX by specifying the identifiers as x values and the int parameters as y values. See the CPLEX documentation for a complete list of parameters to set. For instance, the ‘MIP emphasis switch’ parameter has an id of 2058 and may take the values from 0 to 5. |
| global_settings | cplex_double_params | xy | Input | No | x: NO_UNIT and y: NO_UNIT | None/null | SHOP_OPEN | 16.4.0 | No | Specify any floating point parameter that can be set in CPLEX by specifying the identifiers as x values and the double parameters as y values. See the CPLEX documentation for a complete list of parameters to set. For instance, the ‘Benders optimality cut tolerance’ parameter has an id of 1510 and may be any number from 1e-9 to 1e-1. |
| global_settings | gurobi_int_params | sy | Input | No | s: STRING and y: NO_UNIT | None/null | SHOP_SOLVER_GUROBI | 17.14.0 | No | Specify any integer parameter that can be set in Gurobi by specifying the parameter names as the strings and the parameter values as the y values. See the Gurobi documentation for a complete list of parameters to set. For instance, ‘MIPFocus’ is a valid parameter name that may take integer values from 0 to 3. |
| global_settings | gurobi_double_params | sy | Input | No | s: STRING and y: NO_UNIT | None/null | SHOP_SOLVER_GUROBI | 17.14.0 | No | Specify any floating point parameter that can be set in Gurobi by specifying the parameter names as the strings and the parameter values as the y values. See the Gurobi documentation for a complete list of parameters to set. For instance, ‘Cutoff’ is a valid parameter name that may take any double value. |
| global_settings | min_lp_info | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 17.13.0 | No | Set this to 1 to avoid copying over the variable and constraint names to CPLEX (default behaviour), which could save time and memory for large SHOP models. Can also be set with the command ‘set lp_info’. |
| global_settings | n_seg_up | int | Input | No | NO_UNIT | 3 | SHOP_OPEN | 14.0.0.1 | No | Number of segments to be used above best efficient point in incremental mode. Can also be set with the command ‘set nseg’. |
| global_settings | n_seg_down | int | Input | No | NO_UNIT | 3 | SHOP_OPEN | 14.0.0.1 | No | Number of segments to be used below best efficient point in incremental mode. Can also be set with the command ‘set nseg’. |
| global_settings | n_mip_seg_up | int | Input | No | NO_UNIT | 3 | SHOP_OPEN | 14.0.0.1 | No | Number of segments to be used above best efficient point in full mode. Can also be set with the command ‘set nseg’. |
| global_settings | n_mip_seg_down | int | Input | No | NO_UNIT | 3 | SHOP_OPEN | 14.0.0.1 | No | Number of segments to be used below best efficient point in full mode. Can also be set with the command ‘set nseg’. |
| global_settings | dyn_pq_seg_flag | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether dynamically define the segments in the building of the original PQ curve for all the units in incremental mode if no flag series on the plant is provided. Can also be set with the command ‘set dyn_seg’. |
| global_settings | dyn_mip_pq_seg_flag | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Flag determining whether dynamically define the number of points of the original PQ curve for all the units in full mode if no flag series on the plant or generator is provided. Can also be set with the command ‘set dyn_seg’. |
| global_settings | bypass_segments | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Change the number of variables used to describe the flow in bypass gates. Default number of segments is 1. |
| global_settings | gate_segments | int | Input | No | NO_UNIT | 3 | SHOP_OPEN | 14.0.0.1 | No | Change the number of variables used to describe the flow in regular gates. Default number of segments is 3. |
| global_settings | overflow_segments | int | Input | No | NO_UNIT | 3 | SHOP_OPEN | 14.0.0.1 | No | Change the number of variables used to describe the flow in spill gates. Default number of segments is 3. |
| global_settings | gravity | double | Input | No | NO_UNIT | 9.81 | SHOP_OPEN | 14.0.0.1 | No | The value of the acceleration due to gravity. Default value is 9.81 m/s2. Can also be set with the command ‘set gravity’. |
| global_settings | gen_reserve_min_free_cap_factor | double | Input | No | NO_UNIT | 0.02 | SHOP_OPEN | 14.0.0.1 | No | The fraction of the maximal generator production that must be left open while the generator is delivering FCR. Default value is 0.02. Can also be set with the command ‘set reserve_min_capacity’. |
| global_settings | fcr_n_band | double | Input | No | NO_UNIT | 0.1 | SHOP_OPEN | 14.0.0.1 | No | The size of the frequency range in either direction where FCR-N is activated. Default value is 0.1 Hz (49.9 to 50.1 Hz). Can also be set with the command ‘set fcr_n_band’. |
| global_settings | fcr_d_band | double | Input | No | NO_UNIT | 0.4 | SHOP_OPEN | 14.0.0.1 | No | The size of the frequency range in upward direction where FCR-D is activated. Default value is 0.4 Hz (49.5 to 49.9 Hz). Can also be set with the command ‘set fcr_d_band’. |
| global_settings | universal_mip | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 14.0.0.1 | No | Toggle the use of binary variables for generator and pump unit commitment on (1) or off (0). Default value of -1 uses mip_flag on each plant to decide if binary variables should be used. Can also be set by the command ‘set universal_mip’. |
| global_settings | universal_overflow_mip | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 14.0.0.9 | No | Toggle the use of binary variables to for reservoir to prevent non-physical spill. Default value of -1 uses overflow_mip_flag on each reservoir to decide if binary variables should be used. Can also be set by the command ‘set universal_overflow_mip’. |
| global_settings | universal_river_mip | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 15.3.3.1 | No | Toggle the use of binary variables to for river to prevent flow when water level is below weir. Default value of -1 uses river_mip_flag on each river to decide if binary variables should be used. Can also be set by the command ‘set universal_river_mip’. |
| global_settings | linear_startup | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 14.0.0.1 | No | Toggle the building of linear startup and shutdown costs for generators and pumps on (1) or off (0) when MIP is not active. Default value of -1 uses linear_startup_flag on each plant to decide if startup and shutdown costs should be used. Can also be set by the command ‘set linear_startup’. |
| global_settings | dyn_flex_mip_steps | int | Input | No | NO_UNIT | -1 | SHOP_DYN_FLEX | 14.0.0.1 | No | Set the number of time steps used for dynamic flexible MIP. Default value of -1 turns off the dynamic flexible MIP functionality. Can also be set with the command ‘set dyn_flex_mip’. |
| global_settings | merge_blocks | int | Input | No | NO_UNIT | 0 | SHOP_BLOCK_MERGE | 14.0.0.1 | No | Turn on (1) or off (0, default) the mering of similar and adjacent time steps for gate discharge and plant production results. A value of 2 will only keep merged blocks from the previous iteration and stop further merging. Can also be set with the command ‘set merge’. |
| global_settings | power_head_optimization | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) power head optimization functionality. Can also be set with the command ‘set power_head_optimization’. |
| global_settings | droop_discretization_limit | double | Input | No | NO_UNIT | 0.0 | SHOP_DISCRETE_DROOP | 14.0.1.0 | Yes | Set the limit for fixing the droop value of all units that have a resulting droop below the specified limit. The droop is fixed to the closest legal discrete value below the given limit, which is the closest integer below unless the unit has a defined discrete_droop_values attribute. Default value is 0.0. Can also be set with the command ‘set discrete_droop_limit’. |
| global_settings | droop_cost_exponent | double | Input | No | NO_UNIT | 1.0 | SHOP_RESERVE_GROUP | 14.2.0.3 | No | Set this value to any positive number higher than 1.0 to build a convex and increasing cost curve for the droop value instead of using a linear cost. The number represents the degree of the convex polynomial used to build the cost curve, which means that a value of 2.0 results in a quadratic cost curve. Can also be set with the command ‘set droop_cost_exponent’. |
| global_settings | droop_ref_value | double | Input | No | NO_UNIT | 6.0 | SHOP_RESERVE_GROUP | 14.2.0.3 | No | Used to scale the exponential droop cost when the droop_cost_exponent is higher than 1. The exponential cost will be the same as the standard linear cost for the reference value. Can also be set with the command ‘set droop_ref_value’. |
| global_settings | disable_rsv_penalties | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 16.4.0 | No | Disable the use of reservoir penalty variables by setting this parameter to 1. This means that SHOP is unable to create or destroy water by using penalties, but the optimization model may be infeasible. Therefore, this feature is mostly useful for debugging models with lots of reservoir penalties. See the corresponding ‘disable_penalties’ on the reservoir object for individual reservoir specification. |
| global_settings | binary_reserve_limits | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 16.4.1 | No | If this attribute is set to 1, binary variables will be used to enforce the minimum reserve limit imposed by frr_down_min etc. on unit and plant level. If it is set to zero the binary variables are relaxed, and fixed to 0 or 1 in incremental iterations based on the reserve delivery in the previous iteration. The default option of -1 will use binary variables in full iterations if the mip_flag on the plant is active, and otherwise relax and fix them to either 0 or 1 depending on the reserve delivery in the previous iteration. |
| global_settings | universal_strict_pq_uploading | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 16.5.0 | No | If this attribute is set to 1, binary variables will be used to enforce the correct uploading of each segment in the PQ curves of all generators and time steps. Setting the attribute to zero will disable all use of binary variables in the PQ curve segmentation, while the default setting of -1 will let the plant attributes strict_pq_uploading_flag and strict_pq_uploading_upon_detection determine the behaviour. Can also be set with the command ‘set universal_strict_pq_uploading’. |
| global_settings | use_armadillo_solver | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 17.1.0 | No | Toggle the use of the new internal linear algebra solver for tunnel networks based on the Armadillo C++ library (1, default) versus the old solver (0). |
| global_settings | create_cuts | int | Input | No | NO_UNIT | 0 | SHOP_SCENARIO_FUNCTIONALITY | 14.0.0.1 | No | Turn on (1) or off (0, default) the createion of cuts for the start time of the SHOP run. |
| global_settings | print_sim_inflow | int | Input | No | NO_UNIT | 0 | SHOP_SIMULATION | 14.0.0.1 | No | Turn on (1) or off (0, default) the printing of simulated inflow to the simulation result text files. Can also be set with the command ‘start shopsim’. |
| global_settings | pump_head_optimization | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the inclusion of pump variables in the power head optimization. Can also be set with the command ‘set power_head_optimization’. |
| global_settings | save_pq_curves | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the saving of the constructed PQ curves for each unit. Can also be set with the command ‘save pq_curves’. |
| global_settings | build_original_pq_curves_by_discharge_limits | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 16.0.0 | No | Turn on (1) or off (0, default) the building of the original PQ curves by only considering physical discharge-related limits. Can also be set with the command ‘set build_original_pq_curves_by_discharge_limits’. |
| global_settings | plant_unbalance_recommit | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the heuristic that attempts to recommit units in a better way for hours without MIP and the resulting plant discharge is smaller than the optimal discharge from solver. Can also be set with the command ‘set plant_unbalance_recommit’. |
| global_settings | prefer_start_vol | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1, default) or off (0) the preference of start_vol over start_level for reservoirs where both are specified. Initial water level will be preferred if this attribute is set to zero. Can also be set with the command ‘set initial_reservoir’. |
| global_settings | bp_print_discharge | int | Input | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 14.0.0.1 | No | Set this attribute to 1 (default 0) to also print the generator discharge to the BP files. Can also be set with the command ‘print bp_curves’. |
| global_settings | prod_from_ref_prod | int | Input | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 14.0.0.1 | No | Set this attribute to 1 (default 0) to create a production schedule for all generators based on the ref_production attribute before calculating the BP curves. Can also be set with the command ‘set prod_from_ref_prod’. |
| global_settings | bp_min_points | int | Input | No | NO_UNIT | 50 | SHOP_BEST_PROFIT | 14.0.0.1 | No | ... Can also be set with the command ‘set min_bp_points’. |
| global_settings | bp_mode | int | Input | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 14.0.0.1 | No | Decides how the BP algorithm selects points from the MC curves to create the final BP curves: use regulation profit as jump criteria (0, default), use operational profit as jump criteria (1), or follow the unit comination uploading of the MC curves directly (2). Can also be set with the command ‘create bp_curves’. |
| global_settings | stop_cost_from_start_cost | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the usage of the input generator start cost as stop cost. Can also be set with the command ‘set stop_cost_from_start_cost’. |
| global_settings | ownership_scaling | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the rescaling of the production results for plants and generators that have an ownership less than 100. The scaled results are only found in the text result files. Can also be set with the command ‘set ownership_scaling’. |
| global_settings | time_delay_unit | string | Input | No | STRING | TIME_STEP_LENGTH | SHOP_OPEN | 14.0.0.1 | No | Deprecated: All time delay should be modelled by using the river object (does not require additional license), which is independent of this attribute. Specifies the time unit of the time delay for plants and gates in the system. Must be either ‘MINUTE’, ‘HOUR’ or ‘TIME_STEP_LENGTH’ (default). Can also be set with the command ‘set time_delay_unit’. |
| global_settings | bypass_loss | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the addition of the flow in bypass gates when calculating tailrace loss for plants if tailrace_loss_from_bypass_flag is not used. Can also be set with the command ‘set bypass_loss’. |
| global_settings | gen_turn_off_limit | double | Input | No | NO_UNIT | 0.5 | SHOP_OPEN | 14.0.0.1 | No | A decimal number between 0 and 1 that signifies if the generator operates below the fraction (the decimal number) of its minimum operating limit in full mode without MIP, the generator will be turned off. Default value is 0.5. Can also be set with the command ‘set gen_turn_off_limit’. |
| global_settings | pump_turn_off_limit | double | Input | No | NO_UNIT | 0.5 | SHOP_OPEN | 14.0.0.1 | No | A decimal number between 0 and 1 that signifies if the pump operates below the fraction (the decimal number) of its minimum operating limit in full mode without MIP, the pump will be turned off. Default value is 0.5. Can also be set with the command ‘set pump_turn_off_limit’. |
| global_settings | fcr_n_equality_flag | int | Input | No | NO_UNIT | 0 | SHOP_RESERVE_GROUP | 14.0.0.1 | No | Turn on (1) or off (0, default) the building of constraints to force the fcr_n delivery for all units to by symmetric. Can also be set with the command ‘set fcr_n_equality_flag’. |
| global_settings | delay_valuation_mode | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | The value 0 (default) uses the first value in the water value description to set the value of water in transition at the end of the optimization period. Setting the value to 1 will use the middle point of the water value description instead. Can also be set with the command ‘set delay_valuation_mode’. |
| global_settings | universal_affinity_flag | int | Input | No | NO_UNIT | -1 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0) the use of affinity equations for translating turbine efficiency curves of generators. Default value of -1 uses affinity_eq_flag on each generator to decide if affinity equations should be used. Can also be set by the command ‘set universal_affinity’. |
| global_settings | ramp_code | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Toggle the building of ramping constraints on (1), off (-1), or when violated in previous iteration (0, default). Can also be set with the command ‘set ramping’. |
| global_settings | print_original_pq_curves | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the writing of the original PQ curves constructed by SHOP before convexification to file. Can also be set with the command ‘print pq_curves’. |
| global_settings | print_convex_pq_curves | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the writing of the convexified PQ curves constructed by SHOP to file. Can also be set with the command ‘print pq_curves’. |
| global_settings | print_final_pq_curves | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the writing of the final PQ curves used in the optimization by SHOP to file. Can also be set with the command ‘print pq_curves’. |
| global_settings | shop_log_name | string | Input | No | STRING | shop.log | SHOP_OPEN | 14.0.0.1 | No | Name of the log file written to by SHOP, default is ‘shop.log’. Can also be set with the command ‘log file’. |
| global_settings | shop_yaml_log_name | string | Input | No | STRING | shop_yaml.yaml | SHOP_OPEN | 14.0.0.1 | No | Name of the yaml log file written to by SHOP, default is ‘shop_yaml.yaml’. |
| global_settings | solver_log_name | string | Input | No | STRING | cplex.log | SHOP_OPEN | 14.0.0.1 | No | Name of the log file written to by the solver, default is ‘cplex.log’. Can also be set with the command ‘log file’. |
| global_settings | minimal_infeasible_problem_file | string | Input | No | STRING | minimal_infeasible_problem.lp | SHOP_OPEN | 15.5.1.0 | No | Name of the log file written to by the solver when the problem is infeasible, default is ‘minimal_infeasible_problem.lp’. Can also be set with the command ‘log file infeasible.lp /lpmin’. |
| global_settings | model_file_name | string | Input | No | STRING | Empty | SHOP_OPEN | 14.0.0.1 | No | Name of the file where the model seen by the optimization solver will be written to in the next iteration. If no name is given, the model will not be printed to file. Can also be set with the command ‘print model’. |
| global_settings | pq_curves_name | string | Input | No | STRING | Empty | SHOP_OPEN | 14.0.0.1 | No | Name of the file the PQ curves will be written to if activated by setting the print_<>_pq_curves attributes. A default file name based on the iteration will be used if this attribute is not set. Can also be set with the command ‘print pq_curves’. |
| global_settings | print_loss | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) the writing of junction tunnel loss to the result files. Can also be set with the caommand ‘save tunnel_loss’. |
| global_settings | shop_xmllog | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Write the log to xml format if this value is set to 1 instead of the default value 0. Can also be set with the command ‘set xmllog’. |
| global_settings | print_optimized_startup_costs | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Set value to 1 to only print out the startup and shutdown costs that have been seen by the optimization solver to the log file. Default value of 0 prints out the post calculated startup and shutdown costs. Can also be set with the command ‘set startup_cost_printout’. |
| global_settings | get_duals_from_mip | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Set value to 1 to fix binary variables after solving a MIP iteration and solving the resulting linear problem again to get dual values. Default value of 0 does not re-solve MIP problems to get dual values. Can also be set with the command ‘set duals_from_mip’. |
| global_settings | bid_aggregation_level | int | Input | No | NO_UNIT | -1 | SHOP_SCENARIO_FUNCTIONALITY | 14.0.0.1 | No | Set the bid aggregation level of the SHARM bidding functionality to add all plants to the same bid group (0) or to create individual bid groups for each plant (1). If set to -1 (default), the plants are placed in bid groups according to the bid_group attribute on the plant. Can also be set with the command ‘set bid_aggregation_level’. |
| global_settings | simple_pq_recovery | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.1 | No | Turn on (1) or off (0, default) simplified building of PQ curves with a single segment for problematic generators suffering from non-physical uploading of the PQ segments. Can also be turned on with the command ‘set simple_pq_recovery’. |
| global_settings | rr_up_schedule_slack_flag | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.2.0.1 | No | Turn on (1) or off (0, default) slack variable for RR_UP schedule on generators. Penalty cost for slack is set equal to reserve_slack_cost. |
| global_settings | binary_pump_schedule_slack_flag | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 17.15.0 | No | Turn on (1, default) or off (0) slack variable to allow binary pumps to deliver more reserve capacity than specified in their reserve schedules. The penalty cost for slack is set equal to reserve_slack_cost. |
| global_settings | bp_ref_mc_from_market | int | Output | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 14.2.0.4 | No | Turn on (1) or off (0, default) functionality taking marginal cost from market description for current operating point on the best profit curve. |
| global_settings | bp_bid_matrix_points | int | Input | No | NO_UNIT | 200 | SHOP_OPEN | 14.2.2.0 | No | The maximum number of price columns allowed in the best_profit_bid_matrix on the plant object. |
| global_settings | ramp_scale_factor | double | Input | No | NO_UNIT | 1.0 | SHOP_OPEN | 14.3.0.2 | Yes | Used to scale all input ramping values for production and discharge on plants, gates, and reservoirs. Can also be set with the command ‘set ramp_scale_factor’. |
| global_settings | river_flow_penalty_cost | double | Input | No | NOK/H/M3/S | 1000.0 | SHOP_OPEN | 14.3.1.0 | No | The default penalty cost for breaking the min_flow and max_flow constraints defined on river objects. |
| global_settings | river_flow_schedule_penalty_cost | double | Input | No | NOK/H/M3/S | 10000.0 | SHOP_OPEN | 14.4.0.0 | No | The default penalty cost for breaking the flow_schedule constraints defined on river objects. |
| global_settings | recommit | int | Input | No | NO_UNIT | 1 | SHOP_OPEN | 14.4.0.0 | No | Turn on (1, default) or off (0) the general heuristic that attempts to recommit units in a better way for hours without MIP. |
| global_settings | droop_cost | double | Input | No | NOK | 55.0 | SHOP_OPEN | 15.5.4.2 | No | The global cost added to the inverse droop variables related to FCR reserve delivery, which makes SHOP prefer high droop settings (default is 55). The unit-specific droop_cost attributes will override this value if specified. The droop cost could skew optimization against reserve market prices. |
| global_settings | rr_down_stop_mip | int | Input | No | NO_UNIT | 0 | SHOP_RESERVE_GROUP | 15.6.0.0 | No | Setting this attribute to 1 turns on the use of binary variables in full iterations to ensure all generators delivering RR-DOWN reserves have valid stop deliveries. This forces RR-DOWN to either be allocated as a spinning reserve down to p_rr_min (defaults to p_min) or down to a full stop, and no other spinning reserves can be allocated on the unit if RR-DOWN is delivered down to stop. RR-DOWN allocation in forbidden production regions (between 0 and p_rr_min) is also prohibited. The generator attribute ‘rr_down_stop_mip_flag’ can be used to override this attribute per generator. |
| global_settings | rr_up_stop_mip | int | Input | No | NO_UNIT | 0 | SHOP_RESERVE_GROUP | 15.6.1.0 | No | Setting this attribute to 1 turns on the use of binary variables in full iterations to ensure all pumps delivering RR-UP reserves have valid stop deliveries. This forces RR-UP to either be allocated as a spinning reserve up to p_rr_min (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 to stop. RR-UP allocation in forbidden consumption regions (between 0 and p_rr_min) is also prohibited. The pump attribute ‘rr_up_stop_mip_flag’ can be used to override this attribute per pump. |
| global_settings | plant_max_prod_reserve_strategy | string | Input | No | STRING | OFF | SHOP_RESERVE_GROUP | 16.2.0 | No | Determines what type of max limit constraints will be added to limit the production including upward reserve capacity on plant level: ‘OFF’ (default) - no max constraint is added, ‘ALL’ - max_prod_all on the plant will be used as upper limit for plant production including upward reserves, ‘AVAILABLE’ - max_prod_available on the plant will be used as upper limit, ‘SPINNING’ - max_prod_spinning on the plant will be used as upper limit. This setting is overridden by the plant attribute ‘max_prod_reserve_strategy’, and can also be set with the command ‘set plant_max_prod_reserve_strategy’. |
| global_settings | plant_min_prod_reserve_strategy | string | Input | No | STRING | OFF | SHOP_RESERVE_GROUP | 16.2.0 | No | Determines what type of min limit constraints will be added to limit the production including downward reserve capacity on plant level: ‘OFF’ (default) - no min constraint for plant production including downward reserves, ‘SPINNING’ - the min_prod_spinning attribute on the plant will be used as lower limit. This setting is overridden by the plant attribute ‘min_prod_reserve_strategy’, and can also be set with the command ‘set plant_min_prod_reserve_strategy’. |
| global_settings | frr_mip | int | Input | No | NO_UNIT | 0 | SHOP_RESERVE_GROUP | 17.13.0 | No | Setting this attribute to 1 will turn on the use of binary variables in full iterations to ensure that delivered FRR reserves are outside forbidden zones. |
| global_settings | scale_bp_curves_by_best_point_mc | int | Input | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 17.16.0 | No | Setting this attribute to 1 will scale all MC, AC, and the BP curves generated by the best profit functionality by the marginal cost of the plant at the best point operation in each time step. This makes the y-values of the curves dimensionless and easy to scale. |
| global_settings | shop_version | string | Output | No | STRING | 18.5.0 Cplex 20.1.0 Gurobi 13.0.1 OSI/CBC 2.10 HiGHS 1.15.1 2026-11-06 | SHOP_OPEN | 15.5.0.0 | No | Version string. |
| global_settings | river_big_m_factor | double | Input | No | NO_UNIT | 1.0 | SHOP_OPEN | 15.5.0.0 | No | Scale factor to reduce the river big-M value relative to result in previous iteration to reduce computation time. |
| reserve_group | fcr_n_up_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of FCR_N_UP that should be fulfilled by the reserve group. |
| reserve_group | fcr_n_down_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of FCR_N_DOWN that should be fulfilled by the reserve group. |
| reserve_group | fcr_d_up_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of FCR_D_UP that should be fulfilled by the reserve group. |
| reserve_group | fcr_d_down_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | Yes | The obligation of FCR_D_DOWN that should be fulfilled by the reserve group. |
| reserve_group | frr_up_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of FRR_UP that should be fulfilled by the reserve group. |
| reserve_group | frr_down_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of FRR_DOWN that should be fulfilled by the reserve group. |
| reserve_group | rr_up_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of RR_UP that should be fulfilled by the reserve group. |
| reserve_group | rr_down_obligation | timeseries | Input | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | Yes | The obligation of RR_DOWN that should be fulfilled by the reserve group. |
| reserve_group | fcr_n_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Given penalty cost for deviating below the FCR_N_UP or FCR_N_DOWN obligation for the reserve group. |
| reserve_group | fcr_d_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Given penalty cost for deviating below the FCR_D_UP obligation for the reserve group. |
| reserve_group | frr_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Given penalty cost for deviating below the FRR_UP or FRR_DOWN obligation for the reserve group. |
| reserve_group | rr_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Given penalty cost for deviating below the RR_UP or RR_DOWN obligation for the reserve group. |
| reserve_group | fcr_n_up_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the FCR_N_UP obligation. |
| reserve_group | fcr_n_down_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the FCR_N_DOWN obligation. |
| reserve_group | fcr_d_up_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the FCR_D_UP obligation. |
| reserve_group | fcr_d_down_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Resulting slack when deviating above the FCR_D_DOWN obligation. |
| reserve_group | frr_up_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the FRR_UP obligation. |
| reserve_group | frr_down_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the FRR_DOWN obligation. |
| reserve_group | rr_up_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the RR_UP obligation. |
| reserve_group | rr_down_slack | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting slack when deviating above the RR_DOWN obligation. |
| reserve_group | fcr_n_up_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating below the FCR_N_UP obligation. |
| reserve_group | fcr_n_down_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating below the FCR_N_DOWN obligation. |
| reserve_group | fcr_d_up_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating below the FCR_D_UP obligation. |
| reserve_group | fcr_d_down_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 14.2.0.0 | No | Resulting penalty when deviating below the FCR_D_DOWN obligation. |
| reserve_group | frr_up_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating below the FRR_UP obligation. |
| reserve_group | frr_down_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating below the FRR_DOWN obligation. |
| reserve_group | rr_up_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating below the RR_UP obligation. |
| reserve_group | rr_down_violation | timeseries | Output | No | MW | None/null | SHOP_RESERVE_GROUP | 13.0.0.a | No | Resulting penalty when deviating belown the RR_DOWN obligation. |
| commit_group | deactivate_exclusion_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | A flag that can be used to deactivate the commitment exclusion constraints if the flag value is set to 1. |
| discharge_group | initial_deviation_mm3 | double | Input | No | MM3 | 0.0 | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | The initial volume deviation for the discharge group before the optimization period. The positive value refers to the upward deviation from weighted discharge while the negative value refers to the downward deviation from weighted discharge. |
| discharge_group | max_accumulated_deviation_mm3_up | timeseries | Input | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | Yes | Maximum accumulated upward volume deviation (Mm3) for the discharge group. |
| discharge_group | max_accumulated_deviation_mm3_down | timeseries | Input | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | Yes | Maximum accumulated downward volume deviation (Mm3) for the discharge group. |
| discharge_group | weighted_discharge_m3s | timeseries | Input | No | M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Weighted discharge target for the discharge group. |
| discharge_group | penalty_cost_up_per_mm3 | timeseries | Input | No | NOK/MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Given penalty cost for discharging more than the allowed max accumulated deviation for the discharge group. |
| discharge_group | penalty_cost_down_per_mm3 | timeseries | Input | No | NOK/MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Given penalty cost for discharging less than the allowed max accumulated deviation for the discharge group. |
| discharge_group | min_discharge_m3s | timeseries | Input | No | M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | Yes | Minimal sum discharge allowed in the discharge group. |
| discharge_group | max_discharge_m3s | timeseries | Input | No | M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | Yes | Maximal sum discharge allowed in the discharge group. |
| discharge_group | min_discharge_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Penalty cost for violating the minimum discharge constraint of the discharge group. |
| discharge_group | max_discharge_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Penalty cost for violating the maximum discharge constraint of the discharge group. |
| discharge_group | ramping_up_m3s | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | Yes | Maximal discharge ramping of the total discharge allowed in the upward direction. |
| discharge_group | ramping_down_m3s | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | Yes | Maximal discharge ramping of the total discharge allowed in the downward direction. |
| discharge_group | ramping_up_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Penalty cost for violating the upward discharge ramping constraint in the discharge group. |
| discharge_group | ramping_down_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Penalty cost for violating the downward discharge ramping constraint in the discharge group. |
| discharge_group | min_average_discharge | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_AVERAGE_Q | 15.4.0.0 | No | Minimum average discharge of group. T gives time the constraint is active from, X the duration of the constraint in minutes, and Y the discharge limit. |
| discharge_group | max_average_discharge | xyt | Input | No | x: MINUTE and y: M3/S | None/null | SHOP_AVERAGE_Q | 15.4.0.0 | No | Maximum average discharge of group. T gives time the constraint is active from, X the duration of the constraint in minutes, and Y the discharge limit. |
| discharge_group | min_average_discharge_penalty_cost | double | Input | No | NOK/H/M3/S | 0.0 | SHOP_AVERAGE_Q | 15.4.0.0 | Yes | Penalty cost for violating the minimum average discharge constraint of the discharge group. |
| discharge_group | max_average_discharge_penalty_cost | double | Input | No | NOK/H/M3/S | 0.0 | SHOP_AVERAGE_Q | 15.4.0.0 | Yes | Penalty cost for violating the maximum average discharge constraint of the discharge group. |
| discharge_group | historical_discharge | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 16.9.0 | No | The discharge group discharge for times before the optimization start. If not given, connected plant historical_discharge and river past_upstream_flow will be used. |
| discharge_group | use_upstream_river_flow | int | Input | No | NO_UNIT | 0 | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 17.17.0 | No | Flag deciding if up- (1) or down- (0) -stream river flow should be used in the constraints. Default behaviour is using downstream flow. |
| discharge_group | actual_discharge_m3s | timeseries | Output | No | M3/S | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Resulting discharge for the discharge group. |
| discharge_group | accumulated_deviation_mm3 | timeseries | Output | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Resulting accumulated volume deviation for the discharge group. |
| discharge_group | upper_penalty_mm3 | timeseries | Output | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Resulting penalty when the maximum accumulated upward volume deviation for the discharge group is violated. |
| discharge_group | lower_penalty_mm3 | timeseries | Output | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Resulting penalty when the maximum accumulated downward volume deviation for the discharge group is violated. |
| discharge_group | upper_slack_mm3 | timeseries | Output | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Resulting slack when the maximum accumulated upward volume deviation for the discharge group is not reached. |
| discharge_group | lower_slack_mm3 | timeseries | Output | No | MM3 | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 13.0.0.a | No | Resulting slack when the maximum accumulated downward volume deviation for the discharge group is not reached. |
| discharge_group | min_discharge_penalty | timeseries | Output | No | NOK | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Resulting penalty when the minimum discharge constraint in the discharge group is violated. |
| discharge_group | max_discharge_penalty | timeseries | Output | No | NOK | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Resulting penalty when the maximum discharge constraint in the discharge group is violated. |
| discharge_group | ramping_up_penalty | timeseries | Output | No | NOK | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Resulting penalty when the upward discharge ramping constraint in the discharge group is violated. |
| discharge_group | ramping_down_penalty | timeseries | Output | No | NOK | None/null | SHOP_DISCHARGE_GROUP_FUNCTIONALITY | 14.0.2.1 | No | Resulting penalty when the downward discharge ramping constraint in the discharge group is violated. |
| production_group | energy_target | double | Input | No | MWH | 0.0 | SHOP_OPEN | 14.0.0.1 | No | Sum energy production target for time steps with energy_target_period_flag set to 1. |
| production_group | energy_penalty_cost_up | double | Input | No | NOK/MWH | 0.0 | SHOP_OPEN | 14.0.0.1 | No | Penalty cost for producing more energy than the target amount. |
| production_group | energy_penalty_cost_down | double | Input | No | NOK/MWH | 0.0 | SHOP_OPEN | 14.0.0.1 | No | Penalty cost for producing less energy than the target amount. |
| production_group | energy_target_period_flag | timeseries | Input | No | MWH | None/null | SHOP_OPEN | 14.0.0.1 | No | Flag defining which time steps are part of the target energy production constraint. |
| production_group | max_p_limit | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.0.0.1 | Yes | The maximal power production limit for the sum of plants in the group. |
| production_group | max_p_limit_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 18.5.0 | No | Flag determining the time steps when the maximal power production limit for the production group should be included in the optimization model. |
| production_group | min_p_limit | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.0.0.1 | Yes | The minimal power production limit for the sum of plants in the group. |
| production_group | min_p_limit_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 18.5.0 | No | Flag determining the time steps when the minimal power production limit for the production group should be included in the optimization model. |
| production_group | max_p_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the maximum power production limit constraint. The default penalty cost is specified by the power_limit_penalty_cost on the global_settings object. |
| production_group | min_p_penalty_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 14.0.0.1 | No | The penalty cost for breaking the minimum power production limit constraint. The default penalty cost is specified by the power_limit_penalty_cost on the global_settings object. |
| production_group | sum_production | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.0.0.1 | No | The sum power production of all the plants connected to the group. |
| production_group | min_p_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.0.0.1 | No | The incurred penalty for breaking the minimum power production constraint. |
| production_group | max_p_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.0.0.1 | No | The incurred penalty for breaking the maximum power production constraint. |
| production_group | energy_penalty_up | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.0.0.1 | No | The total penalty incurred when breaking the target energy constraint by generating more energy than the target. |
| production_group | energy_penalty_down | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.0.0.1 | No | The total penalty incurred when breaking the target energy constraint by generating less energy than the target. |
| volume_constraint | min_vol | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Minimum volume for the sum of all reservoirs connected to this constraint. |
| volume_constraint | max_vol | timeseries | Input | No | MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Maximum volume for the sum of all reservoirs connected to this constraint. |
| volume_constraint | min_vol_penalty | timeseries | Input | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Given penalty cost for having a sum volume below the min_vol. |
| volume_constraint | max_vol_penalty | timeseries | Input | No | NOK/MM3 | None/null | SHOP_OPEN | 13.0.0.a | No | Given penalty cost for having a sum volume above the max_vol. |
| scenario | scenario_id | int | Input | No | NO_UNIT | 0 | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Scenario ID. Should be numbered consecutively starting from 1. |
| scenario | probability | timeseries | Input | No | NO_UNIT | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Probability between 0 and 1 for realization of this scenario. The sum of probabilities for all scenarios must be equal to 1. Only the probability for the last time step is used and it will be applied to all time steps to ensure consistency. |
| scenario | common_scenario | timeseries | Input | No | NO_UNIT | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Definition of non-anticipativity constraints for the full model. All decision variables must be the same for all scenarios and time steps where common_scenario is equal. All input time-series with stochastic data must accordingly have the same value for all scenarios and time steps where common_scenario is equal. |
| scenario | common_history | timeseries | Input | No | NO_UNIT | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Definition of which scenario that should be used as the source for a branch in the current scenario. Branching from a different scenario than itself allows modelling of continuous short-term uncertainty by re-using existing scenarios. |
| objective | solver_status | string | Output | No | STRING | Not set | SHOP_OPEN | 13.0.0.a | No | Description of the latest status from the solver. |
| objective | times_of_wrong_pq_uploading | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 14.0.0.9 | No | How many times the unit PQ segments are wrongly uploaded, i.e. the latter segments are fulfilled first. |
| objective | grand_total | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Objective function equal to the sum of total and sum_penalties. |
| objective | sim_grand_total | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.2.0.a | No | Simulated objective function equal to the sum of sim_total and sim_sum_penalties. |
| objective | total | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Objective function equal to the sum of rsv_end_value, vow_in_transit, market_sale_buy, load_value, reserve_sale_buy, reserve_oblig_value, contract_value, startup_costs, sum_feeding_fee, and sum_discharge_fee. |
| objective | sim_total | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated objective function equal to the sum of sim_rsv_end_value, sim_market_sale_buy, sim_rsv_spill_vol_end_value, and sim_start_stop_costs. |
| objective | sum_penalties | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Penalty cost equal to the sum of minor_penalties and major_penalties. |
| objective | sim_sum_penalties | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated penalty cost equal to the sum of sim_minor_penalties and sim_major_penalties. |
| objective | minor_penalties | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Penalty cost equal to the sum of rsv_tactical_penalty, rsv_peak_volume_penalty, rsv_flood_volume_penalty, river_flow_penalty, river_peak_flow_penalty, river_gate_adjustment_penalty, gate_q_constr_penalty, gate_peak_flow_penalty, gate_discharge_cost, bypass_cost, gate_spill_cost, gate_slack_cost, gate_ramping_cost, creek_spill_cost, junction_slack_cost, plant_p_constr_penalty, plant_q_constr_penalty, plant_schedule_penalty, gen_schedule_penalty, pump_schedule_penalty, reserve_violation_penalty, reserve_slack_cost, reserve_schedule_penalty, wind_curtailment_cost, solar_curtailment_cost, plant_reserve_discharge_penalty, plant_sum_reserve_penalty, reserve_activation_penalty, reserve_tactical_activation_penalty, and plant_reserve_strategy_penalty. |
| objective | sim_minor_penalties | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated penalty cost equal to sim_river_flow_penalty. |
| objective | major_penalties | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Penalty cost equal to the sum of rsv_penalty, rsv_end_penalty, rsv_hard_limit_penalty, rsv_over_limit_penalty, river_min_flow_penalty, river_max_flow_penalty, river_flow_schedule_penalty, load_penalty, group_time_period_penalty, group_time_step_penalty, discharge_group_penalty, production_group_energy_penalty, production_group_power_penalty, and sum_ramping_penalty. |
| objective | sim_major_penalties | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated penalty cost equal to the sum of sim_river_min_flow_penalty, sim_river_max_flow_penalty, sim_rsv_hard_min_limit_penalty, sim_rsv_hard_max_limit_penalty and sim_rsv_penalty. |
| objective | sum_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty when ramping constraints are violated. Note that this is sum is already included in the major_penalties attribute. |
| objective | rsv_end_value | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Value of water remaining in the reservoirs at the end of the optimization period. If cut description is used, the delayed water on its way to reservoirs is included, while for other end value description this water is valuated in vow_in_transit. |
| objective | sim_rsv_end_value | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.2.0.a | No | Simulated value of water remaining in the reservoirs at the end of the simulation period. |
| objective | rsv_end_value_relative | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Change in value of water in the reservoirs between the start and the end of the optimization period. |
| objective | sim_rsv_end_value_relative | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated change in value of water in the reservoirs between the start and the end of the simulation period. |
| objective | vow_in_transit | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Value of delayed water on its way to reservoirs at the end of the optimization period. If cut description is used the delayed water is valuated as part of the rsv_end_value instead. |
| objective | rsv_spill_vol_end_value | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.0.2.0 | No | End reservoir value lost due to volume over HRL in flood situations. Only appliccapble when running with constant water values. The extra water is evaluated according to the water value of the reservoir downstream of the spill gate. |
| objective | sim_rsv_spill_vol_end_value | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated end reservoir value lost due to volume over HRL in flood situations. Only appliccapble when running with constant water values. The extra water is evaluated according to the water value of the reservoir downstream of the spill gate. |
| objective | market_sale_buy | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of the value of power bought from the market minus the value of power sold to the market for all time steps. |
| objective | sim_market_sale_buy | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.2.0.a | No | The sum of the simulated value of power bought from the market minus the value of power sold to the market for all time steps. |
| objective | load_value | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The load obligation value by multiplying the load with the load price. If the load price is not given on any market connected to the load, the average of the smallest sale price and highest buy price over all connected market in each time step is used as the load price. |
| objective | reserve_sale_buy | double | Output | No | NOK | 0.0 | SHOP_RESERVE_GROUP | 13.0.0.a | No | Reserve trade value. |
| objective | reserve_oblig_value | double | Output | No | NOK | 0.0 | SHOP_RESERVE_GROUP | 13.0.0.a | No | THe reserve obligation value by multiplying the reserve obligation with the reserve obligation price. If the reserve obligation price is not given, the reserve sale price is used. |
| objective | contract_value | double | Output | No | NOK | 0.0 | SHOP_CONTRACT | 13.0.0.a | No | Contract value. |
| objective | start_stop_costs | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of the startup and shutdown costs for all units and time steps. By default this includes costs whenever the commitment status of the unit changes regardless of whether MIP is active or not. |
| objective | sim_start_stop_costs | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.2.0.a | No | The sum of simulated startup and shutdown costs for all units and time steps. By default this includes costs whenever the commitment status of the unit changes regardless of whether MIP is active or not. |
| objective | sum_feeding_fee | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of feed-in fee paid for all plants and time steps. |
| objective | sum_discharge_fee | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of discharge fee paid for all plants and gates and time steps. |
| objective | thermal_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.1.0 | No | The sum of fuel cost for all thermal units and time steps. |
| objective | production_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.1.1.0 | No | The sum of production cost for all units that has production_cost due to turbine partial damage. |
| objective | reserve_allocation_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.4.0 | No | The total cost for allocating reserves on all units in the system. The allocation cost can be specified on each unit for each reserve type, see for instance the ‘fcr_n_up_cost’ on the generator and pump objects. |
| objective | incurred_droop_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.5.4.2 | No | The total incurred cost for the optimized droop settings on all units in the system delivering FCR reserves. |
| objective | tunnel_gate_adjustment_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 16.8.0 | No | The total incurred cost for adjusting the tunnel gate positions between time steps, applied to tunnels with optimized gates and specified gate_adjustment_cost timeseries. |
| objective | tunnel_gate_iteration_deviation_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 16.8.0 | No | The total incurred cost for deviating from the optimized gate positions found in the previous iteration. Applied to tunnels with optimized gates and specified gate_iteration_deviation_cost timeseries. |
| objective | reserve_ramping_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 17.2.0 | No | The total incurred cost for changing the reserve allocation between time steps for all units in the system. |
| objective | river_flow_start_stop_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 17.14.0 | No | The sum of river flow start and stop costs for all rivers and time steps. |
| objective | river_flow_change_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.4.0 | No | The sum of river flow change costs for all rivers and time steps. |
| objective | needle_comb_change_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.2.0 | No | The sum of generator needle combination change costs for all generators and time steps. Note that regular startup and shutdown costs are not double-counted here. |
| objective | nonphysical_spill_volume | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 14.0.0.9 | No | The sum of spill volume for the part of the spill that represents non-physical spill, i.e. the spill occurs when the water does not reach max_vol of the reservoir. |
| objective | physical_spill_volume | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 14.0.0.9 | No | The sum of spill volume for the part of the spill that represents physical spill, i.e. the spill occurs when the water exceeds max_vol of the reservoir. |
| objective | rsv_tactical_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the tactical maximum or minimum volume limits for the reservoirs are violated. |
| objective | plant_p_constr_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the time-dependent maximum or minimum production limits for the plants are violated. |
| objective | plant_q_constr_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the time-dependent maximum or minimum discharge limits for the plants are violated. |
| objective | plant_schedule_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the plant schedules are violated. |
| objective | plant_rsv_q_limit_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.5.1 | No | Resulting total penalty cost when the head dependent maximum discharge limits for the plants are violated. These limits are set by the max_q_limit_rsv_up and max_q_limit_rsv_down attributes on the plant object. |
| objective | gen_schedule_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the generator schedules are violated. |
| objective | pump_schedule_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the pump schedules are violated. |
| objective | gate_q_constr_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the time-dependent maximum or minimum discharge limits for the gates are violated. |
| objective | gate_discharge_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of discharge costs for all gates and time steps. |
| objective | bypass_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of bypass discharge costs for all bypass gates and time steps. |
| objective | gate_spill_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of spill costs for all spill gates and time steps. |
| objective | physical_spill_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of gate spill costs for the part of the spill that represents physical spill, i.e. the spill occurs when the water exceeds max_vol of the reservoir. |
| objective | nonphysical_spill_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of gate spill costs for the part of the spill that represents non-physical spill, i.e. the spill occurs when the water does not reach max_vol of the reservoir. |
| objective | gate_slack_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of costs for the use of slack variables for all deltameter gates and time steps. |
| objective | gate_ramping_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.1.1.0 | No | The sum of cost for all gates ramping up or down and time steps. |
| objective | creek_spill_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of spill costs for all creek spill gates and time steps. |
| objective | creek_physical_spill_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of creek spill costs for the part of the spill that represents physical spill. |
| objective | creek_nonphysical_spill_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of creek spill costs for the part of the spill that represents non-physical spill. |
| objective | junction_slack_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | The sum of cost for the use of slack variables for all junctions and time steps. |
| objective | reserve_violation_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the reserve deliveries deviate below the reserve obligations. |
| objective | reserve_slack_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total slack cost when the reserve deliveries deviate above the reserve obligations. |
| objective | reserve_schedule_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.5.5.d | No | Resulting total penalty cost when the reserve schedules are violated. |
| objective | rsv_peak_volume_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.0.1.1 | No | Resulting total penalty cost for peak reservoir volumes penalized by the peak_volume_cost_curve on each reservoir. |
| objective | gate_peak_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.0.1.1 | No | Resulting total penalty cost for peak gate flows penalized by the peak_flow_cost_curve on each gate. |
| objective | rsv_flood_volume_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.2.2.0 | No | Resulting total penalty cost for the reservoir volumes penalized by the flood_volume_cost_curve. |
| objective | river_peak_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.3.0 | No | Resulting total penalty cost for peak river flows penalized by the peak_flow_cost_curve on each river. |
| objective | river_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.3.0 | No | Resulting total penalty cost for river flows penalized by the flow_cost_curve on each river. |
| objective | sim_river_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated resulting total penalty cost for river flows penalized by the flow_cost_curve on each river. |
| objective | river_gate_adjustment_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.4.0.0 | No | Resulting total penalty for adjusting the river gates according to the gate_adjustment_cost of each river. |
| objective | plant_reserve_discharge_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.3.0.0 | No | Resulting total penalty for violating the max and min discharge constraints on plants due to potential reserve activation. |
| objective | solar_curtailment_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.3.0.0 | No | Resulting total cost of curtailing solar power. |
| objective | wind_curtailment_cost | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.3.0.0 | No | Resulting total cost of curtailing wind power. |
| objective | plant_sum_reserve_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.3.0.0 | No | Resulting total penalty for violating the max upward and downward total reserve constraints on plants. |
| objective | reserve_activation_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.3.0.0 | No | Resulting total penalty for violating the reservoir volume constraints on reservoirs due to potential reserve activation. |
| objective | reserve_tactical_activation_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.3.0.0 | No | Resulting total penalty for violating the tactical reservoir volume constraints on reservoirs due to potential reserve activation. |
| objective | plant_reserve_strategy_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 16.2.0 | No | Resulting total penalty for violating the plant min and max reserve constraints that are based on the plant_max/min_reserve_strategy input. |
| objective | plant_consumption_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 17.8.0 | No | Resulting total penalty cost when the time-dependent maximum or minimum consumption limits for the plants are violated. |
| objective | plant_upflow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 17.8.0 | No | Resulting total penalty cost when the time-dependent maximum or minimum upflow limits for the plants are violated. |
| objective | rsv_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the maximum or minimum volume limits for all reservoirs during the optimization period are violated. |
| objective | sim_rsv_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.2.0.a | No | Simulated total penalty cost when the maximum or minimum volume limits for all reservoirs during the optimization period are violated. |
| objective | rsv_hard_limit_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.0.2.0 | No | Resulting total penalty cost for breaking the hard min/max constraints on the reservoir volume or level. |
| objective | sim_rsv_hard_limit_min_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated resulting total penalty cost for breaking the hard min constraints on the reservoir volume or level. |
| objective | sim_rsv_hard_limit_max_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated resulting total penalty cost for breaking the hard max constraints on the reservoir volume or level. |
| objective | rsv_over_limit_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.0.0.8 | No | Resulting total penalty cost when the volume of reservoirs with an attached flood gate goes over the physical maximum volume limits. |
| objective | rsv_end_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the maximum or minimum volume limits for all reservoirs at the end of the optimization period are violated. |
| objective | load_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when load obligations are violated. |
| objective | group_time_period_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when period sum constraints on the old ascii multi-object format are violated. Sum over all constraints. |
| objective | group_time_step_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when time-dependent constraints on the old ascii multi-object format are violated. Sum over all constraints and time steps. |
| objective | plant_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when plnat production ramping constraints are violated. Sum over all plants and time steps. |
| objective | rsv_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when reservoir storage ramping constraints are violated. Sum over all reservoirs and time steps. |
| objective | gate_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when discharge ramping constraints on gates are violated. Sum over all gates and time steps. |
| objective | contract_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when contract ramping constraints are violated. Sum over all contracts and time steps. |
| objective | group_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when time-dependent group ramping constraints on the old ascii format are violated. Sum over all constraints and time steps. |
| objective | discharge_group_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the allowed deviations for discharge groups are violated. Sum for both upward and downward violation over all discharge groups and time steps. |
| objective | discharge_group_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.0.2.1 | No | Resulting total penalty cost when the discharge ramping constraints for discharge groups are violated. Sum for both upward and downward violation over all discharge groups and time steps. |
| objective | discharge_group_average_discharge_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.4.0.0 | No | Resulting total penalty cost when the average discharge constraints for discharge groups are violated. Sum for both upward and downward violation over all discharge groups and time steps. |
| objective | production_group_energy_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the energy target production constraints on production groups are violated. Sum for both upward and downward violation over all production groups. |
| objective | production_group_power_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Resulting total penalty cost when the maximum or minimum power limit constraints on production groups are violated. Sum for both upward and downward violation over all production groups and time steps. |
| objective | river_min_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.1.0 | No | Resulting total penalty for breaking the min_flow river constraints. |
| objective | sim_river_min_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated resulting total penalty for breaking the min_flow river constraints. |
| objective | river_max_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.1.0 | No | Resulting total penalty for breaking the max_flow river constraints. |
| objective | sim_river_max_flow_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 18.0.0 | No | Simulated resulting total penalty for breaking the max_flow river constraints. |
| objective | river_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.3.3.0 | No | Resulting total penalty cost when the discharge ramping constraints for rivers are violated. Sum for both upward and downward violation over all rivers and time steps. |
| objective | river_gate_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.1.1.0 | No | Resulting total penalty cost when the gate ramping constraints for rivers are violated. Sum for both upward and downward violation over all rivers and time steps. |
| objective | river_flow_schedule_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 14.4.0.0 | No | Resulting total penalty for breaking the flow_schedule river constraints. |
| objective | level_rolling_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Resulting total penalty cost when the level rolling ramping constraints for reservoirs are violated. Sum for both upward and downward violation over all reservoirs and time steps. |
| objective | level_period_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Resulting total penalty cost when the level period ramping constraints for reservoirs are violated. Sum for both upward and downward violation over all reservoirs and time steps. |
| objective | discharge_rolling_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Resulting total penalty cost when the discharge rolling ramping constraints for plants are violated. Sum for both upward and downward violation over all plants and time steps. |
| objective | discharge_period_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Resulting total penalty cost when the discharge period ramping constraints for plants are violated. Sum for both upward and downward violation over all plants and time steps. |
| objective | rsv_nonseq_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Resulting total penalty cost when the non-sequential reservoir ramping constraints are violated. Sum for both upward and downward violation over all reservoirs and time steps. |
| objective | rsv_amplitude_ramping_penalty | double | Output | No | NOK | 0.0 | SHOP_NONSEQ_AMPLITUDE_RSV_RAMP | 15.3.5.0 | No | Resulting total penalty cost when the amplitude reservoir ramping constraints are violated. Sum for both upward and downward violation over all reservoirs and time steps. |
| objective | rsv_dynamic_level_limit_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 17.1.0 | No | Resulting total penalty cost when the reservoir dynamic level limit constraints for are violated. Sum for both upward and downward violation over all reservoirs and time steps. |
| objective | common_decision_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Penalty cost for violating common decision period constraints in decomposed multi-scenario optimization problems. |
| objective | bidding_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Penalty cost for violating constraints for increasing bid volume when price increases in decomposed multi-scenario optimization problems. |
| objective | safe_mode_universal_penalty | double | Output | No | NOK | 0.0 | SHOP_OPEN | 13.0.0.a | No | Penalty cost for all violated constraints when universal penalty is switched on to investigate infeasibility. |
| bid_group | price_dimension | int | Output | No | NO_UNIT | 0 | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Number of prices in the resulting bid matrix. |
| bid_group | time_dimension | int | Output | No | NO_UNIT | 0 | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Number of time steps in the resulting bid matrix. |
| bid_group | bid_start_interval | int | Output | No | NO_UNIT | -1 | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Index of the first time step in the bid matrix. |
| bid_group | bid_end_interval | int | Output | No | NO_UNIT | 0 | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Index of the last time step in the bid matrix. |
| bid_group | reduction_cost | double | Output | No | NO_UNIT | 0.0 | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | The cost of reducing the full bid matrix to the desired number of points. |
| bid_group | bid_curves | xyt | Output | No | x: NOK/MWH and y: MWH | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Resulting bid matrix. |
| bid_group | bid_penalty | timeseries | Output | No | MWH | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | The sum of penalty over all scenarios and time steps for violating the requirement of bid volume increasing when price increases in the bid matrix. |
| bid_group | best_profit_bid_matrix | xyt | Output | No | x: NOK/MWH and y: MWH | None/null | SHOP_SCENARIO_FUNCTIONALITY | 15.3.2.0 | No | Resulting bid matrix when bids are created from the command print bp_bid_matrix. |
| cut_group | rhs | xy_array | Input | Yes | x: NO_UNIT and y: NOK | None/null | SHOP_OPEN | 13.0.0.a | No | The right hand side constant for each cut in the cut_group. Represent the future expected income of the system and is usually a positive number. In the case of price dependent cuts, the price level should be the reference value for each XY in the xy_array. |
| cut_group | end_value | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.0.0.1 | No | Future expected income of the system that is part of the cut_group. |
| cut_group | binding_cut_up | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | The zero-indexed binding cut constraint in the closest price level above the average price in SHOP is saved as the final value in the timeseries. The value is set to -1 if no cuts have a price above the average price in SHOP. In case of price independent cuts, the value is the binding cut in the cut group. |
| cut_group | binding_cut_down | timeseries | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.0.0.1 | No | The zero-indexed binding cut constraint in the closest price level below the average price in SHOP is saved as the final value in the timeseries. In case of price independent cuts or if there are no cuts with a price below the average price in SHOP, the value is set to -1. |
| inflow_series | cut_coeffs | xy_array | Input | Yes | x: MM3 and y: NOK/MM3 | None/null | SHOP_EXTENDED_CUT_FUNCTIONALITY | 14.0.0.3 | No | The cut coefficients of the inflow series used in prodrisk. The x values specify the reference weekly inflow of the cut, the y values are the actual cut coefficients, and the reference value is the price for when the cut was created. |
| inflow_series | connected_inflow | timeseries | Output | No | M3/S | None/null | SHOP_EXTENDED_CUT_FUNCTIONALITY | 17.9.0 | No | The total inflow of all reservoirs connected to the inflow series. |
| system | cut_output_rhs | xy_array | Output | No | x: NOK and y: NOK | None/null | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | No | Expected future income for the cuts generated by the model. The future incomes represent cuts in the same order as cut_output_coeffs_mm3 on reservoirs. |
| system | sum_completed_iterations | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 17.13.0 | No | The total number of full and incremental iterations that have been completed. |
| system | solver_computation_time | double_array | Output | No | SECOND | None/null | SHOP_OPEN | 17.15.0 | No | Computation time used in the external solver (CPLEX/Gurobi/OSI) for completed iterations. |
| system | solver_interface_input_path | string | Input | No | STRING | Empty | SHOP_OPEN | 17.16.0 | No | Manually specify where SHOP will look for the solver interface binary, see the documentation under ‘Environment variables’ to see where SHOP will search by default. |
| system | model_building_time | double_array | Output | No | SECOND | None/null | SHOP_OPEN | 17.17.0 | No | Computation time used for model building for each iteration. |
| system | result_processing_time | double_array | Output | No | SECOND | None/null | SHOP_OPEN | 17.17.0 | No | Computation time used for result processing for each iteration. |
| system | total_iteration_time | double_array | Output | No | SECOND | None/null | SHOP_OPEN | 17.17.0 | No | Total computation time for each iteration. |
| system | time_per_command | sy | Output | No | s: STRING and y: SECOND | None/null | SHOP_OPEN | 17.17.0 | No | Total computation time per command. The string value is the raw command string, and the y value is the computation time in seconds. |
| system | physical_spill | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 18.3.0 | No | The sum of river spill volume for the part of the spill that represents physical spill, i.e. the spill occurs when the water reaches max_vol of the upstream reservoir. |
| system | nonphysical_spill | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 18.3.0 | No | The sum of river spill volume for the part of the spill that represents non-physical spill, i.e. the spill occurs when the water does not reach max_vol of the upstream reservoir. |
| unit_combination | n_units | int | Output | No | NO_UNIT | 0 | SHOP_BEST_PROFIT | 17.3.0 | No | The number of generators that are part of this unit combination. |
| unit_combination | unit_is_in_comb | int_array | Output | No | NO_UNIT | None/null | SHOP_BEST_PROFIT | 17.9.0 | No | Specifies which generators are part of the unit_combination. The vector has the same length as the number of generators in the plant, and a value of 1 means that the unit is included in the combination. |
| unit_combination | unit_names_in_comb | string_array | Output | No | STRING | None/null | SHOP_BEST_PROFIT | 18.3.0 | No | Lists the names of the generators that are part of the unit_combination. |
| unit_combination | discharge | xyt | Output | No | x: MW and y: M3/S | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Discharge for a combination of generators corresponding to a certain production level of the unit combination. The result is generated by the best_profit module. |
| unit_combination | marginal_cost | xyt | Output | No | x: MW and y: NOK/MW | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Marginal production cost for a combination of generators corresponding to a certain production level of the unit combination. The result is generated by the best_profit module. |
| unit_combination | average_cost | xyt | Output | No | x: MW and y: NOK/MW | None/null | SHOP_BEST_PROFIT | 13.0.0.a | No | Average production cost for a combination of generators corresponding to a certain production level of the unit combination. The result is generated by the best_profit module. |
| tunnel | start_height | double | Input | Yes | METER | 0.0 | SHOP_OPEN | 13.5.1.a | No | The lowest part of the opening of the tunnel at the point defined as the starting point of the tunnel. |
| tunnel | end_height | double | Input | Yes | METER | 0.0 | SHOP_OPEN | 13.5.1.a | No | The lowest part of the opening of the tunnel at the point defined as the ending point of the tunnel. |
| tunnel | diameter | double | Input | No | METER | 0.0 | SHOP_OPEN | 13.5.1.a | No | The diameter of the tunnel. This is reserved for use in the simulation. |
| tunnel | length | double | Input | No | METER | 0.0 | SHOP_OPEN | 13.5.1.a | No | The length of the tunnel. This is reserved for use in the simulation. |
| tunnel | loss_factor | double | Input | Yes | S2/M5 | 0.0 | SHOP_OPEN | 13.5.1.a | No | Friction loss factor for the tunnel. The head loss in the tunnel is found by multiplying the loss_factor with the square of the flow. The loss_factor is also divided with the gate_opening_curve y-value if the gate is not fully open. |
| tunnel | weir_width | double | Input | No | METER | 0.0 | SHOP_OPEN | 14.1.0.5 | No | Width of weir at tunnel entrance. Tunnel flow is limited by the amount of water that may flow over the weir, depending on the level of the reservoir above. |
| tunnel | time_delay | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 13.5.1.a | No | The delay between the water leaving the tunnel and until it ends up in the downstream reservoir. This can only be used on tunnels with end_height above the HRL of the downstream reservoir. |
| tunnel | gate_opening_curve | xy | Input | No | x: NO_UNIT and y: NO_UNIT | None/null | SHOP_TUNNEL | 13.5.1.a | No | Relationship between gate positions and related scaling of the pressure loss in the gate. The X-values represent an arbitrary position given by increasing numbers. The Y-values represent the corresponding opening factor for each position. The tunnel loss_factor is divided with the y-value if the gate is not fully open. An y-value of 0 represents a fully closed gate and will not be used for any division. |
| tunnel | gate_loss_factor_curve | xy | Input | No | x: NO_UNIT and y: S2/M5 | None/null | SHOP_TUNNEL | 16.9.0 | No | The effective head loss coefficient of the gate in the tunnel for different gate positions. The x-values in this curve are mapped to gate openings through the x-values on the gate_opening_curve. The total loss factor will be the sum of the regular loss_factor on the tunnel and the gate loss factor interpolated for the relevant gate opening. If this curve is not defined, the total loss factor of the tunnel and gate will be the loss_factor divided by the fractional gate opening. |
| tunnel | gate_adjustment_cost | timeseries | Input | No | NOK | None/null | SHOP_TUNNEL | 13.5.1.a | No | A cost for changing the gate position between each time step. The given cost is multiplied with the change in gate opening between each time step and the product is added to the objective function. |
| tunnel | gate_iteration_deviation_cost | timeseries | Input | No | NOK | None/null | SHOP_TUNNEL | 16.8.0 | No | Adds a cost for changing the gate position from the gate opening optimized in the previous iteration. The cost is not based on any real world costs of the gate, but is a way of avoiding flipping between different gate opening solutions from iteration to iteration. |
| tunnel | gate_opening_schedule | timeseries | Input | No | NO_UNIT | None/null | SHOP_TUNNEL | 13.5.1.a | Yes | Schedule for gate opening corresponding to the x-values of the gate_opening_curve. |
| tunnel | initial_opening | double | Input | No | NO_UNIT | -1 | SHOP_TUNNEL | 13.5.1.a | No | Initial position of the gate used as basis for calculating adjustment costs in the first time step. |
| tunnel | continuous_gate | int | Input | No | NO_UNIT | 0 | SHOP_TUNNEL | 13.5.1.a | No | Flag determining whether the gate can be set to any position between listed positions in the gate_opening_curve. A value of 0 means that it can only be set at the given positions while a value of 1 means that it can be set to any position between the first and last listed position. |
| tunnel | end_pressure | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.5.1.a | No | Resulting pressure from the optimization at the end of the tunnel. |
| tunnel | start_pressure | timeseries | Output | No | METER | None/null | SHOP_OPEN | 17.9.0 | No | Resulting pressure from the optimization at the start of the tunnel. |
| tunnel | sim_end_pressure | timeseries | Output | No | METER | None/null | SHOP_OPEN | 13.5.1.a | No | Resulting pressure from the simulated flow at the end of the tunnel. |
| tunnel | flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.5.1.a | No | Resulting flow in the tunnel from the optimization. |
| tunnel | physical_flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.4.1.0 | No | Post-calculated physical flow in the tunnel after all optimization decisions are fixed. |
| tunnel | sim_flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 13.5.1.a | No | Simulated flow in the tunnel. |
| tunnel | gate_opening | timeseries | Output | No | NO_UNIT | None/null | SHOP_TUNNEL | 13.5.1.a | No | Resulting position of the tunnel gate after optimization. |
| tunnel | network_no | int | Output | No | NO_UNIT | 0 | SHOP_OPEN | 13.5.1.a | No | Network identification number set by the model to indicate which tunnel network this tunnel is part of. |
| tunnel | min_flow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.5.1.a | Yes | Minimum allowed flow in this tunnel. |
| tunnel | max_flow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 13.5.1.a | Yes | Maximum allowed flow in this tunnel. |
| tunnel | min_flow_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_OPEN | 13.5.4.a | No | Given penalty cost for violating minimum flow in this tunnel. |
| tunnel | max_flow_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_OPEN | 13.5.4.a | No | Given penalty cost for violating maximum flow in this tunnel. |
| tunnel | min_start_pressure | timeseries | Input | No | METER | None/null | SHOP_TUNNEL | 14.2.3.0 | Yes | Minimum allowed pressure at the start of this tunnel. |
| interlock_constraint | min_open | timeseries | Input | No | NO_UNIT | None/null | SHOP_TUNNEL | 13.5.1.a | No | Minimum limit for how many objects connected to this constraint that can be open simultaneously. |
| interlock_constraint | max_open | timeseries | Input | No | NO_UNIT | None/null | SHOP_TUNNEL | 13.5.1.a | No | Maximum limit for how many objects connected to this constraint that can be open simultaneously. |
| interlock_constraint | forward_switch_time | double | Input | No | NO_UNIT | 0.0 | SHOP_TUNNEL | 13.5.4.d | No | Minimum number of hours that plant below must be stopped after closing tunnels connected to this constraint. |
| interlock_constraint | backward_switch_time | double | Input | No | NO_UNIT | 0.0 | SHOP_TUNNEL | 13.5.4.d | No | Minimum number of hours that plant below must be stopped after closing tunnels connected from this constraint. |
| lp_model | sim_mode | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_type_names | string_array | Output | No | STRING | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_type_abbrev | string_array | Output | No | STRING | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_type_index_type_beg | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_type_index_type_cnt | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_type_index_type_val | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_type_names | string_array | Output | No | STRING | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_type_index_type_beg | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_type_index_type_cnt | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_type_index_type_val | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | index_type_names | string_array | Output | No | STRING | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | index_type_desc_beg | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | index_type_desc_cnt | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | index_type_desc_index | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 15.2.0.0 | No | LP-model data. |
| lp_model | index_type_desc_val | string_array | Output | No | STRING | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | AA | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | Irow | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | Jcol | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | rhs | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | sense | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | ub | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | lb | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | cc | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | bin | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | x | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | dual | double_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_type | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_index_beg | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_index_cnt | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | var_index_val | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_type | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_index_beg | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_index_cnt | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | row_index_val | int_array | Output | No | NO_UNIT | None/null | SHOP_OPEN | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_type | int | Input | No | NO_UNIT | 0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_index | int_array | Input | No | NO_UNIT | None/null | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_variables | int_array | Input | No | NO_UNIT | None/null | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_coeff | double_array | Input | No | NO_UNIT | None/null | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_rhs | double | Input | No | NO_UNIT | 0.0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_sense | int | Input | No | NO_UNIT | 0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_row_last | int | Output | No | NO_UNIT | 0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_type | int | Input | No | NO_UNIT | 0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_index | int_array | Input | No | NO_UNIT | None/null | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_ub | double | Input | No | NO_UNIT | 0.0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_lb | double | Input | No | NO_UNIT | 0.0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_cc | double | Input | No | NO_UNIT | 0.0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_bin | int | Input | No | NO_UNIT | 0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| lp_model | add_var_last | int | Output | No | NO_UNIT | 0 | SHOP_LP_MODEL | 14.1.0.0 | No | LP-model data. |
| river | length | double | Input | No | METER | 0.0 | SHOP_OPEN | 14.3.1.0 | No | Length of the river segment. |
| river | upstream_elevation | double | Input | Yes | METER | 0.0 | SHOP_OPEN | 14.3.1.0 | No | The elevation of the river floor upstream. |
| river | downstream_elevation | double | Input | No | METER | 0.0 | SHOP_OPEN | 14.3.1.0 | No | The elevation of the river floor downstream. |
| river | time_delay_const | double | Input | No | HOUR | 0.0 | SHOP_OPEN | 14.3.1.0 | No | The time delay of the water flowing down the river. |
| river | delayed_water_energy_value | double | Input | No | NOK/MWH | 0.0 | SHOP_RIVER | 14.3.1.0 | No | Specifies a constant local energy value used to evaluate the water in transit at the end of the optimization horizon. The value is converted to EUR/Mm3 and then added to the global water value of the downstream reservoir. |
| river | delayed_water_value | double | Input | No | NOK/MM3 | -1.0 | SHOP_OPEN | 15.6.0.0 | No | Specifies a constant global water value used to evaluate the water in transit at the end of the optimization horizon. The water value of the downstream reservoir will be used if this attribute is not specified. |
| river | initial_gate_opening | double | Input | No | NO_UNIT | -1.0 | SHOP_RIVER | 14.4.0.0 | No | Specifies the initial opening position of the gate in the river before optimization, which is used when applying gate_adjustment_cost and gate_ramping constraints for the first time step. These constraints will not be applied for t=0 if the initial gate opening is not specified (-1). |
| river | linear_ref_flow | double | Input | No | M3/S | 0.0 | SHOP_RIVER | 15.0.0.2 | No | Specifies the flow rate where the level-flow rate should be linearized from. Can be used in combination with submerged weir where the flow is based on watted area. Will only be used if activated by corresponding flag. |
| river | implicit_factor | double | Input | No | NO_UNIT | 0.5 | SHOP_RIVER | 15.3.0.0 | No | Weighting between reservoir level in the beginning and end of time step for numerical integration. 0 - explicit Euler, 0.5 trapezoidal method, 1 - implicity Euler. Increase value for improved numerical stability, while 0.5 will typically give highest precision. |
| river | main_river | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.4.0.0 | No | Specifies that this river should be considered the main waterway downstream a reservoir, and is only needed if a reservoir has no directly connected downstream power plant and has multiple output rivers. The first connected river is assumed to be the main river if this value has not been set on any of the output rivers. |
| river | submerged_weir | int | Input | No | NO_UNIT | 0 | SHOP_RIVER | 15.0.0.0 | No | Specifies if the weir should allow two way flow and reduce flow rate when downstream level is above weir height. |
| river | linear_submerged_weir_flow | int | Input | No | NO_UNIT | 0 | SHOP_RIVER | 15.0.0.2 | No | Activated weir flow linearized through the point given by linear_ref_flow and zero. Typically used for two-way flow functions with small reservoirs where convergence can be challenging. |
| river | width_depth_curve | xy | Input | No | x: METER and y: METER | None/null | SHOP_RIVER | 14.3.1.0 | No | The curve describing the shape of the river cross section. |
| river | flow_cost_curve | xy | Input | No | x: M3/S and y: NOK/H/M3/S | None/null | SHOP_FLOOD_SUPPORT | 14.3.3.0 | No | Describes a piece-wise constant cost curve for the flow in each time step for the river. This convex curve is preferred over the standard flow_cost timeseries attribute if both are defined for the river object. |
| river | peak_flow_cost_curve | xy | Input | No | x: M3/S and y: NOK/M3/S | None/null | SHOP_FLOOD_SUPPORT | 14.3.3.0 | No | Describes the piece-wise constant cost curve for the highest achieved flow rate in the river over the optimization horizon. |
| river | time_delay_curve | xy_array | Input | No | x: HOUR and y: NO_UNIT | None/null | SHOP_OPEN | 14.4.1.4 | No | Function for modelling wave-shaped time delay. The X-values represent the time since discharge into the top of the river, and the Y-values represents the fraction of the upstream water arriving at the bottom of the river at that time. Separate curves can be given in for different reference flows, in this case the time delay will be interpolated between the curves based on the flow in the past SHOP iteration. |
| river | past_upstream_flow | timeseries | Input | No | M3/S | None/null | SHOP_RIVER | 14.4.0.0 | No | Represents the upstream flow in the river before the start of the optimization period, which is considered for rivers with time delay. Any values given for times inside the optimization horizon are ignored. The datatype of this attribute changed from xy to timeseries in version 15.3.1.0. |
| river | up_level_flow_curve | xy_array | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 14.3.3.0 | No | Function determining the relationship between water level in the reservoir directly above the river and the flow in the river. The XY flow functions can be given in for multiple gate settings where the gate opening position is the reference value of the XY table. |
| river | gate_opening_curve | xy | Input | No | x: NO_UNIT and y: METER | None/null | SHOP_RIVER | 14.3.3.0 | No | Function determining the relationship between the user-defined position of the gate (X-value) and the corresponding height in meters above the river bottom (Y-value). |
| river | delta_level_ref_up_flow_curve | xy_array | Input | No | x: METER and y: M3/S | None/null | SHOP_OPEN | 14.3.3.0 | No | Set of functions defining the relationship between the water level difference between the reservoirs directly above and below the river (X-value) and the river flow (Y-value). Each function is referenced to a water level in the upper reservoir. The flow is extrapolated outside the defined X-value range, and interpolated between functions when the actual upper reservoir level lies between their reference levels. |
| river | delta_level_ref_down_flow_curve | xy_array | Input | No | x: METER and y: M3/S | None/null | SHOP_RIVER | 14.3.3.0 | No | Set of functions defining the relationship between the water level difference between the reservoirs directly above and below the river (X-value) and the river flow (Y-value). Each function is referenced to a water level in the lower reservoir. The flow is extrapolated outside the defined X-value range, and interpolated between functions when the actual lower reservoir level lies between their reference levels. |
| river | inflow | timeseries | Input | No | M3/S | None/null | SHOP_RIVER | 14.3.1.0 | No | The upstream natural inflow to the river. |
| river | min_flow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 14.3.1.0 | Yes | Defines a minimum flow constraint for the river. This is a soft constraint whose penalty cost is specified by either min_flow_penalty_cost or river_flow_penalty_cost (on global_settings). |
| river | max_flow | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 14.3.1.0 | Yes | Defines a maximum flow constraint for the river. This is a soft constraint whose penalty cost is specified by either max_flow_penalty_cost or river_flow_penalty_cost (on global_settings). |
| river | min_flow_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_OPEN | 14.3.1.0 | No | The penalty cost for breaking the min_flow constraint. Overrides the default river_flow_penalty_cost defined on global_settings. |
| river | max_flow_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_OPEN | 14.3.1.0 | No | The penalty cost for breaking the max_flow constraint. Overrides the default river_flow_penalty_cost defined on global_settings. |
| river | max_flow_const | double | Input | No | M3/S | SHOP_OPEN | 17.5.0 | Yes | Defines a constant maximum flow constraint for the river. This is a soft constraint whose penalty cost is specified by either max_flow_penalty_cost or river_flow_penalty_cost (on global_settings). The default value (NaN) means that max_flow_const is inactive. The timeseries attribute max_flow will be preferred if both are set. | |
| river | ramping_up | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_OPEN | 14.3.3.0 | Yes | Defines a maximum upward flow ramping constraint for the river. |
| river | ramping_down | timeseries | Input | No | M3SEC_HOUR | None/null | SHOP_OPEN | 14.3.3.0 | Yes | Defines a maximum downward flow ramping constraint for the river. |
| river | ramping_up_penalty_cost | timeseries | Input | No | NOK/M3/S | None/null | SHOP_OPEN | 14.3.3.0 | No | The penalty cost for breaking the ramping_up constraint. Overrides the default gate_ramp_penalty_cost defined on global_settings. |
| river | ramping_down_penalty_cost | timeseries | Input | No | NOK/M3/S | None/null | SHOP_OPEN | 14.3.3.0 | No | The penalty cost for breaking the ramping_down constraint. Overrides the default gate_ramp_penalty_cost defined on global_settings. |
| river | cost_curve_scaling | timeseries | Input | No | NO_UNIT | None/null | SHOP_FLOOD_SUPPORT | 14.3.3.0 | No | The values in this time series will be multiplied with the flow_cost_curve values. This makes it possible to vary the convex flow_cost_curve over the optimization horizon. |
| river | flow_schedule | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 14.3.3.0 | Yes | Schedule for flow through the river. If the river has time delay, it is referenced to the start of the river. |
| river | flow_schedule_penalty_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_OPEN | 14.4.0.0 | No | Penalty cost for breaking the flow_schedule for the river. The default penalty cost for all rivers can be set with the river_flow_schedule_penalty_cost attribute on global_settings. |
| river | gate_opening_schedule | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 14.3.3.0 | Yes | Schedule for opening of the gate in the river. The value given here is interpreted as the X-value of the gate_opening_curve. |
| river | flow_block_merge_tolerance | timeseries | Input | No | M3/S | None/null | SHOP_OPEN | 14.3.3.0 | Yes | Maximum difference in flow between two timesteps that results in a merged result for these timesteps in the next iteration. This requires merging to be activated in the command file by set merge /on. |
| river | gate_ramping | timeseries | Input | No | METER/HOUR | None/null | SHOP_RIVER | 14.4.0.0 | Yes | Maximal allowed change in the gate height per hour in both upward and downward direction. |
| river | gate_ramping_penalty_cost | timeseries | Input | No | NOK/METER_HOUR | None/null | SHOP_RIVER | 14.4.0.0 | No | The penalty cost for breaking the gate ramping constraints in either upward or downward direction. |
| river | gate_adjustment_cost | timeseries | Input | No | NOK/METER | None/null | SHOP_RIVER | 14.4.0.0 | No | The cost for changeing the gate height between two time steps in either upward or downward direction. |
| river | flow_cost | timeseries | Input | No | NOK/H/M3/S | None/null | SHOP_OPEN | 14.4.0.0 | No | A linear cost for the flow of water in the river. If a convex flow_cost_curve is defined on the river, it will be preferred over the flow_cost. |
| river | flow_cost_const | double | Input | No | NOK/H/M3/S | 0.0 | SHOP_OPEN | 17.5.0 | No | A linear cost for the flow of water in the river that is constant in time. The convex flow_cost_curve and the timeseries attribute flow_cost will be preferred over the flow_cost_const if multiple costs are defined at the same time. |
| river | mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_RIVER | 14.4.0.0 | No | A flag series used to turn on (1) and off (0) the use of binary variables to ensure that the river flow is zero when the reservoir level is below the gate or bottom of the river bed. Non-physical flow may occur if the mip_flag is turned off. |
| river | flow_start_cost | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.14.0 | No | Cost for river starting to flow. For the cost to be applied, the river attributes min_allowed_flow and absolute_max_flow must be specified. |
| river | flow_stop_cost | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.14.0 | No | Cost for river stopping to flow. For the cost to be applied, the river attributes min_allowed_flow and absolute_max_flow must be specified. |
| river | flow_start_cost_const | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 17.14.0 | No | Constant cost for river starting to flow. For the cost to be applied, the river attributes min_allowed_flow and absolute_max_flow must be specified. The corresponding timeseries attribute flow_start_cost will be preferred if both are defined. |
| river | flow_stop_cost_const | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 17.14.0 | No | Constant cost for river stopping to flow. For the cost to be applied, the river attributes min_allowed_flow and absolute_max_flow must be specified. The corresponding timeseries attribute flow_stop_cost will be preferred if both are defined. |
| river | min_allowed_flow | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 17.14.0 | No | Minimum allowed flow in the river. Needed for adding start- and stop-costs for the river flow. |
| river | absolute_max_flow | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 17.14.0 | No | Absolute max flow in the river. Needed for adding start- and stop-costs for the river flow. |
| river | flow_commitment_mip_flag | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 17.14.0 | No | A flag series used to turn on (1) and off (0) the use of binary variables in the constraints for flow start/stop costs. |
| river | flow_change_cost | timeseries | Input | No | NOK/M3/S | None/null | SHOP_OPEN | 18.4.0 | Yes | The cost for changing the upstream river flow between two time steps (independent of step length), charged on both the upward and downward part of the flow change. A NaN value at a time step means that no cost is applied for the flow change in that time step. |
| river | flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.3.1.0 | No | The flow in the river, referenced at the upstream endpoint. |
| river | upstream_flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.3.1.0 | No | The flow in the river at the upstream endpoint. |
| river | downstream_flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.3.1.0 | No | The flow in the river at the downstream endpoint. |
| river | gate_height | timeseries | Output | No | METER | None/null | SHOP_RIVER | 14.3.3.0 | No | The post-calculated height of the gate in MASL. The reservoir level and river flow is used to calculate the corresponding gate height after the optimization is done based on the up_level_flow_curve or width_depth_curve. |
| river | solver_gate_height | timeseries | Output | No | METER | None/null | SHOP_RIVER | 17.10.0 | No | The approximate height of the gate that the optimization solver sees when adding gate ramping and gate adjustment constraints. Otherwise, it is identical to the post-calculated gate_height attribute. |
| river | gate_position | timeseries | Output | No | NO_UNIT | None/null | SHOP_RIVER | 17.10.0 | No | The post-calculated position of the gate corresponding to the x values in the gate_opening_curve. The reservoir level and river flow is used to calculate the corresponding gate position after the optimization is done based on the up_level_flow_curve or width_depth_curve. |
| river | min_flow_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.3.1.0 | No | The incurred penalty for breaking the min_flow constraint. |
| river | max_flow_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.3.1.0 | No | The incurred penalty for breaking the max_flow constraint. |
| river | ramping_up_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.3.3.0 | No | The incurred penalty for breaking the ramping_up constraint. |
| river | ramping_down_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.3.3.0 | No | The incurred penalty for breaking the ramping_down constraint. |
| river | flow_change_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 18.4.0 | No | The incurred cost for changing the upstream river flow between two time steps according to the flow_change_cost attribute. |
| river | flow_penalty | timeseries | Output | No | NOK | None/null | SHOP_FLOOD_SUPPORT | 14.3.3.0 | No | The penalty incurred based on the flow_cost_curve and the flow rate in the river over the optimization horizon. |
| river | peak_flow_penalty | timeseries | Output | No | NOK | None/null | SHOP_FLOOD_SUPPORT | 14.3.3.0 | No | The penalty incurred based on the peak_flow_cost_curve and the highest achieved flow rate in the river over the optimization horizon. |
| river | gate_ramping_penalty | timeseries | Output | No | NOK | None/null | SHOP_RIVER | 14.4.0.0 | No | The penalty incurred for breaking the gate_ramping constraints according to the gate_ramping_penalty_cost. |
| river | gate_adjustment_penalty | timeseries | Output | No | NOK | None/null | SHOP_RIVER | 14.4.0.0 | No | The incurred cost for changeing the gate height between time steps according to the gate_adjustment_cost. |
| river | flow_schedule_penalty | timeseries | Output | No | NOK | None/null | SHOP_OPEN | 14.4.0.0 | No | The incurred cost for breaking the flow_schedule constraints on the river. |
| river | physical_flow | timeseries | Output | No | M3/S | None/null | SHOP_OPEN | 14.4.1.0 | No | The physical flow into the top of the river based on the post-calculated reservoir level values. If the river flow is not dependent on the upstream reservoir level, the physical_flow will be identical to the regular flow attribute. |
| river | initial_downstream_flow | timeseries | Output | No | M3/S | None/null | SHOP_RIVER | 14.4.1.4 | No | The calculated initial flow that will flow out from the end of the river. This is calulated based on the time delay in the river and the past_upstream_flow and distributed_past_upstream_flow attribute. |
| river | distributed_past_upstream_flow | xy | Output | No | x: HOUR and y: M3/S | None/null | SHOP_RIVER | 14.4.1.4 | No | The past upstream flow of upstream river objects that have been distributed down to this river. Represented as an XY table where the x-values are the time steps in negative hours relative to the start of the optimization. |
| river | sim_flow | timeseries | Output | No | M3/S | None/null | SHOP_RIVER | 15.1.0.0 | No | The simulated upstream river flow after a SHOP simulation is performed. |
| river | sim_downstream_flow | timeseries | Output | No | M3/S | None/null | SHOP_RIVER | 16.8.0 | No | The simulated river flow that exits the bottom of the river after a SHOP simulation is performed. |
| river | delayed_water_vol | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 16.8.0 | No | The volume of the downstream river flow that arrives after the end of the optimization horizon. |
| river | sim_delayed_water_vol | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 16.8.0 | No | The simulated volume of the downstream river flow that arrives after the end of the simulation horizon. |
| river | delayed_water_vol_from_historic_flow | double | Output | No | MM3 | 0.0 | SHOP_OPEN | 17.0.0 | No | The volume of the past_upstream_flow that arrives after the end of the optimization horizon. |
| river | level_dependent_max_flow | xy | Output | No | x: METER and y: M3/S | None/null | SHOP_RIVER | 17.10.0 | No | Describes the concave envelope of the reservoir-dependent maximal flow in rivers with gates and an up_level_flow_curve or width_depth_curve. Used to add an upper bound for the river flow if the gate is optimizable. |
| river | level_dependent_min_flow | xy | Output | No | x: METER and y: M3/S | None/null | SHOP_RIVER | 17.10.0 | No | Describes the convex envelope of the reservoir-dependent minimal flow in rivers with gates and an up_level_flow_curve or width_depth_curve. Used to add a lower bound for the river flow if the gate is optimizable. |
| river | physical_spill | double | Output | No | MM3 | 0.0 | SHOP_RIVER | 18.3.0 | No | The sum of spill volume for the part of the spill that represents physical spill, i.e. the spill occurs when the water reaches max_vol of the upstream reservoir. |
| river | nonphysical_spill | double | Output | No | MM3 | 0.0 | SHOP_RIVER | 18.3.0 | No | The sum of spill volume for the part of the spill that represents non-physical spill, i.e. the spill occurs when the water does not reach max_vol of the upstream reservoir. |
| busbar | load | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Load at the busbar. |
| busbar | ptdf | sy | Input | No | s: STRING and y: NO_UNIT | None/null | SHOP_OPEN | 14.3.4.0 | No | Power transfer distribution factors describing change in flow for each ac line relative to change in generation at the busbar. |
| busbar | energy_price | timeseries | Output | No | NOK/MWH | None/null | SHOP_OPEN | 14.3.4.0 | No | Dual value for the energy balance constraint at the busbar. |
| busbar | power_deficit | timeseries | Output | No | MWH | None/null | SHOP_OPEN | 14.3.4.0 | No | Power added to the busbar power balance to cover deficit of energy. |
| busbar | power_excess | timeseries | Output | No | MWH | None/null | SHOP_OPEN | 14.3.4.0 | No | Power subtracted from the busbar power balance to remove excess of energy. |
| ac_line | max_forward_flow | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Maximum transfer capacity in forward direction. |
| ac_line | max_backward_flow | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Maximum transfer capacity in backward direction. |
| ac_line | n_loss_segments | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.3.4.0 | No | Number of segments for linearization of quadratic loss. |
| ac_line | loss_factor_linear | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 14.3.4.0 | No | Loss factor multiplied with absolute value of the flow in the line. |
| ac_line | loss_factor_quadratic | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 14.3.4.0 | No | Loss factor multiplied with the square of the flow in the line. The calculation is linearized with the number of steps defined by n_loss_segments. |
| ac_line | flow | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Flow through the line. |
| ac_line | forward_loss | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Transmission loss for flow in forward direction of the line. |
| ac_line | backward_loss | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Transmission loss for flow in backward direction of the line. |
| dc_line | max_forward_flow | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Maximum transfer capacity in forward direction. |
| dc_line | max_backward_flow | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Maximum transfer capacity in backward direction. |
| dc_line | n_loss_segments | int | Input | No | NO_UNIT | 0 | SHOP_OPEN | 14.3.4.0 | No | Number of segments for linearization of quadratic loss. |
| dc_line | loss_constant | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 14.3.4.0 | No | Constant power loss in DC line terminals, independent of power flow. |
| dc_line | loss_factor_linear | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 14.3.4.0 | No | Loss factor multiplied with absolute value of the flow in the line. |
| dc_line | loss_factor_quadratic | double | Input | No | NO_UNIT | 0.0 | SHOP_OPEN | 14.3.4.0 | No | Loss factor multiplied with the square of the flow in the line. The calculation is linearized with the number of steps defined by n_loss_segments. |
| dc_line | flow | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Flow through the line. |
| dc_line | forward_loss | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Transmission loss for flow in forward direction of the line. |
| dc_line | backward_loss | timeseries | Output | No | MW | None/null | SHOP_OPEN | 14.3.4.0 | No | Transmission loss for flow in backward direction of the line. |
| gen_reserve_capability | reserve_type_name | string | Input | Yes | STRING | Empty | SHOP_OPEN | 14.4.0.0 | No | The reserve product this reserve capability definition is valid for. Can be either FCR_N_UP/DOWN, FCR_D_UP/DOWN, FRR_UP/DOWN, or RR_UP/DOWN. |
| gen_reserve_capability | p_extended | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | Defines an extended production limit for delivering this reserve type. It should be higher than the maximum generator production for upward reserves or below the minimum production for downward reserves. |
| gen_reserve_capability | schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | A schedule for how much reserve capacity of the specified type that must be delivered on the generator. |
| pump_reserve_capability | reserve_type_name | string | Input | Yes | STRING | Empty | SHOP_OPEN | 14.4.0.0 | No | The reserve product this reserve capability definition is valid for. Can be either FCR_N_UP/DOWN, FCR_D_UP/DOWN, FRR_UP/DOWN, or RR_UP/DOWN. |
| pump_reserve_capability | p_extended | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | Defines an extended production limit for delivering this reserve type. It should be higher than the maximum pump consumption for downward reserves or below the minimum consumption for upward reserves. |
| pump_reserve_capability | schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | A schedule for how much reserve capacity of the specified type that must be delivered on the pump. |
| plant_reserve_capability | reserve_type_name | string | Input | Yes | STRING | Empty | SHOP_OPEN | 14.4.0.0 | No | The reserve product this reserve capability definition is valid for. Can be either FCR_N_UP/DOWN, FCR_D_UP/DOWN, FRR_UP/DOWN, or RR_UP/DOWN. |
| plant_reserve_capability | p_gen_extended | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | Defines an extended plant production limit for delivering this reserve type on the generators in the plant. Only has an effect if the value is set lower than the sum of p_extended on the generators in the plant. |
| plant_reserve_capability | p_pump_extended | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | Defines an extended plant production limit for delivering this reserve type on the pumps in the plant. Only has an effect if the value is set lower than the sum of p_extended on the pumps in the plant. |
| plant_reserve_capability | schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | A schedule for how much reserve capacity of the specified type that must be delivered for all generators and pumps in the plant. |
| needle_comb_reserve_capability | reserve_type_name | string | Input | Yes | STRING | Empty | SHOP_OPEN | 14.4.0.0 | No | The reserve product this reserve capability definition is valid for. Can be either FCR_N_UP/DOWN, FCR_D_UP/DOWN, FRR_UP/DOWN, or RR_UP/DOWN. |
| needle_comb_reserve_capability | p_extended | timeseries | Input | No | MW | None/null | SHOP_OPEN | 14.4.0.0 | Yes | Defines an extended production limit for delivering this reserve type. It should be higher than the maximum needle_combination production for upward reserves or below the minimum needle_combination production for downward reserves. |
| battery | charge_efficiency | double | Input | No | NO_UNIT | 1.0 | SHOP_OPEN | 15.2.0.0 | No | Charge efficiency coefficient. |
| battery | discharge_efficiency | double | Input | No | NO_UNIT | 1.0 | SHOP_OPEN | 15.2.0.0 | No | Discharge efficiency coefficient. |
| battery | max_charge_power | double | Input | Yes | MW | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Maximum charge power. |
| battery | max_discharge_power | double | Input | Yes | MW | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Maximum discharge power. |
| battery | max_energy | double | Input | Yes | MWH | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Maximum energy storage capacity. |
| battery | initial_energy | double | Input | No | MWH | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Initial energy storage. |
| battery | discharge_cost | double | Input | No | NOK/MWH | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Battery discharge cost. |
| battery | charge_cost | double | Input | No | NOK/MWH | 0.0 | SHOP_OPEN | 15.2.0.0 | No | Battery charge cost. |
| battery | max_charge_power_constraint | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | Yes | Maximum charge power constraint. |
| battery | max_discharge_power_constraint | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | Yes | Maximum discharge power constraint. |
| battery | max_energy_constraint | timeseries | Input | No | MWH | None/null | SHOP_OPEN | 15.2.0.0 | Yes | Maximum energy storage constraint. |
| battery | min_energy_constraint | timeseries | Input | No | MWH | None/null | SHOP_OPEN | 15.2.0.0 | Yes | Minimum energy storage constraint. |
| battery | charge_discharge_mip | timeseries | Input | No | NO_UNIT | None/null | SHOP_OPEN | 15.2.0.0 | No | MIP variable to prevent simultaneous charging and discharging. |
| battery | charge_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Battery charging schedule. |
| battery | discharge_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Battery discharging schedule. |
| battery | net_discharge_schedule | timeseries | Input | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Battery net-discharging schedule. |
| battery | fcr_n_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating fcr_n_up on this battery. |
| battery | fcr_n_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating fcr_n_down on this battery. |
| battery | fcr_d_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating fcr_d_up on this battery. |
| battery | fcr_d_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating fcr_d_down on this battery. |
| battery | frr_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating frr_up on this battery. |
| battery | frr_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating frr_down on this battery. |
| battery | rr_up_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating rr_up on this battery. |
| battery | rr_down_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.5.0.0 | No | The cost of allocating rr_down on this battery. |
| battery | historical_discharge | timeseries | Input | No | MW | None/null | SHOP_OPEN | 17.19.0 | No | Battery discharge before the start of the optimization period. |
| battery | rolling_max_discharge_limit | xyt | Input | No | x: MINUTE and y: MWH | None/null | SHOP_OPEN | 17.19.0 | Yes | Input to specify rolling battery discharge constraints that limit the maximum total stored energy discharged within a rolling time window. The x-values represent the length of the rolling time window and the y-values specify the maximum allowed energy discharged. Each (x, y) point in each xy curve represents a rolling ramping constraint. |
| battery | power_charge | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Power charged from battery. |
| battery | power_discharge | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Power discharged from battery. |
| battery | net_power_discharge | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Net power discharged from battery. |
| battery | energy | timeseries | Output | No | MWH | None/null | SHOP_OPEN | 15.2.0.0 | No | Energy stored in battery. |
| battery | energy_value | timeseries | Output | No | NOK/MWH | None/null | SHOP_OPEN | 15.2.0.0 | No | Battery energy dual value. |
| battery | fcr_n_up_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery fcr_n_up delivery. |
| battery | fcr_n_down_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery fcr_n_down delivery. |
| battery | fcr_d_up_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery fcr_d_up delivery. |
| battery | fcr_d_down_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery fcr_d_down delivery. |
| battery | frr_up_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery frr_up delivery. |
| battery | frr_down_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery frr_down delivery. |
| battery | rr_up_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery rr_up delivery. |
| battery | rr_down_delivery | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.5.0.0 | No | Resulting battery rr_down delivery. |
| wind | power_forecast | timeseries | Input | Yes | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Wind power production forecast. |
| wind | curtailment_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.2.0.0 | No | Wind energy curtailment cost. |
| wind | power_delivered | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Wind power delivered. |
| wind | power_curtailed | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Wind power curtailed. |
| solar | power_forecast | timeseries | Input | Yes | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Solar power production forecast. |
| solar | curtailment_cost | timeseries | Input | No | NOK/MWH | None/null | SHOP_OPEN | 15.2.0.0 | No | Solar energy curtailment cost. |
| solar | power_delivered | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Solar power delivered. |
| solar | power_curtailed | timeseries | Output | No | MW | None/null | SHOP_OPEN | 15.2.0.0 | No | Solar power curtailed. |