Skip to content

Commit b313c64

Browse files
committed
Squashed commit of the following:
commit 5047b26 Author: Prajwal Borkar <48290911+PrajwalBorkar@users.noreply.github.com> Date: Tue May 17 19:14:53 2022 +0530 Updated get_cams protocol to https pvlib#1457 (pvlib#1458) * Updated get_cams protocol to https pvlib#1457 * Updated instances of http to https. pvlib#1457 * Updated documentation links to https * Added Contributor commit a0812b1 Author: roger-lcc <58332996+roger-lcc@users.noreply.github.com> Date: Wed May 4 20:01:42 2022 +0800 CI asv check (pvlib#1454) * CI asv check * added CI asv check * CI asv check * CI asv check * updated CI asv check * Update docs/sphinx/source/whatsnew/v0.9.2.rst updated v0.9.2.rst Co-authored-by: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Co-authored-by: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> commit 83e379a Author: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Date: Thu Apr 28 19:26:09 2022 -0400 Bump pandas to 0.25.0; test updates (pvlib#1448) * bump pandas min from 0.22.0 to 0.25.0 * fix buggy test__check_pandas_assert_kwargs don't use monkeypatch and mocker in the same test function. pytest-dev/pytest-mock#289 * fix psm3 test (apparent_zenith -> solar_zenith) * whatsnew * better UTC conversion in sun_rise_set_transit_ephem * helpful comments * more whatsnew * '3.0' -> '3' in read_crn test? * apply dtypes during parsing in read_crn * move dropna() post-processing into read_fwf call * fix read_crn for pandas<1.2.0 * Update pvlib/solarposition.py Co-authored-by: Will Holmgren <william.holmgren@gmail.com> * nix pytz * UTC -> utc * address simd arccos issue in tracking.singleaxis Co-authored-by: Will Holmgren <william.holmgren@gmail.com> commit 8d0f863 Author: Naman Priyadarshi <77211855+Naman-Priyadarshi@users.noreply.github.com> Date: Tue Apr 12 22:55:58 2022 +0530 Advance numba from 0.36.1 to 0.40.0 in asv py3.6 environment (pvlib#1440) * Advance numba from 0.36.1 to 0.40.0 * Advance numba from 0.36.1 to 0.40.0 * Updated whatsnew.rst commit 5cb695d Author: Naman Priyadarshi <77211855+Naman-Priyadarshi@users.noreply.github.com> Date: Wed Apr 6 23:58:03 2022 +0530 Remove unnecessary **kwargs from spa_python and get_total_irradiance (pvlib#1437) * Update Solarposition.py Removed **kwargs from pvlib.solarposition.spa_python * Added v0.9.2.rst, changes in pvlib/irradiance.py and pvlib/location.py Made new v0.9.2.rst and removed **kwargs from pvlib/irradiance.py (Line 309) and pvlib/location.py (Line 234-235) * Update docs/sphinx/source/whatsnew/v0.9.2.rst * Update docs/sphinx/source/whatsnew/v0.9.2.rst Co-authored-by: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> commit 8460b36 Author: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Date: Tue Mar 29 15:31:25 2022 -0600 Finalize 0.9.1 (pvlib#1431) * fix heading levels in user_guide/bifacial.rst * whatsnew cleanup * fix readme html missing tag, maybe unicode zero-width spaces? * readme: link to universal zenodo doi * readme: update installation link for pvlib#1173 * whatsnew date * additional contributors * delete errant space commit edbf2a6 Author: RoyCoding8 <92641125+RoyCoding8@users.noreply.github.com> Date: Wed Mar 30 01:58:18 2022 +0530 Updated plot_singlediode.py (pvlib#1434) * Update plot_singlediode.py Changed the unit from C to degree C (°C) * Update plot_singlediode.py Changed to LaTeX \degree symbol in matplotlib which avoids any encoding issues with using Unicode characters. * Update v0.9.1.rst Added name to the contributors' list * Update v0.9.1.rst commit cf4a8ad Author: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Date: Tue Mar 29 14:04:40 2022 -0600 Update sphinx to 4.5.0 (pvlib#1435) * bump sphinx and pydata-sphinx-theme versions * clean up sphinx conf.py * fix distutils strangeness, maybe * use freshly-released sphinx==4.5.0 commit 884a153 Author: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Date: Wed Mar 23 13:41:35 2022 -0600 Clarify delta_t docstring descriptions (pvlib#1429) * clarify delta_t docstrings * whatsnew commit c243183 Author: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Date: Thu Mar 17 12:01:57 2022 -0600 Deprecate pvlib.forecast (pvlib#1426) * deprecate pvlib.forecast classes * catch warnings in tests * add warning admonition to forecasts.rst * whatsnew * stickler * pin pytest < 7.1.0 * pin pytest in the right place this time * more warning suppression in tests * unpin pytest * Update docs/sphinx/source/whatsnew/v0.9.1.rst * copy warning to reference/forecasting.rst commit e3baa12 Author: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> Date: Thu Mar 17 11:28:56 2022 -0600 Fix conditional dependency on dataclasses (pvlib#1422) * better conditional dependency on dataclasses * whatsnew commit 27cba7a Author: Naman Priyadarshi <77211855+Naman-Priyadarshi@users.noreply.github.com> Date: Thu Mar 17 22:48:08 2022 +0530 Added asv benchmarking badge to the table of badges in the main README. (pvlib#1427) * Update Readme.md Added benchmarks asv badge to the badge section * Updated v.0.9.1.rst Added my name to the list of Contributers. commit 1893b20 Author: Adam R. Jensen <39184289+AdamRJensen@users.noreply.github.com> Date: Mon Mar 14 18:37:58 2022 +0100 Add variable mapping of psm3 (pvlib#1374) * Add variable mapping of psm3 * Add enhancement entry in whatsnew * Fix stickler * Map keys in metadata dict * Remove double spaces in docs * Fix stickler * Doc update Co-authored-by: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com> * Reformatting - changes by kanderso-nrel * Update docstring table with 2020 * Add deprecation warning test coverage * Rename to VARIABLE_MAP * Change apparent_zenith to solar_zenith Based on the decision in pvlib#1403 * Update attributes docstring * Change elevation to altitude when mapping variables * Update psm3 variable mapping test Co-authored-by: Kevin Anderson <57452607+kanderso-nrel@users.noreply.github.com>
1 parent fa8b9e4 commit b313c64

30 files changed

+372
-124
lines changed

.github/workflows/asv_check.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: asv
2+
3+
# CI ASV CHECK is aimed to verify that the benchmarks execute without error.
4+
on: [pull_request, push]
5+
6+
jobs:
7+
quick:
8+
runs-on: ubuntu-latest
9+
defaults:
10+
run:
11+
shell: bash -el {0}
12+
13+
steps:
14+
- uses: actions/checkout@v3
15+
with:
16+
fetch-depth: 0
17+
18+
- name: Install Python
19+
uses: actions/setup-python@v3
20+
with:
21+
python-version: '3.9.7'
22+
23+
- name: Install asv
24+
run: pip install asv==0.4.2
25+
26+
- name: Run asv benchmarks
27+
run: |
28+
cd benchmarks
29+
asv machine --yes
30+
asv run HEAD^! --quick --dry-run --show-stderr | sed "/failed$/ s/^/##[error]/" | tee benchmarks.log
31+
if grep "failed" benchmarks.log > /dev/null ; then
32+
exit 1
33+
fi
34+

README.md

+13-5
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
</tr>
3636
<tr>
3737
<td>Code Quality</td>
38-
 <td>
38+
<td>
3939
<a href="https://lgtm.com/projects/g/pvlib/pvlib-python/context:python">
4040
<img src="https://img.shields.io/lgtm/grade/python/g/pvlib/pvlib-python.svg?logo=lgtm&logoWidth=18" alt="lgtm quality grade" />
4141
</a>
@@ -46,7 +46,7 @@
4646
</tr>
4747
<tr>
4848
<td>Coverage</td>
49-
 <td>
49+
<td>
5050
<a href="https://coveralls.io/r/pvlib/pvlib-python">
5151
<img src="https://img.shields.io/coveralls/pvlib/pvlib-python.svg" alt="coveralls coverage" />
5252
</a>
@@ -55,11 +55,19 @@
5555
</a>
5656
</td>
5757
</tr>
58+
<tr>
59+
<td>Benchmarks</td>
60+
<td>
61+
<a href="https://pvlib-benchmarker.github.io/pvlib-benchmarks/">
62+
<img src="https://img.shields.io/badge/benchmarks-asv-lightgrey" />
63+
</a>
64+
</td>
65+
</tr>
5866
<tr>
5967
<td>Publications</td>
6068
<td>
61-
<a href="https://doi.org/10.5281/zenodo.3762635">
62-
<img src="https://zenodo.org/badge/DOI/10.5281/zenodo.3762635.svg" alt="zenodo reference">
69+
<a href="https://doi.org/10.5281/zenodo.593284">
70+
<img src="https://zenodo.org/badge/DOI/10.5281/zenodo.593284.svg" alt="zenodo reference">
6371
</a>
6472
<a href="http://joss.theoj.org/papers/41187535cad22dd4b076c89b72f874b1">
6573
<img src="http://joss.theoj.org/papers/41187535cad22dd4b076c89b72f874b1/status.svg" alt="JOSS reference" />
@@ -100,7 +108,7 @@ Installation
100108
============
101109

102110
pvlib-python releases may be installed using the ``pip`` and ``conda`` tools.
103-
Please see the [Installation page](http://pvlib-python.readthedocs.io/en/stable/installation.html) of the documentation for complete instructions.
111+
Please see the [Installation page](https://pvlib-python.readthedocs.io/en/stable/user_guide/installation.html) of the documentation for complete instructions.
104112

105113

106114
Contributing

benchmarks/asv.conf.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,12 @@
116116
{
117117
"python": "3.6",
118118
"numpy": "1.16.0",
119-
"pandas": "0.22.0",
119+
"pandas": "0.25.0",
120120
"scipy": "1.2.0",
121121
// Note: these don't have a minimum in setup.py
122122
"h5py": "2.10.0",
123123
"ephem": "3.7.6.0",
124-
"numba": "0.36.1",
124+
"numba": "0.40.0",
125125
},
126126
// latest versions available
127127
{

ci/requirements-py36-min.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies:
1616
- dataclasses
1717
- h5py==3.1.0
1818
- numpy==1.16.0
19-
- pandas==0.22.0
19+
- pandas==0.25.0
2020
- scipy==1.2.0
2121
- pytest-rerunfailures # conda version is >3.6
2222
- pytest-remotedata # conda package is 0.3.0, needs > 0.3.1

ci/requirements-py36.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
- nose
1212
- numba
1313
- numpy >= 1.16.0
14-
- pandas >= 0.22.0
14+
- pandas >= 0.25.0
1515
- pip
1616
- pytest
1717
- pytest-cov

ci/requirements-py37.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
- nose
1212
- numba
1313
- numpy >= 1.16.0
14-
- pandas >= 0.22.0
14+
- pandas >= 0.25.0
1515
- pip
1616
- pytest
1717
- pytest-cov

ci/requirements-py38.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
- nose
1212
- numba
1313
- numpy >= 1.16.0
14-
- pandas >= 0.22.0
14+
- pandas >= 0.25.0
1515
- pip
1616
- pytest
1717
- pytest-cov

ci/requirements-py39.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
- nose
1212
# - numba # python 3.9 compat in early 2021
1313
- numpy >= 1.16.0
14-
- pandas >= 0.22.0
14+
- pandas >= 0.25.0
1515
- pip
1616
- pytest
1717
- pytest-cov

docs/examples/iv-modeling/plot_singlediode.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
for i, case in conditions.iterrows():
104104
label = (
105105
"$G_{eff}$ " + f"{case['Geff']} $W/m^2$\n"
106-
"$T_{cell}$ " + f"{case['Tcell']} $C$"
106+
"$T_{cell}$ " + f"{case['Tcell']} $\\degree C$"
107107
)
108108
plt.plot(curve_info['v'][i], curve_info['i'][i], label=label)
109109
v_mp = curve_info['v_mp'][i]

docs/sphinx/source/conf.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
# for generating GH links with linenumbers
2121
import inspect
2222

23+
# import distutils before calling pd.show_versions()
24+
# https://github.com/pypa/setuptools/issues/3044
25+
import distutils # noqa: F401
2326
import pandas as pd
2427
pd.show_versions()
2528

@@ -244,7 +247,7 @@ def setup(app):
244247
# In-line links to references as numbers in brackets.
245248
app.add_css_file("reference_format.css")
246249
# Add a warning banner at the top of the page if viewing the "latest" docs
247-
app.add_javascript("version-alert.js")
250+
app.add_js_file("version-alert.js")
248251

249252
# -- Options for LaTeX output ---------------------------------------------
250253

@@ -343,8 +346,6 @@ def setup(app):
343346
'matplotlib': ('https://matplotlib.org/stable', None),
344347
}
345348

346-
nbsphinx_allow_errors = True
347-
348349
ipython_warning_is_error = False
349350

350351
# suppress "WARNING: Footnote [1] is not referenced." messages

docs/sphinx/source/reference/forecasting.rst

+6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
Forecasting
44
===========
55

6+
.. warning::
7+
8+
All functionality in the ``pvlib.forecast`` module is deprecated as of
9+
pvlib v0.9.1. For details, see :ref:`forecasts`.
10+
11+
612
Forecast models
713
---------------
814

docs/sphinx/source/user_guide/bifacial.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ irradiance:
2424

2525

2626
pvfactors
27-
=========
27+
---------
2828

2929
The `pvfactors <https://sunpower.github.io/pvfactors/>`_ package calculates
3030
incident irradiance on the front and back surfaces of an array. pvfactors uses
@@ -35,7 +35,7 @@ trackers.
3535

3636

3737
Infinite Sheds
38-
==============
38+
--------------
3939

4040
The "infinite sheds" model [1] is a 2-dimensional model of irradiance on the
4141
front and rear surfaces of a PV array. The model assumes that the array

docs/sphinx/source/user_guide/forecasts.rst

+19
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,25 @@
44
Forecasting
55
***********
66

7+
.. warning::
8+
9+
The ``pvlib.forecast`` module is deprecated as of version ``0.9.1``.
10+
11+
Because none of the current pvlib team members are able to continue
12+
maintaining it, the functionality in ``pvlib.forecast`` is deprecated
13+
and will be removed without replacement in a future version. If you
14+
are interested in maintaining this functionality, please let us know.
15+
16+
You can fetch forecast data yourself using ``siphon`` (see the
17+
docs below this warning) and the code from pvlib v0.9.0 as a reference:
18+
https://github.com/pvlib/pvlib-python/blob/v0.9.0/pvlib/forecast.py
19+
20+
The `Solar Forecast Arbiter Core
21+
<https://solarforecastarbiter-core.readthedocs.io/en/stable/reference-forecasts.html>`_
22+
offers similar (and more robust) forecast processing functionality
23+
and may be a suitable replacement for some users.
24+
25+
726
pvlib python provides a set of functions and classes that make it easy
827
to obtain weather forecast data and convert that data into a PV power
928
forecast. Users can retrieve standardized weather forecast data relevant

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

+21-9
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
.. _whatsnew_0910:
22

3-
v0.9.1 (TBD)
4-
--------------------------
5-
6-
Breaking changes
7-
~~~~~~~~~~~~~~~~
3+
v0.9.1 (March 29, 2022)
4+
-----------------------
85

96
Deprecations
107
~~~~~~~~~~~~
118
* Moved :py:func:`pvlib.bifacial.pvfactors_timeseries` to
129
:py:func:`pvlib.bifacial.pvfactors.pvfactors_timeseries`.
13-
:py:module:`pvlib.bifacial` is now a sub-package. (:pull:`717`)
10+
:py:mod:`pvlib.bifacial` is now a sub-package. (:pull:`717`)
1411
* :py:func:`pvlib.modelchain.basic_chain` is deprecated.
1512
See :py:meth:`pvlib.modelchain.ModelChain.with_pvwatts` and
1613
:py:meth:`pvlib.modelchain.ModelChain.with_sapm` for alternative simplified
1714
:py:class:`~pvlib.modelchain.ModelChain` interfaces, although note that the
1815
inputs do not directly translate. (:pull:`1401`)
16+
* All functionality in the ``pvlib.forecast`` module is deprecated.
17+
For details, see :ref:`forecasts`. (:issue:`1057`, :pull:`1426`)
1918

2019
Enhancements
2120
~~~~~~~~~~~~
22-
* Added `pvlib.bifacial.infinite_sheds`, containing a model for irradiance
21+
* Added ``map_variables`` option to :py:func:`pvlib.iotools.get_psm3` and
22+
:py:func:`pvlib.iotools.read_psm3` (:pull:`1374`)
23+
* Added ``pvlib.bifacial.infinite_sheds``, containing a model for irradiance
2324
on front and back surfaces of bifacial arrays. (:pull:`717`)
2425
* Added ``map_variables`` option to :func:`~pvlib.iotools.read_crn` (:pull:`1368`)
2526
* Added :py:func:`pvlib.temperature.prilliman` for modeling cell temperature
@@ -33,7 +34,7 @@ Bug fixes
3334
values were returned when the sun is behind the plane of array (:issue:`1348`, :pull:`1349`)
3435
* Fixed bug in :py:func:`pvlib.iotools.get_pvgis_hourly` where the ``optimal_surface_tilt``
3536
argument was not being passed to the ``optimalinclination`` request parameter (:pull:`1356`)
36-
* Fixed bug in :py:func:`pvlib.bifacial.pvfactors_timeseries` where scalar ``surface_tilt``
37+
* Fixed bug in :py:func:`pvlib.bifacial.pvfactors.pvfactors_timeseries` where scalar ``surface_tilt``
3738
and ``surface_azimuth`` inputs caused an error (:issue:`1127`, :issue:`1332`, :pull:`1361`)
3839
* Added -99999 to list of values to map to nan in :func:`~pvlib.iotools.read_crn`
3940
(:issue:`1372`, :pull:`1368`)
@@ -54,14 +55,19 @@ Documentation
5455
* Fix documentation return error in :py:meth:`pvlib.forecast.ForecastModel.cloud_cover_to_transmittance_linear`
5556
(:issue:`1367`, :pull:`1370`)
5657
* Add gallery example illustrating bifacial simulation using the
57-
:py:func:`pvlib.bifacial.pvfactors_timeseries` function and either
58+
:py:func:`pvlib.bifacial.pvfactors.pvfactors_timeseries` function and either
5859
:py:class:`pvlib.modelchain.ModelChain` or procedural functions.
5960
(:pull:`1394`)
6061
* Fix some typos (:pull:`1414`)
62+
* Clarify the descriptions of ``delta_t`` in several solar position functions
63+
(:pull:`1429`)
64+
* Changed $C$ to $\\degree C$ in the plot_singlediode.py file (:pull:`1434`)
6165

6266
Requirements
6367
~~~~~~~~~~~~
6468
* numpy >= 1.16.0 is now required for all python versions. (:pull:`1400`)
69+
* Fix an installation issue with ``dataclasses`` on python 3.6
70+
(:issue:`1302`, :pull:`1422`)
6571

6672

6773
Contributors
@@ -76,3 +82,9 @@ Contributors
7682
* Saurabh Aneja (:ghuser:`spaneja`)
7783
* Jack Kelly (:ghuser:`JackKelly`)
7884
* Somasree Majumder(:ghuser:`soma2000-lang`)
85+
* Naman Priyadarshi (:ghuser:`Naman-Priyadarshi`)
86+
* Will Holmgren (:ghuser:`wholmgren`)
87+
* Mark Mikofksi (:ghuser:`mikofski`)
88+
* Will Hobbs (:ghuser:`williamhobbs`)
89+
* Uday Guntupalli (:ghuser:`uguntupalli`)
90+
* Shashwata Roy (:ghuser:`RoyCoding8`)
+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
.. _whatsnew_0920:
2+
3+
v0.9.2 (TBD)
4+
-----------------------
5+
6+
Deprecations
7+
~~~~~~~~~~~~
8+
9+
Enhancements
10+
~~~~~~~~~~~~
11+
12+
Bug fixes
13+
~~~~~~~~~
14+
* :py:func:`pvlib.irradiance.get_total_irradiance` and
15+
:py:func:`pvlib.solarposition.spa_python` now raise an error instead
16+
of silently ignoring unknown parameters (:pull:`1437`)
17+
* Fix a bug in :py:func:`pvlib.solarposition.sun_rise_set_transit_ephem`
18+
where passing localized timezones with large UTC offsets could return
19+
rise/set/transit times for the wrong day in recent versions of ``ephem``
20+
(:issue:`1449`, :pull:`1448`)
21+
22+
23+
Testing
24+
~~~~~~~
25+
26+
Documentation
27+
~~~~~~~~~~~~~
28+
29+
Benchmarking
30+
~~~~~~~~~~~~~
31+
* Updated version of numba in asv.conf from 0.36.1 to 0.40.0 to solve numba/numpy conflict. (:issue:`1439`, :pull:`1440`)
32+
* Added a basic CI asv check (:issue:`1446`, :pull:`1454`)
33+
34+
Requirements
35+
~~~~~~~~~~~~
36+
* Minimum pandas version increased to v0.25.0, released July 18, 2019. (:pull:`1448`)
37+
38+
Contributors
39+
~~~~~~~~~~~~
40+
* Naman Priyadarshi (:ghuser:`Naman-Priyadarshi`)
41+
* Chencheng Luo (:ghuser:`roger-lcc`)
42+
* Prajwal Borkar (:ghuser:`PrajwalBorkar`)

0 commit comments

Comments
 (0)