From 71a312349a60310041d7253529dfcdc2e36e7702 Mon Sep 17 00:00:00 2001 From: Jakub Krasuski Date: Sat, 17 Oct 2026 15:09:16 +0200 Subject: [PATCH 1/2] Note deprecation of king in get_total_irradiance and get_sky_diffuse docstrings --- docs/sphinx/source/whatsnew/v0.16.2.rst | 4 ++++ pvlib/irradiance.py | 8 ++++---- tests/test_irradiance.py | 22 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/docs/sphinx/source/whatsnew/v0.16.2.rst b/docs/sphinx/source/whatsnew/v0.16.2.rst index fff7ba5d46..b8d1e401a7 100644 --- a/docs/sphinx/source/whatsnew/v0.16.2.rst +++ b/docs/sphinx/source/whatsnew/v0.16.2.rst @@ -35,6 +35,9 @@ Documentation * Clarify that :py:func:`pvlib.ivtools.sdm.fit_pvsyst_sandia` and :py:func:`pvlib.ivtools.sdm.fit_desoto_sandia` require multiple IV curves. (:issue:`1715`, :pull:`2883`) +* Note deprecation of ``king`` model in :py:func:`~pvlib.irradiance.get_total_irradiance` + and :py:func:`~pvlib.irradiance.get_sky_diffuse` docstrings. + (:issue:`2897`) Testing @@ -62,6 +65,7 @@ Contributors * Chen Yi (:ghuser:`chenyi6758-source`) * Rajiv Daxini (:ghuser:`rdaxini`) * jason-writer (:ghuser:`jason-writer`) +* Jakub Krasuski (:ghuser:`Blizzeq`) diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index 38bf122b91..9c65453473 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -295,7 +295,7 @@ def get_total_irradiance(surface_tilt, surface_azimuth, * klucher * haydavies * reindl - * king + * king (deprecated) * perez * perez-driesse @@ -328,7 +328,7 @@ def get_total_irradiance(surface_tilt, surface_azimuth, the list of accepted values. model : str, default 'isotropic' Irradiance model. Can be one of ``'isotropic'``, ``'klucher'``, - ``'haydavies'``, ``'reindl'``, ``'king'``, ``'perez'``, + ``'haydavies'``, ``'reindl'``, ``'king'`` (deprecated), ``'perez'``, ``'perez-driesse'``. model_perez : str, default 'allsitescomposite1990' Used only if ``model='perez'``. See :py:func:`~pvlib.irradiance.perez`. @@ -387,7 +387,7 @@ def get_sky_diffuse(surface_tilt, surface_azimuth, * klucher * haydavies * reindl - * king + * king (deprecated) * perez * perez-driesse @@ -415,7 +415,7 @@ def get_sky_diffuse(surface_tilt, surface_azimuth, See :term:`airmass_relative`. [unitless] model : str, default 'isotropic' Irradiance model. Can be one of ``'isotropic'``, ``'klucher'``, - ``'haydavies'``, ``'reindl'``, ``'king'``, ``'perez'``, + ``'haydavies'``, ``'reindl'``, ``'king'`` (deprecated), ``'perez'``, ``'perez-driesse'``. model_perez : str, default 'allsitescomposite1990' Used only if ``model='perez'``. See :py:func:`~pvlib.irradiance.perez`. diff --git a/tests/test_irradiance.py b/tests/test_irradiance.py index b0d9863ad5..5bc32fb792 100644 --- a/tests/test_irradiance.py +++ b/tests/test_irradiance.py @@ -320,6 +320,28 @@ def test_king(irrad_data, ephem_data): assert_allclose(result, [0, 44.629352, 115.182626, 79.719855], atol=1e-4) +def test_get_sky_diffuse_king_deprecated(irrad_data, ephem_data): + with warnings.catch_warnings(): + warnings.simplefilter('always') + with pytest.warns(pvlibDeprecationWarning, match='king'): + irradiance.get_sky_diffuse( + 40, 180, ephem_data['apparent_zenith'], + ephem_data['azimuth'], irrad_data['dni'], + irrad_data['ghi'], irrad_data['dhi'], model='king', + ) + + +def test_get_total_irradiance_king_deprecated(irrad_data, ephem_data): + with warnings.catch_warnings(): + warnings.simplefilter('always') + with pytest.warns(pvlibDeprecationWarning, match='king'): + irradiance.get_total_irradiance( + 40, 180, ephem_data['apparent_zenith'], + ephem_data['azimuth'], irrad_data['dni'], + irrad_data['ghi'], irrad_data['dhi'], model='king', + ) + + def test_perez(irrad_data, ephem_data, dni_et, relative_airmass): dni = irrad_data['dni'].copy() dni.iloc[2] = np.nan From 80972662b8328bf597b40c79f30c855f745661a5 Mon Sep 17 00:00:00 2001 From: Jakub Krasuski Date: Thu, 22 Oct 2026 10:20:28 +0200 Subject: [PATCH 2/2] Remove out-of-scope deprecation tests, link PR in whatsnew --- docs/sphinx/source/whatsnew/v0.16.2.rst | 2 +- tests/test_irradiance.py | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/docs/sphinx/source/whatsnew/v0.16.2.rst b/docs/sphinx/source/whatsnew/v0.16.2.rst index b8d1e401a7..935d33d847 100644 --- a/docs/sphinx/source/whatsnew/v0.16.2.rst +++ b/docs/sphinx/source/whatsnew/v0.16.2.rst @@ -37,7 +37,7 @@ Documentation (:issue:`1715`, :pull:`2883`) * Note deprecation of ``king`` model in :py:func:`~pvlib.irradiance.get_total_irradiance` and :py:func:`~pvlib.irradiance.get_sky_diffuse` docstrings. - (:issue:`2897`) + (:issue:`2897`, :pull:`2904`) Testing diff --git a/tests/test_irradiance.py b/tests/test_irradiance.py index 5bc32fb792..b0d9863ad5 100644 --- a/tests/test_irradiance.py +++ b/tests/test_irradiance.py @@ -320,28 +320,6 @@ def test_king(irrad_data, ephem_data): assert_allclose(result, [0, 44.629352, 115.182626, 79.719855], atol=1e-4) -def test_get_sky_diffuse_king_deprecated(irrad_data, ephem_data): - with warnings.catch_warnings(): - warnings.simplefilter('always') - with pytest.warns(pvlibDeprecationWarning, match='king'): - irradiance.get_sky_diffuse( - 40, 180, ephem_data['apparent_zenith'], - ephem_data['azimuth'], irrad_data['dni'], - irrad_data['ghi'], irrad_data['dhi'], model='king', - ) - - -def test_get_total_irradiance_king_deprecated(irrad_data, ephem_data): - with warnings.catch_warnings(): - warnings.simplefilter('always') - with pytest.warns(pvlibDeprecationWarning, match='king'): - irradiance.get_total_irradiance( - 40, 180, ephem_data['apparent_zenith'], - ephem_data['azimuth'], irrad_data['dni'], - irrad_data['ghi'], irrad_data['dhi'], model='king', - ) - - def test_perez(irrad_data, ephem_data, dni_et, relative_airmass): dni = irrad_data['dni'].copy() dni.iloc[2] = np.nan