Regulation
Regulation is one of the ancillary services that hydropower plants can supply in addition to power to increase the reliability and flexibility of the power system to adjust to fluctuations in power demand and supply. When a plant is regulating it will follow the load within some prescribed band of power rather than generating a fixed amount of power. Typically, regulation is a valuable service that can be provided efficiently by hydropower compared to alternative power sources. In locations where regulation is marketed it usually commands a solid premium above the price of the power generated. This value is partially reduced by the increased maintenance costs associated with regulation.
There are three methods in this category: One Sided Regulation, Two sided Regulation and One and Two Sided Regulation. The design of one sided regulation is almost identical to two sided regulation except that there are separate calculations for regulation up and regulation down. The One and Two Sided Regulation method will allow the user to use both approaches within a single model.
None
Regulation services are not evaluated.
Two Sided Regulation
Regulation services are valued as a piecewise linear function of the amount of regulation provided minus the additional operating costs (wear and tear, maintenance, and so on) associated with regulation. The piecewise linear valuation is analogous to the block hydro method of valuing generation (see Preferred Customer for details). All of the associated slots for this method have a compatible slot in the block hydro method. The operating costs are simply the sum of individual operating costs calculated on the power reservoirs that are providing regulation.
Two sided regulation assumes that frequency regulation is scheduled with an equal amount of regulation up and regulation down available, and a single valuation for this ancillary service. In contrast, one sided regulation allows regulation up and regulation down to be separate ancillary services with separate amounts scheduled and usually valued differently.
The System Regulation slot holds the total two sided regulation for all power reservoirs linked to it. The value of marginal value of regulation is a non-increasing function of the amount of regulation. In RiverWare, this function is modeled as a series of discrete blocks with decreasing (or equal) marginal values of regulation. These values are in the Regulation Block Costs slot. The amount of each block used in the valuation is in the Block Regulation slot. These blocks are used in order of most valuable to least valuable.
The Regulation Marginal Value and Previous Regulation Marginal Value slots hold the marginal value of increasing and decreasing regulation respectively. If the valuation partially uses a block, then both the Regulation Marginal Value and Previous Regulation Marginal Value slots will have the value of that block. If instead, say N blocks are fully used, and Block N+1 is unused, then Regulation Marginal Value will have the value of Block N+1 and Previous Regulation Marginal Value will have the value of Block N.
This method requires either Calculate Linear Economic Value or Calculate Block Economic Value or method to be selected. See Calculate Linear Economic Value and Calculate Block Economic Value for details.
Simulation and Optimization use the following equation to calculate the value of regulation by summing over blocks.

The energy in the regulation blocks is constrained to equal the total system regulation (converted from power to energy by multiplying by the timestep).

Slots Specific to This Method
Block Regulation
Type: Agg Series Slot
Units: Energy
Description: Each column is the use of a regulation block in the new optimization system. The slot maximum value is used for the block size. The total equals the System Regulation.
Information: Used in the optimization formulation of regulation.
I/O: Output
Marginal Regulation Costs
Type: Agg Series Slot
Units: \$/Power
Description: Value of one additional unit of regulation.
Information:
I/O: Output
Previous Marginal Regulation Costs
Type: Series Slot
Units: \$/Power
Description: Cost of reducing regulation by one unit.
Information:
I/O: Output
Regulation Block Capabilities
Type: Table Series Slot
Units: Power
Description: Size of the each regulation block.
Information: The length of the piecewise linear segments in the value of regulation function.
I/O: Input
Regulation Block Costs
Type: Agg Series Slot
Units: \$/Power
Description: Value of regulation for each regulation block.
Information: The slope of the piecewise linear segments in the value of regulation function.
I/O: Input
Regulation Energy
Type: Agg Series Slot
Units: Energy
Description: This slot has one column for each block of regulation. The values represent the energy in each block that was used to value the regulation generated during the run. At most one block will have a value that is strictly between zero and the size of the block, the Regulation Block Capability. The preceding blocks will be used entirely and the regulation energy will equal the block size. The succeeding blocks will be unused.
Information:
I/O: Output
Regulation Value
Type: Agg Series Slot
Units: \$
Description: Calculated value of regulation based on the Regulation Block Costs.
Information:
I/O: Output
System Operating Cost
Type: MultiSlot
Units: \$
Description: Sum of operating costs from regulation for all linked reservoirs.
Information:
I/O: Output
System Regulation
Type: MultiSlot
Units: Power
Description: Total regulation summed from the linked power reservoirs.
Information:
I/O: Output
One Sided Regulation
The value of one sided regulation is philosophically similar to two sided regulation. The only difference is that regulation up and regulation down have separate slots and separate valuations. Physically, this may lead either to solutions that use only one side of regulation or solutions that use both sides, but perhaps unevenly. For one sided regulation, there are two slots for every analogous slot in two sided regulation, an Up slot and a Down slot. Similarly, the System Regulation Up and System Regulation Down slots should be linked to Regulation Up and Regulation Down respectively on power reservoirs. For more detail on the specific calculations, see the description of two sided regulation.
Note:  Although the method can be selected and slots will be instantiated, this method has not been implemented yet.
Slots Specific to This Method
System Regulation Up
Type: MultiSlot
Units: Power
Description: Total system regulation up
Information: This slot is used to link the Thermal object to each reservoir’s Plant Regulation Up slot.
I/O: Output only
Block Regulation Up
Type: AggSeriesSlot
Units: Energy
Description: Blocks of energy used in the valuation.
Information: The sum of these blocks equals the System Regulation Up. The value of each block is given in Regulation Up Block Costs.
I/O: Output
Regulation Up Block Costs
Type: AggSeriesSlot
Units: PowerCost
Description: Data to value each block of regulation up
Information:
I/O: Input
Regulation Up Value
Type: SeriesSlot
Units: Value (\$)
Description: Total value of regulating up.
Information: It is calculated as the sum of the value of the blocks used
I/O: output
Regulation Up Marginal Value
Type: SeriesSlot
Units: PowerCost
Description: Incremental value of the regulating up block being used.
Information: If regulation is between blocks, this is the value of the next block. This value is only calculated in simulation.
I/O: Output only
Regulation Up Previous Marginal Value
Type: SeriesSlot
Units: PowerCost
Description: Incremental value of the regulating up block being used.
Information: If regulation is between blocks, this is the value of the previous block. This value is only calculated in simulation.
I/O: Output only
System Regulation Down
Type: MultiSlot
Units: Power
Description: Total system regulation down
Information: This is used to link the Thermal object to each reservoir’s Plant Regulation Down slot.
I/O: Output only
Block Regulation Down
Type: AggSeriesSlot
Units: Energy
Description: The blocks of energy used in the valuation.
Information: The sum of these blocks equals the System Regulation Down. The value of each block is given in Regulation Down Block Costs.
I/O: Output
Regulation Down Block Costs
Type: AggSeriesSlot
Units: PowerCost
Description: Data to value each block of regulation down.
Information:
I/O:
Regulation Down Value
Type: SeriesSlot
Units: Value (\$)
Description: the total value of regulating down
Information: Sum of the value of the blocks used.
I/O: Output
Regulation Down Marginal Value
Type: SeriesSlot
Units: PowerCost
Description: Incremental value of the regulating down block being used.
Information: If regulation is between blocks, this is the value of the next block. This value is only calculated in simulation.
I/O: Output only
Regulation Down Previous Marginal Value
Type: SeriesSlot
Units: PowerCost
Description: Incremental value of the regulating down block being used.
Information: If regulation is between blocks, this is the value of the previous block. This value is only calculated in simulation.
I/O: output only
System Operating Cost
Type: MultiSlot
Units: Value (\$)
Description: Total system operating cost
Information: This used to link the Thermal object to each reservoir’s Operating Cost slot.
I/O: Output
Method Details
The design of One Sided Regulation is almost identical to Two Sided Regulation except that there are separate calculations for regulation up and regulation down.
• Regulation Up Value = Sum over blocks (Regulation Up Block Costs * Block Regulation Up)
• Regulation Down Value = Sum over blocks (Regulation Down Block Costs * Block Regulation Down)
One and Two Sided Regulation
This method allows the user to perform both one and two sided regulation in a single model. The slots added by this method include all of those for one sided regulation listed above and those for two sided regulation listed in the online help. This method will simply call the two sided regulation method, then call the one sided regulation method.
Note:  Although the method can be selected and slots will be instantiated, this method has not been implemented yet.
Revised: 01/11/2023