{ "info": { "author": "Nathan Charles", "author_email": "ncharles@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)" ], "description": "solpy\n-------\nDocumentation\n-------------\n\n`Documentation `_\n\nBackground\n----------\nSolpy is a python library to model solar system power performance similar to PVWatts or NREL's System Advisor Model(SAM). I initially started writing this while working in Bangladesh as fairly crude calculator to go from a fisheye panorama to a csv of vectors for shading calculations, however there were several pieces that were added to make it a bit more useful for both analyis and design. \nDaniel Thomas did work adding the Tang evacuated glass tube model. Pyephem was added for solar positioning. There is also a simple module for reading TMY3 data. This tool is rudimentary, but functional. \n\nThis is primarily a research and analysis tool and there is no guarantee on the calculations.\n\n\nFeatures\n--------\n- Liu & Jordan diffuse irradiance model \n- Perez et al. diffuse irradiance model \n- Sandia Inverter model \n- NEC voltage drop caculations \n- Basic System Validation \n- Basic string sizing library \n- Simple Parametric System Design tools \n- realtime system performance forecasting using weather data \n\nFiles\n-----\n- design.py - parametric design library \n- enphase.py - Enphase API wrapper \n- epw.py - EPW weather data functions\n- expedite.py - calculate information needed for the expedited permit process \n- fisheye.py - fisheye image to shading vectors \n- forecast.py - forecast.io API wrapper \n- noaa.py - NOAA weather data API wrapper \n- pv.py - system performance prediction \n- pvcli - cli for pv modeling using historic weather data \n- tmy3.py - read tmy3 data \n- vd.py - voltage drop \n\nUsage\n-----\nPV systems are descibed with json. For example:\n\n::\n\n {\"system_name\":\"System Name\",\n \"zipcode\":\"17601\",\n \"tilt\":34,\n \"azimuth\":180,\n \"phase\":1,\n \"voltage\":240,\n \"array\":[\n {\"inverter\":\"SMA America: SB6000US 240V\",\n \"panel\":\"Mage Solar : USA Powertec Plus 250-6 MNCS\",\n \"series\":14,\n \"parallel\":2}\n ]\n }\n\nIf json in a file called i.e. template.json, can be modeled from cli.\n\n pvcli -f template.json\n\nIpython\n-------\nThis is the sort of project that lends itself nicely to ipython. Since discovering that project I've tried to make things flow naturally in that enviroment. I really like the inline graphics of the qtconsole.\n\n$ipython qtconsole --colors=Linux --pylab=inline\n\n.. image:: http://char1es.net/ipython_pv_example.png\n\nBasic System Validation\n-----------------------\nThere is support for simple design validation from the command line warning for overvoltage or excessive ratios.\n\n::\n\n ncharles@vm0 $ cat unit.json \n {\"system_name\":\"HAPPY CUSTOMER\",\n \"address\":\"15013 Denver W Pkwy, Golden, CO\",\n \"zipcode\":\"80401\",\n \"phase\":1,\n \"voltage\":240,\n \"array\":[\n {\"inverter\":\"SMA America: SB3000TL-US 240V *\",\n \"tilt\":25,\n \"azimuth\":180,\n \"panel\":\"Mage Solar : Powertec Plus 300-6 PL *\",\n \"shape\":[{\"series\":6,\n \"parallel\":1},\n {\"series\":6,\n \"parallel\":1}],\n \"scale\":1\n },\n {\"inverter\":\"Enphase Energy: M215-60-2LL-S2x-IG-NA (240 V) 240V\",\n \"panel\":\"Mage Solar : Powertec Plus 250-6 PL\",\n \"quantity\":20,\n \"azimuth\":180,\n \"tilt\":25\n }\n ]}\n\n ncharles@vm0 $ expedite.py -f unit.json \n HAPPY CUSTOMER - 15013 Denver W Pkwy, Golden, CO 80401\n 7.3 KW AC RATED\n 8.62 KW DC RATED\n System AC Output Current: 30.4 A\n Nominal AC Voltage: 240 V\n\n Minimum Temperature: -22.9 C\n 2 Percent Max Temperature: 30.2 C\n Weather Source: DENVER/CENTENNIAL [GOLDEN - NREL] 724666\n\n PV Module Ratings @ STC\n Module Make: Mage Solar\n Module Model: Powertec Plus 300-6 PL *\n Quantity: 12\n Max Power-Point Current (Imp): 8.01 A\n Max Power-Point Voltage (Vmp): 37.51 V\n Open-Circuit Voltage (Voc): 45.19 V\n Short-Circuit Current (Isc): 8.66 A\n Maximum Power (Pmax): 300.5 W\n\n Inverter Make: SMA America\n Inverter Model: SB3000TL-US 240V *\n Quantity: 1\n Max Power: 3.0 KW\n Max AC Current: 12.5 A\n DC Operating Current: 16.0 A\n DC Short Circuit Current: 17.3 A\n DC Operating Voltage: 225.1 V\n System Max DC Voltage: 311.4 V\n Pnom Ratio: 1.2\n\n PV Module Ratings @ STC\n Module Make: Mage Solar\n Module Model: Powertec Plus 250-6 PL\n Quantity: 20\n Max Power-Point Current (Imp): 8.01 A\n Max Power-Point Voltage (Vmp): 31.28 V\n Open-Circuit Voltage (Voc): 37.66 V\n Short-Circuit Current (Isc): 8.66 A\n Maximum Power (Pmax): 250.6 W\n\n Inverter Make: Enphase Energy\n Inverter Model: M215-60-2LL-S2x-IG-NA (240 V) 240V\n Quantity: 20\n Max Power: 0.2 KW\n Max AC Current: 0.9 A\n\n Array Azimuth: 180 Degrees\n Array Tilt: 25 Degrees\n December 21 9:00 AM Sun Azimuth: 138.2 Degrees\n December 21 9:00 AM Sun Altitude: 14.3 Degrees\n December 21 3:00 PM Sun Azimuth: 222.2 Degrees\n December 21 3:00 PM Sun Altitude: 14.3 Degrees\n Magnetic declination: 9.0 Degrees\n Minimum Row space ratio: 2.95\n\n Minimum Bundle\n 8 CU : EGC 10 CU : 1/2\" EMT", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nrcharles/solpy", "keywords": "solar pv", "license": "LGPL", "maintainer": null, "maintainer_email": null, "name": "solpy", "package_url": "https://pypi.org/project/solpy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/solpy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/nrcharles/solpy" }, "release_url": "https://pypi.org/project/solpy/0.15.4.9/", "requires_dist": null, "requires_python": null, "summary": "Solar Performance and Design library", "version": "0.15.4.9" }, "last_serial": 1447787, "releases": { "0.1.7": [ { "comment_text": "", "digests": { "md5": "8d15a2f7b6acbc39c9ced0b2e34d0b4e", "sha256": "a939a2a806e9996cc7c0fe101cba95a213f177cd1184ca767ae87cb88668a853" }, "downloads": -1, "filename": "solpy-0.1.7.tar.gz", "has_sig": false, "md5_digest": "8d15a2f7b6acbc39c9ced0b2e34d0b4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1292502, "upload_time": "2014-02-08T16:59:28", "url": "https://files.pythonhosted.org/packages/b2/c2/bd61ac089a4c01af1b30fed60a6d77c4fef76c93e5d7c73abf811571ae50/solpy-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "97f1587f0906bcbca3420aebc7e4ee59", "sha256": "29fdb7ac654d137a1963539e59927f415f480e531067f5b41518d613de72048e" }, "downloads": -1, "filename": "solpy-0.1.8.tar.gz", "has_sig": false, "md5_digest": "97f1587f0906bcbca3420aebc7e4ee59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1301096, "upload_time": "2014-02-24T13:29:30", "url": "https://files.pythonhosted.org/packages/a5/8b/84174fab6c913765e57f97cba4b870d3116dddca24bf04dc83c2fb12aaf5/solpy-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "8d4160f5ddd7901deae301919d32a81a", "sha256": "e7f4601ad378f0bfbc40495afb8fcff5c53a3680708a8cdfa26f74349d910942" }, "downloads": -1, "filename": "solpy-0.1.9.tar.gz", "has_sig": false, "md5_digest": "8d4160f5ddd7901deae301919d32a81a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1301446, "upload_time": "2014-03-01T19:10:28", "url": "https://files.pythonhosted.org/packages/12/6d/1c1ece2f571d7e93278fdfc9b207cf21bb801ebe6e9e9bc13b6afe99ccaa/solpy-0.1.9.tar.gz" } ], "0.13.21.17": [ { "comment_text": "", "digests": { "md5": "76ab2a0f029f1da7a45a30e7017766be", "sha256": "d97e2a71d939852ee74cbc226e94b96e9581d502ddd3bef0172acaea9d1c96f9" }, "downloads": -1, "filename": "solpy-0.13.21.17.tar.gz", "has_sig": false, "md5_digest": "76ab2a0f029f1da7a45a30e7017766be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1314852, "upload_time": "2015-01-21T22:55:40", "url": "https://files.pythonhosted.org/packages/3a/6e/cd0bb88e97ab5c561a20c7956d67546fcb42b15d4d83288994c30cd5af3e/solpy-0.13.21.17.tar.gz" } ], "0.15.4.9": [ { "comment_text": "", "digests": { "md5": "34653a4720c64b6a1286f4452b7cce0b", "sha256": "73cf983b98149bd7bc33444e81cfe24f5b73fd03a9208421aa6cb9de9fad2b7a" }, "downloads": -1, "filename": "solpy-0.15.4.9.tar.gz", "has_sig": false, "md5_digest": "34653a4720c64b6a1286f4452b7cce0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1315171, "upload_time": "2015-03-04T14:44:46", "url": "https://files.pythonhosted.org/packages/4b/c1/57b4ab249be20c7ee29764c190db9dc830f5ae0e793d9e514fc66af7e945/solpy-0.15.4.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "104d4aa67e7bb291f909b9cd56d88e35", "sha256": "ccb2dcf6c51ff431e548132eccd7a27e6d60b7bfe9c103b722e7e39da6a3933e" }, "downloads": -1, "filename": "solpy-0.2.0.tar.gz", "has_sig": false, "md5_digest": "104d4aa67e7bb291f909b9cd56d88e35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1301581, "upload_time": "2014-03-05T20:57:53", "url": "https://files.pythonhosted.org/packages/a8/df/dd5e26517eaf2eb111df0d88b57b142949de3aa80c1bf3c48a10a05b0ca6/solpy-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c7445372d56eb7c82675d5905310e18c", "sha256": "bcb1bf6c2007c8d1cfdb6cf3731b5c1b05e70adbf6406c548c42e0f997d2b2b5" }, "downloads": -1, "filename": "solpy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "c7445372d56eb7c82675d5905310e18c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1302978, "upload_time": "2014-03-13T12:28:08", "url": "https://files.pythonhosted.org/packages/19/2e/beaac629bf660d008fc2c96287a823cd80b928bea159069da2fe95fdc615/solpy-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "2068c21bae0b3fff646bfad7e0d527df", "sha256": "4b4b55ff28ea23e2917d259cb8bab650b11b5fe1e146057bbd26a1e0da75e288" }, "downloads": -1, "filename": "solpy-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2068c21bae0b3fff646bfad7e0d527df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1303721, "upload_time": "2014-03-19T21:17:04", "url": "https://files.pythonhosted.org/packages/3d/a0/662e4765671530b4ad79a319bb9242bf152030133fdce98a5aa55a0c0c3d/solpy-0.2.2.tar.gz" } ], "0.2.21.17": [ { "comment_text": "", "digests": { "md5": "1274408deff84d8148db646c632315b4", "sha256": "98383ea0286aae40c686e1b99a069a47ca806de98c8caf3c79aa75cacd030227" }, "downloads": -1, "filename": "solpy-0.2.21.17.tar.gz", "has_sig": false, "md5_digest": "1274408deff84d8148db646c632315b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1314838, "upload_time": "2015-01-21T22:25:14", "url": "https://files.pythonhosted.org/packages/b3/5e/383d563847423ba12a4c7007aa964e3a254b570604f199556c6fc8d27a79/solpy-0.2.21.17.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "d6aebe6b58a6cb7b403122cb854948b7", "sha256": "6b93d33e6d8989a047ad849ec6bbd690b7e8320ce840f8229194e695ffd8ba76" }, "downloads": -1, "filename": "solpy-0.2.3.tar.gz", "has_sig": false, "md5_digest": "d6aebe6b58a6cb7b403122cb854948b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1303716, "upload_time": "2014-03-21T12:50:56", "url": "https://files.pythonhosted.org/packages/39/25/90064fbd4a43ca52b6f7a8f8d9e573c71dd6d77e3fb2020fac1e94a0498e/solpy-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "1ead43a28932bd40733f61b536e3a9fa", "sha256": "828d1fc2cac48f8d6553761105e9658b91f5896f38bb56237598cfe2671a88b7" }, "downloads": -1, "filename": "solpy-0.2.4.tar.gz", "has_sig": false, "md5_digest": "1ead43a28932bd40733f61b536e3a9fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1305583, "upload_time": "2014-04-03T12:51:13", "url": "https://files.pythonhosted.org/packages/2d/ad/659358b74221fc7ed951385e834bcb5bb668ad639f6c30ec1d2e7215823a/solpy-0.2.4.tar.gz" } ], "0.4.15.13": [ { "comment_text": "", "digests": { "md5": "1e192dd23c172393c2e09c066d3391d3", "sha256": "fdeedb95d674dac2911423b647617c637ee01b515a72bee92ce81b3c236e25e9" }, "downloads": -1, "filename": "solpy-0.4.15.13.tar.gz", "has_sig": false, "md5_digest": "1e192dd23c172393c2e09c066d3391d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1306489, "upload_time": "2014-04-15T17:18:50", "url": "https://files.pythonhosted.org/packages/8b/03/32b6faf9bb81510874103d71ef9660e4dda48e3cc12bf0f8abd2cad4f012/solpy-0.4.15.13.tar.gz" } ], "0.5.13.9": [ { "comment_text": "", "digests": { "md5": "8c007b861e40d39646fed5158832d049", "sha256": "a96dca994458714a020791e9fd4162c4f6aa22adb3f9f3ef2418ff0ba66a5b5d" }, "downloads": -1, "filename": "solpy-0.5.13.9.tar.gz", "has_sig": false, "md5_digest": "8c007b861e40d39646fed5158832d049", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1309824, "upload_time": "2014-05-13T13:20:20", "url": "https://files.pythonhosted.org/packages/d4/17/e70ed9f7f4658c0058d1590e7ca37c52634e971f93756ce1ae787a80527f/solpy-0.5.13.9.tar.gz" } ], "0.6.30.13": [ { "comment_text": "", "digests": { "md5": "ef6af6e12cc42452ddd20490b0d68939", "sha256": "ecb6df8114238cc3ec459e66f6519f2ee63e0252c3ccca07ff167319e77695fb" }, "downloads": -1, "filename": "solpy-0.6.30.13.tar.gz", "has_sig": false, "md5_digest": "ef6af6e12cc42452ddd20490b0d68939", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1315988, "upload_time": "2014-06-30T17:19:27", "url": "https://files.pythonhosted.org/packages/42/94/51b5ff79cb424de275ce1a90084045fb596953cecc118c75b2d76062df17/solpy-0.6.30.13.tar.gz" } ], "0.7.29.14": [ { "comment_text": "", "digests": { "md5": "b29a0dc9ef3d9b72efce19a3f55bca34", "sha256": "dc4409f0b548c9e62684734c8947c3acae32a568698b3d263c141735eb6d8bbf" }, "downloads": -1, "filename": "solpy-0.7.29.14.tar.gz", "has_sig": false, "md5_digest": "b29a0dc9ef3d9b72efce19a3f55bca34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1312291, "upload_time": "2014-07-29T18:40:24", "url": "https://files.pythonhosted.org/packages/60/0f/9364f01ef8a8deabf23f9fdcfc013b18dd46fe013c1a52afb4ddfbe7eecf/solpy-0.7.29.14.tar.gz" } ], "0.8.14.0": [ { "comment_text": "", "digests": { "md5": "736684796dd00a7fb3c4fe7d1b71ccf1", "sha256": "0abb7cc9871b033eadf4452008e2ea07d8727ebc54f1e2a33da120dbdd24539b" }, "downloads": -1, "filename": "solpy-0.8.14.0.tar.gz", "has_sig": false, "md5_digest": "736684796dd00a7fb3c4fe7d1b71ccf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1312459, "upload_time": "2014-08-14T04:13:21", "url": "https://files.pythonhosted.org/packages/c2/e4/dff3ff57ce8d683b977c681d77cbbe743cb48ba44e4cb0b9c0386a2cc87f/solpy-0.8.14.0.tar.gz" } ], "0.8.19.14": [ { "comment_text": "", "digests": { "md5": "af45a80bd7fcf583da9e61d51972a58f", "sha256": "697dc4d3b8f73d1aa3f4709a4f1b44039d3f0852654e5afbd4920cf287f28fab" }, "downloads": -1, "filename": "solpy-0.8.19.14.tar.gz", "has_sig": false, "md5_digest": "af45a80bd7fcf583da9e61d51972a58f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1312684, "upload_time": "2014-08-19T18:34:06", "url": "https://files.pythonhosted.org/packages/dd/2e/6d958332e436007188a9b5abc353cd507e08bef14fd9cc4d17c7d052ed23/solpy-0.8.19.14.tar.gz" } ], "0.8.4.11": [ { "comment_text": "", "digests": { "md5": "8e36db5ef157a968c5e6f156525940ac", "sha256": "2bf0c7555fe8727e117abda4a47bc5e76b7da7071e8914581e5be58dbacb1248" }, "downloads": -1, "filename": "solpy-0.8.4.11.tar.gz", "has_sig": false, "md5_digest": "8e36db5ef157a968c5e6f156525940ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1312299, "upload_time": "2014-08-04T15:24:27", "url": "https://files.pythonhosted.org/packages/8b/14/1c8d1cfdcbf748628ee20a76ed18cf4a045b31e4531fcf8874ee8e0c3341/solpy-0.8.4.11.tar.gz" } ], "0.9.15.10": [ { "comment_text": "", "digests": { "md5": "37a34b403c0893406e3431cc2a884ba8", "sha256": "7fb979bae6d1459e7f930ac2d6e26d0f6e6b6fddbb7d3a4f871bd13fa2b3216d" }, "downloads": -1, "filename": "solpy-0.9.15.10.tar.gz", "has_sig": false, "md5_digest": "37a34b403c0893406e3431cc2a884ba8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1312345, "upload_time": "2014-09-15T14:17:35", "url": "https://files.pythonhosted.org/packages/c6/7d/9f398387b64f209550ea4e06d922cfcfb8d69a952fbd036729fd4a4a842c/solpy-0.9.15.10.tar.gz" } ], "0.9.2.13": [ { "comment_text": "", "digests": { "md5": "801a17af8a377321aec9a0dc6bec7a97", "sha256": "7d9bedde7442ac636c4b56fd100911911489df584294057348e17d3d2775f426" }, "downloads": -1, "filename": "solpy-0.9.2.13.tar.gz", "has_sig": false, "md5_digest": "801a17af8a377321aec9a0dc6bec7a97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1312983, "upload_time": "2014-09-02T17:29:10", "url": "https://files.pythonhosted.org/packages/a0/e6/0b2d8eddefc120654e92a6546dc93151883887d9256d8450b886065d6e63/solpy-0.9.2.13.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "34653a4720c64b6a1286f4452b7cce0b", "sha256": "73cf983b98149bd7bc33444e81cfe24f5b73fd03a9208421aa6cb9de9fad2b7a" }, "downloads": -1, "filename": "solpy-0.15.4.9.tar.gz", "has_sig": false, "md5_digest": "34653a4720c64b6a1286f4452b7cce0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1315171, "upload_time": "2015-03-04T14:44:46", "url": "https://files.pythonhosted.org/packages/4b/c1/57b4ab249be20c7ee29764c190db9dc830f5ae0e793d9e514fc66af7e945/solpy-0.15.4.9.tar.gz" } ] }