pvlib.shading.shaded_fraction1d#
- pvlib.shading.shaded_fraction1d(solar_zenith, solar_azimuth, axis_azimuth, shaded_row_rotation, *, collector_width, pitch, axis_slope=0, surface_to_axis_offset=0, cross_axis_slope=0, shading_row_rotation=None)[source]#
- Shaded fraction in the vertical dimension of tilted rows, or perpendicular to the axis of horizontal rows. - If - shading_row_rotationisn’t provided, it is assumed that both the shaded row and the shading row (the one blocking the direct beam) have the same rotation and azimuth values.- Warning - The function assumes that the roles of the shaded and shading rows remain the same during the day. In the case where the shading and shaded rows change throughout the day, e.g. a N-S single-axis tracker, the inputs must be switched depending on the sign of the projected solar zenith angle. See the Examples section below. - Added in version 0.11.0. - Parameters:
- solar_zenith (numeric) – Solar zenith angle, in degrees. 
- solar_azimuth (numeric) – Solar azimuth angle, in degrees. 
- axis_azimuth (numeric) – Axis azimuth of the rotation axis of a tracker, in degrees. Fixed-tilt arrays can be considered as a particular case of a tracker. North=0º, South=180º, East=90º, West=270º. 
- shaded_row_rotation (numeric) – Right-handed rotation of the row receiving the shade, with respect to - axis_azimuth. In degrees \(^{\circ}\).
- collector_width (numeric) – Vertical length of a tilted row. The returned - shaded_fractionis the ratio of the shadow over this value.
- pitch (numeric) – Axis-to-axis horizontal spacing of the row. 
- axis_slope (numeric, default 0) – - Tilt of the rows axis from horizontal. In degrees \(^{\circ}\). - Changed in version 0.13.1: Renamed from - axis_tiltto- axis_slope
- surface_to_axis_offset (numeric, default 0) – Distance between the rotating axis and the collector surface. May be used to account for a torque tube offset. 
- cross_axis_slope (numeric, default 0) – - Angle of the plane containing the rows’ axes relative to horizontal. Right-handed rotation with respect to the rows axes. See cross_axis_slope. In degrees \(^{\circ}\). - Changed in version 0.13.1: Renamed from - cross_axis_tiltto- cross_axis_slope
- shading_row_rotation (numeric, optional) – Right-handed rotation of the row casting the shadow, with respect to the row axis. In degrees \(^{\circ}\). 
 
- Returns:
- shaded_fraction (numeric) – The fraction of the collector width shaded by an adjacent row. A value of 1 is completely shaded and 0 is no shade. 
 - Notes - All length parameters must have the same units. - Parameters are defined as follow:   - Figure 3 of [1]. See correspondence between this nomenclature and the function parameters in the table below.# - Symbol - Parameter - Units - \(\theta_1\) - shading_row_rotation- Degrees \(^{\circ}\) - \(\theta_2\) - shaded_row_rotation- \(\beta_c\) - cross_axis_slope- \(p\) - pitch- Any consistent length unit across all these parameters, e.g. \(m\). - \(\ell\) - collector_width- \(z_0\) - surface_to_axis_offset- \(f_s\) - Return value - Dimensionless - Examples - Fixed-tilt south-facing array on flat terrain - Tilted row with a pitch of 3 m, a collector width of 2 m, and row rotations of 30°. In the morning. - >>> shaded_fraction1d(solar_zenith=80, solar_azimuth=135, ... axis_azimuth=90, shaded_row_rotation=30, shading_row_rotation=30, ... collector_width=2, pitch=3, axis_slope=0, ... surface_to_axis_offset=0.05, cross_axis_slope=0) 0.47755694708090535 - Fixed-tilt north-facing array on sloped terrain - Tilted row with a pitch of 4 m, a collector width of 2.5 m, and row rotations of 50° for the shaded row and 30° for the shading row. The rows are on a 10° slope, where their axis is on the most inclined direction (zero cross-axis slope). Shaded in the morning. - >>> shaded_fraction1d(solar_zenith=80, solar_azimuth=75.5, ... axis_azimuth=270, shaded_row_rotation=50, shading_row_rotation=30, ... collector_width=2.5, pitch=4, axis_slope=10, ... surface_to_axis_offset=0.05, cross_axis_slope=0) 0.793244836197256 - N-S single-axis tracker on sloped terrain - Horizontal trackers with a pitch of 3 m, a collector width of 1.4 m, and tracker rotations of 30° pointing east, in the morning. Terrain slope is 7° west-east (east-most tracker is higher than the west-most tracker). - >>> shaded_fraction1d(solar_zenith=80, solar_azimuth=90, axis_azimuth=180, ... shaded_row_rotation=-30, collector_width=1.4, pitch=3, ... axis_slope=0, surface_to_axis_offset=0.10, cross_axis_slope=7) 0.8242176864434579 - Note the previous example only is valid for the shaded fraction of the west-most tracker in the morning, and assuming it is the shaded tracker during all the day is incorrect. During the afternoon, it is the one casting the shadow onto the east-most tracker. - To calculate the shaded fraction for the east-most tracker, you must input the corresponding - shaded_row_rotationin the afternoon.- >>> shaded_fraction1d(solar_zenith=80, solar_azimuth=270, axis_azimuth=180, ... shaded_row_rotation=30, collector_width=1.4, pitch=3, axis_slope=0, ... surface_to_axis_offset=0.10, cross_axis_slope=7) 0.018002567182254348 - You must switch the input/output depending on the sign of the projected solar zenith angle. See - projected_solar_zenith_angle()and the example Shaded fraction of a horizontal single-axis tracker- References 
Examples using pvlib.shading.shaded_fraction1d#
 
Shaded fraction of a horizontal single-axis tracker
 
Modelling shading losses in modules with bypass diodes
