Objects
Objects are the basic building blocks in a SHOP model. The table below shows all available objects in SHOP. Click the object name for the full documentation of the object and its attributes.
| Object type | Description | Legal output connections | I/O | License | Version added |
|---|---|---|---|---|---|
| reservoir | A reservoir that is part of a regulated hydropower watercourse | creek_intake, junction, junction_gate, tunnel, river, gate, plant, volume_constraint, inflow_series, cut_group | Input | SHOP_OPEN | 13.0.0.a |
| plant | A hydropower plant which houses up to several hydropower generators and pumps | junction, tunnel, reservoir, river, plant_reserve_capability, pump, generator, bid_group, production_group, unit_combination, discharge_group | Input | SHOP_OPEN | 13.0.0.a |
| generator | A hydropower generating unit consisting of a hydropower turbine and a generator which uses falling water to generate electricity | gen_reserve_capability, busbar, needle_combination, commit_group, reserve_group, plant | Input | SHOP_OPEN | 13.0.0.a |
| needle_combination | A needle combination or isolated production zone of a generator with separate turbine efficiency curves. Can be used to model Pelton turbines and other turbines with forbidden production zones | needle_comb_reserve_capability, generator | Input | SHOP_PELTON | 13.0.0.a |
| pump | A hydropower pumping unit which consumes electricity to pump water between reservoirs | pump_reserve_capability, busbar, commit_group, reserve_group, plant | Input | SHOP_OPEN | 13.0.0.a |
| gate | A general water rout that is used to move water from an upstream reservoir to the downstream reservoir | junction, reservoir, discharge_group | Input | SHOP_OPEN | 13.0.0.a |
| thermal | A general thermal power generating unit with a fixed linear or quadratic fuel cost | busbar | Input | SHOP_OPEN | 14.3.2.0 |
| junction | A hydraulic junction coupling two reservoirs to a common output tunnel. Water flows in the junction tunnels according to the pressure and mass balance | junction, reservoir, junction_gate, plant | Input | SHOP_OPEN | 13.0.0.a |
| junction_gate | Similar to the junction object, but with the possibility to close of one of the three connected tunnels | junction_gate, plant | Input | SHOP_JUNC_GATE | 13.0.0.a |
| creek_intake | A creek intake object which represents unregulated inflow entering the tunnel system below a reservoir | creek_intake, junction, gate, plant | Input | SHOP_CREEK_INTAKE | 13.0.0.a |
| contract | Represents a financial market contract which allows for additional buying and selling of power outside the market | busbar | Input | SHOP_CONTRACT | 13.0.0.a |
| market | The representation of an electricity market, usually the day-ahead energy market. It is also possible to define a reserve capacity market by connecting the market object to a reserve_group object. Only generators and pumps connected to the reserve_group will participate in the reserve market, and the reserve obligation in the reserve_group serves as market 'load' | busbar, reserve_group | Input | SHOP_OPEN | 13.0.0.a |
| global_settings | A singleton object that contains global settings such as penalty cost values. A single global_settings object with the name 'global_settings' is automatically created when SHOP is initialized | Output | SHOP_OPEN | 14.0.0.1 | |
| reserve_group | Represents a group of generators, pumps, and batteries that collectively serve to fulfill a reserve capacity obligation. SHOP distinguishes between eight different types of reserve capacity products: FCR-N, FCR-D, FRR, and RR in both upward and downward directions. | market, battery, pump, generator | Input | SHOP_RESERVE_GROUP | 13.0.0.a |
| commit_group | Represents a group of generators and pumps that cannot be online while any unit in the other related commit_group is online. | pump, generator, commit_group | Input | SHOP_OPEN | 14.0.0.1 |
| discharge_group | The sum discharge of the objects connected to a discharge_group is restricted by the constraints defined in the discharge_group | tunnel, river, gate, plant | Input | SHOP_OPEN | 13.0.0.a |
| production_group | Represents a group of hydropower plants that must abide by the sum production constraints defined in the production_group | plant | Input | SHOP_OPEN | 14.0.0.1 |
| volume_constraint | A constraint object that can be used to force the total volume of the connected reservoirs to be between specified minimum and maximum limits | reservoir | Input | SHOP_OPEN | 13.0.0.a |
| scenario | The scenario object is used to define a scenario tree when running the stochastic version of SHOP (SHARM). A single scenario called 'S1' is always created in SHOP, and only N-1 new scenarios should be created when running SHARM. | Input | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a | |
| objective | An object to hold the information of the objective function after optimization. These objects are automatically created by SHOP, one objective object per scenario is created with the name 'scen_<number>'. In addition, the average objective weighted by the scenario probablities is created in every SHOP run. For a regular deterministic SHOP run, the average_objective and scen_1 objective will be identical. | Output | SHOP_OPEN | 13.0.0.a | |
| bid_group | Represents a group of hydropower plants that will participate in the optimal bidding problem when running a stochastic SHOP optimization | plant | Input | SHOP_SCENARIO_FUNCTIONALITY | 13.0.0.a |
| cut_group | An object to represent the set of linear cut constraints that can be used as end valuation for a watercourse. The constant right-hand side of the cut constraints are stored on this object, while the cut coefficients are found on the connected reservoir and inflow_series objects. | inflow_series, reservoir | Input | SHOP_OPEN | 14.0.0.3 |
| inflow_series | The inflow_series object is currently used to hold the inflow cut information present in the extended cut format produced by the ProdRisk model. | cut_group, reservoir | Input | SHOP_EXTENDED_CUT_FUNCTIONALITY | 13.0.0.a |
| system | The system singleton object is automatically created by SHOP and holds top-level information related to the SHOP run, such as execution times. | Output | SHOP_OPEN | 13.0.0.a | |
| unit_combination | A set of spinning units in a plant. Generated by SHOP when best profit curves are calculated and used to provide marginal- and average cost curves. | plant | Output | SHOP_OPEN | 13.0.0.a |
| tunnel | A pressurized tunnel object that can couple reservoirs and hydropower plants. The flow in the tunnel is calculated based on the pressure and mass balance in the tunnel network | interlock_constraint, river, reservoir, plant, tunnel, discharge_group | Input | SHOP_OPEN | 13.5.1.a |
| interlock_constraint | Represents a restriction on which gates in a tunnel system that can be open/closed at the same time. | tunnel | Input | SHOP_TUNNEL | 13.5.1.a |
| lp_model | Represents the optimization model built by SHOP and solved by CPLEX | Output | SHOP_OPEN | 14.1.0.0 | |
| river | The river object models open channel flow of water in a river streach or channel between reservoirs | reservoir, river, discharge_group | Input | SHOP_OPEN | 14.3.1.0 |
| busbar | A node in the electricity grid that production, consumption, market and transmission objects can be connected to | dc_line, ac_line, wind, battery, thermal, pump, contract, generator, solar, market | Input | SHOP_OPEN | 14.3.4.0 |
| ac_line | A power line where the flow is determined by ptdf factors. | busbar | Input | SHOP_OPEN | 14.3.4.0 |
| dc_line | A power line where the flow is decided by the optimization. | busbar | Input | SHOP_OPEN | 14.3.4.0 |
| gen_reserve_capability | An object describing different types of reserve delivery capabilities for a generator unit. | generator | Input | SHOP_RESERVE_GROUP | 14.4.0.0 |
| pump_reserve_capability | An object describing different types of reserve delivery capabilities for a pump unit. | pump | Input | SHOP_RESERVE_GROUP | 14.4.0.0 |
| plant_reserve_capability | An object describing different types of reserve delivery capabilities for the sum of the units in a hydropower plant. | plant | Input | SHOP_RESERVE_GROUP | 14.4.0.0 |
| needle_comb_reserve_capability | An object describing different types of reserve delivery capabilities for a single needle_combination on a Pelton generator. | needle_combination | Input | SHOP_RESERVE_GROUP | 14.4.0.0 |
| battery | A battery that is a part of a power system. | reserve_group, busbar | Input | SHOP_OPEN | 15.2.0.0 |
| wind | Power production from wind into a power system. | busbar | Input | SHOP_OPEN | 15.2.0.0 |
| solar | Power production from solar into a power system. | busbar | Input | SHOP_OPEN | 15.2.0.0 |