Skip to main content

Summary

The Incidence Angle Modifier (IAM) quantifies optical losses when sunlight strikes a module at non-normal angles. PlantPredict implements five IAM models: None, ASHRAE, Sandia, Physical, and Custom Interpolation. IAM is applied separately to beam, sky diffuse, and ground-reflected irradiance components after losses and before corrections.

Inputs

NameSymbolUnitsDescription
Angle of Incidenceθ\thetadegreesAngle between sun and module normal
Module Tilt Angleβ\betadegreesTilt angle of module from horizontal
Module Azimuth Angleγm\gamma_mdegreesAzimuth angle of module surface normal, measured clockwise from North
ASHRAE IAM Parameterb0b_0Empirical coefficient for ASHRAE model
Sandia Polynomial Factors[b0,b1,...,b5][b_0, b_1, ..., b_5]degree⁻ⁱ (i = 0…5)Polynomial coefficients for Sandia model
Refractive IndexnnGlass refractive index (Physical model, default: 1.526)
ARC Refractive IndexnARCn_{ARC}Anti-reflective coating refractive index (Physical model, optional)
Absorption Coefficientα\alpham⁻¹Glass absorption coefficient (Physical model, default: 4.0)
Glass ThicknessLLmGlass thickness (Physical model, default: 0.002)
IAM Factor Pairs{(θi,fi)}\{(\theta_i, f_i)\}degrees, —User-defined table (Custom Interpolation model)

Outputs

NameSymbolUnitsDescription
Beam IAM FactorUIAM,BU_{IAM,B}IAM factor for beam irradiance (0-1)
Sky Diffuse IAM FactorUIAM,DU_{IAM,D}IAM factor for sky diffuse irradiance (0-1)
Ground Diffuse IAM FactorUIAM,GU_{IAM,G}IAM factor for ground-reflected irradiance (0-1)

Detailed Description

The user selects a single IAM model (None, ASHRAE, Sandia, Physical, or Custom Interpolation), which is applied directly to beam irradiance. Sky diffuse and ground diffuse IAM require integrating IAM over a hemisphere of incidence angles. Depending on the selected model and software version, the hemisphere integration uses either the selected beam IAM curve or defaults to integrating using the ASHRAE model:
Selected ModelBeam IAMSky Diffuse IAMGround Diffuse IAM
None111
ASHRAEASHRAEHemisphere averaging (ASHRAE model)1
SandiaSandia polynomialHemisphere integration (ASHRAE model)1
PhysicalPhysicalHemisphere integration (Physical model)Hemisphere integration (Physical model)
Custom (V08-)Cubic splineHemisphere integration (ASHRAE model)1
Custom (V09+)Cubic splineHemisphere integration (Custom curve)Hemisphere integration (Custom curve)

Beam IAM Models

Beam IAM (UIAM,BU_{IAM,B}) is calculated based on the using one of five models.

None

No angle-dependent losses: UIAM,B=1U_{IAM,B} = 1

ASHRAE

The ASHRAE model, originally derived by Souka and Safwat (1966) and later adopted by ASHRAE, uses a single empirical parameter b0b_0: UIAM,B=1b0(1cos(θ)1)U_{IAM,B} = 1 - b_0 \left( \frac{1}{\cos(\theta)} - 1 \right) where θ\theta is the angle of incidence. For θ>87°\theta > 87°, UIAM,B=0U_{IAM,B} = 0.

Sandia

The Sandia model, developed by King et al. at Sandia National Laboratories, uses a 5th-order polynomial: UIAM,B={1,θ<34°i=05biθi,θ34°U_{IAM,B} = \begin{cases} 1, & \theta < 34° \\ \sum_{i=0}^{5} b_i \theta^i, & \theta \geq 34° \end{cases} where θ\theta is in degrees and [b0,b1,b2,b3,b4,b5][b_0, b_1, b_2, b_3, b_4, b_5] are polynomial factors empirically determined from experimental data.

Physical

The Physical model (Version 11+), developed by De Soto et al. based on optical equations from Duffie and Beckman, calculates IAM from first-principles optics: UIAM,B=1R(θ)1R(0)eαL(1cos(θglass)1)U_{IAM,B} = \frac{1-R(\theta)}{1-R(0)} \cdot e^{-\alpha L \left(\frac{1}{\cos(\theta_{glass})} - 1\right)} where R(θ)R(\theta) is the total Fresnel reflectance across interfaces, θglass\theta_{glass} is the refraction angle in glass, α\alpha is the glass , and LL is the glass thickness. Refraction angles (Snell’s law): θglass=arcsin(sin(θ)n),θARC=arcsin(sin(θ)nARC)\theta_{glass} = \arcsin\left(\frac{\sin(\theta)}{n}\right), \quad \theta_{ARC} = \arcsin\left(\frac{\sin(\theta)}{n_{ARC}}\right) Total Fresnel reflectance: With (air → ARC → glass), accounting for multiple internal reflections: R(θ)=1(1ρair-ARC)(1ρARC-glass)1ρair-ARCρARC-glassR(\theta) = 1 - \frac{(1-\rho_{air\text{-}ARC})(1-\rho_{ARC\text{-}glass})}{1 - \rho_{air\text{-}ARC}\rho_{ARC\text{-}glass}} where ρair-ARC\rho_{air\text{-}ARC} is the air-ARC reflectance (at angles θ\theta and θARC\theta_{ARC}) and ρARC-glass\rho_{ARC\text{-}glass} is the ARC-glass reflectance (at angles θARC\theta_{ARC} and θglass\theta_{glass}). Interface reflectance (Fresnel equations, averaged over polarizations): ρair-ARC=12[(cos(θ)nARCcos(θARC)cos(θ)+nARCcos(θARC))2+(cos(θARC)nARCcos(θ)cos(θARC)+nARCcos(θ))2]\rho_{air\text{-}ARC} = \frac{1}{2}\left[\left(\frac{\cos(\theta) - n_{ARC}\cos(\theta_{ARC})}{\cos(\theta) + n_{ARC}\cos(\theta_{ARC})}\right)^2 + \left(\frac{\cos(\theta_{ARC}) - n_{ARC}\cos(\theta)}{\cos(\theta_{ARC}) + n_{ARC}\cos(\theta)}\right)^2\right] ρARC-glass=12[(nARCcos(θARC)ncos(θglass)nARCcos(θARC)+ncos(θglass))2+(nARCcos(θglass)ncos(θARC)nARCcos(θglass)+ncos(θARC))2]\rho_{ARC\text{-}glass} = \frac{1}{2}\left[\left(\frac{n_{ARC}\cos(\theta_{ARC}) - n\cos(\theta_{glass})}{n_{ARC}\cos(\theta_{ARC}) + n\cos(\theta_{glass})}\right)^2 + \left(\frac{n_{ARC}\cos(\theta_{glass}) - n\cos(\theta_{ARC})}{n_{ARC}\cos(\theta_{glass}) + n\cos(\theta_{ARC})}\right)^2\right] Special case (no anti-reflective coating): Without anti-reflective coating, there is a single air-glass interface: R(θ)=ρair-glass(θ)R(\theta) = \rho_{air\text{-}glass}(\theta) ρair-glass=12[(cos(θ)ncos(θglass)cos(θ)+ncos(θglass))2+(cos(θglass)ncos(θ)cos(θglass)+ncos(θ))2]\rho_{air\text{-}glass} = \frac{1}{2}\left[\left(\frac{\cos(\theta) - n\cos(\theta_{glass})}{\cos(\theta) + n\cos(\theta_{glass})}\right)^2 + \left(\frac{\cos(\theta_{glass}) - n\cos(\theta)}{\cos(\theta_{glass}) + n\cos(\theta)}\right)^2\right]

Custom Interpolation

Users provide a table of IAM factor pairs {(θi,fi)}\{(\theta_i, f_i)\} measured or calculated at discrete incidence angles. These values typically come from module flash test reports or third-party optical modeling software. For angles between the tabulated values, PlantPredict uses cubic spline interpolation. A cubic spline fits smooth polynomial curves between data points, ensuring continuity in both the function and its first derivative—avoiding the sharp corners that linear interpolation would produce. UIAM,BU_{IAM,B} is capped at 1 to prevent non-physical values from spline oscillation. For θ90°\theta \geq 90°, UIAM,B=0U_{IAM,B} = 0.

Sky Diffuse IAM

Sky diffuse IAM (UIAM,DU_{IAM,D}) accounts for IAM effects on diffuse irradiance arriving from the sky hemisphere. The calculation assumes an sky; radiance distributions (, ) are handled by the model. For the None model, UIAM,D=1U_{IAM,D} = 1 since UIAM,B=1U_{IAM,B} = 1 at all angles. When ASHRAE is selected, a hemisphere average (arithmetic mean) is used. For Sandia and Custom (V08-), a projection-weighted hemisphere integration is computed analytically using the ASHRAE model. For Physical and Custom (V09+), this projection-weighted hemisphere integration is evaluated numerically with the actual IAM curve.

Hemisphere Averaging (ASHRAE)

When ASHRAE is selected as the IAM model, the sky diffuse IAM is approximated by averaging beam IAM values across the visible sky hemisphere (arithmetic mean with 1° × 1° steps): UIAM,D=1Nfrontγϕ(1b0(1cosθi(ϕ,γ)1))for θi<90°U_{IAM,D} = \frac{1}{N_{front}} \sum_{\gamma} \sum_{\phi} \left(1 - b_0\left(\frac{1}{\cos\theta_i(\phi, \gamma)} - 1\right)\right) \quad \text{for } \theta_i < 90° where ϕ\phi is the polar angle (from zenith) and γ\gamma is the azimuth angle defining the direction of a 1° × 1° element of the sky hemisphere. NfrontN_{front} is the count of sky directions where θi(ϕ,γ)<90°\theta_i(\phi, \gamma) < 90° (in front of the module plane). This is an unweighted average over discrete sky directions. The incidence angle θi(ϕ,γ)\theta_i(\phi, \gamma) for each sky direction on a tilted surface is: cosθi(ϕ,γ)=sin(ϕ)sin(β)cos(γγm)+cos(ϕ)cos(β)\cos\theta_i(\phi, \gamma) = \sin(\phi)\sin(\beta)\cos(\gamma - \gamma_m) + \cos(\phi)\cos(\beta) where β\beta is the module tilt and γm\gamma_m is the module azimuth.

Hemisphere Integration (Sandia, Physical, Custom)

For Sandia, Physical, and Custom IAM models, the sky diffuse IAM is calculated by integrating beam IAM over the sky hemisphere, weighted by the projection onto the tilted surface: UIAM,D=skyUIAM,B(θi)cos(θi)dΩskycos(θi)dΩU_{IAM,D} = \frac{\int_{\text{sky}} U_{IAM,B}(\theta_i) \cos(\theta_i) \, d\Omega}{\int_{\text{sky}} \cos(\theta_i) \, d\Omega} The incidence angle θi\theta_i for a sky element at polar angle ϕ\phi and azimuth γ\gamma on a surface tilted at β\beta with azimuth γm\gamma_m is: cos(θi)=sin(ϕ)sin(β)cos(γγm)+cos(ϕ)cos(β)\cos(\theta_i) = \sin(\phi)\sin(\beta)\cos(\gamma - \gamma_m) + \cos(\phi)\cos(\beta) The integration is limited to the portion of the sky visible from the module front surface — directions where cos(θi)>0\cos(\theta_i) > 0. Sky directions behind the module plane (where cos(θi)0\cos(\theta_i) \leq 0) are excluded from both numerator and denominator. Implementation by model: Sandia and Custom (V08-): Use the ASHRAE model for diffuse IAM, which allows a closed-form analytical solution: UIAM,D=1b03cosβ4βπ1+cosβU_{IAM,D} = 1 - b_0 \cdot \frac{3 - \cos\beta - \frac{4\beta}{\pi}}{1 + \cos\beta} Physical and Custom (V09+): For arbitrary IAM curves, the integral is evaluated numerically as described by Marion: the IAM is interpolated at discrete angles and integrated over the hemisphere.

Ground Diffuse IAM

Ground-reflected irradiance IAM is handled differently from beam and sky diffuse because IAM effects on ground-reflected irradiance are already incorporated in the ground shading model. The ground shading algorithm calculates s from the ground to the tilted module surface, and applies the ASHRAE IAM model during this integration. This accounts for angle-dependent losses as light reflects from the ground and strikes the module at various angles. For most IAM models, UIAM,G=1U_{IAM,G} = 1 to avoid double-counting. For Physical and Custom (V09+) models, UIAM,GU_{IAM,G} is calculated via hemisphere integration over the ground-facing hemisphere. The integration uses the same projection-weighted approach as sky diffuse IAM, but integrates over the subtended by the ground as seen from the module surface: UIAM,G=groundUIAM,B(θi)cos(θi)dΩgroundcos(θi)dΩU_{IAM,G} = \frac{\int_{\text{ground}} U_{IAM,B}(\theta_i) \cos(\theta_i) \, d\Omega}{\int_{\text{ground}} \cos(\theta_i) \, d\Omega} where the integration domain covers directions below the module’s horizon (i.e., the hemisphere facing the ground). This may result in some double-counting with the ground shading model’s built-in IAM treatment.

Application to Irradiance

IAM factors are applied to irradiance components after soiling: Gbeam,IAM=Gbeam,soiled×UIAM,BG_{beam,IAM} = G_{beam,soiled} \times U_{IAM,B} Gsky,IAM=Gsky,soiled×UIAM,DG_{sky,IAM} = G_{sky,soiled} \times U_{IAM,D} Gground,IAM=Gground,soiled×UIAM,GG_{ground,IAM} = G_{ground,soiled} \times U_{IAM,G}

References

  • Souka, A. F., & Safwat, H. H. (1966). Determination of the optimum orientations for the double exposure flat-plate collector and its reflections. Solar Energy, 10(4), 170–174.
  • ASHRAE Standard 93-77. (1977). Methods of Testing to Determine the Thermal Performance of Solar Collectors. American Society of Heating, Refrigerating and Air-Conditioning Engineers.
  • King, D. L., Boyson, W. E., & Kratochvil, J. A. (2004). Photovoltaic array performance model. SAND2004-3535, Sandia National Laboratories.
  • Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed., Chapter 5). John Wiley & Sons.
  • De Soto, W. (2004). Improvement and Validation of a Model for Photovoltaic Array Performance. Master’s thesis, University of Wisconsin-Madison.
  • Marion, B. (2017). Numerical method for angle-of-incidence correction factors for diffuse radiation incident photovoltaic modules. Solar Energy, 147, 344–348.