@@ -57,6 +57,9 @@ def run_orientation_strategy(strategy, expected):
5757
5858 mc = ModelChain (system , location , orientation_strategy = strategy )
5959
60+ # the || accounts for the coercion of 'None' to None
61+ assert (mc .orientation_strategy == strategy or
62+ mc .orientation_strategy == None )
6063 assert system .surface_tilt == expected [0 ]
6164 assert system .surface_azimuth == expected [1 ]
6265
@@ -96,6 +99,12 @@ def test_run_model_with_weather():
9699 index = times )
97100 assert_series_equal (ac , expected )
98101
102+
103+ @raises (ValueError )
104+ def test_bad_get_orientation ():
105+ modelchain .get_orientation ('bad value' )
106+
107+
99108@raises (ValueError )
100109def test_basic_chain_required ():
101110 times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
@@ -112,6 +121,7 @@ def test_basic_chain_required():
112121 module_parameters , inverter_parameters ,
113122 altitude = altitude )
114123
124+
115125def test_basic_chain_alt_az ():
116126 times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
117127 end = '20160101 1800-0700' , freq = '6H' )
@@ -128,13 +138,13 @@ def test_basic_chain_alt_az():
128138 dc , ac = modelchain .basic_chain (times , latitude , longitude ,
129139 module_parameters , inverter_parameters ,
130140 surface_tilt = surface_tilt ,
131- surface_azimuth = surface_azimuth ,
132- altitude = altitude )
141+ surface_azimuth = surface_azimuth )
133142
134- expected = pd .Series (np .array ([ 1.15771428788e +02 , - 2.00000000e-02 ]),
143+ expected = pd .Series (np .array ([ 1.14490928477e +02 , - 2.00000000e-02 ]),
135144 index = times )
136145 assert_series_equal (ac , expected )
137146
147+
138148def test_basic_chain_strategy ():
139149 times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
140150 end = '20160101 1800-0700' , freq = '6H' )
@@ -154,3 +164,37 @@ def test_basic_chain_strategy():
154164 expected = pd .Series (np .array ([ 1.82033563543e+02 , - 2.00000000e-02 ]),
155165 index = times )
156166 assert_series_equal (ac , expected )
167+
168+
169+ def test_basic_chain_altitude_pressure ():
170+ times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
171+ end = '20160101 1800-0700' , freq = '6H' )
172+ latitude = 32.2
173+ longitude = - 111
174+ altitude = 700
175+ surface_tilt = 0
176+ surface_azimuth = 0
177+ modules = sam_data ['sandiamod' ]
178+ module_parameters = modules ['Canadian_Solar_CS5P_220M___2009_' ]
179+ inverters = sam_data ['cecinverter' ]
180+ inverter_parameters = inverters ['ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_' ]
181+
182+ dc , ac = modelchain .basic_chain (times , latitude , longitude ,
183+ module_parameters , inverter_parameters ,
184+ surface_tilt = surface_tilt ,
185+ surface_azimuth = surface_azimuth ,
186+ pressure = 93194 )
187+
188+ expected = pd .Series (np .array ([ 1.15771428788e+02 , - 2.00000000e-02 ]),
189+ index = times )
190+ assert_series_equal (ac , expected )
191+
192+ dc , ac = modelchain .basic_chain (times , latitude , longitude ,
193+ module_parameters , inverter_parameters ,
194+ surface_tilt = surface_tilt ,
195+ surface_azimuth = surface_azimuth ,
196+ altitude = altitude )
197+
198+ expected = pd .Series (np .array ([ 1.15771428788e+02 , - 2.00000000e-02 ]),
199+ index = times )
200+ assert_series_equal (ac , expected )
0 commit comments