Order of Operations#
Initialization#
Load configuration from YAML input file into
h_dict
Initialize controller
Initialize hybrid plant components based on
h_dict
configurationInitialize emulator with controller, hybrid plant, and configuration
Add plant component metadata to
h_dict
Load external data files if specified
Main Simulation Loop#
For each time step:
Update external signals from interpolated data (if external data file provided)
Execute controller step - compute control actions based on current state
Execute hybrid plant step - update all component states and compute outputs
Compute plant-level outputs - aggregate individual component results
Log current state to output file
Advance simulation time and repeat until end time reached
Component Execution Order#
Within each hybrid plant step:
All components execute their
step()
method in parallelEach component updates its internal state and outputs
Plant-level power is computed as sum of all component powers
Locally generated power is computed as sum of generator component powers (excluding storage/electrolyzer)