Skip to content

Commit 64d217f

Browse files
committed
Merge branch 'main' into reference_styleguide
2 parents 677f886 + 4cfda4a commit 64d217f

File tree

8 files changed

+221
-146
lines changed

8 files changed

+221
-146
lines changed

docs/sphinx/source/whatsnew.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ What's New
66

77
These are new features and improvements of note in each release.
88

9+
.. include:: whatsnew/v0.11.2.rst
910
.. include:: whatsnew/v0.11.1.rst
1011
.. include:: whatsnew/v0.11.0.rst
1112
.. include:: whatsnew/v0.10.5.rst
Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,40 @@
11
.. _whatsnew_01110:
22

33

4-
v0.11.1 (Anticipated Sep, 2024)
5-
-------------------------------
6-
7-
Deprecations
8-
~~~~~~~~~~~~
9-
4+
v0.11.1 (September 26, 2024)
5+
----------------------------
106

117
Enhancements
128
~~~~~~~~~~~~
139
* Add new function to calculate the average photon energy,
14-
:py:func:`pvlib.spectrum.average_photon_energy`.
10+
:py:func:`~pvlib.spectrum.average_photon_energy`.
1511
(:issue:`2135`, :pull:`2140`)
1612
* Add new losses function that accounts for non-uniform irradiance on bifacial
17-
modules, :py:func:`pvlib.bifacial.power_mismatch_deline`.
13+
modules, :py:func:`~pvlib.bifacial.power_mismatch_deline`.
1814
(:issue:`2045`, :pull:`2046`)
1915
* Add new parameters for min/max absolute air mass to
20-
:py:func:`pvlib.spectrum.spectral_factor_firstsolar`.
16+
:py:func:`~pvlib.spectrum.spectral_factor_firstsolar`.
2117
(:issue:`2086`, :pull:`2100`)
2218
* Add ``roll_utc_offset`` and ``coerce_year`` arguments to
23-
:py:func:`pvlib.iotools.get_pvgis_tmy` to allow user to specify time zone,
19+
:py:func:`~pvlib.iotools.get_pvgis_tmy` to allow user to specify time zone,
2420
rotate indices of TMY to begin at midnight, and force indices to desired
2521
year. (:issue:`2139`, :pull:`2138`)
2622
* Restructured the pvlib/spectrum folder by breaking up the contents of
2723
pvlib/spectrum/mismatch.py into pvlib/spectrum/mismatch.py,
2824
pvlib/spectrum/irradiance.py, and
2925
pvlib/spectrum/response.py. (:issue:`2125`, :pull:`2136`, :pull:`2151`)
3026
* Added function for calculating wind speed at different heights,
31-
:py:func:`pvlib.atmosphere.windspeed_powerlaw`.
27+
:py:func:`~pvlib.atmosphere.windspeed_powerlaw`.
3228
(:issue:`2118`, :pull:`2124`)
29+
* ``delta_t`` can now be specified with an array in the SPA functions.
30+
The numba implementation now also allows calculation of ``delta_t``
31+
internally. (:issue:`2189`, :pull:`2190`)
3332
* The multithreaded SPA functions no longer emit a warning when calculating
3433
solar positions for short time series. (:pull:`2170`)
35-
* Implemented closed-form solution for alpha in :py:func:`pvlib.clearsky.detect_clearsky`,
36-
obviating the call to scipy.optimize that was prone to runtime errors and minimizing
34+
* Implemented closed-form solution for alpha in :py:func:`~pvlib.clearsky.detect_clearsky`,
35+
obviating the call to scipy.optimize, which was prone to runtime errors, and minimizing
3736
computation. (:issue:`2171`, :issue:`2216`, :pull:`2217`).
3837

39-
4038
Bug fixes
4139
~~~~~~~~~
4240
* To prevent simulation output from differing slightly based on the time zone
@@ -58,27 +56,27 @@ Testing
5856
* Updated the tests for :py:func:`~pvlib.iotools.get_pvgis_tmy`
5957
and :py:func:`~pvlib.iotools.read_pvgis_tmy` as the default
6058
API endpoint has changed from 5.1 to 5.2. (:pull:`2222`)
61-
59+
* Removed unused ``times`` input from ``dni_et`` fixture. (:issue:`2105`, :pull:`2156`)
6260

6361
Documentation
6462
~~~~~~~~~~~~~
65-
* Added gallery example demonstrating the application of
66-
several spectral mismatch factor models.
67-
(:issue:`2107`, :pull:`2114`)
68-
* Added gallery example demonstrating the application of
69-
:py:func:`~pvlib.spectrum.average_photon_energy`. (:issue:`2194`, :pull:`2206`)
70-
* Added gallery example on calculating cell temperature for
71-
floating PV. (:pull:`2110`)
72-
* Added gallery example demonstrating how to use
73-
different Perez coefficients in a ModelChain.
74-
(:issue:`2127`, :pull:`2148`)
75-
* Fixed examples in :py:func:`pvlib.shading.shaded_fraction1d`. (:pull:`#2215`)
76-
77-
* Removed unused "times" input from dni_et() function (:issue:`2105`)
78-
* Updated :py:func:`pvlib.irradiance.haydavies` to include equation variable
79-
definitions and a new "notes" section (:issue:`2183`, :pull:`2191`)
63+
* Added new gallery example pages for:
64+
65+
- Demonstrating the application of several spectral mismatch factor models.
66+
(:issue:`2107`, :pull:`2114`)
67+
- Demonstrating the application of :py:func:`~pvlib.spectrum.average_photon_energy`.
68+
(:issue:`2194`, :pull:`2206`)
69+
- Calculating cell temperature for floating PV. (:pull:`2110`)
70+
- Demonstrating how to use different Perez coefficients in a ModelChain.
71+
(:issue:`2127`, :pull:`2148`)
8072

81-
* Split the contributing page into several pages (:issue:`2210`, :pull:`2219`)
73+
* Fixed examples in :py:func:`~pvlib.shading.shaded_fraction1d`. (:pull:`2215`)
74+
* Updated model description, added equation variable definitions, and created a
75+
new "notes" section in :py:func:`~pvlib.irradiance.haydavies` and
76+
:py:func:`~pvlib.irradiance.klucher`. (:issue:`2183`, :pull:`2191`,
77+
:pull:`2192`)
78+
* Document units with Wm⁻² instead of W/m^2 throughout ``pvlib.irradiance``. (:issue:`2205`, :pull:`2191`)
79+
* Split the contributing page into several pages. (:issue:`2210`, :pull:`2219`)
8280

8381
Requirements
8482
~~~~~~~~~~~~
@@ -92,15 +90,23 @@ Contributors
9290
* Chris Deline (:ghuser:`cdeline`)
9391
* Ioannis Sifnaios (:ghuser:`IoannisSifnaios`)
9492
* Leonardo Micheli (:ghuser:`lmicheli`)
95-
* Echedey Luis (:ghuser:`echedey-ls`)
9693
* Rajiv Daxini (:ghuser:`RDaxini`)
9794
* Mark A. Mikofski (:ghuser:`mikofski`)
9895
* Ben Pierce (:ghuser:`bgpierc`)
9996
* Jose Meza (:ghuser:`JoseMezaMendieta`)
97+
* Kevin Anderson (:ghuser:`kandersolar`)
10098
* Luiz Reis (:ghuser:`luizreiscver`)
10199
* Carlos Cárdenas-Bravo (:ghuser:`cardenca`)
102100
* Marcos R. Escudero (:ghuser:`marc-resc`)
103101
* Bernat Nicolau (:ghuser:`BernatNicolau`)
104102
* Eduardo Sarquis (:ghuser:`EduardoSarquis`)
105103
* Adam R. Jensen (:ghuser:`AdamRJensen`)
106104
* Andrew B Godbehere (:ghuser:`agodbehere`)
105+
* Cliff Hansen (:ghuser:`cwhanse`)
106+
* Anton Driesse (:ghuser:`adriesse`)
107+
* Miguel Angel Sevillano Bendezú (:ghuser:`msevillanob`)
108+
* Erfan (:ghuser:`Metal-Bat`)
109+
* Will Holmgren (:ghuser:`wholmgren`)
110+
* Kurt Rhee (:ghuser:`kurt-rhee`)
111+
* :ghuser:`PhilBrk8`
112+
* Mark Campanelli (:ghuser:`markcampanelli`)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.. _whatsnew_01120:
2+
3+
4+
v0.11.2 (Anticipated December, 2024)
5+
------------------------------------
6+
7+
Deprecations
8+
~~~~~~~~~~~~
9+
10+
11+
Enhancements
12+
~~~~~~~~~~~~
13+
14+
15+
Documentation
16+
~~~~~~~~~~~~~
17+
* Edited docstrings for :py:func:`~pvlib.pvsystem.dc_ohms_from_percent` and
18+
:py:func:`~pvlib.pvsystem.dc_ohmic_loss` for clarity. (:issue:`1601`, :pull:`2229`)
19+
20+
21+
Testing
22+
~~~~~~~
23+
24+
25+
Requirements
26+
~~~~~~~~~~~~
27+
28+
29+
Contributors
30+
~~~~~~~~~~~~
31+
* Cliff Hansen (:ghuser:`cwhanse`)
32+

pvlib/irradiance.py

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -630,66 +630,74 @@ def klucher(surface_tilt, surface_azimuth, dhi, ghi, solar_zenith,
630630
solar_azimuth):
631631
r'''
632632
Determine diffuse irradiance from the sky on a tilted surface
633-
using Klucher's 1979 model
634-
635-
.. math::
636-
637-
I_{d} = DHI \frac{1 + \cos\beta}{2} (1 + F' \sin^3(\beta/2))
638-
(1 + F' \cos^2\theta\sin^3\theta_z)
639-
640-
where
641-
642-
.. math::
643-
644-
F' = 1 - (I_{d0} / GHI)^2
645-
646-
Klucher's 1979 model determines the diffuse irradiance from the sky
647-
(ground reflected irradiance is not included in this algorithm) on a
648-
tilted surface using the surface tilt angle, surface azimuth angle,
649-
diffuse horizontal irradiance, direct normal irradiance, global
650-
horizontal irradiance, extraterrestrial irradiance, sun zenith
651-
angle, and sun azimuth angle.
633+
using the Klucher (1979) model.
652634
653635
Parameters
654636
----------
655637
surface_tilt : numeric
656-
Surface tilt angles in decimal degrees. surface_tilt must be >=0
638+
Surface tilt angles in decimal degrees. ``surface_tilt`` must be >=0
657639
and <=180. The tilt angle is defined as degrees from horizontal
658640
(e.g. surface facing up = 0, surface facing horizon = 90)
659641
660642
surface_azimuth : numeric
661-
Surface azimuth angles in decimal degrees. surface_azimuth must
643+
Surface azimuth angles in decimal degrees. ``surface_azimuth`` must
662644
be >=0 and <=360. The Azimuth convention is defined as degrees
663645
east of north (e.g. North = 0, South=180 East = 90, West = 270).
664646
665647
dhi : numeric
666-
Diffuse horizontal irradiance. [Wm⁻²] DHI must be >=0.
648+
Diffuse horizontal irradiance, must be >=0. [Wm⁻²]
667649
668650
ghi : numeric
669-
Global irradiance. [Wm⁻²] DNI must be >=0.
651+
Global horizontal irradiance, must be >=0. [Wm⁻²]
670652
671653
solar_zenith : numeric
672654
Apparent (refraction-corrected) zenith angles in decimal
673-
degrees. solar_zenith must be >=0 and <=180.
655+
degrees. ``solar_zenith`` must be >=0 and <=180.
674656
675657
solar_azimuth : numeric
676-
Sun azimuth angles in decimal degrees. solar_azimuth must be >=0
658+
Sun azimuth angles in decimal degrees. ``solar_azimuth`` must be >=0
677659
and <=360. The Azimuth convention is defined as degrees east of
678660
north (e.g. North = 0, East = 90, West = 270).
679661
680662
Returns
681663
-------
682664
diffuse : numeric
683-
The sky diffuse component of the solar radiation.
665+
The sky diffuse component of the solar radiation. [Wm⁻²]
666+
667+
Notes
668+
-----
669+
The Klucher (1979) model [1]_ [2]_ determines the diffuse irradiance
670+
from the sky (ground reflected irradiance is not included in this
671+
algorithm) on a tilted surface using the surface tilt angle, surface
672+
azimuth angle, diffuse horizontal irradiance, global horizontal irradiance,
673+
sun zenith angle, and sun azimuth angle. The expression for the sky diffuse
674+
irradiance, :math:`I_d`, is as follows:
675+
676+
.. math::
677+
678+
I_{d} = DHI \frac{1 + \cos\beta}{2} (1 + F' \sin^3(\beta/2))
679+
(1 + F' \cos^2\theta\sin^3\theta_z).
680+
681+
DHI is the diffuse horizontal irradiance, :math:`\beta` is the surface
682+
tilt angle, :math:`\theta_z` is the solar zenith angle, and :math:`\theta`
683+
is the angle of incidence. :math:`F'` is a modulating function to account
684+
for when the sky changes from clear to overcast, and is defined as follows:
685+
686+
.. math::
687+
688+
F' = 1 - (DHI / GHI)^2,
689+
690+
where GHI is the global horiztonal irradiance.
684691
685692
References
686693
----------
687-
.. [1] Loutzenhiser P.G. et. al. "Empirical validation of models to compute
688-
solar irradiance on inclined surfaces for building energy simulation"
689-
2007, Solar Energy vol. 81. pp. 254-267
690-
691-
.. [2] Klucher, T.M., 1979. Evaluation of models to predict insolation on
692-
tilted surfaces. Solar Energy 23 (2), 111-114.
694+
.. [1] Klucher, T. M. "Evaluation of models to predict insolation on
695+
tilted surfaces" 1979, Solar Energy vol. 23 (2), pp. 111-114
696+
:doi:`10.1016/0038-092X(79)90110-5`
697+
.. [2] Loutzenhiser P. G. et al. "Empirical validation of models to
698+
compute solar irradiance on inclined surfaces for building energy
699+
simulation" 2007, Solar Energy vol. 81. pp. 254-267
700+
:doi:`10.1016/j.solener.2006.03.009`
693701
'''
694702

695703
# zenith angle with respect to panel normal.
@@ -721,7 +729,7 @@ def haydavies(surface_tilt, surface_azimuth, dhi, dni, dni_extra,
721729
return_components=False):
722730
r'''
723731
Determine diffuse irradiance from the sky on a tilted surface using the
724-
Hay and Davies (1980) model [1]_ [2]_.
732+
Hay and Davies (1980) model.
725733
726734
The Hay and Davies model determines the diffuse irradiance from
727735
the sky (ground reflected irradiance is not included in this
@@ -790,8 +798,8 @@ def haydavies(surface_tilt, surface_azimuth, dhi, dni, dni_extra,
790798
791799
Notes
792800
------
793-
In the Hay and Davies (1980) model, sky diffuse irradiance, :math:`I_d`,
794-
is as follows:
801+
In the Hay and Davies (1980) model [1]_ [2]_, sky diffuse irradiance,
802+
:math:`I_d`, is as follows:
795803
796804
.. math::
797805
I_{d} = DHI \left( A\cdot R_b + (1 - A) \left(\frac{

0 commit comments

Comments
 (0)