@@ -107,7 +107,7 @@ def test_axis_tilt():
107107 max_angle = 90 , backtrack = True ,
108108 gcr = 2.0 / 7.0 )
109109
110- expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 37.3427 ,
110+ expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 142.65730 ,
111111 'surface_tilt' : 35.98741 , 'tracker_theta' : - 20.88121 },
112112 index = [0 ], dtype = np .float64 )
113113
@@ -118,7 +118,7 @@ def test_axis_tilt():
118118 max_angle = 90 , backtrack = True ,
119119 gcr = 2.0 / 7.0 )
120120
121- expect = pd .DataFrame ({'aoi' : 47.6632 , 'surface_azimuth' : 129.0303 ,
121+ expect = pd .DataFrame ({'aoi' : 47.6632 , 'surface_azimuth' : 50.96969 ,
122122 'surface_tilt' : 42.5152 , 'tracker_theta' : 31.6655 },
123123 index = [0 ], dtype = np .float64 )
124124
@@ -188,12 +188,32 @@ def test_SingleAxisTracker_tracking():
188188
189189 tracker_data = system .singleaxis (apparent_zenith , apparent_azimuth )
190190
191- expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 37.3427 ,
191+ expect = pd .DataFrame ({'aoi' : 7.286245 , 'surface_azimuth' : 142.65730 ,
192192 'surface_tilt' : 35.98741 , 'tracker_theta' : - 20.88121 },
193193 index = [0 ], dtype = np .float64 )
194194
195195 assert_frame_equal (expect , tracker_data )
196196
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+
197217
198218def test_LocalizedSingleAxisTracker_creation ():
199219 localized_system = tracking .LocalizedSingleAxisTracker (latitude = 32 ,
@@ -254,7 +274,7 @@ def test_get_irradiance():
254274 surface_azimuth = tracker_data ['surface_azimuth' ])
255275
256276 expected = pd .DataFrame (data = np .array (
257- [[ 142.71652464 , 87.50125991 , 55.21526473 , 44.68768982 ,
277+ [[ 961.80070 , 815.94490 , 145.85580 , 135.32820 ,
258278 10.52757492 ],
259279 [ nan , nan , nan , nan ,
260280 nan ]]),
0 commit comments