From fe486ec8c2f7599e0e9faa887881f86cc7a79c87 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Tue, 8 Dec 2020 14:04:00 -0700 Subject: [PATCH 01/10] initial campbellnormal --- docs/sphinx/source/api.rst | 1 + docs/sphinx/source/whatsnew/v0.8.1.rst | 6 ++- pvlib/irradiance.py | 59 ++++++++++++++++++++++++++ pvlib/tests/test_irradiance.py | 11 +++++ 4 files changed, 76 insertions(+), 1 deletion(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index 9d79aab177..36a09c67d1 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -181,6 +181,7 @@ DNI estimation models irradiance.dirint irradiance.dirindex irradiance.erbs + irradiance.campbellnorman irradiance.liujordan irradiance.gti_dirint diff --git a/docs/sphinx/source/whatsnew/v0.8.1.rst b/docs/sphinx/source/whatsnew/v0.8.1.rst index f7b4ec1782..2e302e3b0e 100644 --- a/docs/sphinx/source/whatsnew/v0.8.1.rst +++ b/docs/sphinx/source/whatsnew/v0.8.1.rst @@ -9,7 +9,7 @@ Breaking changes Deprecations ~~~~~~~~~~~~ - +* :py:func:`pvlib.irradiance.liujordan` is deprecated. Enhancements ~~~~~~~~~~~~ @@ -21,6 +21,10 @@ Enhancements multiple MPPTs (:issue:`457`, :pull:`1085`) * Added optional ``attributes`` parameter to :py:func:`pvlib.iotools.get_psm3` and added the option of fetching 5- and 15-minute PSM3 data. (:pull:`1086`) +* Added :py:func:`pvlib.irradiance.campbellnorman` for estimating DNI, DHI and GHI + from extraterrestrial irradiance. This function replaces :py:func:`pvlib.irradiance.liujordan`; + users of :py:func:`pvlib.irradiance.liujordan` should note that :py:func:`pvlib.irradiance.campbellnorman` + expects different parameters. Bug fixes ~~~~~~~~~ diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index e1d07699b2..32117f4816 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -13,6 +13,9 @@ from pvlib import atmosphere, solarposition, tools +from pvlib._deprecation import deprecated + + # see References section of grounddiffuse function SURFACE_ALBEDOS = {'urban': 0.18, 'grass': 0.20, @@ -2184,6 +2187,58 @@ def erbs(ghi, zenith, datetime_or_doy, min_cos_zenith=0.065, max_zenith=87): return data +def campbellnorman(zenith, transmittance, pressure=101325.0, dni_extra=1367.0): + ''' + Determine DNI, DHI, GHI from extraterrestrial flux, transmittance, + and atmospheric pressure. + + 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. + + transmittance: float + Atmospheric transmittance between 0 and 1. + + pressure: float, default 101325.0 + Air pressure + + dni_extra: float, default 1367.0 + Direct irradiance incident at the top of the atmosphere. + + Returns + ------- + irradiance: DataFrame + Modeled direct normal irradiance, direct horizontal irradiance, + and global horizontal irradiance in W/m^2 + + References + ---------- + .. [1] Campbell, G. S., J. M. Norman (1998) An Introduction to + Environmental Biophysics. 2nd Ed. New York: Springer. + ''' + + tau = transmittance + + airmass = atmosphere.get_relative_airmass(zenith, model='simple') + airmass = atmosphere.get_absolute_airmass(airmass, pressure=pressure) + dni = dni_extra*tau**airmass + dhi = 0.3 * (1.0 - tau**airmass) * dni_extra * np.cos(np.radians(zenith)) + ghi = dhi + dni * np.cos(np.radians(zenith)) + + irrads = OrderedDict() + irrads['ghi'] = ghi + irrads['dni'] = dni + irrads['dhi'] = dhi + + if isinstance(ghi, pd.Series): + irrads = pd.DataFrame(irrads) + + return irrads + + def liujordan(zenith, transmittance, airmass, dni_extra=1367.0): ''' Determine DNI, DHI, GHI from extraterrestrial flux, transmittance, @@ -2242,6 +2297,10 @@ def liujordan(zenith, transmittance, airmass, dni_extra=1367.0): return irrads +liujordan = deprecated('0.8', alternative='campbellnormam', + name='liujordan', removal='0.9')(liujordan) + + def _get_perez_coefficients(perezmodel): ''' Find coefficients for the Perez model diff --git a/pvlib/tests/test_irradiance.py b/pvlib/tests/test_irradiance.py index 0aeec3b95e..423fad7f02 100644 --- a/pvlib/tests/test_irradiance.py +++ b/pvlib/tests/test_irradiance.py @@ -295,6 +295,17 @@ def test_liujordan(): assert_frame_equal(out, expected) +def test_campbellnorman(): + expected = pd.DataFrame(np.array( + [[863.859736967, 653.123094076, 220.65905025]]), + columns=['ghi', 'dni', 'dhi'], + index=[0]) + out = irradiance.campbellnorman( + pd.Series([10]), pd.Series([0.5]), pd.Series([109764.21013135818]), + dni_extra=1400) + assert_frame_equal(out, expected) + + def test_get_total_irradiance(irrad_data, ephem_data, dni_et, relative_airmass): models = ['isotropic', 'klucher', 'haydavies', 'reindl', 'king', 'perez'] From afbd9e8066dfc1ed5c80fb9646e0c514a9165d13 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Tue, 8 Dec 2020 14:55:07 -0700 Subject: [PATCH 02/10] formatting, add deprecation test --- pvlib/irradiance.py | 2 +- pvlib/tests/test_irradiance.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index 32117f4816..d95704b1ad 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -2298,7 +2298,7 @@ def liujordan(zenith, transmittance, airmass, dni_extra=1367.0): liujordan = deprecated('0.8', alternative='campbellnormam', - name='liujordan', removal='0.9')(liujordan) + name='liujordan', removal='0.9')(liujordan) def _get_perez_coefficients(perezmodel): diff --git a/pvlib/tests/test_irradiance.py b/pvlib/tests/test_irradiance.py index 423fad7f02..206332156a 100644 --- a/pvlib/tests/test_irradiance.py +++ b/pvlib/tests/test_irradiance.py @@ -13,7 +13,8 @@ from pvlib import irradiance -from conftest import requires_ephem, requires_numba +from conftest import requires_ephem, requires_numba, fail_on_pvlib_version +from pvlib._deprecation import pvlibDeprecationWarning # fixtures create realistic test input data @@ -939,3 +940,11 @@ def test_clearness_index_zenith_independent(airmass_kt): airmass) expected = pd.Series([np.nan, 0.553744437562], index=times) assert_series_equal(out, expected) + + +@fail_on_pvlib_version('0.9') +def test_deprecated_09(): + # deprecated function irradiance.liujordan + with pytest.warns(pvlibDeprecationWarning): + irradiance.liujordan( + pd.Series([10]), pd.Series([0.5]), pd.Series([1.1]), dni_extra=1400) From b2ba8a68b3ddc9d8e72e618b01bb9f27205b81ee Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 09:22:45 -0700 Subject: [PATCH 03/10] review --- docs/sphinx/source/whatsnew/v0.8.1.rst | 8 ++++---- pvlib/irradiance.py | 8 +++++--- pvlib/tests/test_irradiance.py | 18 ++++++------------ 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/docs/sphinx/source/whatsnew/v0.8.1.rst b/docs/sphinx/source/whatsnew/v0.8.1.rst index 2e302e3b0e..6dd9cb80dc 100644 --- a/docs/sphinx/source/whatsnew/v0.8.1.rst +++ b/docs/sphinx/source/whatsnew/v0.8.1.rst @@ -9,7 +9,7 @@ Breaking changes Deprecations ~~~~~~~~~~~~ -* :py:func:`pvlib.irradiance.liujordan` is deprecated. +* ``pvlib.irradiance.liujordan`` is deprecated. Enhancements ~~~~~~~~~~~~ @@ -21,9 +21,9 @@ Enhancements multiple MPPTs (:issue:`457`, :pull:`1085`) * Added optional ``attributes`` parameter to :py:func:`pvlib.iotools.get_psm3` and added the option of fetching 5- and 15-minute PSM3 data. (:pull:`1086`) -* Added :py:func:`pvlib.irradiance.campbellnorman` for estimating DNI, DHI and GHI - from extraterrestrial irradiance. This function replaces :py:func:`pvlib.irradiance.liujordan`; - users of :py:func:`pvlib.irradiance.liujordan` should note that :py:func:`pvlib.irradiance.campbellnorman` +* Added :py:func:`pvlib.irradiance.campbell_norman` for estimating DNI, DHI and GHI + from extraterrestrial irradiance. This function replaces ``pvlib.irradiance.liujordan``; + users of ``pvlib.irradiance.liujordan`` should note that :py:func:`pvlib.irradiance.campbell_norman` expects different parameters. Bug fixes diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index d95704b1ad..4903d7cefc 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -2187,7 +2187,8 @@ def erbs(ghi, zenith, datetime_or_doy, min_cos_zenith=0.065, max_zenith=87): return data -def campbellnorman(zenith, transmittance, pressure=101325.0, dni_extra=1367.0): +def campbell_norman(zenith, transmittance, pressure=101325.0, + dni_extra=1367.0): ''' Determine DNI, DHI, GHI from extraterrestrial flux, transmittance, and atmospheric pressure. @@ -2225,8 +2226,9 @@ def campbellnorman(zenith, transmittance, pressure=101325.0, dni_extra=1367.0): airmass = atmosphere.get_relative_airmass(zenith, model='simple') airmass = atmosphere.get_absolute_airmass(airmass, pressure=pressure) dni = dni_extra*tau**airmass - dhi = 0.3 * (1.0 - tau**airmass) * dni_extra * np.cos(np.radians(zenith)) - ghi = dhi + dni * np.cos(np.radians(zenith)) + cos_zen = tools.cosd(zenith) + dhi = 0.3 * (1.0 - tau**airmass) * dni_extra * cos_zen + ghi = dhi + dni * cos_zen irrads = OrderedDict() irrads['ghi'] = ghi diff --git a/pvlib/tests/test_irradiance.py b/pvlib/tests/test_irradiance.py index 206332156a..b6c45c8254 100644 --- a/pvlib/tests/test_irradiance.py +++ b/pvlib/tests/test_irradiance.py @@ -286,22 +286,24 @@ def test_get_sky_diffuse_invalid(): model='invalid') +@fail_on_pvlib_version('0.9') def test_liujordan(): expected = pd.DataFrame(np.array( [[863.859736967, 653.123094076, 220.65905025]]), columns=['ghi', 'dni', 'dhi'], index=[0]) - out = irradiance.liujordan( - pd.Series([10]), pd.Series([0.5]), pd.Series([1.1]), dni_extra=1400) + with pytest.warns(pvlibDeprecationWarning): + out = irradiance.liujordan( + pd.Series([10]), pd.Series([0.5]), pd.Series([1.1]), dni_extra=1400) assert_frame_equal(out, expected) -def test_campbellnorman(): +def test_campbell_norman(): expected = pd.DataFrame(np.array( [[863.859736967, 653.123094076, 220.65905025]]), columns=['ghi', 'dni', 'dhi'], index=[0]) - out = irradiance.campbellnorman( + out = irradiance.campbell_norman( pd.Series([10]), pd.Series([0.5]), pd.Series([109764.21013135818]), dni_extra=1400) assert_frame_equal(out, expected) @@ -940,11 +942,3 @@ def test_clearness_index_zenith_independent(airmass_kt): airmass) expected = pd.Series([np.nan, 0.553744437562], index=times) assert_series_equal(out, expected) - - -@fail_on_pvlib_version('0.9') -def test_deprecated_09(): - # deprecated function irradiance.liujordan - with pytest.warns(pvlibDeprecationWarning): - irradiance.liujordan( - pd.Series([10]), pd.Series([0.5]), pd.Series([1.1]), dni_extra=1400) From 19569a207b6953bc4d4937145f2eb25668f410dd Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 09:24:25 -0700 Subject: [PATCH 04/10] format --- pvlib/tests/test_irradiance.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pvlib/tests/test_irradiance.py b/pvlib/tests/test_irradiance.py index b6c45c8254..995952648d 100644 --- a/pvlib/tests/test_irradiance.py +++ b/pvlib/tests/test_irradiance.py @@ -294,7 +294,8 @@ def test_liujordan(): index=[0]) with pytest.warns(pvlibDeprecationWarning): out = irradiance.liujordan( - pd.Series([10]), pd.Series([0.5]), pd.Series([1.1]), dni_extra=1400) + pd.Series([10]), pd.Series([0.5]), pd.Series([1.1]), + dni_extra=1400) assert_frame_equal(out, expected) From 5c9f95c291618be1db3e5a5d3e01c72cef6bda2f Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 10:59:48 -0700 Subject: [PATCH 05/10] traceable deprecation --- pvlib/irradiance.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index 4903d7cefc..67a327a090 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -2241,7 +2241,7 @@ def campbell_norman(zenith, transmittance, pressure=101325.0, return irrads -def liujordan(zenith, transmittance, airmass, dni_extra=1367.0): +def _liujordan(zenith, transmittance, airmass, dni_extra=1367.0): ''' Determine DNI, DHI, GHI from extraterrestrial flux, transmittance, and optical air mass number. @@ -2300,7 +2300,7 @@ def liujordan(zenith, transmittance, airmass, dni_extra=1367.0): liujordan = deprecated('0.8', alternative='campbellnormam', - name='liujordan', removal='0.9')(liujordan) + name='liujordan', removal='0.9')(_liujordan) def _get_perez_coefficients(perezmodel): From bd54e7e881b396a03e69d128f3c4a97d8d837ea5 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 11:55:16 -0700 Subject: [PATCH 06/10] api.rst --- docs/sphinx/source/api.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index 36a09c67d1..d78342eb9c 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -181,8 +181,7 @@ DNI estimation models irradiance.dirint irradiance.dirindex irradiance.erbs - irradiance.campbellnorman - irradiance.liujordan + irradiance.campbell_norman irradiance.gti_dirint Clearness index models From cc40e6af2fb64c4e9f8fdaddc95e0e78cad52305 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 13:45:29 -0700 Subject: [PATCH 07/10] change to campbell_normal in forecast.py --- docs/sphinx/source/api.rst | 2 +- docs/sphinx/source/whatsnew/v0.8.1.rst | 2 + pvlib/forecast.py | 57 +++++++++++++++++++++++--- pvlib/tests/test_forecast.py | 4 +- 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index d78342eb9c..ef0b3f6ea1 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -520,7 +520,7 @@ Processing data forecast.ForecastModel.cloud_cover_to_ghi_linear forecast.ForecastModel.cloud_cover_to_irradiance_clearsky_scaling forecast.ForecastModel.cloud_cover_to_transmittance_linear - forecast.ForecastModel.cloud_cover_to_irradiance_liujordan + forecast.ForecastModel.cloud_cover_to_irradiance_campbel_norman forecast.ForecastModel.cloud_cover_to_irradiance forecast.ForecastModel.kelvin_to_celsius forecast.ForecastModel.isobaric_to_ambient_temperature diff --git a/docs/sphinx/source/whatsnew/v0.8.1.rst b/docs/sphinx/source/whatsnew/v0.8.1.rst index 6dd9cb80dc..8b2bec94b5 100644 --- a/docs/sphinx/source/whatsnew/v0.8.1.rst +++ b/docs/sphinx/source/whatsnew/v0.8.1.rst @@ -25,6 +25,8 @@ Enhancements from extraterrestrial irradiance. This function replaces ``pvlib.irradiance.liujordan``; users of ``pvlib.irradiance.liujordan`` should note that :py:func:`pvlib.irradiance.campbell_norman` expects different parameters. +* :py:meth:`pvlib.forecast.Forecast.cloud_cover_to_irradiance_campbell_norman` + replaces ``pvlib.forecast.Forecast.cloud_cover_to_irradiance_liujordan``. Bug fixes ~~~~~~~~~ diff --git a/pvlib/forecast.py b/pvlib/forecast.py index 24e54e1015..06a74a926d 100644 --- a/pvlib/forecast.py +++ b/pvlib/forecast.py @@ -9,11 +9,14 @@ from xml.etree.ElementTree import ParseError from pvlib.location import Location -from pvlib.irradiance import liujordan, get_extra_radiation, disc +from pvlib.irradiance import campbell_norman, get_extra_radiation, disc +from pvlib.irradiance import _liujordan from siphon.catalog import TDSCatalog from siphon.ncss import NCSS import warnings +from pvlib._deprecation import deprecated, pvlibDeprecationWarning + warnings.warn( 'The forecast module algorithms and features are highly experimental. ' @@ -526,8 +529,48 @@ def cloud_cover_to_transmittance_linear(self, cloud_cover, offset=0.75, return transmittance + def cloud_cover_to_irradiance_campbell_norman(self, cloud_cover, **kwargs): + """ + Estimates irradiance from cloud cover in the following steps: + + 1. Determine transmittance using a function of cloud cover e.g. + :py:meth:`~ForecastModel.cloud_cover_to_transmittance_linear` + 2. Calculate GHI, DNI, DHI using the + :py:func:`pvlib.irradiance.campbell_norman` model + + Parameters + ---------- + cloud_cover : Series + + Returns + ------- + irradiance : DataFrame + Columns include ghi, dni, dhi + """ + # in principle, get_solarposition could use the forecast + # pressure, temp, etc., but the cloud cover forecast is not + # accurate enough to justify using these minor corrections + solar_position = self.location.get_solarposition(cloud_cover.index) + dni_extra = get_extra_radiation(cloud_cover.index) + + transmittance = self.cloud_cover_to_transmittance_linear(cloud_cover, + **kwargs) + + irrads = campbell_norman(solar_position['apparent_zenith'], + transmittance, dni_extra=dni_extra) + irrads = irrads.fillna(0) + + return irrads + + @deprecated( + '0.8', + alternative='Forecast.cloud_cover_to_irradiance_campbell_norman', + name='Forecast.cloud_cover_to_irradiance_liujordan', + removal='0.9') def cloud_cover_to_irradiance_liujordan(self, cloud_cover, **kwargs): """ + Deprecated. Use cloud_cover_to_irradiance_campbell_norman instead. + Estimates irradiance from cloud cover in the following steps: 1. Determine transmittance using a function of cloud cover e.g. @@ -554,9 +597,9 @@ def cloud_cover_to_irradiance_liujordan(self, cloud_cover, **kwargs): transmittance = self.cloud_cover_to_transmittance_linear(cloud_cover, **kwargs) - irrads = liujordan(solar_position['apparent_zenith'], - transmittance, airmass['airmass_absolute'], - dni_extra=dni_extra) + irrads = _liujordan(solar_position['apparent_zenith'], + transmittance, airmass['airmass_absolute'], + dni_extra=dni_extra) irrads = irrads.fillna(0) return irrads @@ -571,7 +614,8 @@ def cloud_cover_to_irradiance(self, cloud_cover, how='clearsky_scaling', cloud_cover : Series how : str, default 'clearsky_scaling' Selects the method for conversion. Can be one of - clearsky_scaling or liujordan. + clearsky_scaling or campbell_norman. Method liujordan is + deprecated. **kwargs Passed to the selected method. @@ -585,6 +629,9 @@ def cloud_cover_to_irradiance(self, cloud_cover, how='clearsky_scaling', if how == 'clearsky_scaling': irrads = self.cloud_cover_to_irradiance_clearsky_scaling( cloud_cover, **kwargs) + elif how == 'campbell_norman': + irrads = self.cloud_cover_to_irradiance_campbell_norman( + cloud_cover, **kwargs) elif how == 'liujordan': irrads = self.cloud_cover_to_irradiance_liujordan( cloud_cover, **kwargs) diff --git a/pvlib/tests/test_forecast.py b/pvlib/tests/test_forecast.py index 75b3badb74..d5d7c7f694 100644 --- a/pvlib/tests/test_forecast.py +++ b/pvlib/tests/test_forecast.py @@ -11,8 +11,10 @@ has_siphon, skip_windows, requires_recent_cftime, + fail_on_pvlib_version ) from conftest import RERUNS, RERUNS_DELAY +from pvlib._deprecation import pvlibDeprecationWarning pytestmark = pytest.mark.skipif(not has_siphon, reason='requires siphon') @@ -69,7 +71,7 @@ def model(request): @pytest.mark.remote_data @pytest.mark.flaky(reruns=RERUNS, reruns_delay=RERUNS_DELAY) def test_process_data(model): - for how in ['liujordan', 'clearsky_scaling']: + for how in ['campbell_norman', 'clearsky_scaling']: if model.raw_data.empty: warnings.warn('Could not test {} process_data with how={} ' 'because raw_data was empty'.format(model, how)) From d2229fdfe8da8798b028e889e7e7f0f55cac199a Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 14:25:52 -0700 Subject: [PATCH 08/10] remove stub for deprecation test in forecast.py --- pvlib/forecast.py | 2 +- pvlib/tests/test_forecast.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pvlib/forecast.py b/pvlib/forecast.py index 06a74a926d..72bbb77eb0 100644 --- a/pvlib/forecast.py +++ b/pvlib/forecast.py @@ -570,7 +570,7 @@ def cloud_cover_to_irradiance_campbell_norman(self, cloud_cover, **kwargs): def cloud_cover_to_irradiance_liujordan(self, cloud_cover, **kwargs): """ Deprecated. Use cloud_cover_to_irradiance_campbell_norman instead. - + Estimates irradiance from cloud cover in the following steps: 1. Determine transmittance using a function of cloud cover e.g. diff --git a/pvlib/tests/test_forecast.py b/pvlib/tests/test_forecast.py index d5d7c7f694..ff14de7629 100644 --- a/pvlib/tests/test_forecast.py +++ b/pvlib/tests/test_forecast.py @@ -10,11 +10,9 @@ requires_siphon, has_siphon, skip_windows, - requires_recent_cftime, - fail_on_pvlib_version + requires_recent_cftime ) from conftest import RERUNS, RERUNS_DELAY -from pvlib._deprecation import pvlibDeprecationWarning pytestmark = pytest.mark.skipif(not has_siphon, reason='requires siphon') From 02e267622665b007b4edcba0c6ae00e667b37a08 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 15:12:41 -0700 Subject: [PATCH 09/10] remove unused import --- pvlib/forecast.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/forecast.py b/pvlib/forecast.py index 72bbb77eb0..4d4500c560 100644 --- a/pvlib/forecast.py +++ b/pvlib/forecast.py @@ -15,7 +15,7 @@ from siphon.ncss import NCSS import warnings -from pvlib._deprecation import deprecated, pvlibDeprecationWarning +from pvlib._deprecation import deprecated warnings.warn( From 999ecdac097575867aa9c27a7e551ca5140c7570 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Wed, 9 Dec 2020 15:58:43 -0700 Subject: [PATCH 10/10] Update docs/sphinx/source/api.rst correct misspelling Co-authored-by: Will Holmgren --- docs/sphinx/source/api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sphinx/source/api.rst b/docs/sphinx/source/api.rst index ef0b3f6ea1..1306ed79d1 100644 --- a/docs/sphinx/source/api.rst +++ b/docs/sphinx/source/api.rst @@ -520,7 +520,7 @@ Processing data forecast.ForecastModel.cloud_cover_to_ghi_linear forecast.ForecastModel.cloud_cover_to_irradiance_clearsky_scaling forecast.ForecastModel.cloud_cover_to_transmittance_linear - forecast.ForecastModel.cloud_cover_to_irradiance_campbel_norman + forecast.ForecastModel.cloud_cover_to_irradiance_campbell_norman forecast.ForecastModel.cloud_cover_to_irradiance forecast.ForecastModel.kelvin_to_celsius forecast.ForecastModel.isobaric_to_ambient_temperature