{ "info": { "author": "Santosh Philip", "author_email": "santosh_philip@yahoo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "pyclearsky\n==========\n\n\n.. image:: https://img.shields.io/pypi/v/pyclearsky.svg\n :target: https://pypi.python.org/pypi/pyclearsky\n\n.. image:: https://img.shields.io/travis/santoshphilip/pyclearsky.svg\n :target: https://travis-ci.org/santoshphilip/pyclearsky\n\n.. image:: https://readthedocs.org/projects/pyclearsky/badge/?version=latest\n :target: https://pyclearsky.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\n\n\nimplements the equations from Ashrae Fundamentals 2009 for clear sky in Python\n\n\n* Free software: Mozilla Public License Version 2.0\n* Documentation: https://pyclearsky.readthedocs.io.\n\n\nFeatures\n--------\n\nImplements the following equation of ASHRAE Fundamentals 2009, chapter 14\n\n- Equation (4) from page 14.7\n- Equation (16) from page 14.9\n- Equation (17) from page 14.9\n- Equation (18) from page 14.9\n- Equation (19) from page 14.9\n- Equation (20) from page 14.9\n\nPurpose of pyclearsky\n---------------------\n\n**What does pyclearsky do ?**\n\n- pyclearsky calculates the radiation from a clear sky.\n- The weather files do not always have this data, since they include cloud cover\n\n**Why would you want to calculate the radiation from a clear sky ?**\n\n- Cloud cover in the weather files do not always reflect reality.\n- Sometimes you want to simulate an exteme condtion and you want to assume there is no cloud cover\n- This may needed when you estimate the reflected sunlight from a water body or an adjacent building\n- You are likely to want to calculate this without cloud cover\n- pyclearsky will let you do that\n\n**How does pyclearsky do this calculation ?**\n\n- Chapter 14 in ASHRAE Fundamentals 2009 describes the equations that calculate the radiations from a clear sky\n- the `latest weather files`_ come with three file types. They are `*.epw`, `*.ddy` and `*.stat`\n- The raw data needed to do this calculation is in the weather file. Specifically in the `*.stat` file\n\n**A demonstration of pycleasky**\n\nLet us use the Phoenix AZ weather file as a way of exploring pyclearsky. And let us look into the `*.stat` file. The `*.stat` file has the following lines (at around line 37)::\n\n - Monthly Solar Irradiance Wh/m\u00b2 (noon on 21st of month)\n \t ib (beam)\t 915\t 937\t 938\t 920\t 870\t 827\t 727\t 750\t 807\t 833\t 891\t 907\n \t id (diffuse)\t 89\t 102\t 121\t 141\t 170\t 194\t 250\t 220\t 171\t 140\t 92\t 81\n\n \t ib\t= Clear Sky Noon Beam Normal Irradiance on 21st Day\n \t id\t= Clear Sky Noon Diffuse Horizontal Irradiance on 21st Day\n\nThis is the clear sky radiation on the 21st of every month. Let us try to use pyclearsky to calculate the same results::\n\n from pyclearsky import clearskyrad\n fname = \"./original_code/weatherfiles/USA_AZ_Phoenix/USA_AZ_Phoenix.722780_TMY2.stat\"\n fhandle = open(fname, 'r')\n tau = clearskyrad.tau(fhandle)\n taub, taud = tau\n\n print taub\n [0.306,\n 0.317,\n 0.339,\n 0.366,\n 0.419,\n 0.465,\n 0.588,\n 0.547,\n 0.456,\n 0.393,\n 0.318,\n 0.298]\n\n print taud\n [0.306,\n 0.317,\n 0.339,\n 0.366,\n 0.419,\n 0.465,\n 0.588,\n 0.547,\n 0.456,\n 0.393,\n 0.318,\n 0.298]\n\nclearskyrad.tau(fhandle) reads the *taub* and *taud* values from the `*.stat` file (around line 28)::\n\n - Displaying Monthly Design Conditions \"Climate Design Data 2009 ASHRAE Handbook\"\n - Monthly Optical Sky Depth Beam (taub) and Diffuse (taud)\n \t \tJan\tFeb\tMar\tApr\tMay\tJun\tJul\tAug\tSep\tOct\tNov\tDec\n \t taub (beam)\t0.306\t0.317\t0.339\t0.366\t0.419\t0.465\t0.588\t0.547\t0.456\t0.393\t0.318\t0.298\n \t taud (diffuse)\t2.534\t2.463\t2.351\t2.229\t2.044\t 1.91\t1.653\t1.763\t1.978\t2.116\t2.487\t2.592\n\n \t taub\t= Clear Sky Optical Depth for Beam Irradiance\n \t taud\t= Clear Sky Optical Depth for Diffuse Irradiance\n\n\nTo calculate the radiation, we need the altitude of the sun. Let us find the altitude of the sun at noon on the 21st of each month. We can do this by going to the web site https://www.esrl.noaa.gov/gmd/grad/solcalc/azel.html ::\n\n alts = {1:35.97,\n 2:45.09,\n 3:55.99,\n 4:67.74,\n 5:75.74,\n 6:78.02,\n 7:74.83,\n 8:67.34,\n 9:56.7,\n 10:45.59,\n 11:36.46,\n 12:32.8}\n # month:altitude\n # calculated from https://www.esrl.noaa.gov/gmd/grad/solcalc/azel.html\n\nNow we are ready to calculate the clear sky radiation. Starting with direct normal ::\n\n from datetime import datetime\n\n for month in range(1, 13):\n print clearskyrad.directnormal(taub[month-1], taud[month-1],\n alts[month], thedate=datetime(2018, month, 21))\n\nthe direct normal results are ::\n\n 912.281856828\n 936.707585623\n 937.22435687\n 920.279543442\n 869.489603714\n 824.956794153\n 723.86104248\n 748.144302441\n 808.247171807\n 837.874397967\n 893.090953721\n 904.04138393\n\n\nAnd for diffuse horizontal ::\n\n for month in range(1, 13):\n print clearskyrad.diffusehorizontal(taub[month-1], taud[month-1],\n alts[month], thedate=datetime(2018, month, 21))\n\nThe diffuse horizontal results are ::\n\n\n 88.3239665087\n 102.034946163\n 120.595369428\n 140.632493558\n 170.230386996\n 193.761516975\n 248.413566492\n 219.237360391\n 171.24339381\n 140.903362551\n 92.1795686764\n 80.6806617141\n\nClose enough to the values in the `*.stat` file ::\n\n - Monthly Solar Irradiance Wh/m\u00b2 (noon on 21st of month)\n \t ib (beam)\t 915\t 937\t 938\t 920\t 870\t 827\t 727\t 750\t 807\t 833\t 891\t 907\n \t id (diffuse)\t 89\t 102\t 121\t 141\t 170\t 194\t 250\t 220\t 171\t 140\t 92\t 81\n\n \t ib\t= Clear Sky Noon Beam Normal Irradiance on 21st Day\n \t id\t= Clear Sky Noon Diffuse Horizontal Irradiance on 21st Day\n\n\nIf you ever need to calculate the clears sky radiation, that is how you do it.\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _`latest weather files`: https://energyplus.net/weather\n\n\nHistory\n=======\n\n1.0.0 (2018-04-25)\n------------------\n\n* Add documentation for release 1.0\n\n0.1.0 (2018-03-23)\n------------------\n\n* First release on PyPI.\n\nInitial Coding (2013)\n---------------------\n\n* All coding was complete in 2013, but not yet packaged for release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/santoshphilip/pyclearsky", "keywords": "pyclearsky", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "pyclearsky", "package_url": "https://pypi.org/project/pyclearsky/", "platform": "", "project_url": "https://pypi.org/project/pyclearsky/", "project_urls": { "Homepage": "https://github.com/santoshphilip/pyclearsky" }, "release_url": "https://pypi.org/project/pyclearsky/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Implements the equations from Ashrae Fundamentals 2009", "version": "0.3.0" }, "last_serial": 3835960, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d0a71841c4aa5d04367b89c3c6729eeb", "sha256": "9d52255a3a096e947d7de5a5c3128ee3d91282160dde2a2bc83a8177895241b1" }, "downloads": -1, "filename": "pyclearsky-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0a71841c4aa5d04367b89c3c6729eeb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5534, "upload_time": "2018-03-23T22:36:47", "url": "https://files.pythonhosted.org/packages/29/a8/1aaf44b6ead1ed428d229baf2c85e4b75fc21978f1e0f19a37e4be67c17e/pyclearsky-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a57a2a163ed6115da35362cab0a9658e", "sha256": "65d306d55c597628e99cec90826ba1440d73f536e2d5752c6ff59da133f0c45b" }, "downloads": -1, "filename": "pyclearsky-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a57a2a163ed6115da35362cab0a9658e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9572, "upload_time": "2018-03-23T22:36:48", "url": "https://files.pythonhosted.org/packages/7c/96/c2da76c3ca02cd0dbcc81b6f7c5b4d1d49a55bf5e3ea4d71fcd6cab190f2/pyclearsky-0.1.0.tar.gz" } ], "0.2.16": [ { "comment_text": "", "digests": { "md5": "4cecee3021fc4c20fa42c5b9ca662f89", "sha256": "a9c1714433712b1c6ceac96db6fe4e96137787ec3f8b00e531ec4eba2861378a" }, "downloads": -1, "filename": "pyclearsky-0.2.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4cecee3021fc4c20fa42c5b9ca662f89", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6814, "upload_time": "2018-04-24T19:26:41", "url": "https://files.pythonhosted.org/packages/59/e6/2880ddc0131a123b68fa30c0710cfeb67941207ce4306a415bb71aa63d4c/pyclearsky-0.2.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a19db1657cba8c866b91c9a530f3d318", "sha256": "898d74f115e1be96663ed6483202b6ca9dd8c305777882dcb3ed98bc6512eed8" }, "downloads": -1, "filename": "pyclearsky-0.2.16.tar.gz", "has_sig": false, "md5_digest": "a19db1657cba8c866b91c9a530f3d318", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20765, "upload_time": "2018-04-24T19:26:42", "url": "https://files.pythonhosted.org/packages/b5/79/92def1b3960d95d3326bf059d792116ed738140ed8d89f941ab5b108d192/pyclearsky-0.2.16.tar.gz" } ], "0.2.17": [ { "comment_text": "", "digests": { "md5": "21b8cae7471e28a6904adde5a602ae60", "sha256": "84ce5ff2660ed0cb3fe7c55bdde72ec86b8f18e46dc8a8021f92f83235fb8c5f" }, "downloads": -1, "filename": "pyclearsky-0.2.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21b8cae7471e28a6904adde5a602ae60", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6808, "upload_time": "2018-04-24T19:32:53", "url": "https://files.pythonhosted.org/packages/7f/52/c651f6cd95445ee4dcce549068a7960e6ada8735d0e7bdafd5c9d3903e4c/pyclearsky-0.2.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a85ad0e189d08e4e248b7e40b7387f95", "sha256": "aa41fa2119da6d43534c0e486698266b0275deed4e889f68a6cb46b256b5fae8" }, "downloads": -1, "filename": "pyclearsky-0.2.17.tar.gz", "has_sig": false, "md5_digest": "a85ad0e189d08e4e248b7e40b7387f95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20768, "upload_time": "2018-04-24T19:32:54", "url": "https://files.pythonhosted.org/packages/1b/c1/1a0661a1c4cb055ede813367b82c866b0e6b06ef6c07129d261c9b088633/pyclearsky-0.2.17.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3657b8847e26122c3a060631775cd413", "sha256": "6b85d62eeedfc3abd40a72d0784d392d1ef9a6d37bf4e2b8073eff86d8a8569f" }, "downloads": -1, "filename": "pyclearsky-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3657b8847e26122c3a060631775cd413", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5347, "upload_time": "2018-04-20T18:24:19", "url": "https://files.pythonhosted.org/packages/62/5f/1076c85d75f35b34f93487335d7ae57aad6b4c1a4be0e061ba573d2ef22c/pyclearsky-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c15a0eea8079c1dcdcde7055c8aa257", "sha256": "77e5a537227bce0f0b8d1acfa87ddf3a899ebfdb0d191a6d605d2bf84fe84dbd" }, "downloads": -1, "filename": "pyclearsky-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6c15a0eea8079c1dcdcde7055c8aa257", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16392, "upload_time": "2018-04-20T18:24:21", "url": "https://files.pythonhosted.org/packages/aa/28/85240c6ea6c9daff212c2b0085dae4cf54e4209fafd7bcda5b4231d64af3/pyclearsky-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "a7c6b5178a9536083c73ea6c3a678f4c", "sha256": "b95ba4a90e9023e8270dc4350e3c34a984838c96069ff8ae0fb49a4d51cc54c1" }, "downloads": -1, "filename": "pyclearsky-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a7c6b5178a9536083c73ea6c3a678f4c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5380, "upload_time": "2018-04-20T18:32:17", "url": "https://files.pythonhosted.org/packages/67/c2/5d756a190e2d66ef27c128f74516e3dd2335a79eae070c5e7aa00a43e251/pyclearsky-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "580d73d663b7cc7ea1d106631bdf4ebe", "sha256": "387d1c4da83db8d0f78895ea9427ef6f30f3bf3158d30ca143adbbeecbb9753d" }, "downloads": -1, "filename": "pyclearsky-0.2.5.tar.gz", "has_sig": false, "md5_digest": "580d73d663b7cc7ea1d106631bdf4ebe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16446, "upload_time": "2018-04-20T18:32:18", "url": "https://files.pythonhosted.org/packages/3b/4b/edf808e1c222a76edfcbcb4b61dbccaffa837cea5d43753e2bd47374194f/pyclearsky-0.2.5.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "bf7e5972f9a7c80dc76fb4df6a948bba", "sha256": "768c4ff71225d687619f78831da9dd46f2337f31e6ac56c4bb40746c8df30a65" }, "downloads": -1, "filename": "pyclearsky-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf7e5972f9a7c80dc76fb4df6a948bba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10397, "upload_time": "2018-05-04T23:38:49", "url": "https://files.pythonhosted.org/packages/eb/3f/bce6d791c33add34119d5566c539e4e7c8a1007a8f6563181bb696debe3c/pyclearsky-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d6770e02f0abbc90edc3dc6e3957c03", "sha256": "2265b785eb4fec968de4dc718ae19c2c3ab87bae38c38297c0af359e247cecf2" }, "downloads": -1, "filename": "pyclearsky-0.3.0.tar.gz", "has_sig": false, "md5_digest": "8d6770e02f0abbc90edc3dc6e3957c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22809, "upload_time": "2018-05-04T23:38:51", "url": "https://files.pythonhosted.org/packages/bc/83/65e73905521ac40b53817557349dbec77320453179dccefa982d5b02b988/pyclearsky-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf7e5972f9a7c80dc76fb4df6a948bba", "sha256": "768c4ff71225d687619f78831da9dd46f2337f31e6ac56c4bb40746c8df30a65" }, "downloads": -1, "filename": "pyclearsky-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf7e5972f9a7c80dc76fb4df6a948bba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10397, "upload_time": "2018-05-04T23:38:49", "url": "https://files.pythonhosted.org/packages/eb/3f/bce6d791c33add34119d5566c539e4e7c8a1007a8f6563181bb696debe3c/pyclearsky-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d6770e02f0abbc90edc3dc6e3957c03", "sha256": "2265b785eb4fec968de4dc718ae19c2c3ab87bae38c38297c0af359e247cecf2" }, "downloads": -1, "filename": "pyclearsky-0.3.0.tar.gz", "has_sig": false, "md5_digest": "8d6770e02f0abbc90edc3dc6e3957c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22809, "upload_time": "2018-05-04T23:38:51", "url": "https://files.pythonhosted.org/packages/bc/83/65e73905521ac40b53817557349dbec77320453179dccefa982d5b02b988/pyclearsky-0.3.0.tar.gz" } ] }