AO Site Analysis¶
AO Site Analysis is designed to allow rapid estimates of valuation of utility scale solar, wind and batteries on a given site. It is focused on a single site where there is potentially an onsite load, a grid connection for buying and selling, traditional onsite generators, and existing renewable generators.
Projects represent the current state of a site.
- Site location
- Existing generators/renewables
- Grid connection, TOU rates
- Financial information
Scenarios represent a form of analysis to run.
A primary component of scenarios is sensitivity analysis. This allows you to easily run scenarios for a variety of inputs in multiple scenario runs.
Scenario runs are an instatiation of a scenario run on a project.
Creating a Project¶
Creating a Scenario¶
Scenarios require advanced configuration to setup properly. Often AO will setup the initial scenarios to fill the primary workflow. These scenarios can then be copied and modified to allow for individual customization by end users.
Scenarios can be run on a specific project to create a scenario run. Scenario runs will create a context object that copies all of the details of the project and scenario so that the inputs are fixed and the run repeatable.
AO Site Analysis leverages an open source toolkit PyPSA to model common power system components. We extend this toolkit to include important components such as TOU Demand Charges. PyPSA calls Pyomo under the hood, which is an algebraic modeling language for python. This is used to model the optimization problem, and handle the interaction with an optimization solver, such as Gurobi or CPLEX.
Visit Awesome Power Analysis repository to learn about more tools in power analysis.
Mixed Integer Program¶
PyPSA helps create a Mixed Integer Program (MIP) that models the site for a given year on an hourly time basis. It is a deterministic model with perfect foresight and will give a best case scenario for operation of energy storage. The model will attempt to find feasible solutions within the constraints given and then minimize the objective function.
Variables are used to model decisions and operation of assets within the site. Binary variables can be used for whether an asset is built or not, or wether it is operating in any given time period. Continuous variables are used to model things such as the output level of a generator.
The objective function includes costs for energy charges, demand charges, capital costs for building, and other related charges.
The constraints ensure energy is conserved, generators and storage operate within their limits, and potentially other constraints such as environmental ones.
Creating a Lookup Table for Energy Storage¶
Ensure you have a
Mine Siteproject created with at least load data and TOU Rates.
PyPSAScenario to create modifications.
Howto: Copy a scenario
Rename your scenario.
Adjust parameter sensitivities.
Howto: Parameter sensitivites
Howto: Run a scenario on a project
View run group
Howto: Navigate from individual run
Howto: Filter scenario runs
Keeping track of your run group is helpful until we improve some user interface aspects.
You can enter your groupId in the query string to filter the scenario runs.
Graph Data [Optional]
Howto: Graph data
Export data needed
Howto: Export data
Ensure the important data fields are including in export.
Export data fields
durationfor battery size information
Trackingfor solar array capacity
Annual Electricity Cost,
Annual Demand Charge,
Annual Energy Charge
Export other columns as needed
Load into excel, create lookup table.