We published a software update over the Thanksgiving weekend that refactors the way we simulate energy storage projects, fixes a few bugs, and also includes a couple of new features. Some of the changes will be noticeable to users, while others are behind the scenes. I wanted to send out a high-level summary of what all went live last weekend.
Energy Storage simulation engine refactor
Our Energy Storage System (ESS) simulation engine is one of the most complex and multifaceted modules within our application. Our storage dispatch algorithms are designed to simulate the performance and savings of ESS systems operating in the field. We give users the ability to model all types of behind-the-meter control strategies, including ‘peak demand shaving’, ‘time-of-use arbitrage’, and ‘self-consumption’. It’s obviously a big engineering challenge to correctly simulate the ESS performance for any combination of control strategies, on any one of our almost 40,000 utility rate schedules, against any type of customer load profile.
Refactoring our simulation engine has several benefits, it improves the speed and performance of modeling ESS projects, it provides us a better testing environment to find and correct issues, it enables us to address new types of stacking edge cases that we’re seeing, and it allows us to keep adding more new features on top of what we’ve built. It’s important to mention that the logic we’re using to perform ESS dispatch is directionally still the same. But given that we’ve made some tweaks to our algorithms, there are some cases where the savings that ESS can achieve will change slightly. Note: all existing proposals that include ESS are cached exactly as they existed before. But if a user re-simulates an existing proposal, by changing any input value in step 5, we will run a new simulation using our updated algorithms. Therefore, if it’s important for you to preserve your existing proposal exactly as it was before, it’s safest to copy/duplicate your proposal, and re-simulate in a new proposal.
Energy Storage integrations
This latest release also paves the way for us to launch new energy storage service provider integrations, which we’ll be making announcements on soon. Our big-picture vision has always been to enable developers to accurately model the savings and performance of how a specific vendor’s ESS system would operate in the field. To execute on this vision requires that we integrate storage vendors directly onto the platform, where they specify and validate how their systems operate in different applications. This release adds new functionality to streamline the way that service providers will integrate into Energy Toolbase, which we believe will ultimately help the behind-the-meter storage industry to continue scaling up.
The “Fixed Scheduler” is a new feature that’s designed for residential applications where the ESS control settings are pre-programmed at the inverter. The “fixed schedule” is effectively a set of instructions that tells the battery how to dispatch throughout the year in each season and Time-of-use period. This approach differs from a “dynamic scheduler”, where the ESS battery management system (BMS) is controlled by a software operating system that makes dynamic decisions about how to dispatch. Dynamic controllers, like those used in peak-demand shaving applications, oftentimes use machine learning and predictive logic to make dispatch decisions.
Our new “fixed scheduler” feature runs a goal-seeking optimization to determine the most economically attractive schedule of operation for the ESS throughout the year. In determining the optimal schedule for ‘energy arbitrage’ and/or ‘self-consumption’, we look at the utility rate schedule, NEM 2.0 assumptions, customer load profile, and solar PV profile of the project. We then output the fixed schedule of operation and generate the corresponding 365-day dispatch file.
DC Coupled (beta)
We’ve had numerous requests to add functionality for storage applications where the PV and ESS system share the same inverter. This release includes a 1st version “beta” feature for DC Coupled storage modeling where users can define a ‘DC Coupling Power Constraint’, which effectively sets the max combined kW power output of the PV & ESS. This is our v1 attempt at DC Coupled ESS modeling, and we intend to continue building out this feature in future updates. If you are a user that’s modeling DC Coupled storage projects in Energy Toolbase, we’d be very interested to hear your feedback and suggestions on what you would most like to see in v2.
We quietly pushed out an update earlier this year that enabled users outside the United States to more fully utilize Energy Toolbase for their solar and storage project analysis. We didn’t make any formal announcements at the time, as we wanted to soft-launch and start getting user feedback. This weekend’s update does include some new functionality that makes it easier for international users to signup and use Energy Toolbase right out of the box. We intend to keep adding new features for international users in upcoming releases, including translated language versions and currency support. Also, our utility rates team will continue adding more rate schedules, prioritizing selected international markets like Australia, where we’re already up to 1,000 unique rates in our database.
On this Thanksgiving weekend, we’re thankful to go live on this release, and we’re always thankful for our customers. We appreciate our user’s direct feedback, product suggestions, testimonials of support, and also patience as we’ve been working to get this release out. Please do keep sharing your feature requests and product feedback, it does make its way back to myself and the engineering team.
We’re also excited about what’s coming next on our product roadmap. Our engineering team has been working concurrently on our next series of releases, and we’ll be making more announcements in the coming months. We have one more important general platform refactor update slated for early Q1, after which we intend to move back to a shorter release cycle of pushing updates every couple of weeks.