20MW Solar Site – Noncompliant Ramp Rate Response
A 20MW site in violation of their interconnection agreement looked to Affinity Energy to correct ramping behavior and remove oscillation in curtailed output.
A large national utility built a 20MW solar site in Lancaster County, California that went online in early 2016. As part of the interconnection agreement, CAISO (California ISO) regulations require ramping of site output in response to curtailment requests at the industry standard of 10% per minute.
Unfortunately, our previous partner didn’t seem to have a strong interest in resolving their issue that ultimately put our project at risk. I knew Affinity Energy’s engineers had a history of solving some challenging analytics and operational issues at solar sites. If anyone could figure out how to solve this problem, I figured Affinity Energy could.
–Head of Asset Optimization, National Energy Company
Ever since the original integrator installed the control system, the site’s ramping has never worked properly. The reason it’s gone unchecked for so long, is because the site generally runs uncurtailed. It’s only after CAISO dispatch commands them to reduce output do they notice the problem. The original system integrator tried to fix the problem multiple times, with no success.
As per CAISO regulations, the 20MW site should ramp approximately 2MW per minute. It should follow closely below the commanded curtailment rate as it ramps down, and stick to (not over) that line as it ramps back up.
Instead of following a slow ramp down to a new setpoint, (as shown in Figure 1) the site’s output remained at 20MW for nearly a minute. Then it started loosely following the ramping profile, sporadically jumping across the line nearly a dozen times. Even after the site’s commanded setpoint was steady, site output continued to oscillate above and below the setpoint.
Not only did this site’s ramp response rate occur each time there was a commanded setpoint change, it rendered the site in breach of its interconnection agreement, placing owners at risk of fines or disconnection.
Affinity Energy was brought on at the end of 2017 to troubleshoot and correct the ramping problem.
Affinity Energy engineers identified multiple instances of 17 different classes of programming errors. Errors included instructions that could never be evaluated as true, multiple instances of code that turned on/off a control bit, and other neglected critical programming functions.
Engineers determined the code was neither correctable or recoverable. The old code couldn’t be entirely wiped, however. Many tag references in the code had to be preserved, verified, and cross referenced across the program.
An additional unforeseen challenge is that the site’s inverters don’t have a great deal of precision. Specifically, inverter commands must remain whole digit percentages. This is partially what caused the original oscillation. The original code didn’t have a deadbanding function that recognized the site at setpoint if it was within 1% of setpoint.
Affinity Energy rewrote the routine for ramping the site, reducing 60 lines of code to 14 lines of better organized execution. Code simplification wasn’t an original objective, but engineers knew the code didn’t need to be as complex and hard to follow as before.
As a result of Affinity Energy’s work, the site is now able to achieve ramp rates compliant with CAISO requirements. Oscillation has been eliminated, ramping is consistent with the code, and the site runs at or below its set point booth in steady stand and ramping modes.