@@ -107,7 +107,7 @@ def test_axis_tilt():
107
107
max_angle = 90 , backtrack = True ,
108
108
gcr = 2.0 / 7.0 )
109
109
110
- expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 37.3427 ,
110
+ expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 142.65730 ,
111
111
'surface_tilt' : 35.98741 , 'tracker_theta' : - 20.88121 },
112
112
index = [0 ], dtype = np .float64 )
113
113
@@ -118,7 +118,7 @@ def test_axis_tilt():
118
118
max_angle = 90 , backtrack = True ,
119
119
gcr = 2.0 / 7.0 )
120
120
121
- expect = pd .DataFrame ({'aoi' : 47.6632 , 'surface_azimuth' : 129.0303 ,
121
+ expect = pd .DataFrame ({'aoi' : 47.6632 , 'surface_azimuth' : 50.96969 ,
122
122
'surface_tilt' : 42.5152 , 'tracker_theta' : 31.6655 },
123
123
index = [0 ], dtype = np .float64 )
124
124
@@ -188,12 +188,32 @@ def test_SingleAxisTracker_tracking():
188
188
189
189
tracker_data = system .singleaxis (apparent_zenith , apparent_azimuth )
190
190
191
- expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 37.3427 ,
191
+ expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 142.65730 ,
192
192
'surface_tilt' : 35.98741 , 'tracker_theta' : - 20.88121 },
193
193
index = [0 ], dtype = np .float64 )
194
194
195
195
assert_frame_equal (expect , tracker_data )
196
196
197
+ ### results calculated using PVsyst
198
+ pvsyst_solar_azimuth = 7.1609
199
+ pvsyst_solar_height = 27.315
200
+ pvsyst_axis_tilt = 20.
201
+ pvsyst_axis_azimuth = 20.
202
+ pvsyst_system = tracking .SingleAxisTracker (max_angle = 60. ,
203
+ axis_tilt = pvsyst_axis_tilt ,
204
+ axis_azimuth = 180 + pvsyst_axis_azimuth ,
205
+ backtrack = False )
206
+ # the definition of azimuth is different from PYsyst
207
+ apparent_azimuth = pd .Series ([180 + pvsyst_solar_azimuth ])
208
+ apparent_zenith = pd .Series ([90 - pvsyst_solar_height ])
209
+ tracker_data = pvsyst_system .singleaxis (apparent_zenith , apparent_azimuth )
210
+ expect = pd .DataFrame ({'aoi' : 41.07852 , 'surface_azimuth' : 180 - 18.432 ,
211
+ 'surface_tilt' : 24.92122 , 'tracker_theta' : - 15.18391 },
212
+ index = [0 ], dtype = np .float64 )
213
+
214
+ assert_frame_equal (expect , tracker_data )
215
+
216
+
197
217
198
218
def test_LocalizedSingleAxisTracker_creation ():
199
219
localized_system = tracking .LocalizedSingleAxisTracker (latitude = 32 ,
@@ -254,7 +274,7 @@ def test_get_irradiance():
254
274
surface_azimuth = tracker_data ['surface_azimuth' ])
255
275
256
276
expected = pd .DataFrame (data = np .array (
257
- [[ 142.71652464 , 87.50125991 , 55.21526473 , 44.68768982 ,
277
+ [[ 961.80070 , 815.94490 , 145.85580 , 135.32820 ,
258
278
10.52757492 ],
259
279
[ nan , nan , nan , nan ,
260
280
nan ]]),
0 commit comments