As noted Friday evening, this weekend I am trying to find some time to review different aspects of the events that unfolded on Friday 31st January, and extreme NEM-wide demand day However events yesterday did prove a bit of a distraction….
I’d taken a quick break early afternoon to publish this article about an actual LOR1 (Low Reserve Condition) Notice in the NSW region that occurred from 13:55 on Saturday – but was assuming (as noted at the bottom of that article) that:
Should not be as bumpy as yesterday, but would not be surprised with a few more price spikes
… and then continued to explore Friday (though still with a few dashboard displays in the office focused on the current point in time).
(A) Only a single price spike to the Market Price
Worth noting, briefly that there was a single dispatch interval where the price spiked to the Market Price Cap (so much less volatile than Friday). Here’s the snapshot captured from ez2view for the 16:55 dispatch interval, showing the price spike:
I’d noted this at the time but (as noted above) was expecting this and so continued to focus mostly on Friday….
(B) A startling drop into LOR2 territory
…. unfortunately(?) five minutes later I found my attention drawn to a sudden drop into LOR2 territory, which is much more significant than LOR1 especially when it happens out of the blue.
Those not so familiar with the NEM should understand that the AEMO (and participants in general terms) don’t like to see sudden lurches into ‘Actual LOR2’, as it means that the supply/demand situation has suddenly grown serious – but that there is little time for the market to respond.
I suspect some participants might argue that this is especially so this is especially so more recently, given the increasing use of Reserve Trader as a ‘backstop-to-market-failure measure’, which may have longer-term implications on dampening investment signals.
Guest author, Allan O’Neil had written about ‘Out of the Blue, and LOR2’ on 24th December 2019 with respect to the ‘Actual LOR2’ conditions announced at 17:19 on Friday 20th December. Because the title sums up the concern (and a little because of the rhyming!) I’ve used it again to reinforce the seriousness of what happened yesterday.
At 17:00 (NEM time) – so immediately after the price spike to the Market Price Cap – I’d captured this remarkable dispatch interval where the Instantaneous Reserve Plant Margin (IRPM) for the NSW ‘Economic Island’ had dropped to an extremely low level of only 3% :
Or, in other words, there was only 349MW spare capacity in NSW at the time (i.e. Available capacity – not necessarily running at the time – beyond the 11,969MW of generation capacity that was already operating to supply ‘net’ Scheduled Demand (i.e. that not supplied by imports).
A very small margin for anything to go wrong. I wondered if my eyes were deceiving me (after all, I’d been focused on extremes on Friday thinking that Saturday might have a few price blips, but that supply/demand would not be seriously stretched). This was especially the case as it had come after the price spike to the MPC (and doubly so because we see the demand come off marginally and the price had dropped down to $117.86/MWh for the last dispatch interval in the Trading Period.
Very shortly after I’d posted that image on Twitter here, I noticed that AEMO had (at 17:03) issued Market Notice 73367 noting that the NSW region was (by surprise) now in LOR2 territory:
Notice ID 73367
Notice Type ID LRC/LOR1/LOR2/LOR3
Notice Type Description MARKET
Issue Date Saturday, 1 February 2020
External Reference Actual Lack Of Reserve Level 2 (LOR2) in the NSW region – 01/02/2020
AEMO ELECTRICITY MARKET NOTICE
An Actual LOR2 condition has been declared for the NSW region from 1655 hrs.
The Actual LOR2 condition is not forecast in Predispatch.
The capacity reserve required is 650 MW
The minimum reserve available is 331 MW
AEMO is seeking an immediate market response.
An insufficient market response may require AEMO to implement a AEMO intervention event.
Manager NEM Real Time Operations
Seeing that notice was somewhat of a relief (i.e. if AEMO were also seeing it, I was not entirely crazy), but also a cause for concern – given the suddenness of the descent into LOR2. What followed was a half-hour of bafflement that could be best understood (by readers who are also on Twitter) by a series of nested tweets in reverse chronological order here:
At 17:30 and the latest aggregate @AEMO_Media data was revising upwards aggregate AvailGen – was it some form of typo in entering a bid or something?! https://t.co/BLbPIaYxFM pic.twitter.com/hV9BzFxikf
— Paul McArdle (@4paulmcardle) February 1, 2020
I’d ascertained that there was an instantaneous drop in available generation capacity of totalling approximately 650MW – but:
1) could see no operating unit trip, and
2) did not see how the inherent variability of solar and wind (some somewhat coincident) could add to a number that large; and
3) noting that the price had (seemingly counter-intuitively) had not spiked – though the immediately following P5 predispatch prices were certainly more elevated.
Just as suddenly, however, that evaporation of Available Generation Capacity was reversed 25 minutes later – which only added to my bewilderment. Here’s the snapshot taken from ez2view at 17:30 that shows the reversal of the significant drop in Available Generation:
Because unit level availability (and bidding behaviour) is currently not public data in real time, I’ve had to wait until this morning to have a quick look through the queries added in below.
Because I’m wanting to be more focused on what happened on Friday, I have also included Friday’s bids for some comparison:
(B1) Aggregate Supply from NSW Coal
Yesterday I’d not seen any large drop in output at any coal plant, and was doubly sure that there would be nothing there (given that prices had not moved much at 17:00) but wanted to have a quick look through the ‘Bids & Offers’ widget in ez2view to be sure:
The query filters down to NSW Coal plant.
(B2) Aggregate Supply from NSW Wind
Using the same widget but filtering for all wind in NSW through the afternoon:
… we see a very interesting (sizeable) drop in wind output on Friday evening (which I will come back to later). However there’s nothing notable about what happened around 17:00 on Saturday 1st February.
(B3) Aggregate Supply from NSW Solar
Doing the same with NSW Large Solar plant:
Again, we see some non-trivial drops in aggregate output from Solar during Saturday afternoon – and also Friday afternoon (though notably not really the mornings on either day!).
Whilst these drops might have been material in other ways at those other times, they were not at 17:00 so we won’t look further here.
(B4) Aggregate Supply from NSW Gas
Filtering then for all gas plant in NSW through those two days, we do see a large drop consistent with the drop in available generation capacity:
We can clearly see the drop, which aligns with the 25 minutes of Actual LOR2. Given it was higher-priced (and not dispatched) capacity that was removed from the NEM, this also helps to explain why the price did not spike.
(B5) Bids for Colongra Gas Turbines (Snowy Hydro)
Filtering further, I was able isolate this large drop down to Snowy Hydro’s Colongra station – which (curiously!) rebid all of its capacity to ‘MaxAvail’ = 0MW (i.e. withdrew the capacity from the market).
Using the bid table underneath in ‘Bids & Offers’ widget, we see that all of the four units:
At 16:50:59 on Saturday (noting this structure is ‘Not Well Formed (Strict)’ – but that’s another story), submitted a bid that:
(i) withdrew all the capacity from the market (hence triggering the LOR2) – by setting MaxAvail to 0MW.
(ii) provided the rebid reason ‘16:50:59 A AVOID UNECONOMIC START – UNIT AVAILABLE FOR DIRECTION‘
(iii) was accepted by AEMO at 16:51:32; and
(iv) used in the NEMDE run at approx 16:55 for dispatch targets for 17:00
(v) which (i.e. 17:00) was when I’d noticed the scarily small IRPM for the NSW region as noted above.
Here’s the details:
Note that there were two trading periods (i.e. 17:00 and 17:30) that were rebid with MaxAvail set to 0MW. This only had effect in the 17:00 dispatch interval (i.e. for 1 of 6 intervals in the 17:00 trading period) because of the idiosyncrasies of the 5/30 issue.
So, probably no surprise (after essentially inviting the AEMO to direct them on, and hence ensure compensation under the Directions processes) that only 28 minutes after the earlier rebid we see the four units rebid as follows:
At 17:17:58 on Saturday (again technically ‘Not Well Formed (Strict)’), submitted a bid that:
(i) added the capacity back in – by resetting MaxAvail to a 170MW.
(ii) provided the rebid reason ‘17:17:58 A AEMO DIRECTION – UNITS BID AVAILABLE SL ‘
(iii) was accepted by AEMO at 17:18:56; and
(iv) used in the NEMDE run at approx 17:20 for dispatch targets for 17:25
Here’s a comparison of the two bids:
I don’t have time to delve further into this now (want to get back to the review of Friday!), but can imagine that others would use a few different adjectives in relating their own perceptions of this sort of process, and participant behaviour.
What’s perhaps worth thinking about later is what the implications might be once Snowy 2.0 is up and running – with a single portfolio controlling a large volume of storage-based peaking capacity, particularly where it is located in the grid. A challenge for the ‘effective competition’ boffins.
(C) A very high demand seen in NSW for a Saturday
Worth also noting, in relation to the above, that the Scheduled Demand peaked at 13,717MW at 16:55 (NEM time) for the NSW region – so 5 minutes before the snapshot included from NEMwatch above at 17:00 showing the net effect of the the rebid at Colongra pushing MaxAvail to 0MW, plunging NSW into LOR2 territory.
I’m not going to distract myself by checking, but note that:
1) This level of demand was only 932MW below the all-time max for NSW (set when?); and
2) That this may have been the highest ever level of demand seen on a weekend (though I have not yet had time to check).