8
8
from pvlib .tracking import SingleAxisTracker
9
9
from pvlib .location import Location
10
10
11
- from pandas .util .testing import assert_series_equal , assert_frame_equal
12
- from nose .tools import with_setup , raises
11
+ from pandas .util .testing import assert_series_equal
12
+ from nose .tools import raises
13
+
14
+ from . import incompatible_conda_linux_py3
13
15
14
16
# should store this test data locally, but for now...
15
17
sam_data = {}
@@ -93,7 +95,7 @@ def singlediode_setup():
93
95
def test_ModelChain_creation ():
94
96
system = PVSystem ()
95
97
location = Location (32.2 , - 111 , altitude = 700 )
96
- mc = ModelChain (system , location )
98
+ ModelChain (system , location )
97
99
98
100
99
101
def test_orientation_strategy ():
@@ -113,7 +115,7 @@ def run_orientation_strategy(strategy, expected):
113
115
114
116
# the || accounts for the coercion of 'None' to None
115
117
assert (mc .orientation_strategy == strategy or
116
- mc .orientation_strategy == None )
118
+ mc .orientation_strategy is None )
117
119
assert system .surface_tilt == expected [0 ]
118
120
assert system .surface_azimuth == expected [1 ]
119
121
@@ -126,11 +128,12 @@ def test_run_model_ModelChain():
126
128
mc .run_model ()
127
129
128
130
131
+ @incompatible_conda_linux_py3
129
132
def test_run_model ():
130
133
times = pd .date_range ('20160101 1200-0700' , periods = 2 , freq = '6H' )
131
134
expected = {}
132
135
expected [SAPM ] = \
133
- pd .Series (np .array ([ 1.82033564e+02 , - 2.00000000e-02 ]), index = times )
136
+ pd .Series (np .array ([1.82033564e+02 , - 2.00000000e-02 ]), index = times )
134
137
expected [SingleDiode ] = \
135
138
pd .Series (np .array ([179.720353871 , np .nan ]), index = times )
136
139
@@ -142,13 +145,14 @@ def run_test(mc):
142
145
yield run_test , mc
143
146
144
147
148
+ @incompatible_conda_linux_py3
145
149
def test_run_model_with_irradiance ():
146
150
times = pd .date_range ('20160101 1200-0700' , periods = 2 , freq = '6H' )
147
151
irradiance = pd .DataFrame (
148
152
{'dni' : [900 , 0 ], 'ghi' : [600 , 50 ], 'dhi' : [150 , 50 ]}, index = times )
149
153
expected = {}
150
154
expected [SAPM ] = \
151
- pd .Series (np .array ([ 1.90054749e+02 , - 2.00000000e-02 ]), index = times )
155
+ pd .Series (np .array ([1.90054749e+02 , - 2.00000000e-02 ]), index = times )
152
156
expected [SingleDiode ] = \
153
157
pd .Series (np .array ([186.979595403 , 7.89417460232 ]), index = times )
154
158
@@ -160,12 +164,13 @@ def run_test(mc):
160
164
yield run_test , mc
161
165
162
166
167
+ @incompatible_conda_linux_py3
163
168
def test_run_model_with_weather ():
164
169
times = pd .date_range ('20160101 1200-0700' , periods = 2 , freq = '6H' )
165
170
weather = pd .DataFrame ({'wind_speed' : 5 , 'temp_air' : 10 }, index = times )
166
171
expected = {}
167
172
expected [SAPM ] = \
168
- pd .Series (np .array ([ 1.99952400e+02 , - 2.00000000e-02 ]), index = times )
173
+ pd .Series (np .array ([1.99952400e+02 , - 2.00000000e-02 ]), index = times )
169
174
expected [SingleDiode ] = \
170
175
pd .Series (np .array ([198.13564009 , np .nan ]), index = times )
171
176
@@ -209,10 +214,9 @@ def test_basic_chain_required():
209
214
latitude = 32
210
215
longitude = - 111
211
216
altitude = 700
212
- modules = sam_data ['sandiamod' ]
213
- module_parameters = modules ['Canadian_Solar_CS5P_220M___2009_' ]
214
- inverters = sam_data ['cecinverter' ]
215
- inverter_parameters = inverters ['ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_' ]
217
+
218
+ module_parameters = get_sapm_module_parameters ()
219
+ inverter_parameters = get_cec_inverter_parameters ()
216
220
217
221
dc , ac = modelchain .basic_chain (times , latitude , longitude ,
218
222
module_parameters , inverter_parameters ,
@@ -224,20 +228,18 @@ def test_basic_chain_alt_az():
224
228
end = '20160101 1800-0700' , freq = '6H' )
225
229
latitude = 32.2
226
230
longitude = - 111
227
- altitude = 700
228
231
surface_tilt = 0
229
232
surface_azimuth = 0
230
- modules = sam_data ['sandiamod' ]
231
- module_parameters = modules ['Canadian_Solar_CS5P_220M___2009_' ]
232
- inverters = sam_data ['cecinverter' ]
233
- inverter_parameters = inverters ['ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_' ]
233
+
234
+ module_parameters = get_sapm_module_parameters ()
235
+ inverter_parameters = get_cec_inverter_parameters ()
234
236
235
237
dc , ac = modelchain .basic_chain (times , latitude , longitude ,
236
238
module_parameters , inverter_parameters ,
237
239
surface_tilt = surface_tilt ,
238
240
surface_azimuth = surface_azimuth )
239
241
240
- expected = pd .Series (np .array ([ 1.14490928477e+02 , - 2.00000000e-02 ]),
242
+ expected = pd .Series (np .array ([1.14490928477e+02 , - 2.00000000e-02 ]),
241
243
index = times )
242
244
assert_series_equal (ac , expected )
243
245
@@ -248,17 +250,15 @@ def test_basic_chain_strategy():
248
250
latitude = 32.2
249
251
longitude = - 111
250
252
altitude = 700
251
- modules = sam_data ['sandiamod' ]
252
- module_parameters = modules ['Canadian_Solar_CS5P_220M___2009_' ]
253
- inverters = sam_data ['cecinverter' ]
254
- inverter_parameters = inverters ['ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_' ]
255
253
256
- dc , ac = modelchain .basic_chain (times , latitude , longitude ,
257
- module_parameters , inverter_parameters ,
258
- orientation_strategy = 'south_at_latitude_tilt' ,
259
- altitude = altitude )
254
+ module_parameters = get_sapm_module_parameters ()
255
+ inverter_parameters = get_cec_inverter_parameters ()
260
256
261
- expected = pd .Series (np .array ([ 1.82033563543e+02 , - 2.00000000e-02 ]),
257
+ dc , ac = modelchain .basic_chain (
258
+ times , latitude , longitude , module_parameters , inverter_parameters ,
259
+ orientation_strategy = 'south_at_latitude_tilt' , altitude = altitude )
260
+
261
+ expected = pd .Series (np .array ([1.82033563543e+02 , - 2.00000000e-02 ]),
262
262
index = times )
263
263
assert_series_equal (ac , expected )
264
264
@@ -271,18 +271,17 @@ def test_basic_chain_altitude_pressure():
271
271
altitude = 700
272
272
surface_tilt = 0
273
273
surface_azimuth = 0
274
- modules = sam_data ['sandiamod' ]
275
- module_parameters = modules ['Canadian_Solar_CS5P_220M___2009_' ]
276
- inverters = sam_data ['cecinverter' ]
277
- inverter_parameters = inverters ['ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_' ]
274
+
275
+ module_parameters = get_sapm_module_parameters ()
276
+ inverter_parameters = get_cec_inverter_parameters ()
278
277
279
278
dc , ac = modelchain .basic_chain (times , latitude , longitude ,
280
279
module_parameters , inverter_parameters ,
281
280
surface_tilt = surface_tilt ,
282
281
surface_azimuth = surface_azimuth ,
283
282
pressure = 93194 )
284
283
285
- expected = pd .Series (np .array ([ 1.15771428788e+02 , - 2.00000000e-02 ]),
284
+ expected = pd .Series (np .array ([1.15771428788e+02 , - 2.00000000e-02 ]),
286
285
index = times )
287
286
assert_series_equal (ac , expected )
288
287
@@ -292,6 +291,6 @@ def test_basic_chain_altitude_pressure():
292
291
surface_azimuth = surface_azimuth ,
293
292
altitude = altitude )
294
293
295
- expected = pd .Series (np .array ([ 1.15771428788e+02 , - 2.00000000e-02 ]),
294
+ expected = pd .Series (np .array ([1.15771428788e+02 , - 2.00000000e-02 ]),
296
295
index = times )
297
296
assert_series_equal (ac , expected )
0 commit comments