Is it possible to model generator outages as state changes over time, as opposed to discrete, disconnected events? The associated profile might look like a timeseries with 0’s and 1’s to indicate OFF and ON states.
Hi @emmacooper,
Great question! This is a support request we’ve actually received before, although that was prior to the existence of this forum. Because we have received this request multiple times, we are considering adding support for this in the future. Currently there is no direct way to provide this input, but there is an indirect method that requires just a couple of additional steps.
Generator state Events (ON, OFF, and ONOFF) do not accept numeric values for their “Value” property. However, these can be configured to depend on the value of another property using the “Condition” and “Evaluation” properties of the Event.
We recommend using a “PREF” event to refer to the outage profile. A PREF Event in SAInt is a “passive” event that allows the user to define a value that can be referenced but does not affect the simulation. You can then define an OFF Event and either an ONOFF or ON Event that use the “Condition” of PREF = 1. See the example below where the OFF Event is used if PREF does not equal 1 and the ONOFF Event is used if PREF is equal to 1. This achieves the goal you are asking.
One quick note about ON versus ONOFF. An ON Event will force a generator to be on no matter what. An ONOFF event will specify that a generator is available but ultimately its ON or OFF status will be determined by the solver. This is the recommended behavior in most cases. Also note that for some object types, for example XGEN, PV, and WIND objects, it is not possible to define an ONOFF Event because these objects have no binary unit commitment variable associated with them.
Thanks @will ! I tried to implement this with a custom outage timeseries for one of the nuclear generators in ENET39. Here is my profile that I loaded in:
But the solution does not seem reflect the generator being offline during the specified outage times. In fact, the dispatch stack shows active generation during outage periods.
I’m wondering if I might’ve missed anything in my use of the PREF variable - please let me know if you notice anything incorrect! My other hypothesis is that my outage periods were too short - i.e. the nuclear generator didn’t have time to ramp down? However, the MaxRampDownRate was set to 1 MW/min. For a 650 MW unit, that means that it would take a little less than 11 hours to completely turn off from operating at full capacity. I believe that my outage duration was longer than 11 hours.
Thanks again!
Hi @emmacooper,
Thanks for sharing your information from trying to implement this!
It looks like you’ve configured the profile and the events correctly. Could you double check the time window for your generation data? In version 3.6 of SAInt, all of the dates are in the format “DD/MM/YYYY hh:mm:ss”. This means that the generation dispatch stack you shared goes from the 1 AM on the 1st of January to 12 AM on the 12th of January. Can you share what the generation dispatch for this generator is during one of the outages you specified?
Thanks!
I did format the dates incorrectly - thank you for catching that @will !