Open scttnlsn opened 1 month ago
Confirmed the issue with pvlib v0.11.0.
The discussion around the pandas issue suggests this occurs when DST adjustment occurs in a way that midnight local never "happens".
Short of a worldwide deprecation of daylight savings times, or handling of this case by pandas.normalize
, I suppose we ought to patch pvlib with liberal comments. rdtools worked around the problem in the similar way as proposed here https://github.com/NREL/rdtools/pull/373/files
@scttnlsn re-reading my comment, I don't think I was very clear: PR welcome along the lines you propose.
@cwhanse Sounds good - I'll put something together
Describe the bug
Cannot compute
hour_angle
in timezones and on a day where a daylight savings transition happens at midnight.To Reproduce
The call to
times.normalize()
insidehour_angle
raises an exception:Expected behavior
I'm not entirely sure. Pandas'
tz_localize
includes arguments for handling these sort of situations (https://pandas.pydata.org/docs/reference/api/pandas.Series.dt.tz_localize.html) and I suspect we could normalize the times like this:This would normalize the times to 1:00am instead of 12:00am (which didn't exist on that date). Here's some related discussion from a Pandas issue: https://github.com/pandas-dev/pandas/issues/40517
I suspect we'd need to similarly handle ambiguous times when daylight savings ends.
Does this seem like a reasonable approach? I can put a small PR together if so.
Versions:
pvlib.__version__
: 0.10.5pandas.__version__
: 2.2.2