-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Deprecate pvlib.forecast #1426
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate pvlib.forecast #1426
Changes from 8 commits
27e4fb1
6b69916
f61055f
1bd8bab
6584f79
9891d0d
cbb2b49
62b3df7
a652b93
749097b
9d4f893
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,25 @@ | |
Forecasting | ||
*********** | ||
|
||
.. warning:: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suppose this information could go in the whatsnew as well. Open to suggestions both for its location and its content. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what's new links to here, so I think it's fine. |
||
|
||
The ``pvlib.forecast`` module is deprecated as of version ``0.9.1``. | ||
|
||
Because none of the current pvlib team members are able to continue | ||
maintaining it, the functionality in ``pvlib.forecast`` is deprecated | ||
and will be removed without replacement in a future version. If you | ||
are interested in maintaining this functionality, please let us know. | ||
|
||
You can fetch forecast data yourself using ``siphon`` (see the | ||
docs below this warning) and the code from pvlib v0.9.0 as a reference: | ||
https://github.com/pvlib/pvlib-python/blob/v0.9.0/pvlib/forecast.py | ||
|
||
The `Solar Forecast Arbiter Core | ||
<https://solarforecastarbiter-core.readthedocs.io/en/stable/reference-forecasts.html>`_ | ||
offers similar (and more robust) forecast processing functionality | ||
and may be a suitable replacement for some users. | ||
|
||
|
||
pvlib python provides a set of functions and classes that make it easy | ||
to obtain weather forecast data and convert that data into a PV power | ||
forecast. Users can retrieve standardized weather forecast data relevant | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,14 +15,23 @@ | |
from siphon.ncss import NCSS | ||
|
||
import warnings | ||
from pvlib._deprecation import deprecated | ||
|
||
|
||
warnings.warn( | ||
'The forecast module algorithms and features are highly experimental. ' | ||
'The API may change, the functionality may be consolidated into an io ' | ||
'module, or the module may be separated into its own package.') | ||
|
||
_forecast_deprecated = deprecated( | ||
since='0.9.1', | ||
removal='a future release', | ||
addendum='For details, see https://pvlib-python.readthedocs.io/en/stable/user_guide/forecasts.html' # noqa: E501 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This URL is currently 404 but should work after 0.9.1 is released. |
||
) | ||
|
||
# don't decorate the base class to prevent the subclasses from showing | ||
# duplicate warnings: | ||
# @_forecast_deprecated | ||
class ForecastModel: | ||
""" | ||
An object for querying and holding forecast model information for | ||
|
@@ -684,6 +693,7 @@ def gust_to_speed(self, data, scaling=1/1.4): | |
return wind_speed | ||
|
||
|
||
@_forecast_deprecated | ||
class GFS(ForecastModel): | ||
""" | ||
Subclass of the ForecastModel class representing GFS | ||
|
@@ -785,6 +795,7 @@ def process_data(self, data, cloud_cover='total_clouds', **kwargs): | |
return data[self.output_variables] | ||
|
||
|
||
@_forecast_deprecated | ||
class HRRR_ESRL(ForecastModel): # noqa: N801 | ||
""" | ||
Subclass of the ForecastModel class representing | ||
|
@@ -875,6 +886,7 @@ def process_data(self, data, cloud_cover='total_clouds', **kwargs): | |
return data[self.output_variables] | ||
|
||
|
||
@_forecast_deprecated | ||
class NAM(ForecastModel): | ||
""" | ||
Subclass of the ForecastModel class representing NAM | ||
|
@@ -956,6 +968,7 @@ def process_data(self, data, cloud_cover='total_clouds', **kwargs): | |
return data[self.output_variables] | ||
|
||
|
||
@_forecast_deprecated | ||
class HRRR(ForecastModel): | ||
""" | ||
Subclass of the ForecastModel class representing HRRR | ||
|
@@ -1044,6 +1057,7 @@ def process_data(self, data, cloud_cover='total_clouds', **kwargs): | |
return data[self.output_variables] | ||
|
||
|
||
@_forecast_deprecated | ||
class NDFD(ForecastModel): | ||
""" | ||
Subclass of the ForecastModel class representing NDFD forecast | ||
|
@@ -1112,6 +1126,7 @@ def process_data(self, data, **kwargs): | |
return data[self.output_variables] | ||
|
||
|
||
@_forecast_deprecated | ||
class RAP(ForecastModel): | ||
""" | ||
Subclass of the ForecastModel class representing RAP forecast model. | ||
|
Uh oh!
There was an error while loading. Please reload this page.