Skip to content

Commit 6bf9e07

Browse files
authored
Finalize 0.10.0 (#1793)
* move 0.9.6 whatsnew content to 0.10.0 * cleanup * Add missing contributors * fix #1731 * create blank 0.10.1 whatsnew * fix contributor gh handle
1 parent 4ac847f commit 6bf9e07

File tree

5 files changed

+151
-165
lines changed

5 files changed

+151
-165
lines changed

docs/sphinx/source/whatsnew.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ What's New
66

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

9-
.. include:: whatsnew/v0.9.6.rst
9+
.. include:: whatsnew/v0.10.0.rst
1010
.. include:: whatsnew/v0.9.5.rst
1111
.. include:: whatsnew/v0.9.4.rst
1212
.. include:: whatsnew/v0.9.3.rst
+115-14
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,88 @@
11
.. _whatsnew_01000:
22

33

4-
v0.10.0
5-
-------
4+
v0.10.0 (June 30, 2023)
5+
-----------------------
66

77

88
Breaking changes
99
~~~~~~~~~~~~~~~~
10+
* After being deprecated for over a year, the :py:mod:`pvlib.forecast` module
11+
is now removed entirely. (:pull:`1766`)
12+
* The following, originally deprecated in :ref:`whatsnew_0900`, is now removed: (:pull:`1770`)
13+
14+
- The :py:class:`pvlib.tracking.SingleAxisTracker` class
15+
- The various model-specific :py:class:`~pvlib.pvsystem.PVSystem` inverter
16+
and cell temperature methods
17+
- Attribute "pass-through" from :py:class:`~pvlib.modelchain.ModelChain`
18+
to :py:class:`~pvlib.modelchain.ModelChainResult`
19+
- Attribute "pass-through" from :py:class:`~pvlib.pvsystem.PVSystem`
20+
to :py:class:`~pvlib.pvsystem.Array`
21+
- The ``eta_m`` parameter in :py:func:`pvlib.temperature.pvsyst_cell`
22+
1023
* Reorder arguments of :py:func:`pvlib.pvsystem.PVSystem.i_from_v`,
1124
:py:func:`pvlib.pvsystem.i_from_v`, :py:func:`pvlib.pvsystem.v_from_i`,
1225
:py:func:`pvlib.singlediode._lambertw_i_from_v`, and
1326
:py:func:`pvlib.singlediode._lambertw_v_from_i` to match
1427
:py:func:`pvlib.pvsystem.singlediode`.
1528
(:issue:`1718`, :pull:`1719`)
16-
* Map wind direction to `wind_direction` instead of `wind_dir` in
29+
* Map wind direction to ``'wind_direction'`` instead of ``'wind_dir'`` in
1730
:py:func:`pvlib.iotools.read_srml` and
1831
:py:func:`pvlib.iotools.read_srml_month_from_solardat` (:pull:`1773`)
1932
* :func:`~pvlib.iotools.get_pvgis_tmy` and :func:`~pvlib.iotools.read_pvgis_tmy`
2033
now rename columns to standard pvlib names by default (``map_variables=True``)
2134
(:pull:`1772`)
2235
* In :py:func:`~pvlib.iotools.get_pvgis_tmy`, the ``map_variables`` keyword
2336
parameter now comes before the ``url`` keyword parameter. (:pull:`1795`)
37+
* Modified the ``surface_azimuth`` parameter in :py:func:`pvlib.iotools.get_pvgis_hourly` to conform to the
38+
pvlib azimuth convention (counterclockwise from north). Previously 0 degrees represented south.
39+
(:issue:`1724`, :pull:`1739`)
40+
* For consistency with the rest of pvlib, the ``pw`` parameters are renamed to
41+
``precipitable_water`` in :py:func:`pvlib.spectrum.spectral_factor_firstsolar`.
42+
(:pull:`1768`)
43+
* For consistency with the rest of pvlib, the ``tilt`` parameter is renamed
44+
to ``surface_tilt`` in :py:func:`pvlib.soiling.hsu`. (:issue:`1717`, :pull:`1738`)
45+
* Several undocumented functions in :py:mod:`pvlib.iotools.midc`,
46+
:py:mod:`pvlib.iotools.srml`, and :py:mod:`pvlib.iotools.surfrad`
47+
are now private. (:issue:`1756`, :pull:`1769`)
2448

2549

2650
Deprecations
2751
~~~~~~~~~~~~
2852
* The ``ivcurve_pnts`` parameter of :py:func:`pvlib.pvsystem.singlediode` is
2953
deprecated. Use :py:func:`pvlib.pvsystem.v_from_i` and
3054
:py:func:`pvlib.pvsystem.i_from_v` instead. (:issue:`1626`, :pull:`1743`)
55+
* Functions for calculating spectral modifiers have been moved to :py:mod:`pvlib.spectrum`:
56+
:py:func:`pvlib.atmosphere.first_solar_spectral_correction` is deprecated and
57+
replaced by :py:func:`~pvlib.spectrum.spectral_factor_firstsolar`, and
58+
:py:func:`pvlib.pvsystem.sapm_spectral_loss` is deprecated and replaced by
59+
:py:func:`~pvlib.spectrum.spectral_factor_sapm`. (:pull:`1628`)
60+
* Removed the ``get_ecmwf_macc`` and ``read_ecmwf_macc`` iotools functions as the
61+
MACC dataset has been `removed by ECMWF <https://confluence.ecmwf.int/display/DAC/Decommissioning+of+ECMWF+Public+Datasets+Service>`_
62+
(data period 2003-2012). Instead, ECMWF recommends to use CAMS global
63+
reanalysis (EAC4) from the Atmosphere Data Store (ADS). See also :py:func:`pvlib.iotools.get_cams`.
64+
(:issue:`1691`, :pull:`1654`)
65+
* The ``recolumn`` parameter in :py:func:`pvlib.iotools.read_tmy3`, which maps
66+
TMY3 column names to nonstandard alternatives, is now deprecated.
67+
We encourage using ``map_variables`` (which produces standard pvlib names) instead.
68+
(:issue:`1517`, :pull:`1623`)
69+
* :py:func:`pvlib.iotools.read_srml_month_from_solardat` is deprecated and replaced by
70+
:py:func:`pvlib.iotools.get_srml`. (:pull:`1779`)
3171

3272

3373
Enhancements
3474
~~~~~~~~~~~~
35-
* Added a new irradiance decomposition model :py:func:`pvlib.irradiance.orgill_hollands`. (:pull:`1730`)
75+
* Added two new irradiance decomposition models: :py:func:`pvlib.irradiance.orgill_hollands` (:pull:`1730`)
76+
and :py:func:`pvlib.irradiance.louche` (:pull:`1705`).
3677
* The return values of :py:func:`pvlib.pvsystem.calcparams_desoto`,
3778
:py:func:`pvlib.pvsystem.calcparams_cec`, and
3879
:py:func:`pvlib.pvsystem.calcparams_pvsyst` are all numeric types and have
39-
the same Python type as the `effective_irradiance` and `temp_cell` parameters. (:issue:`1626`, :pull:`1700`)
40-
* Added `map_variables` parameter to :py:func:`pvlib.iotools.read_srml`
41-
and :py:func:`pvlib.iotools.read_srml_month_from_solardat` (:pull:`1773`)
80+
the same Python type as the ``effective_irradiance`` and ``temp_cell`` parameters. (:issue:`1626`, :pull:`1700`)
81+
* Added ``map_variables`` parameter to :py:func:`pvlib.iotools.read_tmy3` (:issue:`1517`, :pull:`1623`),
82+
:py:func:`pvlib.iotools.read_srml`, and :py:func:`pvlib.iotools.read_srml_month_from_solardat` (:pull:`1773`).
4283
* Added :func:`pvlib.iotools.get_srml` that is similar to
4384
:func:`pvlib.iotools.read_srml_month_from_solardat` but is able to fetch multiple months
44-
of data using the `start` and `end` parameters.
85+
of data using the ``start`` and ``end`` parameters.
4586
(:pull:`1779`)
4687
* Allow passing keyword arguments to :py:func:`scipy:scipy.optimize.brentq` and
4788
:py:func:`scipy:scipy.optimize.newton` solvers in
@@ -50,28 +91,70 @@ Enhancements
5091
:py:func:`~pvlib.singlediode.bishop88_v_from_i`. Among others,
5192
tolerance and number of iterations can be set.
5293
(:issue:`1249`, :pull:`1764`)
53-
* Improved `ModelChainResult.__repr__` (:pull:`1236`)
94+
* Improved ``ModelChainResult.__repr__`` (:pull:`1236`)
95+
* Exposes several functions useful for bifacial and shading calculations (:pull:`1666`):
96+
97+
* :py:func:`pvlib.bifacial.utils.vf_row_sky_2d`
98+
* :py:func:`pvlib.bifacial.utils.vf_row_sky_2d_integ`
99+
* :py:func:`pvlib.bifacial.utils.vf_row_ground_2d`
100+
* :py:func:`pvlib.bifacial.utils.vf_row_ground_2d_integ`
101+
* :py:func:`pvlib.bifacial.utils.vf_ground_sky_2d`
102+
* :py:func:`pvlib.bifacial.utils.vf_ground_sky_2d_integ`
103+
* :py:func:`pvlib.shading.ground_angle`
104+
105+
* Added a function :py:func:`pvlib.spectrum.spectral_factor_caballero`
106+
to estimate spectral mismatch modifiers from atmospheric conditions. (:pull:`1296`)
107+
* Add optional ``encoding`` parameter to :py:func:`pvlib.iotools.read_tmy3`. (:issue:`1732`, :pull:`1737`)
108+
* Added function to retrieve horizon data from PVGIS
109+
:py:func:`pvlib.iotools.get_pvgis_horizon`. (:issue:`1290`, :pull:`1395`)
110+
* Update the URL used in the :py:func:`pvlib.iotools.get_cams` function. The new URL supports load-balancing
111+
and redirects to the fastest server. (:issue:`1688`, :pull:`1740`)
112+
* :py:func:`pvlib.iotools.get_psm3` now has a ``url`` parameter to give the user
113+
the option of controlling what NSRDB endpoint is used. (:pull:`1736`)
114+
* :py:func:`pvlib.iotools.get_psm3` now uses the new NSRDB 3.2.2 endpoint for
115+
hourly and half-hourly single-year datasets. (:issue:`1591`, :pull:`1736`)
116+
* The default solar position algorithm (NREL SPA) is now 50-100% faster. (:pull:`1748`)
117+
* Added functions to retrieve daily precipitation, temperature, and snowfall data
118+
from the NOAA's ACIS service: :py:func:`~pvlib.iotools.get_acis_prism`,
119+
:py:func:`~pvlib.iotools.get_acis_nrcc`, :py:func:`~pvlib.iotools.get_acis_mpe`,
120+
:py:func:`~pvlib.iotools.get_acis_station_data`, and
121+
:py:func:`~pvlib.iotools.get_acis_available_stations`. (:issue:`1293`, :pull:`1767`)
122+
54123

55124
Bug fixes
56125
~~~~~~~~~
57-
58-
* Prevent small negative values of `v_oc` in :py:func:`pvlib.singlediode._lambertw`
126+
* Prevent small negative values of ``v_oc`` in :py:func:`pvlib.singlediode._lambertw`
59127
which result from accumulated roundoff error. (:issue:`1780`, :issue:`1673`, :pull:`1782`)
128+
* Corrects an error in view factor calculations which are part of
129+
:py:func:`pvlib.bifacial.infinite_sheds.get_irradiance`. The error
130+
affects rear surface irradiance by a few W/m2. As part of the correction,
131+
average view factors are now computed by exact formulas rather than by
132+
numerical integration. (:issue:`1665`, :pull:`1666`)
133+
* ``data`` can no longer be left unspecified in
134+
:py:meth:`pvlib.modelchain.ModelChain.run_model_from_effective_irradiance`. (:issue:`1713`, :pull:`1720`)
135+
* ``d2mutau`` and ``NsVbi`` are now correctly passed through :py:func:`pvlib.pvsystem.max_power_point`
136+
instead of being hardcoded. (:pull:`1733`)
137+
* :py:func:`pvlib.iam.physical` no longer returns NaN when ``n=1`` and ``aoi>90``.
138+
This bug was introduced in v0.9.5. (:issue:`1706`, :pull:`1707`)
60139

61140

62141
Testing
63142
~~~~~~~
143+
* Migrated to mamba-org/setup-micromamba. (:issue:`1746`, :pull:`1758`)
64144

65145

66146
Documentation
67147
~~~~~~~~~~~~~
68-
69-
Benchmarking
70-
~~~~~~~~~~~~~
148+
* Updated the description of the interval parameter in
149+
:py:func:`pvlib.iotools.get_psm3`. (:issue:`1702`, :pull:`1712`)
150+
* Fixed outdated nbviewer links. (:issue:`1721`, :pull:`1726`)
71151

72152

73153
Requirements
74154
~~~~~~~~~~~~
155+
* With the removal of :py:mod:`pvlib.forecast`, the following packages are no
156+
longer listed as (optional) dependencies: ``netCDF4``, ``cftime``, and ``siphon``.
157+
(:pull:`1766`)
75158

76159

77160
Contributors
@@ -83,3 +166,21 @@ Contributors
83166
* Cliff Hansen (:ghuser:`cwhanse`)
84167
* Cédric Leroy (:ghuser:`cedricleroy`)
85168
* Jean-Baptiste Pasquier (:ghuser:`pasquierjb`)
169+
* Mark Mikofski (:ghuser:`mikofski`)
170+
* Lakshya Garg (:ghuser:`Lakshyadevelops`)
171+
* Ben Pierce (:ghuser:`bgpierc`)
172+
* Joseph Palakapilly (:ghuser:`JPalakapillyKWH`)
173+
* Anton Driesse (:ghuser:`adriesse`)
174+
* Will Holmgren (:ghuser:`wholmgren`)
175+
* Karel De Brabandere (:ghuser:`kdebrab`)
176+
* Josh Stein (:ghuser:`jsstein`)
177+
* Kevin Anderson (:ghuser:`kandersolar`)
178+
* Siddharth Kaul (:ghuser:`k10blogger`)
179+
* Kshitiz Gupta (:ghuser:`kshitiz305`)
180+
* Stefan de Lange (:ghuser:`langestefan`)
181+
* Jose Antonio Caballero (:ghuser:`Jacc0027`)
182+
* Andy Lam (:ghuser:`andylam598`)
183+
* :ghuser:`ooprathamm`
184+
* Devon Watt (:ghuser:`d-watt`)
185+
* Todd Karin (:ghuser:`toddkarin`)
186+
* Corey Pullium (:ghuser:`cpullium`)
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
.. _whatsnew_01010:
2+
3+
4+
v0.10.1 (Anticipated September, 2023)
5+
-------------------------------------
6+
7+
8+
Deprecations
9+
~~~~~~~~~~~~
10+
11+
12+
Enhancements
13+
~~~~~~~~~~~~
14+
15+
16+
Bug fixes
17+
~~~~~~~~~
18+
19+
20+
Testing
21+
~~~~~~~
22+
23+
24+
Documentation
25+
~~~~~~~~~~~~~
26+
27+
28+
Requirements
29+
~~~~~~~~~~~~
30+
31+
32+
Contributors
33+
~~~~~~~~~~~~
34+

docs/sphinx/source/whatsnew/v0.9.6.rst

-149
This file was deleted.

pvlib/modelchain.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ def with_pvwatts(cls, system, location,
586586
Examples
587587
--------
588588
>>> module_parameters = dict(gamma_pdc=-0.003, pdc0=4500)
589-
>>> inverter_parameters = dict(pac0=4000)
589+
>>> inverter_parameters = dict(pdc0=4000)
590590
>>> tparams = TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_glass']
591591
>>> system = PVSystem(surface_tilt=30, surface_azimuth=180,
592592
... module_parameters=module_parameters,

0 commit comments

Comments
 (0)