Solar Energy Modeling Services
SolarAnywhere® energy modeling services offer customers easy, on-demand access to SolarAnywhere’s high- fidelity weather data and site-specific PV energy estimates through a single, integrated API platform.
SolarAnywhere energy modeling services have been designed with a modular architecture to provide flexibility in selecting from available weather data and PV energy simulation models. The API supports the use of SolarAnywhere typical year (TGY) and time-series (Sites) data, as well as NREL TMY3 weather data. Figure 1 below depicts the modular architecture of SolarAnywhere’s energy modeling services.
Energy Simulation Steps
With a single call to the SolarAnywhere API, you can simulate the output of a single PV system or group of PV systems under your license. Returning simulated outputs for your system(s) requires three steps:
- 1. Create Energy Site(s): Create an energy site or multiple energy sites that are representative of your actual PV system(s). You can simulate PV system output with just a few basic inputs about your PV system or utilize all available inputs for more precise modeling. Retrieve the EnergySiteId(s) from your request(s) for use in step 2.
- 2. Create a Simulation Request: Create a simulation request with the EnergySiteId(s) created in the first step. Specify your choice of power model, simulation and weather outputs, weather data source, and models for simulating energy losses. Retrieve the SimulationId returned from your request for use in step 3.
- 3. Get Simulation Results: Using the SimulationId generated in step 2, retrieve the requested weather & irradiance data and simulated PV project output.
It should be noted that uncertainty in energy simulations varies from site to site depending on a number of factors, such as the accuracy of the weather data and system specifications, as well as environmental and system loss assumptions. The various sources of uncertainty and their associated ranges are reported in the publication: “On-site performance verification to reduce yield prediction uncertainties. Reich et al, 2015 IEEE 42nd Photo Voltaic Specialist Conference (PVSC).” SolarAnywhere solar irradiance data is widely used for independent and bankable solar resource assessment, operational monitoring and solar forecasting. Visit our validation page for up-to-date information on model accuracy.
Energy Simulation Models
SolarAnywhere customers can choose from two available energy simulation models: pvlib and CprPVForm.
pvlib
Initially developed at Sandia National Laboratories, pvlib python is a peer-reviewed1, community maintained, open-source library developed on GitHub. Pvlib provides a set of functions and classes for simulating the performance of PV energy systems. The broader solar community develops, validates and frequently updates pvlib models. The pvlib models integrated into SolarAnywhere support NREL PVWatts as the core engine for simulating module and inverter performance. PVWatts makes internal assumptions about module and inverter characteristics, enabling SolarAnywhere users to quickly model any PV system type and configuration with just a few key inputs.
To enable SolarAnywhere customers to take advantage of the latest research in PV modeling, SolarAnywhere offers the most recent and stable version of pvlib through its API services. Table 1 shows the various models included in SolarAnywhere’s implementation of pvlib, and their relevant publications with model description and validation.
pvlib Solar Simulation Models | |
---|---|
Transposition Model | Perez |
Temperature Model | Faiman |
DC Model | PVWatts DC Power Model |
AC Model | PVWatts Inverter Model |
Reflection Losses | Incidence Angle Modifier (IAM) Physical (with customization to include modeling for diffuse reflectivity losses) |
Snow Losses | NREL (Marion) Model |
Soiling Losses | Humboldt State University (HSU) Model |
Bifacial PV model | Infinite Sheds Model |
CprPVForm
The PVForm model was originally developed by the Sandia National Labs in 1985. In partnership with the SUNY Albany team, Clean Power Research developed an in-house implementation of PVForm called ‘CprPVForm’. The CprPVForm model implements many modeling algorithms found in the PVForm and PVWatts v1 models and has been used in assessing the energy performance of PV fleets.
Table 2 outlines the capabilities and limitations of the two energy models.
CprPVForm | pvlib | |
---|---|---|
General Derate Percent | Default: 0.40%/°C | Default: 0.37%/°C |
Module Power Temperature Coefficient | Default: 85% | Default: 86% |
Module Rating | PTC Rating | STC Rating |
Tracking types | Fixed-Axis, Single Axis, Two-Axis |
Fixed-Axis, Single Axis, Single Axis with Backtracking |
Reflection Losses | No | Yes |
Near-object shading | Yes | Yes |
Row-on-row shading | Yes | Yes |
Snow Losses | No | Yes |
Soiling Losses | No | Yes |
Bifacial PV Modeling | No | Yes |
Frequently Asked Questions
The CprPVForm model can simulate near-object shading effects based on a user provided obstruction profile. As such, we recommend using the CprPvForm model if you need to model shading effects in detail. Near-object shading can become especially relevant for residential rooftop PV systems.
SolarAnywhere plans to improve pvlib modeling capabilities for residential systems by developing and contributing our research advancements to the pvlib community in the future.
If you would like to run simulations on a fleet of PV systems, it is currently recommended to use CprPVForm. This model has been used by Clean Power Research in reliably assessing the energy performance of PV fleets and does not limit the number of energy sites you can include in a single simulation request. Pvlib is currently limited to five energy sites per request.
You can also model the impact of near-object shading on energy performance by modifying the GeneralDerate_Percent in the energy site specification. This reduces the DC output of the PV system based on shading and other system losses. To learn how the derate is computed from individual loss components in the pvlib model, see the next question.
GeneralDerate_Percent = 100 – System Losses (%) Eqn (1)
For example, a system loss of 14% can be converted to a General derate percent of 86% using the above equation.
pvlib (PVWatts) | CprPVForm | |
---|---|---|
General Derate Percent (Default) | 86% | 85% |
System loss categories and defaults | Soiling = 2% Shading = 3% Snow = 0% Mismatch = 2% Wiring = 2% Connections = 0.5% Light-induced Degradation = 1.5% Nameplate Rating = 1% Age = 0% Availability = 3% |
Soiling, Snow, Mismatch, Wiring, Connections, Age, Availability |
Losses excluded from GeneralDerate_Percent | Inverter Efficiency | Inverter Efficiency, Shading, Degradation, Nameplate (STC) rating |
References
1 Holmgren W, Hansen CW, Mikofski MA. 2018. pvlib python: a python package for modeling solar energy systems. Journal of Open Source Software (JOSS). DOI: 10.21105/joss.00884. Link.

What’s Next?