pvlib.shading.masking_angle(surface_tilt, gcr, slant_height)[source]

The elevation angle below which diffuse irradiance is blocked.

The height parameter determines how far up the module’s surface to evaluate the masking angle. The lower the point, the steeper the masking angle 1. SAM uses a “worst-case” approach where the masking angle is calculated for the bottom of the array (i.e. slant_height=0) 2.

  • surface_tilt (numeric) – Panel tilt from horizontal [degrees].

  • gcr (float) – The ground coverage ratio of the array [unitless].

  • slant_height (numeric) – The distance up the module’s slant height to evaluate the masking angle, as a fraction [0-1] of the module slant height [unitless].


mask_angle (numeric) – Angle from horizontal where diffuse light is blocked by the preceding row [degrees].



D. Passias and B. Källbäck, “Shading effects in rows of solar cell panels”, Solar Cells, Volume 11, Pages 281-291. 1984. DOI: 10.1016/0379-6787(84)90017-6


Gilman, P. et al., (2018). “SAM Photovoltaic Model Technical Reference Update”, NREL Technical Report NREL/TP-6A20-67399. Available at https://www.nrel.gov/docs/fy18osti/67399.pdf