pvlib.iam.marion_integrate#
- pvlib.iam.marion_integrate(function, surface_tilt, region, num=None)[source]#
- Integrate an incidence angle modifier (IAM) function over solid angle to determine a diffuse irradiance correction factor using Marion’s method. - This lower-level function actually performs the IAM integration for the specified solid angle region. - Parameters:
- function (callable(aoi)) – The IAM function to evaluate across solid angle. The function must be vectorized and take only one parameter, the angle of incidence in degrees. 
- surface_tilt (numeric) – Surface tilt angles in decimal degrees. The tilt angle is defined as degrees from horizontal (e.g. surface facing up = 0, surface facing horizon = 90). 
- region ({'sky', 'horizon', 'ground'}) – - The region to integrate over. Must be one of: - ’sky’: radiation from the sky dome (zenith <= 90) 
- ’horizon’: radiation from the region of the sky near the horizon (89.5 <= zenith <= 90) 
- ’ground’: radiation reflected from the ground (zenith >= 90) 
 - See [1] for a detailed description of each class. 
- num (int, optional) – - The number of increments in the zenith integration. If not specified, N will follow the values used in [1]: - ’sky’ or ‘ground’: num = 180 
- ’horizon’: num = 1800 
 
 
- Returns:
- iam (numeric) – AOI diffuse correction factor for the specified region. 
 - See also - References - Examples - >>> marion_integrate(pvlib.iam.ashrae, 20, 'sky') 0.9596085829811408 - >>> from functools import partial >>> f = partial(pvlib.iam.physical, n=1.3) >>> marion_integrate(f, [20, 30], 'sky') array([0.96225034, 0.9653219 ]) 
