Terms & Concepts

Creating custom solar simulations involves key inputs that define how the PV system will be modeled to behave in the real world. To make working with the API easier, this section explains some of the more complex topics you might come across.

Energy Sites

PV Systems
The Solar Simulations API requires the client to define a PV system. This PV system is made up of modules and inverters that are wired together in specific configurations. The PV system will output power at the point of interconnection (to the electric grid or to energy storage). The Solar Simulations API models the amount of power that this PV system is outputing. The PV system components will define how the PV simulation model calculates alternating current (AC) power and AC energy from the irradiance and weather data. PV system modules output direct current (DC), which is then converted to AC by the inverter. See sections on Inverter, PV Modules and Array Configuration for more information on how these specific inputs impact the PV simulation.
System Losses/Derate
CprPVForm applies a general derate of 85% to simulation outputs to represent losses not explicitly accounted for in the Simulation tool. CprPVForm total losses are calculated using the following equation:

Total System Losses = General System Losses x Inverter Efficiency (%) x PTC Rating (kW) x Shading x Degradation

The general derate percentage, inverter efficiency, PTC rating, and shading values are PvSystems elements. To specify a general derate percentage, insert GeneralDerate_Percent=”{Integer Value}” into the PvSystem details. A degradation factor of 0.5% per year is considered in all Clean Power Research simulations and cannot be modified.
Albedo Percent
Albedo (also called ground reflectance) is defined as the fraction of the Global Horizontal Irradiance that is reflected off the ground. The Albedo_Percent parameter is used to adjust the incident irradiance on the PV module so that it accounts for the effect of irradiance reflected off the ground. To specify the albedo percent, insert Albedo_Percent="{Decimal Value}” into the PvSystem details.Albedo_Percent will be approximately equal to zero for dark surfaces that absorb all of the light incident. Albedo_Percent will be approximately equal to 100 for light surfaces that reflect all of the light incident. The energy simulations model uses a default value of 17%.

Table 1 provides examples of albedo values for various types of ground surface. Additional information on possible values for albedo can be found at the Sandia National Laboratory website.

Table 1: Albedo values for various ground surface types (Source: Sandia PVFORM User’s Manual).
Inverters
The inverter is a component of the PV system. Each inverter is wired to a set of PV modules and converts the DC output of the module into AC power. The PV power model used in the Solar Simulation API requires that the client pass information about the number (Count), maximum rated power (MaxPowerOutputAC_kW) and rated efficiency (EfficiencyRating_Percent) for each inverter. For a mapping of the inverter model to the necessary input ratings, see the CEC inverter list.
PV Modules
The PV module is a component of the PV system. Each PV module converts incident irradiance under the ambient weather into DC output, which the inverter then converts to AC power. The PV power model used in the Solar Simulation API requires that the client pass information about the number (Count), nameplate DC rating (NameplateDCRating_kW) and performance test conditions AC rating (PtcRating_kW) of the PV module. The client can also specify the temperature rating (PowerTemperatureCoefficient_PercentPerDegreeC) and nominal operating cell temperature (NominalOperatingCellTemperature_DegreesC) of the module, if desired. If the client leaves these two optional fields blank, the defaults are set to:
  • PowerTemperatureCoefficient_PercentPerDegreeC="0.4
  • NominalOperatingCellTemperature_DegreesC="45"
For a mapping of the inverter model to the necessary input ratings, see the CEC module list.
Power Temperature Coefficient
The power temperature coefficient quantifies the effect of module operating temperature on the AC power output of the system. As the cell temperature increases, the power output of the module decreases. Manufacturers of PV modules usually provide this value in the module’s data sheet. To specify power temperature coefficient, insert PowerTemperatureCoefficient_PercentPerDegreeC = "{Decimal Value}” into the PvModule details. If not specified, the energy simulations model will use a default of 0.40 % /°C.

Table 2: Power temperature coefficients for standard, premium, and thin film panels (Source: NREL PVWATTS).
PTC Rating
This value reflects the expected performance of the PV module when operating in an environment with 1,000 W/m2 of solar irradiance, an air mass of 1.5, and an ambient temperature of 20°C at 10 meters above ground level with a wind speed of 1 meter per second. Additionally, the operating cell temperature is raised to 45°C in PTC tests. PTC are considered more representative of real-world operating conditions. The CprPVForm model uses PTC rating to account for PV module performance. The module PTC rating is a PvSystems element. To specify the PTC rating, insert PtcRating_kW =”{Integer Value}” into the PvModule details.
Array Configuration
The array configuration specifies parameters about the PV system that define how the system is installed. The array configuration inputs are important to the PV simulation model as they help determine what the incident irradiance is on the plane of the PV module array, and can have a significant impact on the PV simulation accuracy. The PV power model used in the Solar Simulation API requires that the client pass information about the tilt angle from horizontal (Tilt_Degrees) and azimuth angle (Azimuth_Degrees) in which each set of PV modules is installed. For residential systems, the tilt angle often is specified by the roof pitch. The azimuth angle is a reference to the Cardinal Direction that the array of PV modules is facing. The Solar Simulations API uses 180-degrees as South reference (90-degrees is East and 270-degrees is West). The client can also specify the type of tracking system on which the PV modules are mounted (Tracking), the rotation limit of the tracker (TrackingRotationLimit_Degrees), the number of rows of modules (ModuleRowCount) and the relative module row spacing (RelativeRowSpacing).
Tracking
The Clean Power Research solar simulations tool supports fixed, single-axis and dual-axis tracking PV systems. If a single or dual-axis tracking type is specified, the simulations tool calculates the rotation angle that minimizes the angle of incidence throughout the day. The angle of incidence is defined as the angle between a line that is normal to the module surface and a line drawn on a straight path from the sun to the module surface.

Fixed Tilt
  • Fixed tilt arrays do not track the sun to minimize the angle of incidence.
  • When defining a fixed tilt array, specify two parameters:
    • The array surface tilt parameter: Tilt_Degrees
    • The array surface azimuth angle: Azimuth_Degrees
Single-Axis Tracking
  • Single-axis trackers move along a single axis of rotation. Single-axis trackers can be classified as horizontal, tilted, or vertical based on the tilt angle of the rotation axis with respect to horizontal.
  • Horizontal-axis trackers are most common in commercial and utility-scale systems. Horizontal tracking arrays are usually oriented North-South with modules that rotate from East to West throughout the day, limited by the tracking rotation limit.
  • When defining a single-axis tracking array, specify the following:
    • The array axis of rotation tilt parameter: Tilt_Degrees
    • The array axis of rotation azimuth angle: Azimuth_Degrees
    • The tracking rotation limit: TrackingRotationLimit_Degrees
Dual-Axis Tracking
  • Dual-Axis trackers can move along two axes of rotation (East-West and North-South). This allows them to always maintain a 0° angle of incidence, which maximizes the solar radiation hitting the solar panels. Unlike with single-axis trackers, no tracking limit is placed on the rotation in the azimuth direction.
  • When defining a dual-axis tracking array, specify the following:
    • The tracking rotation limit: TrackingRotationLimit_Degrees
Tracking is a PvSystems element. To specify tracking type, insert Tracking=“Fixed”, Tracking=“SingleAxis”, or Tracking=“DualAxis” into the ArrayConfiguration details.

Tracking Rotation Limit
The tracking rotation limit is the rotational limit in degrees for single axis tracking systems. It is possible to use values between 0 and 90, which represent half the full range of motion of the tracker. For example, a value of 60 means the tracker can move +/-60 degrees around the axis of rotation for an overall range of 120 degrees. To specify tracking rotation limit, insert TrackingRotationLimit_Degrees =“{Decimal Value}”, into the ArrayConfiguration details.
Module Row Count
Module row count is the total number of rows in each PV array. As shown in figure 1, this value will correspond to the number of PV strings in parallel within an array. This parameter is used to model the effect of inter-row shading. To specify module row count, insert ModuleRowCount = "{Integer Value}” into the ArrayConfiguration details.

Figure 1: Module row count.
Relative Row Spacing/Ground Coverage Ratio
Relative row spacing is the inverse of the ground coverage ratio (GCR) and can be calculated as the ratio of row-to-row pitch to array length. A lower GCR (higher relative row spacing) means wider row spacing and a higher GCR means narrower row spacing. Typical utility scale PV systems have GCRs in the range of 0.3 to 0.6. The default value of relative row spacing used in the energy simulations model is 3, which is equal to a GCR of 0.3. To specify row spacing, insert RelativeRowSpacing = "{Decimal Value}” into the ArrayConfiguration details.

Figure 2: Relative row spacing.

PV Simulation

PV Simulation Tool
The Clean Power Research Solar Simulations tool is a web-based service that generates PV system production data. The tool has been designed with a modular architecture to allow user flexibility in selecting from a range of input models for weather data, shading and PV power calculations as shown in figure 3. The Solar Simulations tool supports the use of SolarAnywhere and TMY3 weather data.

Figure 3: SolarAnywhere simulation modular software architecture.
Shading Models
The energy simulations tool supports two shading and obstruction models that can be input into ShadingOptions as ShadingModel="ShadeSimulator" or ShadingModel="MonthlyPercentSolarResource".

Shade Simulator

The shade simulator model uses information about obstructions surrounding the PV system to modify simulated output. Obstructions can be objects such as trees or adjacent buildings that shade the PV system at certain times of day.

Figure 4: The interaction of a shading object with a PV system.


Specifying obstructions for the ShadeSimuator model requires an input combination of azimuth, elevation, and opacity for each obstruction in relation to the position of the PV system. The distance and height of shadow-casting objects can be calculated using a site plan and sun path diagram or shading analysis software coupled with digital photography. The azimuths of the obstructions can be calculated directly from the site plan or sketch. The opacity or transmission factor specifies the amount of solar radiation passing through the shading objects.

The azimuths, elevations, and opacities of solar obstructions are PvSystems elements and can be specified at the time of creating an energy site using the Clean Power Research simulation API.

The shade simulator uses the azimuths, elevations, and opacities of the obstructions to generate a digital elevation model (DEM). This is an internal, three-dimensional model of the obstructions surrounding the PV system that is used to modify simulation outputs based on the time of day.

Figure 5: The solar obstruction profile determined using a DEM.


Monthly Percent Solar Resource

The MonthlyPercentSolarResource shading model is useful when details about the surrounding obstructions (buildings, trees, etc.) are unknown. This model applies monthly solar access percentage derate factors to hourly simulation outputs to account for the effect of shading on PV system production.

The solar access percentage can be calculated as the ratio of incident solar energy on the shaded PV panel to the incident solar energy on the un-obstructed PV panel. It is the opposite of the shading percentage. For example, an array with 10% shading would have a solar access of 90%. If monthly shading percentages are not specified, 100% solar access (0% shading) is assumed for all months.

Figure 6: The percentage of solar energy available at each month for the site-specific shade conditions.


Monthly solar access percentages are PvSystems elements and can be specified at the time of creating an energy site using the Clean Power Research simulation API.
Time Stamps
The simulation request time stamps indicate the start and end period for which the client wishes to return data. Time stamps are absolute and follow the ISO 8601 convention. For example, if the client wishes to request data from January 1, 2020 at 11:00 AM Pacific Standard Time to January 2, 2020 at 12:00 PM Eastern Standard Time:
  • StartTime ="2020-01-01T11:00:00-08:00"
  • EndTime="2020-01-02T12:00:00-05:00"
Time stamps are all handled as an absolute reference, so if the client wishes to request forecast data, they will need to create a time stamp for a future time from the present. Forecast data can be requested up to 90-days ahead. Short and medium term forecast models apply for forecast horizons of 1-minute up to 168-hours (7-days) into the future. Climatology models are applied starting on day 8 out to 90-days. Time stamps with a different GMT offset in the StartTime and EndTime will be synchronized in the response to the time zone of which the site location falls.
Irradiance and Weather Data
The following output fields are generated based on the inputs specified when creating an energy site.
  • PlaneOfArrayIrradiance_WattsPerMeterSquared:The irradiance incident on the plane of the array (POA) based on the sun’s position, the module spacing, the module orientation (azimuth), tracking (if applicable), shading and ground surface albedo. POAI is modeled using the Perez transposition model.
  • PowerAC_kW:The modeled power output of the PV system based on the total available plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics.
  • EnergyAC_kWh: The modeled energy output of the PV system based on the total available plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics.
  • ClearSkyPowerAC_kW: The modeled power output of the PV system based on the total available clear sky plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics. The clear sky irradiance is the irradiance calculated assuming there are no clouds present.
  • ClearSkyEnergyAC_kWh:The modeled energy output of the PV system based on the total available clear sky plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics. The clear sky irradiance is the irradiance calculated assuming there are no clouds present.
  • PVModuleTemperature_DegreesC: The modeled operating temperature of the PV modules based on the ambient temperature and wind speed as well as the PV module characteristics.
Simulation Output Fields
The following output fields are generated based on the inputs specified when creating an energy site:

  • PlaneOfArrayIrradiance_WattsPerMeterSquared:The irradiance incident on the plane of the array (POA) based on the sun’s position, the module spacing, the module orientation (azimuth), tracking (if applicable), shading and ground surface albedo. POAI is modeled using the Perez transposition model.
  • PowerAC_kW:The modeled power output of the PV system based on the total available plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics.
  • EnergyAC_kWh: The modeled energy output of the PV system based on the total available plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics.
  • ClearSkyPowerAC_kW: The modeled power output of the PV system based on the total available clear sky plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics. The clear sky irradiance is the irradiance calculated assuming there are no clouds present.
  • ClearSkyEnergyAC_kWh:The modeled energy output of the PV system based on the total available clear sky plane of array irradiance, weather conditions, shading, array configuration, and module and inverter characteristics. The clear sky irradiance is the irradiance calculated assuming there are no clouds present.
  • PVModuleTemperature_DegreesC: The modeled operating temperature of the PV modules based on the ambient temperature and wind speed as well as the PV module characteristics.

What’s Next?