Wind and Solar Data Processing

SAInt allows to model wind and solar generation by combining different generation technologies with meterological data. The following sections provides details on the models and their implementation in SAInt.

The PVWatts (no financial model) model is implemented. This model generates time series data representing the solar PV system’s electricity production over a single year. The simulation timestep depends on the weather data file’s temporal resolution. More detailed information about SAM is available at the website: https://sam.nrel.gov.

1. Solar power performance model: PVWatts v.7

SAInt uses the model "PVWatts" version 7 from the "System Advisor Model" (SAM) of the "National Renewable Energy Laboratory" (NREL) as tool to convert irradiance data into power based on photovoltaic generators location, composition and structure. SAM is a free application developed by NREL for techno-economic analysis of energy technologies. The application is designed to assist project managers, engineers, policy analysts, and researchers in evaluating the technical, economic, and financial feasibility of power generation projects.

SAInt uses "SAM Simulation Core" (SSC) libraries to access the "pvwattsv7" module for the calculation.

PVWatts v7 is a simplified method used in NREL’s SAM to estimate how much electricity a solar-panel system will produce from ordinary weather data. It takes information such as sunlight levels, temperature, and wind speed (often hourly) and converts those conditions into an expected power output for a PV system of a given size and layout.

At a high level, PVWatts v7 works like this. First, it figures out where the sun is in the sky for each time step and how the sunlight hits the panels based on their tilt and direction (or tracking motion, if the system follows the sun). Then it calculates how much sunlight actually reaches the panel surface by combining direct sun, light scattered by the sky, and light reflected from the ground.

Next, PVWatts v7 adjusts that sunlight for real-world effects that reduce performance. It can account for panels shading each other in large arrays, especially in rows. It also includes a more physics-based correction for "reflection losses" when sunlight hits the glass cover at a steep angle, and a simple correction for changes in sunlight color (spectrum) as sunlight passes through more atmosphere when the sun is low.

With the "usable sunlight" estimated, PVWatts computes panel temperature from the weather, because hot panels produce a bit less power. It then converts sunlight and temperature into DC power using a straightforward linear relationship. Finally, it converts DC to AC power using an inverter performance curve, applies overall system losses (like wiring or soiling as a single combined percentage), and caps output at the inverter’s maximum.

SAInt main parameters passed to the the SSC module for the PVWatts v7 model are:

  • the solar resource data;

  • the system capacity;

  • the module type;

  • the dc/ac ratio;

  • the array type;

  • the tilt angle of the PV module;

  • the azimuth of the location;

  • the losses coefficient;

  • the inverter efficiency.

For a detailed description of the PVWatts v7 model, refer to:

  • Gilman, P.; Dobos, A.; DiOrio, N.; Freeman, J.; Janzou, S.; Ryberg, D. (2018) SAM Photovoltaic Model Technical Reference Update. 93 pp.; NREL/TP-6A20-67399. (PDF 1.8 MB)

  • Gilman, P. (2015). SAM Photovoltaic Model Technical Reference. National Renewable Energy Laboratory. 59 pp.; NREL/TP-6A20-64102. (PDF 1.8 MB)

  • Dobos, A. (2014). PVWatts Version 5 Manual. 20 pp.; NREL Report No. TP-6A20-62641. (PDF 714 KB)

  • Dobos, A.; (2013). PVWatts Version 1 Technical Reference. 11 pp.; NREL Report No. TP-6A20-60272. (PDF 487 KB)

For a description of the code and of the software development kit of SSC, refer to: System Advisor Model Version 2025.4.16 (2025). SSC source code. National Laboratory of the Rockies. Golden, CO. Accessed December 5, 2025. https://github.com/NREL/ssc

2. Wind power performance model

SAInt uses a simplified "wind power performance model" to calculate a single wind turbine’s hourly output based on wind speed data from weather data and a user-specified turbine’s power curve. SAInt’s model is similar to the SAM’s wind power model, but it estimates wind speed at the turbine’s hub height in a different way, and it incorporates an overall "losses" coefficient instead of a detailed modelling of wake losses, availability losses, electrical and turbine performance losses, or other environmental and curtailment/operational strategies losses.

For a detailed description of the SAM’s power wind model, the user is referred to the publication: Freeman J., Jorgenson J., Gilman P. and Tom Ferguson T., (2014), Reference Manual for the System Advisor Model’s Wind Power Performance Model, National Renewable Energy Laboratory, Technical Report NREL/TP-6A20-60570, pp. 34, available from https://www.nrel.gov/publications or in pdf version.

A description of the weather file format and its content are provided in the section "Weather data file" of the Reference guide. Details on the on-line weather data providers are available from "Integrating Weather Resource Data". And refer to the section "Wind turbine power curve template files" for an in-depth explanation of the structure and data of a turbine’s power curve.

2.1. Wind speed at turbine hub height

SAInt derives the wind speed \(V_{h,j}\) at the turbine’s hub height \(h\) for hour \(j\) from the wind speed in the weather file for the given hour. If the user-specified hub height matches any of the height values in the weather file, that wind speed is selected. Otherwise, the speed is linearly interpolated based on the nearest elevation and speed values.

The turbine’s output in a given hour is estimated by using the turbine power curve for the modeled wind generator. SAInt plugs in the estimated wind speed and derives the output power (\(P(V_{h,j})\)) by linear interpolation using the nearest upper and lower values from the power curve:

\[\begin{aligned} P(V_{h,j}) = \frac{P(V_2)-P(V_1)}{(V_2 - V_1)} \times (V_{h,j} - V_1) + P(V_1) \end{aligned}\]

where

  • \(P(V_{h,j})\) is the turbine output at hub height wind speed for hour \(j\);

  • \(V_{h,j}\) is the hub height wind speed for hour \(j\);

  • \(P(V)\) the turbine output at wind speed \(V\) from the power curve;

  • \(V_1\) and \(V_2\) are the next smallest and largest power curve wind speed to the hub height wind speed, respectively.

If the wind speed at hub height \(V_{h,j}\) for a given hour \(j\) is less than the power curve cut-in speed, or greater than the highest wind speed in the power curve, then the turbine output \(P_j\) is set to zero.

Refer to the details of the turbine’s power curve to identify the cut off limits.

Finally, the model adjusts the turbine output for a given hour to the air density at the turbine’s location and incorporates a losses factor. The density correction allows extending the use of power curves designed for turbines installed at sea level to the case of other elevations. The losses factor allows to incorporate other factors affecting the efficiency of the wind generator and the wind farm.

The hourly air density is derived from the atmospheric pressure value provided in the weather file and it is estimated as:

\[\begin{aligned} \rho_j = \frac{p_j}{R_{sp} \times T_j} \end{aligned}\]

where

  • \(\rho_j\) is the air density at the turbine location for hour \(j\);

  • \(p_j\) is the atmospheric pressure at the turbine location from the weather file for hour \(j\) converted from atmosphere (atm) to Pascal (Pa);

  • \(R_{sp}\) is the specific gas constant for dry air equal to 287.058 J/kg∙K;

  • \(T_j\) is the temperature from weather file for hour \(j\) converted from Celsius degree (°C) to Kelvin (K).

The adjusted wind turbine output (\(P_j\)) in watts (W) in a given hour \(j\) is:

\[\begin{aligned} P_j = (1 - \frac{Losses}{100}) \times P(V_{h,j}) \times \frac{\rho_j}{\rho_0} \end{aligned}\]

where

  • \(Losses\) is the total system losses for the wind generator as a real value in [0;100]

  • \(P(V_{h,j})\) is the turbine output at wind speed \(V_{h,j}\) from the turbine’s power curve;

  • \(\rho_j\) is the air density at hour \(j\) from the weather file;

  • \(\rho_0\) is the air density at sea level, 1.225 kg/m3 at 15 °C.