This tutorial explores the pvlib.pvsystem
module. The module has functions for importing PV module and inverter data and functions for modeling module and inverter performance.
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
try:
import seaborn as sns
except ImportError:
pass
# built in python modules
import datetime
import logging
import os
import inspect
try:
from importlib import reload
except:
pass
# python add-ons
import numpy as np
import pandas as pd
In [2]:
import pvlib
from pvlib import pvsystem
pvlib
can import TMY2 and TMY3 data. Here, we import the example files.
In [3]:
pvlib_abspath = os.path.dirname(os.path.abspath(inspect.getfile(pvlib)))
tmy3_data, tmy3_metadata = pvlib.tmy.readtmy3(os.path.join(pvlib_abspath, 'data', '703165TY.csv'))
tmy2_data, tmy2_metadata = pvlib.tmy.readtmy2(os.path.join(pvlib_abspath, 'data', '12839.tm2'))
In [4]:
pvlib.pvsystem.systemdef(tmy3_metadata, 0, 0, .1, 5, 5)
Out[4]:
{'albedo': 0.1,
'altitude': 7.0,
'latitude': 55.317,
'longitude': -160.517,
'name': '"SAND POINT"',
'parallel_modules': 5,
'series_modules': 5,
'surface_azimuth': 0,
'surface_tilt': 0,
'tz': -9.0}
In [5]:
pvlib.pvsystem.systemdef(tmy2_metadata, 0, 0, .1, 5, 5)
Out[5]:
{'albedo': 0.1,
'altitude': 2.0,
'latitude': 25.8,
'longitude': -80.26666666666667,
'name': 'MIAMI',
'parallel_modules': 5,
'series_modules': 5,
'surface_azimuth': 0,
'surface_tilt': 0,
'tz': -5}
In [6]:
angles = np.linspace(-180,180,3601)
ashraeiam = pd.Series(pvsystem.ashraeiam(.05, angles), index=angles)
ashraeiam.plot()
plt.ylabel('ASHRAE modifier')
plt.xlabel('input angle (deg)')
Out[6]:
<matplotlib.text.Text at 0x7f9e51ca4278>
In [7]:
angles = np.linspace(-180,180,3601)
physicaliam = pd.Series(pvsystem.physicaliam(4, 0.002, 1.526, angles), index=angles)
physicaliam.plot()
plt.ylabel('physical modifier')
plt.xlabel('input index')
Out[7]:
<matplotlib.text.Text at 0x7f9e22175e10>
In [8]:
plt.figure()
ashraeiam.plot(label='ASHRAE')
physicaliam.plot(label='physical')
plt.ylabel('modifier')
plt.xlabel('input angle (deg)')
plt.legend()
Out[8]:
<matplotlib.legend.Legend at 0x7f9e220fcc18>
PV system efficiency can vary by up to 0.5% per degree C, so it's important to accurately model cell and module temperature. The sapm_celltemp
function uses plane of array irradiance, ambient temperature, wind speed, and module and racking type to calculate cell and module temperatures. From King et. al. (2004):
The $a$, $b$, and $\Delta T$ parameters depend on the module and racking type. The default parameter set is open_rack_cell_glassback
.
In [9]:
pvsystem.sapm_celltemp(900, 5, 20)
Out[9]:
{'tcell': 43.509190983665746, 'tmodule': 40.809190983665744}
In [10]:
pvsystem.sapm_celltemp(900, 5, 20, [-3.47, -.0594, 3])
Out[10]:
{'tcell': 43.509190983665746, 'tmodule': 40.809190983665744}
Cell and module temperature as a function of wind speed.
In [11]:
wind = np.linspace(0,20,21)
temps = pd.DataFrame(pvsystem.sapm_celltemp(900, wind, 20), index=wind)
temps.plot()
plt.legend()
plt.xlabel('wind speed (m/s)')
plt.ylabel('temperature (deg C)')
Out[11]:
<matplotlib.text.Text at 0x7f9e220e5908>
Cell and module temperature as a function of ambient temperature.
In [12]:
atemp = np.linspace(-20,50,71)
temps = pd.DataFrame(pvsystem.sapm_celltemp(900, 2, atemp), index=atemp)
temps.plot()
plt.legend()
plt.xlabel('ambient temperature (deg C)')
plt.ylabel('temperature (deg C)')
Out[12]:
<matplotlib.text.Text at 0x7f9e21fcb438>
Cell and module temperature as a function of incident irradiance.
In [13]:
irrad = np.linspace(0,1000,101)
temps = pd.DataFrame(pvsystem.sapm_celltemp(irrad, 2, 20), index=irrad)
temps.plot()
plt.legend()
plt.xlabel('incident irradiance (W/m**2)')
plt.ylabel('temperature (deg C)')
Out[13]:
<matplotlib.text.Text at 0x7f9e21f9d588>
Cell and module temperature for different module and racking types.
In [14]:
models = ['open_rack_cell_glassback',
'roof_mount_cell_glassback',
'open_rack_cell_polymerback',
'insulated_back_polymerback',
'open_rack_polymer_thinfilm_steel',
'22x_concentrator_tracker']
temps = pd.DataFrame(index=['tcell','tmodule'])
for model in models:
temps[model] = pd.Series(pvsystem.sapm_celltemp(1000, 5, 20, model=model))
temps.T.plot(kind='bar') # try removing the transpose operation and replotting
plt.legend()
plt.ylabel('temperature (deg C)')
Out[14]:
<matplotlib.text.Text at 0x7f9e21f416a0>
In [15]:
inverters = pvsystem.retrieve_sam('sandiainverter')
inverters
Out[15]:
ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_
ABB__MICRO_0_25_I_OUTD_US_240_240V__CEC_2014_
ABB__MICRO_0_3HV_I_OUTD_US_208_208V__CEC_2014_
ABB__MICRO_0_3HV_I_OUTD_US_240_240V__CEC_2014_
ABB__MICRO_0_3_I_OUTD_US_208_208V__CEC_2014_
ABB__MICRO_0_3_I_OUTD_US_240_240V__CEC_2014_
Ablerex_Electronics_Co___Ltd___ES_2200_US_240__240_Vac__240V__CEC_2011_
Ablerex_Electronics_Co___Ltd___ES_3300_US_240__240_Vac__240V__CEC_2011_
Ablerex_Electronics_Co___Ltd___ES_4200_US_240__240_Vac__240V__CEC_2011_
Ablerex_Electronics_Co___Ltd___ES_5000_US_240__240_Vac__240V__CEC_2011_
...
Yes!_Solar_Inc___ES5000__240V__240V__CEC_2009_
Yes!_Solar_Inc___ES5300__208V__208V__CEC_2009_
Yes!_Solar_Inc___ES5300__240V__240V__CEC_2009_
Zhejiang_Yuhui_Solar_Energy_Source__Replus_250A_240V__CEC_2012_
Zhejiang_Yuhui_Solar_Energy_Source__Replus_250B_208V__CEC_2012_
Zigor__Sunzet_2_TL_US_240V__CEC_2011_
Zigor__Sunzet_3_TL_US_240V__CEC_2011_
Zigor__Sunzet_4_TL_US_240V__CEC_2011_
Zigor__Sunzet_5_TL_US_240V__CEC_2011_
Zigor__SUNZET4_USA_240V__CEC_2011_
Vac
208.000000
240.000000
208.000000
240.000000
208.000000
240.000000
240.000000
240.000000
240.000000
240.000000
...
240.000000
208.000000
240.000000
240.000000
208.000000
240.000000
240.000000
240.000000
240.000000
240.000000
Paco
250.000000
250.000000
300.000000
300.000000
300.000000
300.000000
2110.000000
3180.000000
4160.000000
5240.000000
...
4900.000000
4600.000000
5300.000000
225.190000
213.830000
2110.000000
3180.000000
4160.000000
5240.000000
4030.000000
Pdco
259.522000
259.553000
312.523000
312.022000
311.715000
311.505000
2191.830000
3313.680000
4342.410000
5495.830000
...
5135.580000
4829.420000
5571.180000
234.842000
225.563000
2191.830000
3313.680000
4342.410000
5495.830000
4267.480000
Vdco
40.242600
39.982200
45.259400
45.495000
40.227100
40.136100
399.207000
389.513000
388.562000
386.083000
...
275.000000
275.000000
274.900000
28.468400
28.632600
399.207000
389.513000
388.562000
386.083000
302.852000
Pso
1.771610
1.931190
1.882620
1.928590
1.971050
1.991340
30.843700
31.265000
31.601700
32.450800
...
29.358900
26.071500
28.519000
1.646710
1.845030
30.843700
31.265000
31.601700
32.450800
37.372800
C0
-0.000025
-0.000027
-0.000049
-0.000035
-0.000036
-0.000031
-0.000004
-0.000006
-0.000004
-0.000005
...
-0.000006
-0.000006
-0.000006
-0.000000
-0.000121
-0.000004
-0.000006
-0.000004
-0.000005
-0.000009
C1
-0.000090
-0.000158
-0.000241
-0.000228
-0.000256
-0.000289
-0.000077
-0.000095
-0.000079
-0.000097
...
0.000020
0.000024
0.000019
-0.000358
-0.000533
-0.000077
-0.000095
-0.000079
-0.000097
-0.000029
C2
0.000669
0.001476
0.000975
-0.000224
-0.000833
-0.002113
0.000502
0.000261
0.000213
-0.000251
...
0.001868
0.002618
0.001630
-0.013450
0.025867
0.000502
0.000261
0.000213
-0.000251
0.002147
C3
-0.018881
-0.034601
-0.027563
-0.039636
-0.039102
-0.049515
-0.003258
-0.001956
-0.001867
-0.002337
...
-0.000276
0.000468
-0.000371
-33.506800
-0.066826
-0.003258
-0.001956
-0.001867
-0.002337
-0.001897
Pnt
0.020000
0.050000
0.060000
0.060000
0.020000
0.050000
0.250000
0.250000
0.200000
0.200000
...
0.500000
0.500000
0.500000
0.170000
0.170000
0.250000
0.250000
0.200000
0.200000
0.190000
Vdcmax
65.000000
65.000000
79.000000
79.000000
65.000000
65.000000
500.000000
500.000000
500.000000
500.000000
...
600.000000
600.000000
600.000000
55.000000
55.000000
500.000000
500.000000
500.000000
500.000000
600.000000
Idcmax
10.000000
10.000000
10.500000
10.500000
10.000000
10.000000
14.600000
22.000000
28.000000
35.300000
...
25.000000
25.000000
25.000000
14.000000
14.000000
14.600000
22.000000
28.000000
35.300000
20.000000
Mppt_low
20.000000
20.000000
30.000000
30.000000
30.000000
30.000000
150.000000
150.000000
150.000000
150.000000
...
200.000000
200.000000
200.000000
22.000000
22.000000
150.000000
150.000000
150.000000
150.000000
240.000000
Mppt_high
50.000000
50.000000
75.000000
75.000000
50.000000
50.000000
450.000000
450.000000
450.000000
450.000000
...
550.000000
550.000000
550.000000
45.000000
45.000000
450.000000
450.000000
450.000000
450.000000
480.000000
14 rows × 1398 columns
In [16]:
vdcs = pd.Series(np.linspace(0,50,51))
idcs = pd.Series(np.linspace(0,11,110))
pdcs = idcs * vdcs
pacs = pvsystem.snlinverter(inverters['ABB__MICRO_0_25_I_OUTD_US_208_208V__CEC_2014_'], vdcs, pdcs)
#pacs.plot()
plt.plot(pacs, pdcs)
plt.ylabel('ac power')
plt.xlabel('dc power')
Out[16]:
<matplotlib.text.Text at 0x7f9e21ebd390>
Need to put more effort into describing this function.
The CEC module database.
In [17]:
cec_modules = pvsystem.retrieve_sam('cecmod')
cec_modules
Out[17]:
BEoptCA_Default_Module
Example_Module
1Soltech_1STH_215_P
1Soltech_1STH_220_P
1Soltech_1STH_225_P
1Soltech_1STH_230_P
1Soltech_1STH_235_WH
1Soltech_1STH_240_WH
1Soltech_1STH_245_WH
1Soltech_1STH_FRL_4H_245_M60_BLK
...
Znshine_PV_Tech_ZXM6_72_315_M
Znshine_PV_Tech_ZXP6_72_315_P
Znshine_PV_Tech_ZXM6_72_320_M
Znshine_PV_Tech_ZXM6_72_325_M
Znshine_PV_Tech_ZXM6_72_330_M
Zytech_Engineering_Technology_ZT170S
Zytech_Engineering_Technology_ZT175S
Zytech_Engineering_Technology_ZT180S
Zytech_Engineering_Technology_ZT185S
Zytech_Engineering_Technology_ZT190S
T_noct
65
65
47.4
47.4
47.4
47.4
49.9
49.9
49.9
48.3
...
47
47
47
47
47
46
46
46.8
46.8
46.8
A_c
0.67
0.67
1.567
1.567
1.567
1.567
1.635
1.635
1.635
1.668
...
1.941
1.941
1.941
1.941
1.941
1.277
1.277
1.277
1.277
1.277
N_s
18
18
60
60
60
60
60
60
60
60
...
72
72
72
72
72
72
72
72
72
72
I_sc_ref
7.5
7.5
7.84
7.97
8.09
8.18
8.54
8.58
8.62
8.81
...
8.91
8.95
8.99
9.09
9.19
4.98
5.36
5.21
5.3
5.5
V_oc_ref
10.4
10.4
36.3
36.6
36.9
37.1
37
37.1
37.2
38.3
...
46.45
45.22
46.54
46.63
46.72
44.21
44.57
44.71
45
44.86
I_mp_ref
6.6
6.6
7.35
7.47
7.58
7.65
8.02
8.07
8.1
8.06
...
8.32
8.45
8.43
8.54
8.65
4.63
4.7
4.79
4.87
5.04
V_mp_ref
8.4
8.4
29
29.3
29.6
29.9
29.3
29.7
30.2
30.2
...
37.86
37.28
37.96
38.06
38.15
36.72
37.22
37.58
38.09
37.73
Alpha_sc
0.003
0.003
0.007997
0.008129
0.008252
0.008344
0.00743
0.007465
0.007499
0.006167
...
0.00499
0.00546
0.005034
0.00509
0.005146
0.003735
0.00402
0.005314
0.005406
0.00561
Beta_oc
-0.04
-0.04
-0.13104
-0.13213
-0.13321
-0.13393
-0.13653
-0.1369
-0.13727
-0.13635
...
-0.14864
-0.16686
-0.14893
-0.14922
-0.1495
-0.16579
-0.16714
-0.16274
-0.1638
-0.16329
A_ref
0.473
0.473
1.6413
1.6572
1.6732
1.6888
1.6292
1.6425
1.6617
1.6351
...
1.9594
1.9767
1.9592
1.9616
1.9638
2.0618
2.1732
2.0685
2.0917
2.0806
I_l_ref
7.545
7.545
7.843
7.974
8.094
8.185
8.543
8.582
8.623
8.844
...
8.921
8.952
8.998
9.096
9.195
4.984
5.372
5.215
5.303
5.505
I_o_ref
1.943e-09
1.943e-09
1.936e-09
2.03e-09
2.126e-09
2.332e-09
1.166e-09
1.325e-09
1.623e-09
5.7e-10
...
4.43e-10
1.04e-09
4.28e-10
4.27e-10
4.24e-10
2.378e-09
6.055e-09
2.062e-09
2.317e-09
2.286e-09
R_s
0.094
0.094
0.359
0.346
0.334
0.311
0.383
0.335
0.272
0.421
...
0.338
0.253
0.332
0.326
0.321
0.322
0.204
0.213
0.145
0.195
R_sh_ref
15.72
15.72
839.4
751.03
670.65
462.56
1257.84
1463.82
724.06
109.31
...
285.83
1425.11
396.81
478.07
602.26
437.19
92.28
237.77
228.17
203.6
Adjust
10.6
10.6
16.5
16.8
17.1
17.9
8.7
9.8
11.6
6.502
...
16.21
7.696
15.79
15.64
15.48
18.7
27.7
20.2
21.2
20.7
Gamma_r
-0.5
-0.5
-0.495
-0.495
-0.495
-0.495
-0.482
-0.482
-0.482
-0.453
...
-0.453
-0.476
-0.453
-0.453
-0.453
-0.517
-0.517
-0.47
-0.47
-0.47
Source
Multi-c-Si
Multi-c-Si
Multi-c-Si
Multi-c-Si
Multi-c-Si
Multi-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
...
Mono-c-Si
Multi-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
Mono-c-Si
17 rows × 11589 columns
In [18]:
cecmodule = cec_modules.Example_Module
cecmodule
Out[18]:
T_noct 65
A_c 0.67
N_s 18
I_sc_ref 7.5
V_oc_ref 10.4
I_mp_ref 6.6
V_mp_ref 8.4
Alpha_sc 0.003
Beta_oc -0.04
A_ref 0.473
I_l_ref 7.545
I_o_ref 1.943e-09
R_s 0.094
R_sh_ref 15.72
Adjust 10.6
Gamma_r -0.5
Source Multi-c-Si
Name: Example_Module, dtype: object
The Sandia module database.
In [19]:
sandia_modules = pvsystem.retrieve_sam(name='SandiaMod')
sandia_modules
Out[19]:
Advent_Solar_AS160___2006_
Advent_Solar_Ventura_210___2008_
Advent_Solar_Ventura_215___2009_
Aleo_S03_160__2007__E__
Aleo_S03_165__2007__E__
Aleo_S16_165__2007__E__
Aleo_S16_170__2007__E__
Aleo_S16_175__2007__E__
Aleo_S16_180__2007__E__
Aleo_S16_185__2007__E__
...
Uni_Solar_US_64__1997__E__
Uni_Solar_US_64__2005__E__
Uni_Solar_USF_11__2003__E__
Uni_Solar_USF_32__2003__E__
Uni_Solar_USF_5__2003__E__
Yingli_Solar_YL220_Module___2008_
Yingli_Solar_YL220_Module__2008__E__
Yingli_Solar_YL230_29b_Module___2009_
Yingli_Solar_YL230_29b_Module__2009__E__
Yingli_YL210__2008__E__
Vintage
2006
2008
2009
2007 (E)
2007 (E)
2007 (E)
2007 (E)
2007 (E)
2007 (E)
2007 (E)
...
1997 (E)
2005 (E)
2003 (E)
2003 (E)
2003 (E)
2008
2008 (E)
2009
2009 (E)
2008 (E)
Area
1.312
1.646
1.646
1.28
1.28
1.378
1.378
1.378
1.378
1.378
...
1.012
1.012
0.235
0.606
0.136
1.7
1.7
1.634
1.634
1.7
Material
mc-Si
mc-Si
mc-Si
c-Si
c-Si
mc-Si
mc-Si
mc-Si
mc-Si
mc-Si
...
3-a-Si
3-a-Si
3-a-Si
3-a-Si
3-a-Si
mc-Si
mc-Si
mc-Si
mc-Si
mc-Si
#Series
72
60
60
72
72
50
50
50
50
50
...
11
11
11
11
11
60
60
60
60
60
#Parallel
1
1
1
1
1
1
1
1
1
1
...
2
2
1
1
1
1
1
1
1
1
Isco
5.564
8.34
8.49
5.1
5.2
7.9
7.95
8.1
8.15
8.2
...
5.1
4.8
0.78
2.4
0.37
8.163
8.1
8.222
8.4
7.8
Voco
42.832
35.31
35.92
43.5
43.6
30
30.1
30.2
30.3
30.5
...
21.3
23.8
23.8
23.8
23.8
36.871
36.6
37.28
37
36
Impo
5.028
7.49
7.74
4.55
4.65
7.08
7.23
7.38
7.53
7.67
...
4.1
3.88
0.62
1.94
0.3
7.388
7.4
7.727
7.8
7.2
Vmpo
32.41
27.61
27.92
35.6
35.8
23.3
23.5
23.7
23.9
24.1
...
15.6
16.5
16.5
16.5
16.5
28.633
30
29.886
29.5
29.5
Aisc
0.000537
0.00077
0.00082
0.0003
0.0003
0.0008
0.0008
0.0008
0.0008
0.0008
...
0.001
0.001
0.001
0.001
0.001
0.000436
0.000436
0.000746
0.000746
0.001
Aimp
-0.000491
-0.00015
-0.00013
-0.00025
-0.00025
-0.0003
-0.0003
-0.0003
-0.0003
-0.0003
...
0.001
0.001
0.001
0.001
0.001
-0.000176
-0.000176
0.000176
0.000176
-0.0002
C0
1.0233
0.937
1.015
0.99
0.99
0.99
0.99
0.99
0.99
0.99
...
1.121
1.121
1.096
1.096
1.096
0.9877
0.9877
0.9993
0.9993
0.977
C1
-0.0233
0.063
-0.015
0.01
0.01
0.01
0.01
0.01
0.01
0.01
...
-0.121
-0.121
-0.096
-0.096
-0.096
0.0123
0.0123
0.0007
0.0007
0.023
Bvoco
-0.1703
-0.133
-0.135
-0.152
-0.152
-0.11
-0.11
-0.11
-0.11
-0.11
...
-0.088
-0.088
-0.088
-0.088
-0.088
-0.1378
-0.1378
-0.1294
-0.1294
-0.133
Mbvoc
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
0
Bvmpo
-0.1731
-0.135
-0.136
-0.158
-0.158
-0.115
-0.115
-0.115
-0.115
-0.115
...
-0.051
-0.051
-0.051
-0.051
-0.051
-0.1421
-0.1421
-0.137
-0.137
-0.133
Mbvmp
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
0
N
1.174
1.495
1.373
1.25
1.25
1.35
1.35
1.35
1.35
1.35
...
3.51
3.51
3.77
3.77
3.77
1.442
1.442
1.263
1.263
1.384
C2
-0.76444
0.0182
0.0036
-0.15
-0.15
-0.12
-0.12
-0.12
-0.12
-0.12
...
-1.24058
-1.24058
-1.14162
-1.14162
-1.14162
-0.050321
-0.050321
-0.058706
-0.058706
-0.3872
C3
-15.5087
-10.758
-7.2509
-8.96
-8.96
-11.08
-11.08
-11.08
-11.08
-11.08
...
-3.91126
-3.91126
-2.89115
-2.89115
-2.89115
-8.81507
-8.81507
-8.35334
-8.35334
-9.5542
A0
0.9281
0.9067
0.9323
0.938
0.938
0.924
0.924
0.924
0.924
0.924
...
1.047
1.047
1.047
1.047
1.047
0.9407
0.9219
0.9011
0.9219
0.9219
A1
0.06615
0.09573
0.06526
0.05422
0.05422
0.06749
0.06749
0.06749
0.06749
0.06749
...
0.00082115
0.00082115
0.00082115
0.00082115
0.00082115
0.05086
0.0709
0.1021
0.0709
0.07089
A2
-0.01384
-0.0266
-0.01567
-0.009903
-0.009903
-0.012549
-0.012549
-0.012549
-0.012549
-0.012549
...
-0.0259
-0.0259
-0.0259
-0.0259
-0.0259
-0.008095
-0.0143
-0.02942
-0.0143
-0.01427
A3
0.001298
0.00343
0.00193
0.0007297
0.0007297
0.0010049
0.0010049
0.0010049
0.0010049
0.0010049
...
0.0031736
0.0031736
0.0031736
0.0031736
0.0031736
0.0003498
0.0012
0.00397
0.0012
0.00117
A4
-4.6e-05
-0.0001794
-9.81e-05
-1.907e-05
-1.907e-05
-2.8797e-05
-2.8797e-05
-2.8797e-05
-2.8797e-05
-2.8797e-05
...
-0.00011026
-0.00011026
-0.00011026
-0.00011026
-0.00011026
8.85e-06
-3e-05
-0.0002105
-3e-05
-3.37e-05
B0
1
1
1
1
1
1
1
1
1
1
...
1
1
1
1
1
1
1
1
1
1
B1
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
...
-0.00502
-0.00502
-0.00502
-0.00502
-0.00502
-0.002438
-0.002438
-0.002438
-0.002438
-0.002438
B2
0.0003103
0.00031
0.00031
0.0003103
0.0003103
0.0003103
0.0003103
0.0003103
0.0003103
0.0003103
...
0.0005842
0.0005842
0.0005842
0.0005842
0.0005842
0.0003103
0.0003103
0.0003103
0.0003103
0.00031
B3
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
...
-2.3e-05
-2.3e-05
-2.3e-05
-2.3e-05
-2.3e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
-1.246e-05
B4
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
...
3.826e-07
3.826e-07
3.826e-07
3.826e-07
3.826e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
2.112e-07
B5
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
...
-2.31e-09
-2.31e-09
-2.31e-09
-2.31e-09
-2.31e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
-1.359e-09
DTC
3
3
3
3
3
3
3
3
3
3
...
3
3
3
3
3
3
3
3
3
3
FD
1
1
1
1
1
1
1
1
1
1
...
1
1
1
1
1
1
1
1
1
1
A
-3.35
-3.45
-3.47
-3.56
-3.56
-3.56
-3.56
-3.56
-3.56
-3.56
...
-3.581
-3.581
-3.581
-3.581
-3.581
-3.303
-3.303
-3.348
-3.348
-3.54
B
-0.1161
-0.077
-0.087
-0.075
-0.075
-0.075
-0.075
-0.075
-0.075
-0.075
...
-0.113
-0.113
-0.113
-0.113
-0.113
-0.1012
-0.1012
-0.09143
-0.09143
-0.072
C4
0.9974
0.972
0.989
0.995
0.995
0.995
0.995
0.995
0.995
0.995
...
1.059
1.059
1.0515
1.0515
1.0515
0.9892
0.9892
0.995
0.995
0.985
C5
0.0026
0.028
0.012
0.005
0.005
0.005
0.005
0.005
0.005
0.005
...
-0.059
-0.059
-0.0515
-0.0515
-0.0515
0.0108
0.0108
0.005
0.005
0.015
IXO
5.54
8.25
8.49
5.04
5.14
7.8
7.85
8
8.05
8.1
...
4.73
4.44
0.71
2.22
0.342
8.0491
8.29
8.1509
8.31
7.65
IXXO
3.56
5.2
5.45
3.16
3.25
4.92
5.08
5.18
5.39
5.54
...
2.87
2.74
0.438
1.37
0.212
5.1339
5.1339
5.5099
5.57
5.06
C6
1.173
1.067
1.137
1.15
1.15
1.15
1.15
1.15
1.15
1.15
...
1.159
1.159
1.13
1.13
1.13
1.1335
1.1335
1.1325
1.1325
1.113
C7
-0.173
-0.067
-0.137
-0.15
-0.15
-0.15
-0.15
-0.15
-0.15
-0.15
...
-0.159
-0.159
-0.13
-0.13
-0.13
-0.1335
-0.1335
-0.1325
-0.1325
-0.113
Notes
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
Source: Sandia National Laboratories Updated 9...
42 rows × 513 columns
In [20]:
sandia_module = sandia_modules.Canadian_Solar_CS5P_220M___2009_
sandia_module
Out[20]:
Vintage 2009
Area 1.701
Material c-Si
#Series 96
#Parallel 1
Isco 5.09115
Voco 59.2608
Impo 4.54629
Vmpo 48.3156
Aisc 0.000397
Aimp 0.000181
C0 1.01284
C1 -0.0128398
Bvoco -0.21696
Mbvoc 0
Bvmpo -0.235488
Mbvmp 0
N 1.4032
C2 0.279317
C3 -7.24463
A0 0.928385
A1 0.068093
A2 -0.0157738
A3 0.0016606
A4 -6.93035e-05
B0 1
B1 -0.002438
B2 0.0003103
B3 -1.246e-05
B4 2.112e-07
B5 -1.359e-09
DTC 3
FD 1
A -3.40641
B -0.0842075
C4 0.996446
C5 0.003554
IXO 4.97599
IXXO 3.18803
C6 1.15535
C7 -0.155353
Notes Source: Sandia National Laboratories Updated 9...
Name: Canadian_Solar_CS5P_220M___2009_, dtype: object
Generate some irradiance data for modeling.
In [21]:
from pvlib import clearsky
from pvlib import irradiance
from pvlib import atmosphere
from pvlib.location import Location
tus = Location(32.2, -111, 'US/Arizona', 700, 'Tucson')
times = pd.date_range(start=datetime.datetime(2014,4,1), end=datetime.datetime(2014,4,2), freq='30s')
ephem_data = pvlib.solarposition.get_solarposition(times, tus)
irrad_data = clearsky.ineichen(times, tus)
#irrad_data.plot()
aoi = irradiance.aoi(0, 0, ephem_data['apparent_zenith'], ephem_data['azimuth'])
#plt.figure()
#aoi.plot()
am = atmosphere.relativeairmass(ephem_data['apparent_zenith'])
# a hot, sunny spring day in the desert.
temps = pvsystem.sapm_celltemp(irrad_data['GHI'], 0, 30)
Now we can run the module parameters and the irradiance data through the SAPM function.
In [22]:
sapm_1 = pvsystem.sapm(sandia_module, irrad_data['DNI']*np.cos(np.radians(aoi)),
irrad_data['DHI'], temps['tcell'], am, aoi)
sapm_1.head()
Out[22]:
Isc
Imp
Voc
Vmp
Pmp
Ix
Ixx
Ee
2014-04-01 00:00:00-07:00
0
0
0
0
0
0
0
0
2014-04-01 00:00:30-07:00
0
0
0
0
0
0
0
0
2014-04-01 00:01:00-07:00
0
0
0
0
0
0
0
0
2014-04-01 00:01:30-07:00
0
0
0
0
0
0
0
0
2014-04-01 00:02:00-07:00
0
0
0
0
0
0
0
0
In [23]:
def plot_sapm(sapm_data):
"""
Makes a nice figure with the SAPM data.
Parameters
----------
sapm_data : DataFrame
The output of ``pvsystem.sapm``
"""
fig, axes = plt.subplots(2, 3, figsize=(16,10), sharex=False, sharey=False, squeeze=False)
plt.subplots_adjust(wspace=.2, hspace=.3)
ax = axes[0,0]
sapm_data.filter(like='I').plot(ax=ax)
ax.set_ylabel('Current (A)')
ax = axes[0,1]
sapm_data.filter(like='V').plot(ax=ax)
ax.set_ylabel('Voltage (V)')
ax = axes[0,2]
sapm_data.filter(like='P').plot(ax=ax)
ax.set_ylabel('Power (W)')
ax = axes[1,0]
[ax.plot(sapm_data['Ee'], current, label=name) for name, current in sapm_data.filter(like='I').items()]
ax.set_ylabel('Current (A)')
ax.set_xlabel('Effective Irradiance')
ax.legend(loc=2)
ax = axes[1,1]
[ax.plot(sapm_data['Ee'], voltage, label=name) for name, voltage in sapm_data.filter(like='V').items()]
ax.set_ylabel('Voltage (V)')
ax.set_xlabel('Effective Irradiance')
ax.legend(loc=4)
ax = axes[1,2]
ax.plot(sapm_data['Ee'], sapm_data['Pmp'], label='Pmp')
ax.set_ylabel('Power (W)')
ax.set_xlabel('Effective Irradiance')
ax.legend(loc=2)
# needed to show the time ticks
for ax in axes.flatten():
for tk in ax.get_xticklabels():
tk.set_visible(True)
In [24]:
plot_sapm(sapm_1)
For comparison, here's the SAPM for a sunny, windy, cold version of the same day.
In [25]:
temps = pvsystem.sapm_celltemp(irrad_data['GHI'], 10, 5)
sapm_2 = pvsystem.sapm(sandia_module, irrad_data['DNI']*np.cos(np.radians(aoi)),
irrad_data['DHI'], temps['tcell'], am, aoi)
plot_sapm(sapm_2)
In [26]:
sapm_1['Pmp'].plot(label='30 C, 0 m/s')
sapm_2['Pmp'].plot(label=' 5 C, 10 m/s')
plt.legend()
plt.ylabel('Pmp')
plt.title('Comparison of a hot, calm day and a cold, windy day')
Out[26]:
<matplotlib.text.Text at 0x7f9e1a2c1940>
In [27]:
import warnings
warnings.simplefilter('ignore', np.RankWarning)
In [28]:
def sapm_to_ivframe(sapm_row):
pnt = sapm_row.T.ix[:,0]
ivframe = {'Isc': (pnt['Isc'], 0),
'Pmp': (pnt['Imp'], pnt['Vmp']),
'Ix': (pnt['Ix'], 0.5*pnt['Voc']),
'Ixx': (pnt['Ixx'], 0.5*(pnt['Voc']+pnt['Vmp'])),
'Voc': (0, pnt['Voc'])}
ivframe = pd.DataFrame(ivframe, index=['current', 'voltage']).T
ivframe = ivframe.sort('voltage')
return ivframe
def ivframe_to_ivcurve(ivframe, points=100):
ivfit_coefs = np.polyfit(ivframe['voltage'], ivframe['current'], 30)
fit_voltages = np.linspace(0, ivframe.ix['Voc', 'voltage'], points)
fit_currents = np.polyval(ivfit_coefs, fit_voltages)
return fit_voltages, fit_currents
In [29]:
sapm_to_ivframe(sapm_1['2014-04-01 10:00:00'])
Out[29]:
current
voltage
Isc
3.943111
0.000000
Ix
3.850701
25.734151
Pmp
3.508231
40.603933
Ixx
2.559264
46.036117
Voc
0.000000
51.468302
In [30]:
times = ['2014-04-01 07:00:00', '2014-04-01 08:00:00', '2014-04-01 09:00:00',
'2014-04-01 10:00:00', '2014-04-01 11:00:00', '2014-04-01 12:00:00']
times.reverse()
fig, ax = plt.subplots(1, 1, figsize=(12,8))
for time in times:
ivframe = sapm_to_ivframe(sapm_1[time])
fit_voltages, fit_currents = ivframe_to_ivcurve(ivframe)
ax.plot(fit_voltages, fit_currents, label=time)
ax.plot(ivframe['voltage'], ivframe['current'], 'ko')
ax.set_xlabel('Voltage (V)')
ax.set_ylabel('Current (A)')
ax.set_ylim(0, None)
ax.set_title('IV curves at multiple times')
ax.legend()
Out[30]:
<matplotlib.legend.Legend at 0x7f9e1a3aecc0>
The same data run through the desoto model.
In [31]:
IL, I0, Rs, Rsh, nNsVth = pvsystem.calcparams_desoto(S=irrad_data.GHI,
temp_cell=temps['tcell'],
alpha_isc=cecmodule['Alpha_sc'],
module_parameters=cecmodule,
EgRef=1.121,
dEgdT=-0.0002677)
In [32]:
IL.plot()
plt.ylabel('Light current (A)')
Out[32]:
<matplotlib.text.Text at 0x7f9e20198240>
In [33]:
Rsh.plot()
plt.ylabel('Shunt resistance (ohms)')
plt.ylim(0,100)
Out[33]:
(0, 100)
In [34]:
sdDFOut = pvsystem.singlediode(module=cecmodule,
IL=IL,
I0=I0,
Rs=Rs,
Rsh=Rsh,
nNsVth=nNsVth)
sdDFOut
Out[34]:
Isc
Rsh
Rs
nNsVth
I0
IL
VH
VL
V1
V2
f1
f2
SW_Flag
Imp
Voc
Vmp
Pmp
Ix
Ixx
2014-04-01 00:00:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:00:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:01:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:01:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:02:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:02:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:03:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:03:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:04:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:04:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:05:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:05:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:06:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:06:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:07:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:07:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:08:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:08:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:09:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:09:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:10:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:10:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:11:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:11:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:12:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:12:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:13:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:13:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:14:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 00:14:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
2014-04-01 23:45:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:46:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:46:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:47:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:47:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:48:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:48:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:49:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:49:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:50:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:50:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:51:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:51:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:52:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:52:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:53:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:53:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:54:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:54:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:55:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:55:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:56:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:56:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:57:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:57:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:58:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:58:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:59:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-01 23:59:30-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2014-04-02 00:00:00-07:00
NaN
inf
0.094
0.441271
5.330515e-11
0
0.022756
0
0.022756
0.014064
NaN
NaN
False
NaN
0.019739
0.022756
NaN
NaN
NaN
2881 rows × 19 columns
In [35]:
sdDFOut.Pmp.plot()
Out[35]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f9e1a2f9b70>
In [ ]:
Content source: rubennj/pvlib-python
Similar notebooks: