@@ -248,7 +248,8 @@ def _townsend_effective_snow(snow_total, snow_events):
248248
249249def loss_townsend (snow_total , snow_events , surface_tilt , relative_humidity ,
250250 temp_air , poa_global , slant_height , lower_edge_height ,
251- string_factor = 1.0 , angle_of_repose = 40 ):
251+ string_factor = 1.0 , angle_of_repose = 40 ,
252+ front_side_fraction = 1.0 ):
252253 '''
253254 Calculates monthly snow loss based on the Townsend monthly snow loss
254255 model.
@@ -293,6 +294,12 @@ def loss_townsend(snow_total, snow_events, surface_tilt, relative_humidity,
293294 Piled snow angle, assumed to stabilize at 40°, the midpoint of
294295 25°-55° avalanching slope angles. [deg]
295296
297+ front_side_fraction : numeric or array-like, default 1.0
298+ Fraction of monthly energy from front-side insolation. [unitless]
299+ Multiplies the calculated loss fraction. For example,
300+ use 0.9 when 90% of monthly energy is from the front side
301+ of a bifacial system and 10% is from the rear side.
302+
296303 Returns
297304 -------
298305 loss : array-like
@@ -310,6 +317,10 @@ def loss_townsend(snow_total, snow_events, surface_tilt, relative_humidity,
310317 publication of [1]_, as described in [2]_.
311318 The definition for snow events documented above is based on [3]_.
312319
320+ For bifacial systems, [2]_ recommends including both front-side and
321+ rear-side insolation in ``poa_global``. The resulting loss is
322+ scaled by the front-side energy fraction ``front_side_fraction``.
323+
313324 References
314325 ----------
315326 .. [1] Townsend, Tim & Powers, Loren. (2011). Photovoltaics and snow: An
@@ -384,4 +395,6 @@ def loss_townsend(snow_total, snow_events, surface_tilt, relative_humidity,
384395 * string_factor
385396 )
386397
398+ loss_fraction = loss_fraction * front_side_fraction
399+
387400 return np .clip (loss_fraction , 0 , 1 )
0 commit comments