Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit eb7b34a

Browse filesBrowse files
ckreningConnorkandersolarcwhanse
authored
Create pvlib.iotools.read_panond for reading .pan and .ond files (#1749)
* pan ond reader * pan ond reader * More info in nested levels * Added Comments * Added whatsnew documentation * Corrected formatting * Adressing stickler comments * Updated testing script * addressing stickler comments * stickler comments v3 * stickler comment correction * Updated notes and comments * Minor comment updates and sphinx doc update * edited comments for grammar/spelling * improved testing panond reader * pan ond reader * pan ond reader * More info in nested levels * Added Comments * Added whatsnew documentation * Corrected formatting * Adressing stickler comments * Updated testing script * addressing stickler comments * stickler comments v3 * stickler comment correction * Updated notes and comments * Minor comment updates and sphinx doc update * edited comments for grammar/spelling * improved testing panond reader * Update pvlib/iotools/panond.py Co-authored-by: Kevin Anderson <kevin.anderso@gmail.com> * Update pvlib/iotools/panond.py Co-authored-by: Kevin Anderson <kevin.anderso@gmail.com> * Adressing some github comments * Addressing github comments pt.2 * github comments pt.3 * flake8 formatting * Flake8 formatting * remove unnecessary doc entries * whatsnew cleanup * encoding parameter, and fix parsing both file buffers and file-like objects * docstring improvements * test improvements * lint * update FAQ entry on PAN/OND files * Apply suggestions from code review Co-authored-by: Cliff Hansen <cwhanse@sandia.gov> * make parse function private * fix overlooked whatsnew issue --------- Co-authored-by: Connor <connor.krening@erthos.com> Co-authored-by: Kevin Anderson <kevin.anderso@gmail.com> Co-authored-by: Cliff Hansen <cwhanse@sandia.gov>
1 parent 4237a67 commit eb7b34a
Copy full SHA for eb7b34a

File tree

Expand file treeCollapse file tree

8 files changed

+417
-3
lines changed
Filter options
Expand file treeCollapse file tree

8 files changed

+417
-3
lines changed

‎docs/sphinx/source/reference/iotools.rst

Copy file name to clipboardExpand all lines: docs/sphinx/source/reference/iotools.rst
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ of sources and file formats relevant to solar energy modeling.
4242
iotools.get_acis_mpe
4343
iotools.get_acis_station_data
4444
iotools.get_acis_available_stations
45+
iotools.read_panond
46+
4547

4648
A :py:class:`~pvlib.location.Location` object may be created from metadata
4749
in some files.

‎docs/sphinx/source/user_guide/faq.rst

Copy file name to clipboardExpand all lines: docs/sphinx/source/user_guide/faq.rst
+5-3Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,11 @@ irradiance datasets, including the BSRN, SURFRAD, SRML, and NREL's MIDC.
6666
Can I use PVsyst (PAN/OND) files with pvlib?
6767
--------------------------------------------
6868

69-
Currently, pvlib does not have the ability to import any PVsyst file formats.
70-
Certain formats of particular interest (e.g. PAN files) may be added in a future
71-
version. Until then, these Google Group threads
69+
Although pvlib includes a function to read PAN and OND files
70+
(:py:func:`~pvlib.iotools.read_panond`), it is up to the user to determine
71+
whether and how the imported parameter values can be used with pvlib's models.
72+
Easier use of these parameter files with the rest of pvlib may be added
73+
in a future version. Until then, these Google Group threads
7274
(`one <https://groups.google.com/g/pvlib-python/c/PDDic0SS6ao/m/Z-WKj7C6BwAJ>`_
7375
and `two <https://groups.google.com/g/pvlib-python/c/b1mf4Y1qHBY/m/tK2FBCJyBgAJ>`_)
7476
may be useful for some users.

‎docs/sphinx/source/whatsnew/v0.10.2.rst

Copy file name to clipboardExpand all lines: docs/sphinx/source/whatsnew/v0.10.2.rst
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Deprecations
1111

1212
Enhancements
1313
~~~~~~~~~~~~
14+
* Added .pan/.ond reader function :py:func:`pvlib.iotools.read_panond`. (:issue:`1747`, :pull:`1749`)
1415
* Added support for dates to be specified as strings in the iotools get functions:
1516
:py:func:`pvlib.iotools.get_pvgis_hourly`, :py:func:`pvlib.iotools.get_cams`,
1617
:py:func:`pvlib.iotools.get_bsrn`, and :py:func:`pvlib.iotools.read_midc_raw_data_from_nrel`.
@@ -68,6 +69,7 @@ Requirements
6869

6970
Contributors
7071
~~~~~~~~~~~~
72+
* Connor Krening (:ghuser:`ckrening`)
7173
* Adam R. Jensen (:ghuser:`AdamRJensen`)
7274
* Michal Arieli (:ghuser:`MichalArieli`)
7375
* Abigail Jones (:ghuser:`ajonesr`)
+146Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
PVObject_=pvGInverter
2+
Comment=ChintPower CPS SCH275KTL-DO/US-800 Manufacturer 2020
3+
Version=6.81
4+
ParObj1=2020
5+
Flags=$00381562
6+
7+
PVObject_Commercial=pvCommercial
8+
Comment=www.chintpower.com (China)
9+
Flags=$0041
10+
Manufacturer=ChintPower
11+
Model=CPS SCH275KTL-DO/US-800
12+
DataSource=Manufacturer 2020
13+
YearBeg=2020
14+
Width=0.680
15+
Height=0.337
16+
Depth=1.100
17+
Weight=95.000
18+
NPieces=0
19+
PriceDate=02/06/20 00:02
20+
Currency=EUR
21+
Remarks, Count=2
22+
Str_1=Protection: -30 - +60, IP 66: outdoor installable
23+
Str_2
24+
End of Remarks
25+
End of PVObject pvCommercial
26+
Transfo=Without
27+
28+
Converter=TConverter
29+
PNomConv=250.000
30+
PMaxOUT=250.000
31+
VOutConv=800.0
32+
VMppMin=500
33+
VMPPMax=1500
34+
VAbsMax=1500
35+
PSeuil=500.0
36+
EfficMax=99.01
37+
EfficEuro=98.49
38+
FResNorm=0.00
39+
ModeOper=MPPT
40+
CompPMax=Lim
41+
CompVMax=Lim
42+
MonoTri=Tri
43+
ModeAffEnum=Efficf_POut
44+
UnitAffEnum=kW
45+
PNomDC=253.000
46+
PMaxDC=375.000
47+
IDCMax=0.0
48+
IMaxDC=360.0
49+
INomAC=181.0
50+
IMaxAC=199.0
51+
TPNom=45.0
52+
TPMax=40.0
53+
TPLim1=50.0
54+
TPLimAbs=60.0
55+
PLim1=225.000
56+
PLimAbs=90.000
57+
PInEffMax =150000.000
58+
PThreshEff=3332.4
59+
HasdefaultPThresh=False
60+
61+
ProfilPIO=TCubicProfile
62+
NPtsMax=11
63+
NPtsEff=9
64+
LastCompile=$8085
65+
Mode=1
66+
Point_1=1250,0
67+
Point_2=7500,6923
68+
Point_3=12500,11875
69+
Point_4=25000,24250
70+
Point_5=50000,49100
71+
Point_6=75000,73875
72+
Point_7=150000,148515
73+
Point_8=250000,246500
74+
Point_9=275000,270325
75+
Point_10=0,0
76+
Point_11=0,0
77+
End of TCubicProfile
78+
VNomEff=880.0,1174.0,1300.0,
79+
EfficMaxV=98.260,99.040,98.860,
80+
EfficEuroV=97.986,98.860,98.661,
81+
82+
ProfilPIOV1=TCubicProfile
83+
NPtsMax=11
84+
NPtsEff=9
85+
LastCompile=$8089
86+
Mode=1
87+
Point_1=300.0,0.0
88+
Point_2=13012.7,12500.0
89+
Point_3=25720.2,25000.0
90+
Point_4=51093.4,50000.0
91+
Point_5=76437.0,75000.0
92+
Point_6=127213.5,125000.0
93+
Point_7=190995.2,187500.0
94+
Point_8=255440.9,250000.0
95+
Point_9=281301.1,275000.0
96+
Point_10=0.0,0.0
97+
Point_11=0.0,0.0
98+
End of TCubicProfile
99+
100+
ProfilPIOV2=TCubicProfile
101+
NPtsMax=11
102+
NPtsEff=9
103+
LastCompile=$8089
104+
Mode=1
105+
Point_1=300.0,0.0
106+
Point_2=12850.8,12500.0
107+
Point_3=25401.3,25000.0
108+
Point_4=50581.7,50000.0
109+
Point_5=75795.9,75000.0
110+
Point_6=126211.6,125000.0
111+
Point_7=189623.8,187500.0
112+
Point_8=253138.9,250000.0
113+
Point_9=278763.3,275000.0
114+
Point_10=0.0,0.0
115+
Point_11=0.0,0.0
116+
End of TCubicProfile
117+
118+
ProfilPIOV3=TCubicProfile
119+
NPtsMax=11
120+
NPtsEff=9
121+
LastCompile=$8089
122+
Mode=1
123+
Point_1=300.0,0.0
124+
Point_2=12953.4,12500.0
125+
Point_3=25512.8,25000.0
126+
Point_4=50679.1,50000.0
127+
Point_5=75895.6,75000.0
128+
Point_6=126441.4,125000.0
129+
Point_7=189835.0,187500.0
130+
Point_8=253472.6,250000.0
131+
Point_9=279017.9,275000.0
132+
Point_10=0.0,0.0
133+
Point_11=0.0,0.0
134+
End of TCubicProfile
135+
End of TConverter
136+
NbInputs=36
137+
NbMPPT=12
138+
TanPhiMin=-0.750
139+
TanPhiMax=0.750
140+
NbMSInterne=2
141+
MasterSlave=No_M_S
142+
IsolSurvey =Yes
143+
DC_Switch=Yes
144+
MS_Thresh=0.8
145+
Night_Loss=5.00
146+
End of PVObject pvGInverter

‎pvlib/data/ET-M772BH550GL.PAN

Copy file name to clipboard
+75Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
PVObject_=pvModule
2+
Version=7.2
3+
Flags=$00900243
4+
5+
PVObject_Commercial=pvCommercial
6+
Comment=ET SOLAR
7+
Flags=$0041
8+
Manufacturer=ET SOLAR
9+
Model=ET-M772BH550GL
10+
DataSource=Manufacturer 2021
11+
YearBeg=2021
12+
Width=1.134
13+
Height=2.278
14+
Depth=0.035
15+
Weight=32.000
16+
NPieces=100
17+
PriceDate=06/04/22 12:39
18+
End of PVObject pvCommercial
19+
20+
Technol=mtSiMono
21+
NCelS=72
22+
NCelP=2
23+
NDiode=3
24+
SubModuleLayout=slTwinHalfCells
25+
FrontSurface=fsARCoating
26+
GRef=1000
27+
TRef=25.0
28+
PNom=550.0
29+
PNomTolUp=0.90
30+
BifacialityFactor=0.700
31+
Isc=14.000
32+
Voc=49.90
33+
Imp=13.110
34+
Vmp=41.96
35+
muISC=7.28
36+
muVocSpec=-128.0
37+
muPmpReq=-0.340
38+
RShunt=300
39+
Rp_0=2000
40+
Rp_Exp=5.50
41+
RSerie=0.203
42+
Gamma=0.980
43+
muGamma=-0.0001
44+
VMaxIEC=1500
45+
VMaxUL=1500
46+
Absorb=0.90
47+
ARev=3.200
48+
BRev=16.716
49+
RDiode=0.010
50+
VRevDiode=-0.70
51+
IMaxDiode=30.0
52+
AirMassRef=1.500
53+
CellArea=165.1
54+
SandiaAMCorr=50.000
55+
56+
PVObject_IAM=pvIAM
57+
Flags=$00
58+
IAMMode=UserProfile
59+
IAMProfile=TCubicProfile
60+
NPtsMax=9
61+
NPtsEff=9
62+
LastCompile=$B18D
63+
Mode=3
64+
Point_1=0.0,1.00000
65+
Point_2=20.0,1.00000
66+
Point_3=30.0,1.00000
67+
Point_4=40.0,0.99000
68+
Point_5=50.0,0.98000
69+
Point_6=60.0,0.96000
70+
Point_7=70.0,0.89000
71+
Point_8=80.0,0.66000
72+
Point_9=90.0,0.00000
73+
End of TCubicProfile
74+
End of PVObject pvIAM
75+
End of PVObject pvModule

‎pvlib/iotools/__init__.py

Copy file name to clipboardExpand all lines: pvlib/iotools/__init__.py
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from pvlib.iotools.sodapro import get_cams # noqa: F401
2222
from pvlib.iotools.sodapro import read_cams # noqa: F401
2323
from pvlib.iotools.sodapro import parse_cams # noqa: F401
24+
from pvlib.iotools.panond import read_panond # noqa: F401
2425
from pvlib.iotools.acis import get_acis_prism # noqa: F401
2526
from pvlib.iotools.acis import get_acis_nrcc # noqa: F401
2627
from pvlib.iotools.acis import get_acis_mpe # noqa: F401

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.