Skip to content
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

BUG: netcdf4 conversion error in forecast.py #944

Closed
CameronTStark opened this issue Mar 27, 2020 · 6 comments · Fixed by #947
Closed

BUG: netcdf4 conversion error in forecast.py #944

CameronTStark opened this issue Mar 27, 2020 · 6 comments · Fixed by #947
Labels
Milestone

Comments

@CameronTStark
Copy link
Contributor

Describe the bug
The method get_data() from the parent class ForecastModel has a handling NETCDF data. It produces the following error on multiple tests within test_forecast.py:

TypeError: <class 'cftime._cftime.DatetimeGregorian'> is not convertible to datetime

To Reproduce
Run the command locally:

pytest pvlib/tests/test_forecast.py --remote-data --pdb

This command will ensure the tests marked as remote_data are run and you'll be dropped into a pdb debugger.

Expected behavior
The formatted data would be received without error.

Screenshots
If applicable, add screenshots to help explain your problem.

Versions:

  • pvlib.__version__: 0.7.1 master
  • pandas.__version__: 1.0.3
  • python: 3.7.4

Additional context
I'm unsure about the underlying origin but the disconnect seems to come through get_data() -> _netcdf2pandas() -> set_time() where num2date supplies a DatetimeGregorian that Pandas can't process.

It's notable that there is a suggestion on line 279 of forecast.py about the potential to move to xarray's implementation of NetCDF rather than using the _netcdf2pandas() method. This avenue likely has the potential to be easier than continuing a pvlib implementation.

@CameronTStark CameronTStark added this to the 0.7.3 milestone Mar 27, 2020
@wholmgren
Copy link
Member

Duplicate of #920?

@CameronTStark CameronTStark changed the title BUG: NETCDF4 conversion error in forcast.py BUG: netcdf4 conversion error in forecast.py Mar 28, 2020
@CameronTStark
Copy link
Contributor Author

I don't think so but I can't say they're not related.

The error described in #920 is not the same as here nor does the solution proposed in #921 fix this issue.

@kandersolar
Copy link
Member

FWIW I cannot reproduce the errors on my machine.

Maybe not relevant, but just in case: #900 handled the cftime change that added only_use_cftime_datetimes, but there was another recent change to add only_use_python_datetimes: https://github.com/Unidata/cftime/pull/139/files#diff-9225bec7bdd479a2dfbc187bb72953d1R259

@augustecolle
Copy link

augustecolle commented Mar 28, 2020

Downgrading cftime from 1.1.1 to 1.0.4 solved this issue for me.

@CameronTStark
Copy link
Contributor Author

That did it for me. Thanks, @augustecolle!

@wholmgren
Copy link
Member

@CameronTStark do you still see this problem when using pvlib/pvlib-python/master? I think @kanderso-nrel's suggestion might have fixed it and #947 might be unnecessary. Sorry I got confused about which issue to reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants