diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index ade2a303fb..8f4155267e 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -63,10 +63,10 @@ def get_extra_radiation(datetime_or_doy, solar_constant=1366.1, Returns ------- dni_extra : float, array, or Series - The extraterrestrial radiation present in watts per square meter - on a surface which is normal to the sun. Pandas Timestamp and - DatetimeIndex inputs will yield a Pandas TimeSeries. All other - inputs will yield a float or an array of floats. + The extraterrestrial radiation normal to the sun. + Pandas Timestamp and DatetimeIndex inputs will yield a Pandas + TimeSeries. All other inputs will yield a float or an array of floats. + See :term:`dni_extra`. [Wm⁻²] References ---------- @@ -171,18 +171,22 @@ def aoi_projection(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth): Parameters ---------- surface_tilt : numeric - Panel tilt from horizontal. + Panel tilt from horizontal. See :term:`surface_tilt`. [°] + surface_azimuth : numeric - Panel azimuth from north. + Panel azimuth from north. See :term:`surface_azimuth`. [°] + solar_zenith : numeric - Solar zenith angle. + Solar zenith angle. See :term:`solar_zenith`. [°] + solar_azimuth : numeric - Solar azimuth angle. + Solar azimuth angle. See :term:`solar_azimuth`. [°] Returns ------- projection : numeric Dot product of panel normal and solar angle. + See :term:`aoi_projection`. """ projection = ( @@ -211,18 +215,18 @@ def aoi(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth): Parameters ---------- surface_tilt : numeric - Panel tilt from horizontal. + Panel tilt from horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Panel azimuth from north. + Panel azimuth from north. See :term:`surface_azimuth`. [°] solar_zenith : numeric - Solar zenith angle. + Solar zenith angle. See :term:`solar_zenith`. [°] solar_azimuth : numeric - Solar azimuth angle. + Solar azimuth angle. See :term:`solar_azimuth`. [°] Returns ------- aoi : numeric - Angle of incidence in degrees. + Angle of incidence, see :term:`aoi`. [°] """ projection = aoi_projection(surface_tilt, surface_azimuth, @@ -245,20 +249,20 @@ def beam_component(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth, Parameters ---------- surface_tilt : numeric - Panel tilt from horizontal. + Panel tilt from horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Panel azimuth from north. + Panel azimuth from north. See :term:`surface_azimuth`. [°] solar_zenith : numeric - Solar zenith angle. + Solar zenith angle. See :term:`solar_zenith`. [°] solar_azimuth : numeric - Solar azimuth angle. + Solar azimuth angle. See :term:`solar_azimuth`. [°] dni : numeric Direct normal irradiance, see :term:`dni`. [Wm⁻²] Returns ------- beam : numeric - Beam component + Beam component. [Wm⁻²] """ beam = dni * aoi_projection(surface_tilt, surface_azimuth, solar_zenith, solar_azimuth) @@ -293,25 +297,27 @@ def get_total_irradiance(surface_tilt, surface_azimuth, Parameters ---------- surface_tilt : numeric - Panel tilt from horizontal. [degree] + Panel tilt from horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Panel azimuth from north. [degree] + Panel azimuth from north. See :term:`surface_azimuth`. [°] solar_zenith : numeric - Solar zenith angle. [degree] + Solar zenith angle. See :term:`solar_zenith`. [°] solar_azimuth : numeric - Solar azimuth angle. [degree] + Solar azimuth angle. See :term:`solar_azimuth`. [°] dni : numeric - Direct Normal Irradiance. [W/m2] + Direct normal irradiance. See :term:`dni`. [Wm⁻²] ghi : numeric - Global horizontal irradiance. [W/m2] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] dhi : numeric - Diffuse horizontal irradiance. [W/m2] + Diffuse horizontal irradiance. See :term:`dhi`. [Wm⁻²] dni_extra : numeric, optional - Extraterrestrial direct normal irradiance. [W/m2] + Extraterrestrial direct normal irradiance. See :term:`dni_extra`. + [Wm⁻²] airmass : numeric, optional - Relative airmass (not adjusted for pressure). [unitless] + Relative airmass, not adjusted for pressure. + See :term:`airmass_relative`. [unitless] albedo : numeric, default 0.25 - Ground surface albedo. [unitless] + Ground surface albedo. See :term:`albedo`. [unitless] surface_type : str, optional Surface type. See :py:func:`~pvlib.irradiance.get_ground_diffuse` for the list of accepted values. @@ -326,7 +332,7 @@ def get_total_irradiance(surface_tilt, surface_azimuth, ------- total_irrad : OrderedDict or DataFrame Contains keys/columns ``'poa_global', 'poa_direct', 'poa_diffuse', - 'poa_sky_diffuse', 'poa_ground_diffuse'``. + 'poa_sky_diffuse', 'poa_ground_diffuse'``. [Wm⁻²] Notes ----- @@ -372,23 +378,25 @@ def get_sky_diffuse(surface_tilt, surface_azimuth, Parameters ---------- surface_tilt : numeric - Panel tilt from horizontal. [degree] + Panel tilt from horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Panel azimuth from north. [degree] + Panel azimuth from north. See :term:`surface_azimuth`. [°] solar_zenith : numeric - Solar zenith angle. [degree] + Solar zenith angle. See :term:`solar_zenith`. [°] solar_azimuth : numeric - Solar azimuth angle. [degree] + Solar azimuth angle. See :term:`solar_azimuth`. [°] dni : numeric - Direct Normal Irradiance. [W/m2] + Direct normal irradiance. See :term:`dni`. [Wm⁻²] ghi : numeric - Global horizontal irradiance. [W/m2] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] dhi : numeric - Diffuse horizontal irradiance. [W/m2] + Diffuse horizontal irradiance. See :term:`dhi`. [Wm⁻²] dni_extra : numeric, optional - Extraterrestrial direct normal irradiance. [W/m2] + Extraterrestrial direct normal irradiance. See :term:`dni_extra`. + [Wm⁻²] airmass : numeric, optional - Relative airmass (not adjusted for pressure). [unitless] + Relative airmass, not adjusted for pressure. + See :term:`airmass_relative`. [unitless] model : str, default 'isotropic' Irradiance model. Can be one of ``'isotropic'``, ``'klucher'``, ``'haydavies'``, ``'reindl'``, ``'king'``, ``'perez'``, @@ -399,7 +407,7 @@ def get_sky_diffuse(surface_tilt, surface_azimuth, Returns ------- poa_sky_diffuse : numeric - Sky diffuse irradiance in the plane of array. [W/m2] + Sky diffuse irradiance in the plane of array. [Wm⁻²] Raises ------ @@ -469,36 +477,35 @@ def poa_components(aoi, dni, poa_sky_diffuse, poa_ground_diffuse): ---------- aoi : numeric Angle of incidence of solar rays with respect to the module - surface, from :func:`aoi`. + surface, from :func:`aoi`. See :term:`aoi`. [°] dni : numeric - Direct normal irradiance (Wm⁻²), as measured from a TMY file or - calculated with a clearsky model. + Direct normal irradiance, as measured from a TMY file or + calculated with a clearsky model. See :term:`dni`. [Wm⁻²] poa_sky_diffuse : numeric - Diffuse irradiance (Wm⁻²) in the plane of the modules, as - calculated by a diffuse irradiance translation function + Diffuse irradiance in the plane of the modules, as + calculated by a diffuse irradiance translation function. [Wm⁻²] poa_ground_diffuse : numeric - Ground reflected irradiance (Wm⁻²) in the plane of the modules, - as calculated by an albedo model (eg. :func:`grounddiffuse`) + Ground reflected irradiance in the plane of the modules, + as calculated by an albedo model (eg. :func:`grounddiffuse`). [Wm⁻²] Returns ------- irrads : OrderedDict or DataFrame Contains the following keys: - * ``poa_global`` : Total in-plane irradiance (Wm⁻²) - * ``poa_direct`` : Total in-plane beam irradiance (Wm⁻²) - * ``poa_diffuse`` : Total in-plane diffuse irradiance (Wm⁻²) - * ``poa_sky_diffuse`` : In-plane diffuse irradiance from sky (Wm⁻²) + * ``poa_global`` : Total in-plane irradiance. [Wm⁻²] + * ``poa_direct`` : Total in-plane beam irradiance. [Wm⁻²] + * ``poa_diffuse`` : Total in-plane diffuse irradiance. [Wm⁻²] + * ``poa_sky_diffuse`` : In-plane diffuse irradiance from sky. [Wm⁻²] * ``poa_ground_diffuse`` : In-plane diffuse irradiance from ground - (Wm⁻²) + . [Wm⁻²] Notes ------ - Negative beam irradiation due to aoi :math:`> 90^{\circ}` or AOI - :math:`< 0^{\circ}` is set to zero. + Negative beam irradiation due to AOI > 90° or AOI < 0° is set to zero. ''' poa_direct = np.maximum(dni * np.cos(np.radians(aoi)), 0) @@ -533,18 +540,17 @@ def get_ground_diffuse(surface_tilt, ghi, albedo=.25, surface_type=None): Parameters ---------- surface_tilt : numeric - Surface tilt angles in decimal degrees. Tilt must be >=0 and - <=180. The tilt angle is defined as degrees from horizontal - (e.g. surface facing up = 0, surface facing horizon = 90). + Panel tilt from horizontal. See :term:`surface_tilt`. [°] ghi : numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] albedo : numeric, default 0.25 - Ground reflectance, typically 0.1-0.4 for surfaces on Earth + Ground surface albedo., typically 0.1-0.4 for surfaces on Earth (land), may increase over snow, ice, etc. May also be known as the reflection coefficient. Must be >=0 and <=1. Will be - overridden if ``surface_type`` is supplied. + overridden if ``surface_type`` is supplied. See :term:`albedo`. + [unitless] surface_type : string, optional If supplied, overrides ``albedo``. ``surface_type`` can be one of @@ -606,17 +612,15 @@ def isotropic(surface_tilt, dhi): Parameters ---------- surface_tilt : numeric - Surface tilt angle in decimal degrees. Tilt must be >=0 and - <=180. The tilt angle is defined as degrees from horizontal - (e.g. surface facing up = 0, surface facing horizon = 90) + Panel tilt from horizontal. See :term:`surface_tilt`. [°] dhi : numeric - Diffuse horizontal irradiance. [Wm⁻²] DHI must be >=0. + Diffuse horizontal irradiance, must be >=0. See :term:`dhi`. Returns ------- diffuse : numeric - The sky diffuse component of the solar radiation. + The sky diffuse component of the solar radiation. [Wm⁻²] References ---------- @@ -644,29 +648,24 @@ def klucher(surface_tilt, surface_azimuth, dhi, ghi, solar_zenith, Parameters ---------- surface_tilt : numeric - Surface tilt angles in decimal degrees. ``surface_tilt`` must be >=0 - and <=180. The tilt angle is defined as degrees from horizontal - (e.g. surface facing up = 0, surface facing horizon = 90) + Panel tilt from horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Surface azimuth angles in decimal degrees. ``surface_azimuth`` must - be >=0 and <=360. The Azimuth convention is defined as degrees - east of north (e.g. North = 0, South=180 East = 90, West = 270). + Panel azimuth from north. See :term:`surface_azimuth`. [°] dhi : numeric - Diffuse horizontal irradiance, must be >=0. [Wm⁻²] + Diffuse horizontal irradiance, must be >=0. See :term:`dhi`. [Wm⁻²] ghi : numeric - Global horizontal irradiance, must be >=0. [Wm⁻²] + Global horizontal irradiance, must be >=0. See :term:`ghi`. [Wm⁻²] solar_zenith : numeric - Apparent (refraction-corrected) zenith angles in decimal - degrees. ``solar_zenith`` must be >=0 and <=180. + Apparent (refraction-corrected) zenith angles. + ``solar_zenith`` must be >=0° and <=180°. See :term:`solar_zenith`. [°] solar_azimuth : numeric - Sun azimuth angles in decimal degrees. ``solar_azimuth`` must be >=0 - and <=360. The Azimuth convention is defined as degrees east of - north (e.g. North = 0, East = 90, West = 270). + Sun azimuth angles. ``solar_azimuth`` must be >=0° and <=360. See + :term:`solar_azimuth`. [°] Returns ------- @@ -749,32 +748,29 @@ def haydavies(surface_tilt, surface_azimuth, dhi, dni, dni_extra, Parameters ---------- surface_tilt : numeric - Panel tilt from the horizontal, in decimal degrees, see - :term:`surface_tilt`. + Panel tilt from the horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Surface azimuth angles in decimal degrees. The azimuth - convention is defined as degrees east of north (e.g. North=0, - South=180, East=90, West=270). + Panel azimuth from north. See :term:`surface_azimuth`. [°] dhi : numeric - Diffuse horizontal irradiance. [Wm⁻²] + Diffuse horizontal irradiance. [Wm⁻²] See :term:`dhi`. dni : numeric Direct normal irradiance, see :term:`dni`. [Wm⁻²] dni_extra : numeric - Extraterrestrial normal irradiance. [Wm⁻²] + Extraterrestrial normal irradiance, see :term:`dni_extra`. [Wm⁻²] solar_zenith : numeric, optional - Solar apparent (refraction-corrected) zenith angles in decimal - degrees. Must supply ``solar_zenith`` and ``solar_azimuth`` or - supply ``projection_ratio``. + Solar apparent (refraction-corrected) zenith angles. Must supply + ``solar_zenith`` and ``solar_azimuth``, or supply ``projection_ratio``. + See :term:`solar_zenith`. [°] solar_azimuth : numeric, optional - Solar azimuth angles in decimal degrees. Must supply - ``solar_zenith`` and ``solar_azimuth`` or supply - ``projection_ratio``. + Solar azimuth angles. Must supply ``solar_zenith`` and + ``solar_azimuth``, or supply ``projection_ratio``. See + :term:`solar_azimuth`. [°] projection_ratio : numeric, optional Ratio of angle of incidence projection to solar zenith angle @@ -794,7 +790,7 @@ def haydavies(surface_tilt, surface_azimuth, dhi, dni, dni_extra, sky_diffuse : numeric The sky diffuse component of the solar radiation on a tilted - surface. + surface. [Wm⁻²] diffuse_components : OrderedDict (array input) or DataFrame (Series input) Keys/columns are: @@ -891,39 +887,34 @@ def reindl(surface_tilt, surface_azimuth, dhi, dni, ghi, dni_extra, Parameters ---------- 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) + Panel tilt from the horizontal. See :term:`surface_tilt`. [°] surface_azimuth : numeric - Surface azimuth angles in decimal degrees. The azimuth - convention is defined as degrees east of north (e.g. North = 0, - South=180 East = 90, West = 270). + Panel azimuth from north. See :term:`surface_azimuth`. [°] dhi : numeric - diffuse horizontal irradiance. [Wm⁻²] + Diffuse horizontal irradiance. [Wm⁻²] See :term:`dhi`. dni : numeric - direct normal irradiance. [Wm⁻²] + Direct normal irradiance, see :term:`dni`. [Wm⁻²] - ghi: numeric - Global horizontal irradiance. [Wm⁻²] + ghi : numeric + Global horizontal irradiance, see :term:`ghi`. [Wm⁻²] dni_extra : numeric - Extraterrestrial normal irradiance. [Wm⁻²] + Extraterrestrial normal irradiance, see :term:`dni_extra`. [Wm⁻²] solar_zenith : numeric - Apparent (refraction-corrected) zenith angles in decimal degrees. + Solar apparent (refraction-corrected) zenith angles. + See :term:`solar_zenith`. [°] solar_azimuth : numeric - Sun azimuth angles in decimal degrees. The azimuth convention is - defined as degrees east of north (e.g. North = 0, East = 90, - West = 270). + Solar azimuth angles. See :term:`solar_azimuth`. [°] Returns ------- poa_sky_diffuse : numeric - The sky diffuse component of the solar radiation. + The sky diffuse component of the solar radiation. [Wm⁻²] Notes ----- @@ -1007,19 +998,18 @@ def king(surface_tilt, dhi, ghi, solar_zenith): Parameters ---------- - 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) + surface_tilt : numeric + Panel tilt from the horizontal. See :term:`surface_tilt`. [°] - dhi : numeric - Diffuse horizontal irradiance. [Wm⁻²] + dhi : numeric + Diffuse horizontal irradiance. See :term:`dhi`. [Wm⁻²] ghi : numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] solar_zenith : numeric - Apparent (refraction-corrected) zenith angles in decimal degrees. + Solar apparent (refraction-corrected) zenith angles. + See :term:`solar_zenith`. [°] Returns -------- @@ -1060,38 +1050,36 @@ def perez(surface_tilt, surface_azimuth, dhi, dni, dni_extra, Parameters ---------- surface_tilt : numeric - Surface tilt angles in decimal degrees. surface_tilt must be >=0 - and <=180. The tilt angle is defined as degrees from horizontal - (e.g. surface facing up = 0, surface facing horizon = 90) + Surface tilt angle, must be >=0° and <=180°. See :term:`surface_tilt`. + [°] surface_azimuth : numeric - Surface azimuth angles in decimal degrees. surface_azimuth must - be >=0 and <=360. The azimuth convention is defined as degrees - east of north (e.g. North = 0, South=180 East = 90, West = 270). + Surface azimuth angle, must be >=0° and <=360°. + See :term:`surface_azimuth`. [°] dhi : numeric - Diffuse horizontal irradiance. [Wm⁻²] DHI must be >=0. + Diffuse horizontal irradiancm, must be >=0. [Wm⁻²] dni : numeric - Direct normal irradiance. [Wm⁻²] DNI must be >=0. + Direct normal irradiancm, must be >=0. [Wm⁻²] + dni_extra : numeric Extraterrestrial normal irradiance. [Wm⁻²] solar_zenith : numeric - apparent (refraction-corrected) zenith angles in decimal - degrees. solar_zenith must be >=0 and <=180. + apparent (refraction-corrected) zenith angle, must be >=0° and <=180°. + [°] solar_azimuth : numeric - Sun azimuth angles in decimal degrees. solar_azimuth must be >=0 - and <=360. The azimuth convention is defined as degrees east of - north (e.g. North = 0, East = 90, West = 270). + Solar azimuth angle, must be >=0° and <=360°. + See :term:`solar_azimuth`. [°] airmass : numeric Relative (not pressure-corrected) airmass values. If AM is a DataFrame it must be of the same size as all other DataFrame inputs. AM must be >=0 (careful using the 1/sec(z) model of AM - generation) + generation). [unitless] model : string, default 'allsitescomposite1990' A string which selects the desired set of Perez coefficients. If @@ -1326,39 +1314,36 @@ def perez_driesse(surface_tilt, surface_azimuth, dhi, dni, dni_extra, Parameters ---------- surface_tilt : numeric - Surface tilt angles in decimal degrees. surface_tilt must be >=0 - and <=180. The tilt angle is defined as degrees from horizontal - (e.g. surface facing up = 0, surface facing horizon = 90) + Surface tilt angle, must be >=0° and <=180°. See :term:`surface_tilt`. + [°] surface_azimuth : numeric - Surface azimuth angles in decimal degrees. surface_azimuth must - be >=0 and <=360. The azimuth convention is defined as degrees - east of north (e.g. North = 0, South=180 East = 90, West = 270). + Surface azimuth angle, must be >=0° and <=360°. + See :term:`surface_azimuth`. [°] dhi : numeric - Diffuse horizontal irradiance. [Wm⁻²] dhi must be >=0. + Diffuse horizontal irradiancm, must be >=0. [Wm⁻²] dni : numeric - Direct normal irradiance. [Wm⁻²] dni must be >=0. + Direct normal irradiancm, must be >=0. [Wm⁻²] + dni_extra : numeric Extraterrestrial normal irradiance. [Wm⁻²] solar_zenith : numeric - apparent (refraction-corrected) zenith angles in decimal - degrees. solar_zenith must be >=0 and <=180. + apparent (refraction-corrected) zenith angle, must be >=0° and <=180°. + [°] solar_azimuth : numeric - Sun azimuth angles in decimal degrees. solar_azimuth must be >=0 - and <=360. The azimuth convention is defined as degrees east of - north (e.g. North = 0, East = 90, West = 270). + Solar azimuth angle, must be >=0° and <=360°. + See :term:`solar_azimuth`. [°] airmass : numeric, optional - Relative (not pressure-corrected) airmass values. If ``airmass`` is a + Relative (not pressure-corrected) airmass values. If AM is a DataFrame it must be of the same size as all other DataFrame - inputs. The kastenyoung1989 airmass calculation is used internally - and is also recommended when pre-calculating airmass because - it was used in the original model development. + inputs. AM must be >=0 (careful using the 1/sec(z) model of AM + generation). [unitless] return_components: bool (optional, default=False) Flag used to decide whether to return the calculated diffuse components @@ -1388,7 +1373,7 @@ def perez_driesse(surface_tilt, surface_azimuth, dhi, dni, dni_extra, 1990 Perez model using the ``'allsitescomposite1990'`` coefficient set. Deviations between the two are very small, as demonstrated in [1]_. Other coefficient sets are not supported because the 1990 set is - based on the largest and most diverse set of empirical data. + based on the largest and most diverse set of empirical data References ---------- @@ -1549,24 +1534,36 @@ def ghi_from_poa_driesse_2023(surface_tilt, surface_azimuth, Parameters ---------- surface_tilt : numeric - Panel tilt from horizontal. [degree] + Panel tilt from horizontal. See :term:`surface_tilt`. [°] + surface_azimuth : numeric - Panel azimuth from north. [degree] + Panel azimuth from north. See :term:`surface_azimuth`. [°] + solar_zenith : numeric - Solar zenith angle. [degree] + Solar zenith angle. See :term:`solar_zenith`. [°] + solar_azimuth : numeric - Solar azimuth angle. [degree] + Solar azimuth angle. See :term:`solar_azimuth`. [°] + poa_global : numeric - Plane-of-array global irradiance, aka global tilted irradiance. [Wm⁻²] + Plane-of-array global irradiance, aka global tilted irradiance. + See :term:`poa_global`. [Wm⁻²] + dni_extra : numeric - Extraterrestrial direct normal irradiance. [Wm⁻²] + Extraterrestrial direct normal irradiance. See :Term:`dni_extra`. + [Wm⁻²] + airmass : numeric, optional - Relative airmass (not adjusted for pressure). [unitless] + Relative airmass (not adjusted for pressure). See + :term:`airmass_relative`. [unitless] + albedo : numeric, default 0.25 - Ground surface albedo. [unitless] + Ground surface albedo. See :term:`albedo`. [unitless] + xtol : numeric, default 0.01 Convergence criterion. The estimated GHI will be within xtol of the true value. Must be positive. [Wm⁻²] + full_output : boolean, default False If full_output is False, only ghi is returned, otherwise the return value is (ghi, converged, niter). (see Returns section for details). @@ -1574,7 +1571,7 @@ def ghi_from_poa_driesse_2023(surface_tilt, surface_azimuth, Returns ------- ghi : numeric - Estimated GHI. [Wm⁻²] + Estimated global horizontal irradiance. See :term:`ghi`. [Wm⁻²] converged : boolean, optional Present if full_output=True. Indicates which elements converged successfully. @@ -1638,22 +1635,22 @@ def clearsky_index(ghi, ghi_clear, max_clearsky_index=2.0): Parameters ---------- ghi : numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] ghi_clear : numeric - Modeled clearsky GHI + Modeled clearsky GHI. See :term:`ghi_clear`. [Wm⁻²] .. versionchanged:: 0.11.2 Renamed from ``ghi_clearsky`` to ``ghi_clear``. max_clearsky_index : numeric, default 2.0 Maximum value of the clearsky index. The default, 2.0, allows - for over-irradiance events typically seen in sub-hourly data. + for over-irradiance events typically seen in sub-hourly data Returns ------- clearsky_index : numeric - Clearsky index + Clearsky index. [unitless] """ clearsky_index = ghi / ghi_clear # set +inf, -inf, and nans to zero @@ -1684,28 +1681,29 @@ def clearness_index(ghi, solar_zenith, extra_radiation, min_cos_zenith=0.065, Parameters ---------- ghi : numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] solar_zenith : numeric - True (not refraction-corrected) solar zenith angle in decimal - degrees. + True (not refraction-corrected) solar zenith angle. + See :term:`solar_zenith`. [°] extra_radiation : numeric - Irradiance incident at the top of the atmosphere + Irradiance incident at the top of the atmosphere. See + :term:`dni_extra`. [Wm⁻²] min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index `kt`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. max_clearness_index : numeric, default 2.0 Maximum value of the clearness index. The default, 2.0, allows - for over-irradiance events typically seen in sub-hourly data. + for over-irradiance events typically seen in sub-hourly data NREL's SRRL Fortran code used 0.82 for hourly data. Returns ------- kt : numeric - Clearness index + Clearness index. [unitless] References ---------- @@ -1737,20 +1735,20 @@ def clearness_index_zenith_independent(clearness_index, airmass, ---------- clearness_index : numeric Ratio of global to extraterrestrial irradiance on a horizontal - plane + plane. [unitless] airmass : numeric - Airmass + Airmass. See :term:`relative_airmass`. [unitless] max_clearness_index : numeric, default 2.0 Maximum value of the clearness index. The default, 2.0, allows - for over-irradiance events typically seen in sub-hourly data. - NREL's SRRL Fortran code used 0.82 for hourly data. + for over-irradiance events typically seen in sub-hourly data + NREL's SRRL Fortran code used 0.82 for hourly data Returns ------- kt_prime : numeric - Zenith independent clearness index + Zenith-independent clearness index. [unitless] References ---------- @@ -1797,32 +1795,33 @@ def disc(ghi, solar_zenith, datetime_or_doy, pressure=101325, Parameters ---------- ghi : numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] solar_zenith : numeric - True (not refraction-corrected) solar zenith angles in decimal - degrees. + True (not refraction-corrected) solar zenith angles. See + :term:`solar_zenith`. [°] datetime_or_doy : int, float, array, pd.DatetimeIndex Day of year or array of days of year e.g. pd.DatetimeIndex.dayofyear, or pd.DatetimeIndex. pressure : numeric or None, default 101325 - Site pressure in Pascal. Uses absolute (pressure-corrected) airmass - by default. Set to ``None`` to use relative airmass. + Site pressure. Uses absolute (pressure-corrected) airmass + by default. Set to ``None`` to use relative airmass. See + :term:`pressure`. [Pa] min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index `kt`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. max_zenith : numeric, default 87 Maximum value of zenith to allow in DNI calculation. DNI will be - set to 0 for times with zenith values greater than `max_zenith`. + set to 0 for times with zenith values greater than `max_zenith`. [°] max_airmass : numeric, default 12 Maximum value of the airmass to allow in Kn calculation. Default value (12) comes from range over which Kn was fit - to airmass in the original paper. + to airmass in the original paper. [unitless] Returns ------- @@ -1830,11 +1829,11 @@ def disc(ghi, solar_zenith, datetime_or_doy, pressure=101325, Contains the following keys: * ``dni``: The modeled direct normal irradiance - in Wm⁻² provided by the - Direct Insolation Simulation Code (DISC) model. + provided by the Direct Insolation Simulation Code (DISC) model. + [Wm⁻²] * ``kt``: Ratio of global to extraterrestrial - irradiance on a horizontal plane. - * ``airmass``: Airmass + irradiance on a horizontal plane. [unitless] + * ``airmass``: Airmass. [unitless] References ---------- @@ -1943,17 +1942,18 @@ def dirint(ghi, solar_zenith, times, pressure=101325., use_delta_kt_prime=True, Parameters ---------- ghi : array-like - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] solar_zenith : array-like - True (not refraction-corrected) solar_zenith angles in decimal - degrees. + True (not refraction-corrected) solar zenith angles. See + :term:`solar_zenith`. [°] times : DatetimeIndex pressure : float or array-like, default 101325.0 - The site pressure in Pascal. Pressure may be measured or an - average pressure may be calculated from site altitude. + The site air pressure. Pressure may be measured or an + average pressure may be calculated from site altitude. See + :term:`pressure`. [Pa] use_delta_kt_prime : bool, default True If True, indicates that the stability index delta_kt_prime is @@ -1964,25 +1964,25 @@ def dirint(ghi, solar_zenith, times, pressure=101325., use_delta_kt_prime=True, input data must be Series. temp_dew : float, or array-like, optional - Surface dew point temperatures, in degrees C. Values of temp_dew + Surface dew point temperatures, in. Values of ``temp_dew`` may be numeric or NaN. Any single time period point with a temp_dew=NaN does not have dew point improvements applied. If - temp_dew is not provided, then dew point improvements are not - applied. + ``temp_dew`` is not provided, then dew point improvements are not + applied. See :term:`temp_dew`. [°C] min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index `kt`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. [°] max_zenith : numeric, default 87 Maximum value of zenith to allow in DNI calculation. DNI will be - set to 0 for times with zenith values greater than `max_zenith`. + set to 0 for times with zenith values greater than ``max_zenith``. [°] Returns ------- dni : array-like - The modeled direct normal irradiance in Wm⁻² provided by the - DIRINT model. + The modeled direct normal irradiance, as provided by the + DIRINT model. [Wm⁻²] Notes ----- @@ -2082,9 +2082,9 @@ def _dirint_coeffs(times, kt_prime, solar_zenith, w, delta_kt_prime): Parameters ---------- times : pd.DatetimeIndex - kt_prime : Zenith-independent clearness index - solar_zenith : Solar zenith angle - w : precipitable water estimated from surface dew-point temperature + kt_prime : Zenith-independent clearness index. [unitless] + solar_zenith : Solar zenith angle. [°] + w : precipitable water estimated from surface dew-point temperature. [cm] delta_kt_prime : stability index Returns @@ -2195,30 +2195,33 @@ def dirindex(ghi, ghi_clear, dni_clear, zenith, times, pressure=101325., Parameters ---------- ghi : array-like - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] ghi_clear : array-like - Global horizontal irradiance from clear sky model. [Wm⁻²] + Global horizontal irradiance from clear sky model. See + :term:`ghi_clear`. [Wm⁻²] .. versionchanged:: 0.11.2 Renamed from ``ghi_clearsky`` to ``ghi_clear``. dni_clear : array-like - Direct normal irradiance from clear sky model. [Wm⁻²] + Direct normal irradiance from clear sky model. See + :term:`dni_clear`. [Wm⁻²] .. versionchanged:: 0.11.2 Renamed from ``dni_clearsky`` to ``dni_clear``. zenith : array-like - True (not refraction-corrected) zenith angles in decimal - degrees. If Z is a vector it must be of the same size as all - other vector inputs. Z must be >=0 and <=180. + True (not refraction-corrected) zenith angles, must be >=0° and <=180°. + If ``zenith`` is a vector, it must be of the same size as all other + vector inputs. See :term`solar_zenith`. [°] times : DatetimeIndex pressure : float or array-like, default 101325.0 - The site pressure in Pascal. Pressure may be measured or an - average pressure may be calculated from site altitude. + The site air pressure. Pressure may be measured or an + average pressure may be calculated from site altitude. See + :term:`pressure`. [Pa] use_delta_kt_prime : bool, default True If True, indicates that the stability index delta_kt_prime is @@ -2246,7 +2249,7 @@ def dirindex(ghi, ghi_clear, dni_clear, zenith, times, pressure=101325., Returns ------- dni : array-like - The modeled direct normal irradiance. [Wm⁻²] + The modeled direct normal irradiance. See :term:`dni`. [Wm⁻²] Notes ----- @@ -2298,35 +2301,32 @@ def gti_dirint(poa_global, aoi, solar_zenith, solar_azimuth, times, Parameters ---------- poa_global : array-like - Plane of array global irradiance. [Wm⁻²] + Plane of array global irradiance. See :term:`poa_global`. [Wm⁻²] aoi : array-like Angle of incidence of solar rays with respect to the module - surface normal. + surface normal. See :term:`aoi`. [°] solar_zenith : array-like True (not refraction-corrected) solar zenith angles in decimal - degrees. + degrees. See :term:`solar_zenith`. [°] solar_azimuth : array-like - Solar azimuth angles in decimal degrees. + Solar azimuth angles. See :term:`solar_azimuth`. [°] times : DatetimeIndex Time indices for the input array-like data. surface_tilt : numeric - Surface tilt angles in decimal degrees. Tilt must be >=0 and - <=180. The tilt angle is defined as degrees from horizontal - (e.g. surface facing up = 0, surface facing horizon = 90). + Surface tilt angle, see :term:`surface_tilt`. [°] surface_azimuth : numeric - Surface azimuth angles in decimal degrees. surface_azimuth must - be >=0 and <=360. The Azimuth convention is defined as degrees - east of north (e.g. North = 0, South=180 East = 90, West = 270). + Surface azimuth angles, see :term:`surface_azimuth`. [°] pressure : numeric, default 101325.0 The site pressure in Pascal. Pressure may be measured or an - average pressure may be calculated from site altitude. + average pressure may be calculated from site altitude. See + :term:`pressure`. [Pa] use_delta_kt_prime : bool, default True If True, indicates that the stability index delta_kt_prime is @@ -2337,14 +2337,14 @@ def gti_dirint(poa_global, aoi, solar_zenith, solar_azimuth, times, input data must be Series. temp_dew : float, or array-like, optional - Surface dew point temperatures, in degrees C. Values of temp_dew + Surface dew point temperature. Values of ``temp_dew`` may be numeric or NaN. Any single time period point with a temp_dew=NaN does not have dew point improvements applied. If temp_dew is not provided, then dew point improvements are not - applied. + applied. See :term:`temp_dew`. [°C] albedo : numeric, default 0.25 - Ground surface albedo. [unitless] + Ground surface albedo. See :term:`albedo`. [unitless] model : String, default 'perez' Irradiance model. See :py:func:`get_sky_diffuse` for allowed values. @@ -2367,8 +2367,7 @@ def gti_dirint(poa_global, aoi, solar_zenith, solar_azimuth, times, * ``ghi``: the modeled global horizontal irradiance. [Wm⁻²] * ``dni``: the modeled direct normal irradiance. [Wm⁻²] - * ``dhi``: the modeled diffuse horizontal irradiance in - Wm⁻². + * ``dhi``: the modeled diffuse horizontal irradiance. [Wm⁻²] References ---------- @@ -2644,18 +2643,19 @@ def erbs(ghi, zenith, datetime_or_doy, min_cos_zenith=0.065, max_zenith=87): Parameters ---------- ghi: numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] zenith: numeric - True (not refraction-corrected) zenith angles in decimal degrees. + True (not refraction-corrected) zenith angles. See + :term:`solar_zenith`. [°] datetime_or_doy : int, float, array, pd.DatetimeIndex Day of year or array of days of year e.g. pd.DatetimeIndex.dayofyear, or pd.DatetimeIndex. min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index `kt`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. max_zenith : numeric, default 87 Maximum value of zenith to allow in DNI calculation. DNI will be - set to 0 for times with zenith values greater than `max_zenith`. + set to 0 for times with zenith values greater than `max_zenith`. [°] Returns ------- @@ -2663,10 +2663,9 @@ def erbs(ghi, zenith, datetime_or_doy, min_cos_zenith=0.065, max_zenith=87): Contains the following keys/columns: * ``dni``: the modeled direct normal irradiance. [Wm⁻²] - * ``dhi``: the modeled diffuse horizontal irradiance in - Wm⁻². + * ``dhi``: the modeled diffuse horizontal irradiance [Wm⁻²]. * ``kt``: Ratio of global to extraterrestrial irradiance - on a horizontal plane. + on a horizontal plane. [unitless] References ---------- @@ -2742,23 +2741,30 @@ def erbs_driesse(ghi, zenith, datetime_or_doy=None, dni_extra=None, Parameters ---------- ghi: numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] + zenith: numeric - True (not refraction-corrected) zenith angles in decimal degrees. + True (not refraction-corrected) zenith angles. See + :term:`solar_zenith`. [°] + datetime_or_doy : int, float, array or pd.DatetimeIndex, optional Day of year or array of days of year e.g. pd.DatetimeIndex.dayofyear, or pd.DatetimeIndex. Either datetime_or_doy or dni_extra must be provided. + dni_extra : numeric, optional Extraterrestrial normal irradiance. - dni_extra can be provided if available to avoid recalculating it + ``dni_extra`` can be provided if available to avoid recalculating it inside this function. In this case datetime_or_doy is not required. + See :term:`dni_extra`. [Wm⁻²] + min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index `kt`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. + max_zenith : numeric, default 87 Maximum value of zenith to allow in DNI calculation. DNI will be - set to 0 for times with zenith values greater than `max_zenith`. + set to 0 for times with zenith values greater than `max_zenith`. [°] Returns ------- @@ -2766,15 +2772,14 @@ def erbs_driesse(ghi, zenith, datetime_or_doy=None, dni_extra=None, Contains the following keys/columns: * ``dni``: the modeled direct normal irradiance. [Wm⁻²] - * ``dhi``: the modeled diffuse horizontal irradiance in - Wm⁻². + * ``dhi``: the modeled diffuse horizontal irradiance [Wm⁻²]. * ``kt``: Ratio of global to extraterrestrial irradiance - on a horizontal plane. + on a horizontal plane. [unitless] Raises ------ ValueError - If neither datetime_or_doy nor dni_extra is provided. + If neither ``datetime_or_doy`` nor ``dni_extra`` is provided. Notes ----- @@ -2863,20 +2868,30 @@ def orgill_hollands(ghi, zenith, datetime_or_doy, dni_extra=None, Parameters ---------- ghi: numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] + zenith: numeric - True (not refraction-corrected) zenith angles in decimal degrees. - datetime_or_doy : int, float, array, pd.DatetimeIndex + True (not refraction-corrected) zenith angles. See + :term:`solar_zenith`. [°] + + datetime_or_doy : int, float, array or pd.DatetimeIndex, optional Day of year or array of days of year e.g. pd.DatetimeIndex.dayofyear, or pd.DatetimeIndex. + Either datetime_or_doy or dni_extra must be provided. + dni_extra : numeric, optional - Extraterrestrial direct normal irradiance. [W/m2] + Extraterrestrial normal irradiance. + ``dni_extra`` can be provided if available to avoid recalculating it + inside this function. In this case datetime_or_doy is not required. + See :term:`dni_extra`. [Wm⁻²] + min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index `kt`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. + max_zenith : numeric, default 87 Maximum value of zenith to allow in DNI calculation. DNI will be - set to 0 for times with zenith values greater than `max_zenith`. + set to 0 for times with zenith values greater than `max_zenith`. [°] Returns ------- @@ -2884,10 +2899,9 @@ def orgill_hollands(ghi, zenith, datetime_or_doy, dni_extra=None, Contains the following keys/columns: * ``dni``: the modeled direct normal irradiance. [Wm⁻²] - * ``dhi``: the modeled diffuse horizontal irradiance in - Wm⁻². + * ``dhi``: the modeled diffuse horizontal irradiance [Wm⁻²]. * ``kt``: Ratio of global to extraterrestrial irradiance - on a horizontal plane. + on a horizontal plane. [unitless] References ---------- @@ -2956,22 +2970,29 @@ def boland(ghi, solar_zenith, datetime_or_doy, a_coeff=8.645, b_coeff=0.613, Parameters ---------- ghi: numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] + solar_zenith: numeric - True (not refraction-corrected) zenith angles in decimal degrees. - datetime_or_doy : numeric, pandas.DatetimeIndex - Day of year or array of days of year e.g. - pd.DatetimeIndex.dayofyear, or pd.DatetimeIndex. + True (not refraction-corrected) zenith angles. See + :term:`solar_zenith`. [°] + + datetime_or_doy : numeric or pd.DatetimeIndex. + Day of year or array of days of year e.g. pd.DatetimeIndex.dayofyear, + or pd.DatetimeIndex. + a_coeff : float, default 8.645 Logistic curve fit coefficient. + b_coeff : float, default 0.613 Logistic curve fit coefficient. + min_cos_zenith : numeric, default 0.065 Minimum value of cos(zenith) to allow when calculating global - clearness index :math:`k_t`. Equivalent to zenith = 86.273 degrees. + clearness index `kt`. Equivalent to zenith = 86.273°. + max_zenith : numeric, default 87 Maximum value of zenith to allow in DNI calculation. DNI will be - set to 0 for times with zenith values greater than `max_zenith`. + set to 0 for times with zenith values greater than `max_zenith`. [°] Returns ------- @@ -2979,10 +3000,9 @@ def boland(ghi, solar_zenith, datetime_or_doy, a_coeff=8.645, b_coeff=0.613, Contains the following keys/columns: * ``dni``: the modeled direct normal irradiance. [Wm⁻²] - * ``dhi``: the modeled diffuse horizontal irradiance in - Wm⁻². + * ``dhi``: the modeled diffuse horizontal irradiance. [Wm⁻²] * ``kt``: Ratio of global to extraterrestrial irradiance - on a horizontal plane. + on a horizontal plane. [unitless] References ---------- @@ -3052,24 +3072,25 @@ def campbell_norman(zenith, transmittance, pressure=101325.0, Parameters ---------- zenith: pd.Series - True (not refraction-corrected) zenith angles in decimal - degrees. If Z is a vector it must be of the same size as all - other vector inputs. Z must be >=0 and <=180. + True (not refraction-corrected) zenith angles, must be >=0° and <=180°. + If ``zenith`` is a vector, it must be of the same size as all other + vector inputs. [°] transmittance: float Atmospheric transmittance between 0 and 1. pressure: float, default 101325.0 - Air pressure + Air pressure. See :term:`pressure`. [Pa] dni_extra: float, default 1367.0 Direct irradiance incident at the top of the atmosphere. + See :term:`dni_extra`. [Wm⁻²] Returns ------- irradiance: DataFrame Modeled direct normal irradiance, direct horizontal irradiance, - and global horizontal irradiance in Wm⁻² + and global horizontal irradiance. [Wm⁻²] References ---------- @@ -3111,7 +3132,7 @@ def _liujordan(zenith, transmittance, airmass, dni_extra=1367.0): zenith: pd.Series True (not refraction-corrected) zenith angles in decimal degrees. If Z is a vector it must be of the same size as all - other vector inputs. Z must be >=0 and <=180. + other vector inputs. ``zenith`` must be >=0° and <=180°. transmittance: float Atmospheric transmittance between 0 and 1. @@ -3678,17 +3699,17 @@ def dni(ghi, dhi, zenith, dni_clear=None, clearsky_tolerance=1.1, Parameters ---------- ghi : Series - Global horizontal irradiance. + Global horizontal irradiance. See :term:`ghi`. [Wm⁻²] dhi : Series - Diffuse horizontal irradiance. + Diffuse horizontal irradiance. See :term:`dhi`. [Wm⁻²] zenith : Series - True (not refraction-corrected) zenith angles in decimal - degrees. Angles must be >=0 and <=180. + True (not refraction-corrected) zenith angles, must be >=0° and <=180°. + See :term:`solar_zenith`. dni_clear : Series, optional - Clearsky direct normal irradiance. [Wm⁻²] + Clearsky direct normal irradiance. See :term:`dni_clear`. [Wm⁻²] .. versionchanged:: 0.11.2 Renamed from ``clearsky_dni`` to ``dni_clear``. @@ -3712,7 +3733,7 @@ def dni(ghi, dhi, zenith, dni_clear=None, clearsky_tolerance=1.1, Returns ------- dni : Series - The modeled direct normal irradiance. + The modeled direct normal irradiance. See :Term:`dni`. [Wm⁻²] """ # calculate DNI @@ -3757,29 +3778,38 @@ def complete_irradiance(solar_zenith, Parameters ---------- - solar_zenith : Series - Zenith angles in decimal degrees, with datetime index. - Angles must be >=0 and <=180. Must have the same datetime index - as ghi, dhi, and dni series, when available. + solar_zenith : series + Solar zenith angle, with datetime index. + Angles must be >=0° and <=180°. Must have the same datetime index + as ``ghi``, ``dhi``, and ``dni`` series, when available. + See :term:`solar_zenith`. [°] + ghi : Series, optional - Pandas series of dni data, with datetime index. Must have the same - datetime index as dni, dhi, and zenith series, when available. + Pandas series of dni data [Wm⁻²], with datetime index. Must have the + same datetime index as dni, dhi, and zenith series, when available. + See :term:`ghi`. [Wm⁻²] + dhi : Series, optional - Pandas series of dni data, with datetime index. Must have the same - datetime index as ghi, dni, and zenith series, when available. + Diffuse horizontal irradiance, with datetime index. Must have the + same datetime index as ``ghi``, ``dhi``, and ``solar_zenith``, when + available. See :term:`dhi`. [Wm⁻²] + dni : Series, optional - Pandas series of dni data, with datetime index. Must have the same - datetime index as ghi, dhi, and zenith series, when available. + Pandas series of dni data [Wm⁻²], with datetime index. Must have the + same datetime index as ghi, dhi, and zenith series, when available. + See :term:`dni`. [Wm⁻²] + dni_clear : Series, optional Pandas series of clearsky dni data [Wm⁻²]. Must have the same datetime index as ghi, dhi, dni, and zenith series, when available. See - :py:func:`dni` for details. + :py:func:`dni` for details. [Wm⁻²] Returns ------- component_sum_df : Dataframe Pandas series of 'ghi', 'dhi', and 'dni' columns with datetime index """ + if ghi is not None and dhi is not None and dni is None: dni = pvlib.irradiance.dni(ghi, dhi, solar_zenith, dni_clear=dni_clear, @@ -3808,11 +3838,11 @@ def louche(ghi, solar_zenith, datetime_or_doy, max_zenith=90): Parameters ---------- ghi : numeric - Global horizontal irradiance. [Wm⁻²] + Global horizontal irradiance, see :term:`ghi`. [Wm⁻²] solar_zenith : numeric - True (not refraction-corrected) zenith angles in decimal - degrees. Angles must be >=0 and <=90. + True (not refraction-corrected) zenith angle. + Angles must be >=0° and <=90°. See :term:`solar_zenith`. [°] datetime_or_doy : numeric, pandas.DatetimeIndex Day of year or array of days of year e.g. @@ -3823,11 +3853,12 @@ def louche(ghi, solar_zenith, datetime_or_doy, max_zenith=90): data: OrderedDict or DataFrame Contains the following keys/columns: - * ``dni``: the modeled direct normal irradiance. [Wm⁻²] - * ``dhi``: the modeled diffuse horizontal irradiance in - Wm⁻². - * ``kt``: Ratio of global to extraterrestrial irradiance - on a horizontal plane. + * ``dni``: the modeled direct normal irradiance, see :term:`dni`. + [Wm⁻²] + * ``dhi``: the modeled diffuse horizontal irradiance, see :term:`dhi`. + [Wm⁻²] + * ``kt``: Clearness index. Ratio of global to + extraterrestrial irradiance on a horizontal plane. [unitless] References ------- @@ -3872,22 +3903,22 @@ def diffuse_par_spitters(daily_solar_zenith, global_diffuse_fraction): .. note:: The diffuse fraction is defined as the ratio of - diffuse to global daily insolation, in J m⁻² day⁻¹ or equivalent. + diffuse to global daily insolation, in Jm⁻² day⁻¹ or equivalent. Parameters ---------- daily_solar_zenith : numeric - Average daily solar zenith angle. In degrees [°]. + Average daily solar zenith angle. See :term:`solar_zenith`. [°] global_diffuse_fraction : numeric - Fraction of daily global broadband insolation that is diffuse. - Unitless [0, 1]. + Fraction of daily global broadband insolation that is diffuse, between + 0 and 1. [unitless] Returns ------- par_diffuse_fraction : numeric Fraction of daily photosynthetically active radiation (PAR) that is - diffuse. Unitless [0, 1]. + diffuse, between 0 and 1. [unitless] Notes -----