Skip to content

Commit f2d92b1

Browse files
committed
add support for coerce_year
1 parent 7c18634 commit f2d92b1

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

pvlib/test/test_tmy.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ def test_readtmy3_norecolumn():
2626
data, meta = tmy.readtmy3(tmy3_testfile, recolumn=False)
2727
assert 'GHI source' in data.columns
2828

29+
def test_readtmy3_coerce_year():
30+
coerce_year = 1987
31+
data, meta = tmy.readtmy3(tmy3_testfile, coerce_year=coerce_year)
32+
assert (data.index.year == 1987).all()
33+
34+
def test_readtmy3_no_coerce_year():
35+
coerce_year = None
36+
data, meta = tmy.readtmy3(tmy3_testfile, coerce_year=coerce_year)
37+
assert 1997 and 1999 in data.index.year
38+
2939
def test_readtmy2():
3040
tmy.readtmy2(tmy2_testfile)
3141

pvlib/tmy.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ def readtmy3(filename=None, coerce_year=None, recolumn=True):
182182

183183
TMYData = pd.read_csv(filename, header=1,
184184
parse_dates={'datetime':['Date (MM/DD/YYYY)','Time (HH:MM)']},
185-
date_parser=_parsedate, index_col='datetime')
185+
date_parser=lambda *x: _parsedate(*x, year=coerce_year),
186+
index_col='datetime')
186187

187188
if recolumn:
188189
_recolumn(TMYData) #rename to standard column names
@@ -201,13 +202,15 @@ def _interactive_load():
201202

202203

203204

204-
def _parsedate(ymd, hour):
205+
def _parsedate(ymd, hour, year=None):
205206
# stupidly complicated due to TMY3's usage of hour 24
206207
# and dateutil's inability to handle that.
207208
offset_hour = int(hour[:2]) - 1
208209
offset_datetime = '{} {}:00'.format(ymd, offset_hour)
209210
offset_date = dateutil.parser.parse(offset_datetime)
210211
true_date = offset_date + dateutil.relativedelta.relativedelta(hours=1)
212+
if year is not None:
213+
true_date = true_date.replace(year=year)
211214
return true_date
212215

213216

0 commit comments

Comments
 (0)