Skip to content

Commit 522007a

Browse files
authored
rename series_modules to modules_per_string and parallel_modules to strings_per_inverter (#188)
* rename arguments * update whatsnew
1 parent aa643d5 commit 522007a

File tree

4 files changed

+40
-31
lines changed

4 files changed

+40
-31
lines changed

docs/sphinx/source/whatsnew/v0.3.3.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ v0.3.3 (May xx, 2016)
66
This is a minor release from 0.3.2.
77
We recommend that all users upgrade to this version.
88

9+
10+
API Changes
11+
~~~~~~~~~~~
12+
13+
* Renamed ``series_modules`` to ``modules_per_string`` and
14+
``parallel_modules`` to ``strings_per_inverter``. (:issue:`176`)
15+
16+
917
Enhancements
1018
~~~~~~~~~~~~
1119

docs/tutorials/pvsystem.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@
121121
" 'latitude': 55.317,\n",
122122
" 'longitude': -160.517,\n",
123123
" 'name': '\"SAND POINT\"',\n",
124-
" 'parallel_modules': 5,\n",
125-
" 'series_modules': 5,\n",
124+
" 'strings_per_inverter': 5,\n",
125+
" 'modules_per_string': 5,\n",
126126
" 'surface_azimuth': 0,\n",
127127
" 'surface_tilt': 0,\n",
128128
" 'tz': -9.0}"
@@ -152,8 +152,8 @@
152152
" 'latitude': 25.8,\n",
153153
" 'longitude': -80.26666666666667,\n",
154154
" 'name': 'MIAMI',\n",
155-
" 'parallel_modules': 5,\n",
156-
" 'series_modules': 5,\n",
155+
" 'strings_per_inverter': 5,\n",
156+
" 'modules_per_string': 5,\n",
157157
" 'surface_azimuth': 0,\n",
158158
" 'surface_tilt': 0,\n",
159159
" 'tz': -5}"

pvlib/pvsystem.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ class PVSystem(object):
3838
The class supports basic system topologies consisting of:
3939
4040
* `N` total modules arranged in series
41-
(`series_modules=N`, `parallel_modules=1`).
41+
(`modules_per_string=N`, `strings_per_inverter=1`).
4242
* `M` total modules arranged in parallel
43-
(`series_modules=1`, `parallel_modules=M`).
43+
(`modules_per_string=1`, `strings_per_inverter=M`).
4444
* `NxM` total modules arranged in `M` strings of `N` modules each
45-
(`series_modules=N`, `parallel_modules=M`).
45+
(`modules_per_string=N`, `strings_per_inverter=M`).
4646
4747
The class is complementary to the module-level functions.
4848
@@ -78,10 +78,10 @@ class PVSystem(object):
7878
module_parameters : None, dict or Series
7979
Module parameters as defined by the SAPM, CEC, or other.
8080
81-
series_modules: int or float
81+
modules_per_string: int or float
8282
See system topology discussion above.
8383
84-
parallel_modules: int or float
84+
strings_per_inverter: int or float
8585
See system topology discussion above.
8686
8787
inverter : None, string
@@ -110,7 +110,7 @@ def __init__(self,
110110
surface_tilt=0, surface_azimuth=180,
111111
albedo=None, surface_type=None,
112112
module=None, module_parameters=None,
113-
series_modules=1, parallel_modules=1,
113+
modules_per_string=1, strings_per_inverter=1,
114114
inverter=None, inverter_parameters=None,
115115
racking_model='open_rack_cell_glassback',
116116
**kwargs):
@@ -129,8 +129,8 @@ def __init__(self,
129129
self.module = module
130130
self.module_parameters = module_parameters
131131

132-
self.series_modules = series_modules
133-
self.parallel_modules = parallel_modules
132+
self.modules_per_string = modules_per_string
133+
self.strings_per_inverter = strings_per_inverter
134134

135135
self.inverter = inverter
136136
self.inverter_parameters = inverter_parameters
@@ -382,7 +382,7 @@ def scale_voltage_current_power(self, data):
382382
"""
383383
Scales the voltage, current, and power of the DataFrames
384384
returned by :py:func:`singlediode` and :py:func:`sapm`
385-
by `self.series_modules` and `self.parallel_modules`.
385+
by `self.modules_per_string` and `self.strings_per_inverter`.
386386
387387
Parameters
388388
----------
@@ -396,8 +396,9 @@ def scale_voltage_current_power(self, data):
396396
A scaled copy of the input data.
397397
"""
398398

399-
return scale_voltage_current_power(data, voltage=self.series_modules,
400-
current=self.parallel_modules)
399+
return scale_voltage_current_power(data,
400+
voltage=self.modules_per_string,
401+
current=self.strings_per_inverter)
401402

402403
def localize(self, location=None, latitude=None, longitude=None,
403404
**kwargs):
@@ -454,8 +455,8 @@ def __init__(self, pvsystem=None, location=None, **kwargs):
454455
super(LocalizedPVSystem, self).__init__(**new_kwargs)
455456

456457

457-
def systemdef(meta, surface_tilt, surface_azimuth, albedo, series_modules,
458-
parallel_modules):
458+
def systemdef(meta, surface_tilt, surface_azimuth, albedo, modules_per_string,
459+
strings_per_inverter):
459460
'''
460461
Generates a dict of system parameters used throughout a simulation.
461462
@@ -493,10 +494,10 @@ def systemdef(meta, surface_tilt, surface_azimuth, albedo, series_modules,
493494
(land), may increase over snow, ice, etc. May also be known as
494495
the reflection coefficient. Must be >=0 and <=1.
495496
496-
series_modules : int
497+
modules_per_string : int
497498
Number of modules connected in series in a string.
498499
499-
parallel_modules : int
500+
strings_per_inverter : int
500501
Number of strings connected in parallel.
501502
502503
Returns
@@ -508,8 +509,8 @@ def systemdef(meta, surface_tilt, surface_azimuth, albedo, series_modules,
508509
* 'surface_tilt'
509510
* 'surface_azimuth'
510511
* 'albedo'
511-
* 'series_modules'
512-
* 'parallel_modules'
512+
* 'modules_per_string'
513+
* 'strings_per_inverter'
513514
* 'latitude'
514515
* 'longitude'
515516
* 'tz'
@@ -530,8 +531,8 @@ def systemdef(meta, surface_tilt, surface_azimuth, albedo, series_modules,
530531
system = {'surface_tilt': surface_tilt,
531532
'surface_azimuth': surface_azimuth,
532533
'albedo': albedo,
533-
'series_modules': series_modules,
534-
'parallel_modules': parallel_modules,
534+
'modules_per_string': modules_per_string,
535+
'strings_per_inverter': strings_per_inverter,
535536
'latitude': meta['latitude'],
536537
'longitude': meta['longitude'],
537538
'tz': meta['TZ'],
@@ -1732,7 +1733,7 @@ def scale_voltage_current_power(data, voltage=1, current=1):
17321733
# could make it work with a dict, but it would be more verbose
17331734
data = data.copy()
17341735
voltages = ['v_mp', 'v_oc']
1735-
currents = ['i_mp' ,'i_x', 'i_xx', 'i_sc']
1736+
currents = ['i_mp', 'i_x', 'i_xx', 'i_sc']
17361737
data[voltages] *= voltage
17371738
data[currents] *= current
17381739
data['p_mp'] *= voltage * current

pvlib/test/test_pvsystem.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ def test_systemdef_tmy3():
5555
'latitude': 55.317,
5656
'longitude': -160.517,
5757
'name': '"SAND POINT"',
58-
'parallel_modules': 5,
59-
'series_modules': 5,
58+
'strings_per_inverter': 5,
59+
'modules_per_string': 5,
6060
'surface_azimuth': 0,
6161
'surface_tilt': 0}
6262
assert_equals(expected, pvsystem.systemdef(tmy3_metadata, 0, 0, .1, 5, 5))
@@ -68,8 +68,8 @@ def test_systemdef_tmy2():
6868
'latitude': 25.8,
6969
'longitude': -80.26666666666667,
7070
'name': 'MIAMI',
71-
'parallel_modules': 5,
72-
'series_modules': 5,
71+
'strings_per_inverter': 5,
72+
'modules_per_string': 5,
7373
'surface_azimuth': 0,
7474
'surface_tilt': 0}
7575
assert_equals(expected, pvsystem.systemdef(tmy2_metadata, 0, 0, .1, 5, 5))
@@ -81,8 +81,8 @@ def test_systemdef_dict():
8181
'latitude': 37.8,
8282
'longitude': -122.3,
8383
'name': 'Oakland',
84-
'parallel_modules': 5,
85-
'series_modules': 5,
84+
'strings_per_inverter': 5,
85+
'modules_per_string': 5,
8686
'surface_azimuth': 0,
8787
'surface_tilt': 5}
8888
assert_equals(expected, pvsystem.systemdef(meta, 5, 0, .1, 5, 5))
@@ -314,7 +314,7 @@ def test_PVSystem_scale_voltage_current_power():
314314
np.array([[6, 4.5, 20, 16, 72, 1.5, 4.5]]),
315315
columns=['i_sc', 'i_mp', 'v_oc', 'v_mp', 'p_mp', 'i_x', 'i_xx'],
316316
index=[0])
317-
system = pvsystem.PVSystem(series_modules=2, parallel_modules=3)
317+
system = pvsystem.PVSystem(modules_per_string=2, strings_per_inverter=3)
318318
out = system.scale_voltage_current_power(data)
319319

320320

0 commit comments

Comments
 (0)