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 begining 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
- pass_static_params_to_DA(options, simulator, ruc_instance, ruc_date, ruc_hour)[source]¶
This method pass static generator parameters to RUC model in Prescient before it is solved.
- 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
- pass_static_params_to_RT(options, simulator, sced_instance)[source]¶
This method pass static generator parameters to SCED model in Prescient before it is solved.
- Parameters
options – Prescient options from prescient.simulator.config.
simulator – Prescient simulator.
sced_instance – Prescient SCED object.
- Returns
None
- 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
- 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
- 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