-
Notifications
You must be signed in to change notification settings - Fork 1.1k
deprecate existing code in forecast.py, possibly replace with solarforecastarbiter shim #1057
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
Comments
I used these forecast functions earlier in my career for production forecasting (getting forecasted irradiance data). But that said, everything I used it for can be done with different tools (some already in pvlib). There are some good free/paid weather services out there that return weather forecast data, and pvlib already has functions to determine irradiance from cloud_coverage. While it could be tough for some to deprecate |
Probably not a solution but I recently started a weather data service to more easily access time-series reanalysis (ERA5) and forecast data (GFS) (see example here - https://oikolab.com/documentation). It's currently going through beta testing but I've been thinking about how to offer some of the service to the open-source / academic community. If you have any suggestion, would be more than happy to discuss. |
I've looked at the I count myself as a newbie user attracted to pvlib in part because of the forecasting. Even so I have no problem with it going away, as long as we have some examples of how to use a different tool for forecasting, if only to be pointed at the existence of the other tool. Regarding the ideas posted by @wholmgren. If you have no time to work on it, (4) is your only option. If not, you're clearly not in love with |
I’ve used A complete and simple forecasting example within pvlib is a powerful use case for the library. All that said, If the example uses some “lean” code from |
possibly of interest as an alternative data source: https://azure.microsoft.com/en-us/services/open-datasets/catalog/noaa-global-forecast-system/ |
After a year and half of mostly following option 4 ( If the data fetching code needs to live on somewhere, maybe |
My initial reaction to every |
I also have no interest in maintaining the original, maintaining a refactored version, or doing the refactor itself. I would be willing to deprecate the contents of Any objections to deprecating without replacement? Any objection to including the deprecation in 0.9.1? |
My vote would be to move the code to a its own package but I'm with @wholmgren and @kanderso-nrel I don't have the bandwidth to maintain another project. Maybe we can canvas the user community for volunteers. I support deprecating |
forecast.py
is a burden to maintain. I haven't used it in years, I don't think any of the other pvlib maintainers are interested in it, and I don't see any users stepping up to volunteer to maintain it. The code is not up to my present standards and I don't see how I'd get it there without a complete rewrite. This leads to difficult to track bugs such as the one recently reported on the google group. It also complicates the pvlib dependencies.solarforecastarbiter includes a reference_forecasts package that is much more robust. See documentation here and example notebook here (no promises that this works without modification for the latest version).
The main reason to prefer
forecast.py
tosolarforecastarbiter
is the data fetch process.forecast.py
pulls point data from a Unidata THREDDS server.solarforecastarbiter.reference_forecasts
assumes you already have gridded data stored in a netcdf file.solarforecastarbiter.io.nwp
provides functions to fetch that gridded data from NCEP. We have very good reasons for that approach insolarforecastarbiter
, but I doubt that manyforecast.py
users are interested in configuring that two step process for their application.I'm very tempted to stop here, remove
forecast.py
after deprecation, and say "not my problem anymore", but it seems to attract a fair number of people to pvlib, so I hesitate to remove it without some kind of replacement. Let's explore a few ideas.forecast.py
, rewrite code to fetch relevant data from Unidata. Make this function compatible with the expectations for theload_forecast
function passed intosolarforecastarbiter.reference_forecasts.models
functions.forecast.py
.Other thoughts?
The text was updated successfully, but these errors were encountered: