Skip to content

Commit 5280cb9

Browse files
committed
add test for orientation prop, altitude/pressure kwargs
1 parent a17379f commit 5280cb9

File tree

1 file changed

+47
-3
lines changed

1 file changed

+47
-3
lines changed

pvlib/test/test_modelchain.py

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
100109
def 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+
115125
def 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+
138148
def 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

Comments
 (0)