8000 fix failing tests · benbenboben/pvlib-python@17432e0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 17432e0

Browse files
committed
fix failing tests
1 parent 15f5444 commit 17432e0

File tree

1 file changed

+33
-20
lines changed

1 file changed

+33
-20
lines changed

pvlib/test/test_modelchain.py

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from pvlib.tracking import SingleAxisTracker
99
from pvlib.location import Location
1010

11-
from pandas.util.testing import assert_series_equal
11+
from pandas.util.testing import assert_series_equal, assert_frame_equal
1212
from nose.tools import raises
1313

1414
from . import incompatible_conda_linux_py3
@@ -45,6 +45,7 @@ def get_cec_module_parameters():
4545

4646
module = 'Canadian_Solar_CS5P_220M'
4747
module_parameters = modules[module].copy()
48+
module_parameters['b'] = 0.05
4849
module_parameters['EgRef'] = 1.121
4950
module_parameters['dEgdT'] = -0.0002677
5051

@@ -60,14 +61,18 @@ def get_cec_inverter_parameters():
6061
return inverter_parameters
6162

6263

63-
def sapm_setup():
64+
def sapm_setup(tracker=False):
6465

6566
module_parameters = get_sapm_module_parameters()
6667

6768
inverter_parameters = get_cec_inverter_parameters()
6869

69-
system = PVSystem(module_parameters=module_parameters,
70-
inverter_parameters=inverter_parameters)
70+
if tracker:
71+
system = SingleAxisTracker(module_parameters=module_parameters,
72+
inverter_parameters=inverter_parameters)
73+
else:
74+
system = PVSystem(module_parameters=module_parameters,
75+
inverter_parameters=inverter_parameters)
7176

7277
location = Location(32.2, -111, altitude=700)
7378

@@ -76,14 +81,18 @@ def sapm_setup():
7681
return mc
7782

7883

79-
def singlediode_setup():
84+
def singlediode_setup(tracker=False):
8085

8186
module_parameters = get_cec_module_parameters()
8287

8388
inverter_parameters = get_cec_inverter_parameters()
8489

85-
system = PVSystem(module_parameters=module_parameters,
86-
inverter_parameters=inverter_parameters)
90+
if tracker:
91+
system = SingleAxisTracker(module_parameters=module_parameters,
92+
inverter_parameters=inverter_parameters)
93+
else:
94+
system = PVSystem(module_parameters=module_parameters,
95+
inverter_parameters=inverter_parameters)
8796

8897
location = Location(32.2, -111, altitude=700)
8998

@@ -135,7 +144,7 @@ def test_run_model():
135144
expected[SAPM] = \
136145
pd.Series(np.array([1.82033564e+02, -2.00000000e-02]), index=times)
137146
expected[SingleDiode] = \
138-
pd.Series(np.array([179.720353871, np.nan]), index=times)
147+
pd.Series(np.array([179.15260, -2.00000000e-02]), index=times)
139148

140149
def run_test(mc):
141150
ac = mc.run_model(times).ac
@@ -154,7 +163,7 @@ def test_run_model_with_irradiance():
154163
expected[SAPM] = \
155164
pd.Series(np.array([1.90054749e+02, -2.00000000e-02]), index=times)
156165
expected[SingleDiode] = \
157-
pd.Series(np.array([186.979595403, 7.89417460232]), index=times)
166+
pd.Series(np.array([ 186.46774125, 7.8941746 ]), index=times)
158167

159168
def run_test(mc):
160169
ac = mc.run_model(times, irradiance=irradiance).ac
@@ -172,7 +181,7 @@ def test_run_model_with_weather():
172181
expected[SAPM] = \
173182
pd.Series(np.array([1.99952400e+02, -2.00000000e-02]), index=times)
174183
expected[SingleDiode] = \
175-
pd.Series(np.array([198.13564009, np.nan]), index=times)
184+
pd.Series(np.array([ 1.97456536e+02, -2.00000000e-02]), index=times)
176185

177186
def run_test(mc):
178187
ac = mc.run_model(times, weather=weather).ac
@@ -183,23 +192,27 @@ def run_test(mc):
183192

184193

185194
def test_run_model_tracker():
186-
system, location = mc_setup()
187-
system = SingleAxisTracker(module_parameters=system.module_parameters,
188-
inverter_parameters=system.inverter_parameters)
189-
mc = ModelChain(system, location)
190195
times = pd.date_range('20160101 1200-0700', periods=2, freq='6H')
191-
ac = mc.run_model(times).ac
192196

193-
expected = pd.Series(np.array([ 121.421719, -2.00000000e-02]),
194-
index=times)
195-
assert_series_equal(ac, expected)
197+
expected_ac = {}
198+
expected_ac[SAPM] = \
199+
pd.Series(np.array([ 121.421719, -2.00000000e-02]), index=times)
200+
expected_ac[SingleDiode] = \
201+
pd.Series(np.array([ 1.22736286e+02, -2.00000000e-02]), index=times)
196202

197-
expected = pd.DataFrame(np.
203+
expected_tracking = pd.DataFrame(np.
198204
array([[ 54.82513187, 90. , 11.0039221 , 11.0039221 ],
199205
[ nan, 0. , 0. , nan]]),
200206
columns=['aoi', 'surface_azimuth', 'surface_tilt', 'tracker_theta'],
201207
index=times)
202-
assert_frame_equal(mc.tracking, expected)
208+
209+
def run_test(mc):
210+
ac = mc.run_model(times).ac
211+
assert_series_equal(ac, expected_ac[type(mc)])
212+
assert_frame_equal(mc.tracking, expected_tracking)
213+
214+
for mc in (sapm_setup(tracker=True), singlediode_setup(tracker=True)):
215+
yield run_test, mc
203216

204217

205218
@raises(ValueError)

0 commit comments

Comments
 (0)
0