@@ -57,6 +57,9 @@ def run_orientation_strategy(strategy, expected):
57
57
58
58
mc = ModelChain (system , location , orientation_strategy = strategy )
59
59
60
+ # the || accounts for the coercion of 'None' to None
61
+ assert (mc .orientation_strategy == strategy or
62
+ mc .orientation_strategy == None )
60
63
assert system .surface_tilt == expected [0 ]
61
64
assert system .surface_azimuth == expected [1 ]
62
65
@@ -96,6 +99,12 @@ def test_run_model_with_weather():
96
99
index = times )
97
100
assert_series_equal (ac , expected )
98
101
102
+
103
+ @raises (ValueError )
104
+ def test_bad_get_orientation ():
105
+ modelchain .get_orientation ('bad value' )
106
+
107
+
99
108
@raises (ValueError )
100
109
def test_basic_chain_required ():
101
110
times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
@@ -112,6 +121,7 @@ def test_basic_chain_required():
112
121
module_parameters , inverter_parameters ,
113
122
altitude = altitude )
114
123
124
+
115
125
def test_basic_chain_alt_az ():
116
126
times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
117
127
end = '20160101 1800-0700' , freq = '6H' )
@@ -128,13 +138,13 @@ def test_basic_chain_alt_az():
128
138
dc , ac = modelchain .basic_chain (times , latitude , longitude ,
129
139
module_parameters , inverter_parameters ,
130
140
surface_tilt = surface_tilt ,
131
- surface_azimuth = surface_azimuth ,
132
- altitude = altitude )
141
+ surface_azimuth = surface_azimuth )
133
142
134
- expected = pd .Series (np .array ([ 1.15771428788e +02 , - 2.00000000e-02 ]),
143
+ expected = pd .Series (np .array ([ 1.14490928477e +02 , - 2.00000000e-02 ]),
135
144
index = times )
136
145
assert_series_equal (ac , expected )
137
146
147
+
138
148
def test_basic_chain_strategy ():
139
149
times = pd .DatetimeIndex (start = '20160101 1200-0700' ,
140
150
end = '20160101 1800-0700' , freq = '6H' )
@@ -154,3 +164,37 @@ def test_basic_chain_strategy():
154
164
expected = pd .Series (np .array ([ 1.82033563543e+02 , - 2.00000000e-02 ]),
155
165
index = times )
156
166
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