From cdb4532ca408f73354ee91e9b4dfd7086b12f379 Mon Sep 17 00:00:00 2001 From: warnuk Date: Mon, 10 Jul 2017 00:28:29 -0400 Subject: [PATCH] Add files via upload --- PVWatts_Tool/PVWatts_API.py | 17 ++++- PVWatts_Tool/__main__.py | 59 +++++++++++------- .../__pycache__/PVWatts_API.cpython-36.pyc | Bin 0 -> 3138 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 211 bytes .../__pycache__/__main__.cpython-36.pyc | Bin 0 -> 6106 bytes .../dataframe_template.cpython-36.pyc | Bin 0 -> 1069 bytes .../__pycache__/nrel_requests.cpython-36.pyc | Bin 0 -> 1453 bytes .../__pycache__/process_output.cpython-36.pyc | Bin 0 -> 1763 bytes PVWatts_Tool/dataframe_template.py | 2 +- PVWatts_Tool/nrel_requests.py | 2 +- PVWatts_Tool/process_output.py | 2 +- setup.py | 2 +- 12 files changed, 54 insertions(+), 30 deletions(-) create mode 100644 PVWatts_Tool/__pycache__/PVWatts_API.cpython-36.pyc create mode 100644 PVWatts_Tool/__pycache__/__init__.cpython-36.pyc create mode 100644 PVWatts_Tool/__pycache__/__main__.cpython-36.pyc create mode 100644 PVWatts_Tool/__pycache__/dataframe_template.cpython-36.pyc create mode 100644 PVWatts_Tool/__pycache__/nrel_requests.cpython-36.pyc create mode 100644 PVWatts_Tool/__pycache__/process_output.cpython-36.pyc diff --git a/PVWatts_Tool/PVWatts_API.py b/PVWatts_Tool/PVWatts_API.py index 3d557ca..c3c5d3b 100644 --- a/PVWatts_Tool/PVWatts_API.py +++ b/PVWatts_Tool/PVWatts_API.py @@ -13,7 +13,7 @@ __author__ = "warnuk" __credits__ = ["warnuk", "NREL", "PVWatts"] __license__ = "MIT" -__version__ = "1.0.1" +__version__ = "1.0.5" __maintainer__ = "warnuk" __email__ = "warnuk@umich.edu" __status__ = "Development" @@ -21,7 +21,7 @@ class PVWatts_Run(object): def __init__(self, api_key, area, module_type, lat, lon, losses, - array_type, tilt, azimuth, timeframe, ratetype): + array_type, tilt, azimuth, timeframe, ratetype, incentivized): """PVWatts_Run object takes location/system attributes to call PVWatts API and assign output to its output attribute""" self.api_key = api_key @@ -35,6 +35,7 @@ def __init__(self, api_key, area, module_type, lat, lon, losses, self.azimuth = azimuth self.timeframe = timeframe self.ratetype = ratetype + self.incentivized = incentivized # Use proper efficiency rating for module_type. if self.module_type == 0: @@ -64,6 +65,14 @@ def __init__(self, api_key, area, module_type, lat, lon, losses, self.energy_value = round(self.ac_annual * self.rate, 2) + # EIA AEO 2017 estimates LCOE of solar pv to be $77.7 / MWh, or $58.8 / MWh with tax credits + if self.incentivized: + self.cost = round(self.ac_annual * (58.8 / 1000), 2) + else: + self.cost = round(self.ac_annual * (77.7 / 1000), 2) + + self.savings = round(self.energy_value - self.cost, 2) + self.hourly_data = process_output.populate_df(self.pvwatts_output) self.daily_data = process_output.kW_per_day(self.hourly_data) @@ -88,4 +97,6 @@ def describe(self): f"\n\nAnnual AC Solar Potential: {self.ac_annual} (kWh)" f"\nUtility: {self.util_name}" f"\nRate: ${self.rate}/kWh" - f"\nEnergy Value: ${self.energy_value}") + f"\nEnergy Value: ${self.energy_value}" + f"\nEstimated Cost: ${self.cost}" + f"\nEstimated Savings: ${self.savings}") diff --git a/PVWatts_Tool/__main__.py b/PVWatts_Tool/__main__.py index d4792ec..06f8b24 100644 --- a/PVWatts_Tool/__main__.py +++ b/PVWatts_Tool/__main__.py @@ -9,7 +9,7 @@ __author__ = "warnuk" __credits__ = ["warnuk", "NREL", "PVWatts"] __license__ = "MIT" -__version__ = "1.0.1" +__version__ = "1.0.5" __maintainer__ = "warnuk" __email__ = "warnuk@umich.edu" __status__ = "Development" @@ -28,7 +28,8 @@ def init_ui(self): output box on the right side of the container.""" self.first_run = True - container = QtWidgets.QHBoxLayout() + container = QtWidgets.QVBoxLayout() + subcontainer = QtWidgets.QHBoxLayout() left_pane = QtWidgets.QVBoxLayout() right_pane = QtWidgets.QVBoxLayout() @@ -47,6 +48,7 @@ def init_ui(self): self.tilt_l = QtWidgets.QLabel("Tilt (°)") self.azimuth_l = QtWidgets.QLabel("Azimuth (°): ") self.rate_l = QtWidgets.QLabel("Rate Type: ") + self.incentivized_l = QtWidgets.QLabel("LCOE with Tax Credits: ") param_labels.addWidget(self.api_l) param_labels.addWidget(self.area_l) @@ -58,6 +60,7 @@ def init_ui(self): param_labels.addWidget(self.tilt_l) param_labels.addWidget(self.azimuth_l) param_labels.addWidget(self.rate_l) + param_labels.addWidget(self.incentivized_l) self.api_le = QtWidgets.QLineEdit() self.area_le = QtWidgets.QLineEdit("1000") @@ -73,6 +76,8 @@ def init_ui(self): self.azimuth_le = QtWidgets.QLineEdit("180") self.rate_le = QtWidgets.QComboBox() self.rate_le.insertItems(0, ["Residential", "Commercial", "Industrial"]) + self.incentivized_cb = QtWidgets.QComboBox() + self.incentivized_cb.insertItems(0, ["Yes", "No"]) param_fields.addWidget(self.api_le) param_fields.addWidget(self.area_le) @@ -84,35 +89,34 @@ def init_ui(self): param_fields.addWidget(self.tilt_le) param_fields.addWidget(self.azimuth_le) param_fields.addWidget(self.rate_le) - - output_layout = QtWidgets.QHBoxLayout() - self.output_l = QtWidgets.QLabel("Save hourly data to file: ") - self.output_check = QtWidgets.QCheckBox() - self.savefilepath = QtWidgets.QLineEdit() - self.fileselect = QtWidgets.QPushButton("Save as...") - - output_layout.addWidget(self.output_check) - output_layout.addWidget(self.output_l) - - output_layout.addWidget(self.savefilepath) - output_layout.addWidget(self.fileselect) - - self.submit = QtWidgets.QPushButton("Submit") + param_fields.addWidget(self.incentivized_cb) parameters.addLayout(param_labels) parameters.addLayout(param_fields) left_pane.addLayout(parameters) - left_pane.addWidget(self.submit) self.output_box = QtWidgets.QPlainTextEdit() self.output_box.setFixedWidth(500) right_pane.addWidget(self.output_box) - right_pane.addLayout(output_layout) - container.addLayout(left_pane) - container.addLayout(right_pane) + subcontainer.addLayout(left_pane) + subcontainer.addLayout(right_pane) + + output_layout = QtWidgets.QHBoxLayout() + self.output_l = QtWidgets.QLabel("Save hourly data to file: ") + self.savefilepath = QtWidgets.QLineEdit() + self.fileselect = QtWidgets.QPushButton("Save as...") + output_layout.addWidget(self.output_l) + output_layout.addWidget(self.savefilepath) + output_layout.addWidget(self.fileselect) + + self.submit = QtWidgets.QPushButton("Submit") + + container.addLayout(subcontainer) + container.addLayout(output_layout) + container.addWidget(self.submit) self.fileselect.clicked.connect(self.set_output_file) self.submit.clicked.connect(self.generate_output) @@ -156,6 +160,12 @@ def array_type(self): arraytype_id = "4" return (arraytype_id) + def incentivized(self): + if self.incentivized_cb.currentText() == "Yes": + return(True) + else: + return (False) + def generate_output(self): """Creates a global scenario object and prints descriptive information to the output box.""" @@ -170,17 +180,18 @@ def generate_output(self): tilt=self.tilt_le.text(), azimuth=self.azimuth_le.text(), timeframe='hourly', - ratetype=self.rate_le.currentText().lower()) + ratetype=self.rate_le.currentText().lower(), + incentivized=self.incentivized()) + if self.first_run: self.output_box.appendPlainText(scenario.describe()) self.first_run = False else: self.output_box.appendPlainText('--------------------' + '\n' + scenario.describe()) - if self.output_check.isChecked(): + if self.savefilepath.text(): scenario.hourly_data.to_csv(self.savefilepath.text()) - def run(): """Make GUI call-able from python interpreter. @@ -189,3 +200,5 @@ def run(): app = QtWidgets.QApplication(sys.argv) current_run = Window() sys.exit(app.exec()) + +run() \ No newline at end of file diff --git a/PVWatts_Tool/__pycache__/PVWatts_API.cpython-36.pyc b/PVWatts_Tool/__pycache__/PVWatts_API.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00a47bfa9ffd3dc24791f2eb3872dfc244d61562 GIT binary patch literal 3138 zcma)8&5s;M74NT^o$2}5^?24F+1RcaJ9vVbB}5#s5W9tt*k_d?l2QImAfg2K+9N-`5D+pon7r=?%>z>)2wHztks#oVuhXn2hu8=@&%FAUL=&F8k)674;sx5|HS8pfli&vw#O`#X=` z?~f<${)C-y6=z4T`{XdxY?O#Bk}T6wv-D6hB|piePT4^g2WgnZnjNTQRH$MlBY&B5kwsS5YA6jPrZhWLOh z$pRilQZV=xG768SVo8>cv$RhEONQm(GwnalPUi~}d=aE&{ILwA)?7{4m@7V#sZ>xT zY{ZWw5#i^sxX8%@6nA`Q>P0k!CWzA!vn*up`NBZ(tc%^OP_60~4X5A{v7 z`)IlecQbQl_{PivHD@-cHFH4iSq0RYRY5DW70~Le2D&n>9#;PJUbQy+Uh4`vO|{Kc{`O&{m-R9kiHnS(~!M5C(A=PiZ!B4@7FG;82CMZYtGAY{)(Weeu(}DWOG{SYfNZ|r zx%XS*0uIgP>1659EWjW|foc{dK~XZBdZJS~TB=ACvCHNUVZ`~`Mb*s#rYsaH`4EsW z=S~Y-0TGSCd&TqDt(OJ&_)ph=^`D=9x%HCH{ou3T(DUc5o|~`map)h(NxoV};|F}q zgD{=sjS@EfbTXE?9q|+-iSufdXaH&Ma;5mB)H-PxrEoP3M_GE9*QxXl2$_1eTE&EF zjR;kX*UVrG_kIj@Ugv>dqR!x;cs|??|7|0}zyA$Sw6~qxKp>D16PFmYJGh-$pVcRH8-RRa@z<@k0nf9?Q(xoT59XOUeX7T1@dE)wYySqI5$1an0K znqds2Ps8JIDn(vVNfrx57@#PlUVD6eQebwu8D4v_%sHmji7(gekWY1q+&5(`)nMWu z^C*+K6C@g0)ciP%2U;NwhSwM;;|#e6k{#rY!ve2;pd0txqi6nDDlik=k35VfrMy0t z{D`DlU8Xsl5a%tgBaJ>L4ij~Sq;+I;&R;DeDU(}@@@BawCD&`^j+W6ukw5hYtiNvh z)CL(7!2ZEd@1XnN_cuS%xU4o$!YC?k=*>lyJV}!1^-OuG=QZCC<1qDoT9y7eh~ZSt z*S@xEcFnSNteWY(@;0q2R?}=-O{;6y%&yh3x>g%+hsN_Z?JfetCEQ<39Z)UNLp|+a z0sa(=02mF8&y5nW(Gz4^=m}nJ^aQaEdV<*sdV<<2dV<>(^tcR$HS~bpVI4hP1McU> zZ!ZB%n!D2rdnH!fpI7HSHod{_96b|3&vhSR$JqluVRx|0J@%Nk83wn=;Ba&Fi|=mY zIP}~Pl9Rbr7@t|)dBtkyc+j7l6?gub<+WEW%io2?bnl$0Ckj#Rlc5yfTZTakG#ijO}m?j+I?75275}CLDG)gP@0{{+8QrAFO_3-xUxXHyj;nore1C{9iP&o#65 zppfkL+WCs_izI;S=HhTt)f50!pao6I0lj(C7$51)z`*brh~a<<$Z`PUVi6#b!jQt4!w>?Y8G$rYFoP!ZOP~ycCgUwe zEk8}BDA9nh@Whgm;`osK{2aab_}s+Iy!iMi2^3)%$1%WjB|{N2P(PUXWu_lmoLW?@ yU!IwhlUS5jnyn902{H|p6Ca2KczG$)s7KpR58fS9E<=8Q8)4c literal 0 HcmV?d00001 diff --git a/PVWatts_Tool/__pycache__/__main__.cpython-36.pyc b/PVWatts_Tool/__pycache__/__main__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..38ab3f6b29dd64e895b21d72cf363421c55a2442 GIT binary patch literal 6106 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 V{>%keLyT*OwrfR}yZzbW-apRssZRg^ literal 0 HcmV?d00001 diff --git a/PVWatts_Tool/__pycache__/process_output.cpython-36.pyc b/PVWatts_Tool/__pycache__/process_output.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bcb30fd9c242c07705750aabeb814460e1cbddbc GIT binary patch literal 1763 zcmah~PjA~c6emT=vK8COf&y!{p<{chhr-z~Y{0spXxD5&fixJlti}Wk0wdC~Z2c=K zC9xr&vK@EZabIAEeUE(xUUyl(!cKdX+$2s9lfXy4$HzzV_j`}}wAb_Q{B``}7cGST zMmHV;-%p{bS0Fg@5y#w$v2Q_7Vv^XtjS;tfhuhrYtrOz6xa+&T?YF_&;T_-Op1;92 zc=u=IcX^NZq3`icz6E`sTi>I>JBvSanT0~BAS;W!EQa~qJD$@sCew1}c}J5-(In$# zEa*6siK2|=Eagm5&I&e`ED^L+QF=m)iJ+6Ll<~YCqGOpQ^xIb>RupPTUlcTCaahKz z5N2)!ZmLWYCL_=xB2C!&ZW5)tiQpb*bJYYeQ5$cw-tZEjK!*dYx388D3X$X{tZp^C z*7o6dUms|9wYDZNUmPu*Plg{4KU-`yE>FuO3MWIsOTDo#PDPyMiAakOoAB`1tM(jv z^*M+FP4N<+prv(wuL2@=&_4QUdr2y5YE^_=@1qNh(d#=SR9O|!vxh1S@Y;(5z_h_5 zN{j3bcKdLaZ*F3@Izn^iw~w}>KwB(~{(-z$xX+%`hqKXOK%@oR)9q^zSe}cN4{U9l zINIW4-(g`eJJZf7i%anbl6{!+@80eYN=UVP7R7PR_U;O>;3&)Db>*!b(HnV|*JK8K zylqhGfL4o{6HK4!22SAC>7e$@Z7Z!jSFRcnd25`v^fH<=t ztLZANq7r9?KMxQa=5#Lrq%^owyKtVT;VB@RM{2OM@`Y= z5qiBfLWMnb3{f0v=7jL}ucjJ0i?1Lj*RmLD0g~}ckHV9skhGA+F=gXINO}VT3T0wO z1iyc2lIXGr!gpR~X)!sxq@ZZB&*s;>VeN)lTqda+w6r5xdLlH5vrrS*f%MD-E9bg% zl_>*P8i@U#sT#q9<9PrZ(@tWR@LgbN9K{f$Hs;xxkiK^!QXyFpWob=$BQ{NJZ#D{Y zAx(%6Kv#xBL~Oi;->X{}c)W|{J+NMJxK zoUg|qw>(INfj`2@@1!m$Ux`?Rg}E*sQMfN2HJ69rh9@=nf2N)t?$hhjQzpe5=C0T| z91u-l0T5BDTL5>&(t$1Cg+t2^ji5%{2LaZa78l$Nn!XEDRv*9;SZ+h#$pxF40re5g zS8Wi8Jiz9a4@|^O?FIqQ!XVJC=B|}HVAtK7_1ToY7X+*%1oWa~3vd*FQUh`vk Z;($rr1z}rl+_h}%LH4X(tL?S>{{fV}-_HO5 literal 0 HcmV?d00001 diff --git a/PVWatts_Tool/dataframe_template.py b/PVWatts_Tool/dataframe_template.py index 5a2d5c0..e32870c 100644 --- a/PVWatts_Tool/dataframe_template.py +++ b/PVWatts_Tool/dataframe_template.py @@ -8,7 +8,7 @@ __author__ = "warnuk" __credits__ = ["warnuk", "NREL", "PVWatts"] __license__ = "MIT" -__version__ = "1.0.1" +__version__ = "1.0.5" __maintainer__ = "warnuk" __email__ = "warnuk@umich.edu" __status__ = "Development" diff --git a/PVWatts_Tool/nrel_requests.py b/PVWatts_Tool/nrel_requests.py index 5b6fd9e..7f3e198 100644 --- a/PVWatts_Tool/nrel_requests.py +++ b/PVWatts_Tool/nrel_requests.py @@ -8,7 +8,7 @@ __author__ = "warnuk" __credits__ = ["warnuk", "NREL", "PVWatts"] __license__ = "MIT" -__version__ = "1.0.1" +__version__ = "1.0.5" __maintainer__ = "warnuk" __email__ = "warnuk@umich.edu" __status__ = "Development" diff --git a/PVWatts_Tool/process_output.py b/PVWatts_Tool/process_output.py index c5b0701..a8c0c3f 100644 --- a/PVWatts_Tool/process_output.py +++ b/PVWatts_Tool/process_output.py @@ -10,7 +10,7 @@ __author__ = "warnuk" __credits__ = ["warnuk", "NREL", "PVWatts"] __license__ = "MIT" -__version__ = "1.0.1" +__version__ = "1.0.5" __maintainer__ = "warnuk" __email__ = "warnuk@umich.edu" __status__ = "Development" diff --git a/setup.py b/setup.py index d2e4e00..b8ecb53 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ setup( name='PVWatts_Tool', - version='1.0.3', + version='1.0.5', url='https://github.com/warnuk/PVWatts_Tool', packages=['PVWatts_Tool'], license='MIT',