PVWatts and SAM paths
pvperf runs a PV system through a chain of calculation steps. A path selects the method of each step.
The PVWatts path selects the methods of PVWatts version 8. The SAM path selects the methods of SAM's detailed photovoltaic model. Both take the same request as every other run. The answer carries the full loss diagram.
The PVWatts path
The PVWatts path uses these methods.
- NREL SPA for the position of the sun
- Perez 1990 with the settings of NREL's SAM Simulation Core (SSC)
- Deline's linear self-shading for the rows
- the De Soto cover for the incidence-angle modifier
- the CEC six-parameter model of a representative module
- the NOCT cell temperature
- King's air-mass spectral modifier
- the Sandia inverter model, clipped at the AC nameplate
The steps that PVWatts does not model are switched off. These are the low-light threshold, the horizon, the night consumption and every AC component except the medium-voltage transformer and the unavailability.
The SAM path
The SAM path takes the PVWatts path's method where SAM shares it. Where SAM differs, it takes SAM's own method.
- the module's CEC parameters, or the representative module when the module has none
- the NOCT cell temperature with the module's rated NOCT
- Deline's non-linear self-shading
- the Sandia inverter model with its voltage terms
- the operating point on the module's current-voltage curve inside the MPPT window, with the AC output clipped
- the night consumption
- the rear mismatch calculated from the rear cell rows
- the transmission loss
Methods at each step
The table gives the methods for a fixed monofacial array, and the methods that change with the request.
Running a path over the API
POST /v1/tree/irradiance/describe and POST /v1/tree/energy/describe take a run request and return each path's changes to it as presets[].patch. Apply the irradiance patch, then the energy patch, and send the result to POST /v1/run. In the workbench, the Model tab's PVWatts path and SAM path buttons apply the same changes.
The simple run
POST /v1/run/simple takes a location, a DC size in kW, a module type, the racking, the tilt and azimuth, a DC/AC ratio, an inverter efficiency and a total loss in percent. Its defaults follow PVWatts version 8. The module runs on the PVWatts DC model and the inverter at a flat efficiency of 96 %. Every other step uses the pvperf path. The default total loss is 11.42 %. It is PVWatts's default of 14.08 % without its 3 % for shading. pvperf computes the row-to-row shading from the racking. The simple run guide gives every field, its default and the default's source.
curl -X POST https://pvperf.com/v1/run/simple \
-H "Authorization: Bearer pvp_live_…" \
-H "Content-Type: application/json" \
-d '{"latitude": 39.8, "longitude": -89.85, "system_capacity_kw": 8, "racking": "single_axis"}'
Further pages
- PV simulation API
- PVsyst files and the PVsyst 8 path
- Reference, with every method of the table and its equations