Coordinator#
To ensure the energy supply equals demand at every moment across the transmission
network, Independent System Operators (ISOs) clear the markets seeks to minimize
the overall operation and production costs by coordinating the operation schedules
of generation units in the network while considering operational and physical
constraints of power systems. As mentioned above, the market is cleared by a
two-settlement system: the day-ahead market and the real-time market. In the framework,
the ISOs are modeled by the PCM Prescient. The DoubleLoopCoordinator
will
coordinate the operations among Bidder
, Tracker
, and Prescient for the
simulations.
- class idaes.apps.grid_integration.coordinator.DoubleLoopCoordinator(bidder, tracker, projection_tracker)[source]#
Coordinate Prescient, tracker and bidder.
- activate_pending_DA_data(options, simulator)[source]#
This function puts the day-ahead data computed in the day before into effect, i.e. the data for the next day become the data for the current day.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
- Returns:
None
- assemble_project_tracking_signal(options, simulator, hour)[source]#
This function assembles the signals for the tracking model to estimate the state of the bidding model at the beginning of next RUC.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
hour – the simulation hour.
- Returns:
the market signals to be tracked.
- Return type:
market_signals
- assemble_sced_tracking_market_signals(options, simulator, sced_instance, hour)[source]#
This function assembles the signals for the tracking model.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
sced_instance – Prescient SCED object
hour – the simulation hour.
- Returns:
the market signals to be tracked.
- Return type:
market_signals
- bid_into_DAM(options, simulator, ruc_instance, ruc_date, ruc_hour)[source]#
This function uses the bidding objects to bid into the day-ahead market (DAM).
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
ruc_instance – Prescient RUC object.
ruc_date – the date of the day-ahead market we bid into.
ruc_hour – the hour the RUC is being solved in the day before.
- Returns:
None
- bid_into_RTM(options, simulator, sced_instance)[source]#
This function bids into the real-time market. At this moment I just copy the corresponding day-ahead bid here.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
sced_instance – Prescient SCED object.
- Returns:
None
- fetch_DA_dispatches(options, simulator, result, uc_date, uc_hour)[source]#
This method fetches the day-ahead dispatches from unit commitment results, and save it as a coordinator attribute.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
result – a Prescient RucPlan object.
ruc_date – the date of the day-ahead market we bid into.
ruc_hour – the hour the RUC is being solved in the day before.
- Returns:
None
- fetch_DA_prices(options, simulator, result, uc_date, uc_hour)[source]#
This method fetches the day-ahead market prices from unit commitment results, and save it as a coordinator attribute.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
result – a Prescient RucPlan object.
ruc_date – the date of the day-ahead market we bid into.
ruc_hour – the hour the RUC is being solved in the day before.
- Returns:
None
- get_configuration(key)[source]#
Register customized commandline options.
- Parameters:
key – plugin name
- Returns:
Prescient config dict
- Return type:
config
- project_tracking_trajectory(options, simulator, ruc_hour)[source]#
This function projects the full power dispatch trajectory from the tracking model so we can use it to update the bidding model, i.e. advance the time for the bidding model.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
ruc_hour – the hour RUC is being solved
- Returns:
the full projected power dispatch trajectory.
- Return type:
full_projected_trajectory
- push_day_ahead_stats_to_forecaster(options, simulator, day_ahead_result, uc_date, uc_hour)[source]#
This method pushes the day-ahead market to the price forecaster after the UC is solved.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
day_ahead_result – a Prescient RucPlan object.
ruc_date – the date of the day-ahead market we bid into.
ruc_hour – the hour the RUC is being solved in the day before.
- Returns:
None
- push_hourly_stats_to_forecaster(prescient_hourly_stats)[source]#
This method pushes the hourly stats from Prescient to the price forecaster once the hourly stats are published.
- Parameters:
prescient_hourly_stats – Prescient HourlyStats object.
- Returns:
None
- register_plugins(context, options, plugin_config)[source]#
Register functionalities in Prescient’s plugin system.
- Parameters:
context – Prescient plugin PluginRegistrationContext from prescient.plugins.plugin_registration
options – Prescient options from prescient.simulator.config
plugin_config – Prescient plugin config
- Returns:
None
- track_sced_signal(options, simulator, sced_instance, lmp_sced)[source]#
This methods uses the tracking object to track the current real-time market signals.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
sced_instance – Prescient SCED object
lmp_sced – Prescient SCED LMP object
- Returns:
None
- update_observed_dispatch(options, simulator, ops_stats)[source]#
This methods extract the actual power delivered by the tracking model and inform Prescient, so Prescient can use this data to calculate the settlement and etc.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
ops_stats – Prescient operation statitstic object
- Returns:
None
- update_static_params(options, instance)[source]#
This method pass static generator parameters in Prescient immediately after a model is created.
- Parameters:
options – Prescient options from prescient.simulator.config.
instance – Prescient RUC object or SCED object.
- Returns:
None
- write_plugin_results(options, simulator)[source]#
After the simulation is completed, the plugins can write their own customized results. Each plugin will have to have a method named ‘write_results’.
- Parameters:
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
- Returns:
None