11.. _whatsnew_01000 :
22
33
4- v0.10.0
5- -------
4+ v0.10.0 (June 30, 2023)
5+ -----------------------
66
77
88Breaking 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
2650Deprecations
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
3373Enhancements
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
55124Bug 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
62141Testing
63142~~~~~~~
143+ * Migrated to mamba-org/setup-micromamba. (:issue: `1746 `, :pull: `1758 `)
64144
65145
66146Documentation
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
73153Requirements
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
77160Contributors
@@ -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 `)
0 commit comments