{ "info": { "author": "toddkarin", "author_email": "pvtools.lbl@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Photovoltaic Climate Zones (PVCZ)\n\nThis package provides the photovoltaic climate zones (PVCZ) and climate stressor data which describes the degree of environmental degradation expected on a PV module located in different locations on the world. \n\n# Install\npvcz can be installed with pip\n```python\npip install pvcz\n```\n\n# About\nThe data is calcuated from the global land data accumulation service (GLDAS) at 0.25 degree resolution across the world.\n\nFor a full description, see the file 'Karin2019 - Photovoltaic Degradation Climate Zones - PVSC' which describes the methods.\n\n# Climate stressors\nThis dataset is provided as a csv file and as a pickle file containing climate stressors specific to PV degradation.\n\n- lat: latitude in fractional degrees.\n- lon: longitude in fractional degrees.\n- T_equiv_rack_1p1eV: Arrhenius-weighted module equivalent temperature calculated using open-rack polymer-back temperature model and activation energy 1.1 eV, in C\n- T_equiv_roof_1p1eV: Arrhenius-weighted module equivalent temperature calculated using close-roof-mount glass-back temperature model and activation energy 1.1 eV, in\nCs\n- T_equiv_rack_XXXeV: Arrhenius-weighted module equivalent temperature calculated using open-rack polymer-back temperature model and activation energy XXX eV, in C\n- specific_humidity_mean: Average specific humidity, in g/kg.\n- specific_humidity_rms: Root-mean-squared specific humidity, in g/kg.\n- T_velocity_rack: Average rate of change of module temperature using open-rack polymer-back temperature model, in C/hr.\n- T_velocity_roof: Average rate of change of module temperature using roof-mount glass-back temperature model, in C/hr.\n- GHI_mean: Mean global horizontal irradiance, in kWh/m2/day.\n- wind_speed: ASCE wind speed with a mean recurrence interval of 25 years, in m/s.\n- T_ambient_min: Minimum ambient temperature, in C\n- T_ambient_max: Maximum ambient temperature, in C\n- T_ambient_mean: Mean ambient temperature, in C\n- KG_zone: Koppen Geiger zone, in text\n- KG_numeric_zone: Koppen Geiger zone, as a number.\n- T_equiv_rack_zone: Temperature zone for open-rack modules as a number 0 through 9, equivalent to temperature zones T1 through T10 respectively.\n- T_equiv_roof_zone: Temperature zone for close- roof-mount modules as a number 0 through 9, equivalent to temperature zones T1 through T10 respectively.\n- specific_humidity_mean_zone: Specific humid- ity zone, as a number 0 through 4, equivalent to temperature zones H1 through H5 respectively.\n- wind_speed_zone: Wind speed zone as a number 0 through 4, equivalent to wind zones W1 through W5 respectively.\n- pvcz: Photovoltaic climate zone, combined Temperature (rack) and humidity zones as a number 0 through 49, corresponding to temperature zones T1:H1, T2:H1, ... , T10:H5, see next variable as well.\n- pvcz_labeled: Photovoltaic climate zone, combined Temperature (rack) and humidity zones as an alpha- numeric key, e.g. T5:H2.\n\n# Examples\n\nThe following code snippet shows how to find the climate stressors and zones closest to a particular latitude and longitude.\n\n```python\nimport pvcz\n\n# Note df is a flattened list of lat/lon values that only includes those over land\ndf = pvcz.get_pvcz_data()\n\n# Point of interest specified by lat/lon coordinates.\nlat_poi = 32\nlon_poi = -95.23\n\n# Find the closest location on land to a point of interest\nclosest_index = pvcz.arg_closest_point(lat_poi, lon_poi, df['lat'], df['lon'])\n\n# Get the stressor data from this location\nlocation_data = df.iloc[closest_index]\nprint(location_data)\n```\n\nThe following code makes a map of a particular stressor. \n\n```python\nimport numpy as np\nimport pvcz\nfrom mpl_toolkits.basemap import Basemap\nimport matplotlib\nmatplotlib.use('TkAgg')\nimport matplotlib.pyplot as plt\n\n# Get the data.\n# Note df is a flattened list of lat/lon values that only includes those over land\ndf = pvcz.get_pvcz_data()\ninfo = pvcz.get_pvcz_info()\n\n# For some uses (like making a map), it is convenient to have a 2D grid of lat/long values\ndata = {}\nfor v in df:\n data[v] = pvcz.convert_flat_to_grid(df[v],\n info['keepers'],\n info['lon_all'],\n info['lat_all'])\n\n# Make a plot\n\n# grid the lat/lon coordinates.\nxg, yg = np.meshgrid(info['lon_all'], info['lat_all'])\n\n# Set up the map\nfig = plt.figure(0, figsize=(5.5, 4.5))\nplt.clf()\nax = fig.add_axes([0.1, 0.1, 0.8, 0.8])\nm = Basemap(projection='cyl', llcrnrlat=-60, urcrnrlat=90, \\\n llcrnrlon=-180, urcrnrlon=180, resolution='c')\nm.drawcoastlines(linewidth=0.5)\nm.drawcountries()\n\n# Draw the filled contour lines (the map).\ncs = m.contourf(xg, yg, data['T_equiv_rack'],\n levels=40, cmap=\"jet\", latlon=True)\n\ncbar = m.colorbar(cs,location='bottom',pad=\"5%\")\ncbar.set_label('Equivalent Temperature, Rack (C)')\n\nplt.show()\n```\n\n# Change Log\n\n- 0.2 Added multiple activation energies to equivalent temperature dataset.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/toddkarin/pvcz", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pvcz", "package_url": "https://pypi.org/project/pvcz/", "platform": "", "project_url": "https://pypi.org/project/pvcz/", "project_urls": { "Homepage": "https://github.com/toddkarin/pvcz" }, "release_url": "https://pypi.org/project/pvcz/0.2.4/", "requires_dist": [ "numpy", "pandas" ], "requires_python": "", "summary": "Photovoltaic climate zones and degradation stressors", "version": "0.2.4" }, "last_serial": 5805354, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "218822a32c3b2aad9ce85b9b96a3a913", "sha256": "4518948cf7485917646a1907f7ec1d5a4c853c25a701c4667d33a5364cbbadad" }, "downloads": -1, "filename": "pvcz-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "218822a32c3b2aad9ce85b9b96a3a913", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5290340, "upload_time": "2019-07-08T23:22:41", "url": "https://files.pythonhosted.org/packages/f4/07/3da0c10f161319529b69fafdc1f75624ed8f12ffa9388dcd54148cc768cb/pvcz-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "028647ff82c65fb21e8016e61fb87654", "sha256": "c4028336125581077f60b0773468366bbf85a71c76dfa6bd972cd548b8583d81" }, "downloads": -1, "filename": "pvcz-0.0.1.tar.gz", "has_sig": false, "md5_digest": "028647ff82c65fb21e8016e61fb87654", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4981409, "upload_time": "2019-07-08T23:23:08", "url": "https://files.pythonhosted.org/packages/b7/f9/b33cc4d97fa0f1d262eba913a3ad07b6505df87265ca115c48dd5d5f22a0/pvcz-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "3a4d8b03785bff38c15374334ed2bf5a", "sha256": "13e4d128acbdb919c6ee0ccc9b44b55faf30099ac205bebedd94f7b9aba637fd" }, "downloads": -1, "filename": "pvcz-0.0.2.tar.gz", "has_sig": false, "md5_digest": "3a4d8b03785bff38c15374334ed2bf5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4983448, "upload_time": "2019-07-09T17:53:31", "url": "https://files.pythonhosted.org/packages/07/5d/477020fd4b38d9299ff6e404600951d2376553510b0575ac4d40a9febff2/pvcz-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "52ba4e0bb88e8512341d98c399490abf", "sha256": "cafb8f172d08ac9b66b169039baec53e5579dc24444b7c4e1549923c8c8c0ce5" }, "downloads": -1, "filename": "pvcz-0.0.3.tar.gz", "has_sig": false, "md5_digest": "52ba4e0bb88e8512341d98c399490abf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4986165, "upload_time": "2019-07-09T18:09:36", "url": "https://files.pythonhosted.org/packages/56/53/ad98150fc53a7ba39a8d17e8dc3359151d7cbeb080b778d3baca53a25157/pvcz-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "65b85588754c8f76a88872e5c7a33af4", "sha256": "029c3c66463eca98d0e1c96b2c66a735c5610fdb31728bf8632722d1bd945aae" }, "downloads": -1, "filename": "pvcz-0.0.4.tar.gz", "has_sig": false, "md5_digest": "65b85588754c8f76a88872e5c7a33af4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12200125, "upload_time": "2019-07-09T18:22:57", "url": "https://files.pythonhosted.org/packages/63/07/4ca0110bc1238029e92a69efe56cea91a41ab9b6c789725cb639d5b26919/pvcz-0.0.4.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "4c56fe4cbbbf5c829bd5796605e793aa", "sha256": "e8455aa5fef0f02763c323db565c8a1d7c6bcc3b4d5107be9f3cc11fb5c2aedb" }, "downloads": -1, "filename": "pvcz-0.0.6.tar.gz", "has_sig": false, "md5_digest": "4c56fe4cbbbf5c829bd5796605e793aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12200744, "upload_time": "2019-07-10T18:12:51", "url": "https://files.pythonhosted.org/packages/39/47/33363f1a02f70a76ec70df00b2f49d91b7fa4e1ed535d67158c84b37fdd6/pvcz-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "e36f88565ff882fa690a945aac5dfa44", "sha256": "3f785e66ce3d325ec407c64c096c48d62e8f6b173c37d9982fe66c2a656d954d" }, "downloads": -1, "filename": "pvcz-0.0.7.tar.gz", "has_sig": false, "md5_digest": "e36f88565ff882fa690a945aac5dfa44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12200699, "upload_time": "2019-07-10T21:16:21", "url": "https://files.pythonhosted.org/packages/dc/a5/93621e8a57ff27d24db26d18855626a8c2f4bffd71163a9caa63f06f948a/pvcz-0.0.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "eddf36661677eaa6db7e7e6dee8043a4", "sha256": "546b36e393786d673e2aa232be54791364492c31135e27040d6eb7d8c0e72d35" }, "downloads": -1, "filename": "pvcz-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "eddf36661677eaa6db7e7e6dee8043a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12338986, "upload_time": "2019-09-09T12:57:10", "url": "https://files.pythonhosted.org/packages/14/ca/91f7940ad3a360ae041d7c8ae7f2f2894c5bf7b0506d799fbd4bdac46632/pvcz-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e98ef902d64bbae3b4bc152f0c443967", "sha256": "3b0a18ccb5c3581a6b1bd62b8b8342c863f527beafd3a489ca45607a2e9a6060" }, "downloads": -1, "filename": "pvcz-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e98ef902d64bbae3b4bc152f0c443967", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12201586, "upload_time": "2019-09-09T12:58:30", "url": "https://files.pythonhosted.org/packages/17/af/81fc7897cfa91dd84862d7ad6f74284a503f8178ec3a960a85b9cd9886ad/pvcz-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "fd5076bab83d0f81d1d45ece798f5fff", "sha256": "142bdce75f313d4c6ca00a6dd318ade2ab93d76a593fdc2580e57773491fa6a3" }, "downloads": -1, "filename": "pvcz-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fd5076bab83d0f81d1d45ece798f5fff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34555164, "upload_time": "2019-09-09T17:07:46", "url": "https://files.pythonhosted.org/packages/5f/68/4bafc70f1ae7578210ac7c47874f99bf09fb639917283cf2c3efdf1ab3ff/pvcz-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b789d0a948b0e33352e91acd61a6b47f", "sha256": "159a82a3d33ec98e10b7bd42b6c8829e3d908f46b2cff15fdaf70523ba5ba553" }, "downloads": -1, "filename": "pvcz-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b789d0a948b0e33352e91acd61a6b47f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22060965, "upload_time": "2019-09-09T17:08:23", "url": "https://files.pythonhosted.org/packages/64/99/307f25abe5407c8d58646bafa3e596ae4641c4071ac6d9a49850b827f201/pvcz-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "9e5b5566b1ef43bc69d6bdc823534a15", "sha256": "62805531ff1cb93e2162258ee79387bd44365ba5776c48ac0cce6be151e8778e" }, "downloads": -1, "filename": "pvcz-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9e5b5566b1ef43bc69d6bdc823534a15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49743670, "upload_time": "2019-09-09T17:07:57", "url": "https://files.pythonhosted.org/packages/94/2f/ee5d5eba029f731112992cbb7148bfbdaff51e819d201b33e83af684034a/pvcz-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f29e8c0b4774e5071cd2e18c99a715e", "sha256": "87d979f37d7ee22400ea4cb36cd4290e67eb4fc929e204f98237fe14a63f11a4" }, "downloads": -1, "filename": "pvcz-0.2.2.tar.gz", "has_sig": false, "md5_digest": "0f29e8c0b4774e5071cd2e18c99a715e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37237123, "upload_time": "2019-09-09T17:08:41", "url": "https://files.pythonhosted.org/packages/58/ed/09127b2d8c7c703e06afef767edb31e12645c78566e34f297bc069ed2386/pvcz-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "fa591ed72d8f6c9de3b30d3cfafaa603", "sha256": "6bc7d50f3a8698df0ad96ea1c482743d2b72f42557d647ed2ac0ea79f7d8ee78" }, "downloads": -1, "filename": "pvcz-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fa591ed72d8f6c9de3b30d3cfafaa603", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34555166, "upload_time": "2019-09-09T17:09:43", "url": "https://files.pythonhosted.org/packages/b8/2c/12be3caa27ab4136e36efeaf45a24c685b91386110213f8ce6a2ce6a2ea9/pvcz-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "602f14b5f41c7dd07cd4ee28e2065e60", "sha256": "d0a7705f71c041d545eda492d0f469891c92e071e43c3aca3b262d407be6e31f" }, "downloads": -1, "filename": "pvcz-0.2.3.tar.gz", "has_sig": false, "md5_digest": "602f14b5f41c7dd07cd4ee28e2065e60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22060962, "upload_time": "2019-09-09T17:09:51", "url": "https://files.pythonhosted.org/packages/8f/7f/64bf668f4c637a73af3ca485fa2e15850a690bfa6be4c012d28aff509fc5/pvcz-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "fd3fee524646411ece82b5bdbe09ce3d", "sha256": "bdbfd1dfe17b5b9ea0ff75d8e961766ea8b3e8f09760fc1d9da756ab6938d183" }, "downloads": -1, "filename": "pvcz-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fd3fee524646411ece82b5bdbe09ce3d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34457458, "upload_time": "2019-09-09T20:09:31", "url": "https://files.pythonhosted.org/packages/c8/a3/1bb720b97c53aea6575108d4bfa8aa05aa79e2ef5bd7c91e6f40b884da44/pvcz-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6559a2640b881113946942bb779ff11f", "sha256": "5495cffbce5081bd4b9c1f0e1935e60266afc1f2774a0e8947585f3c9abd1267" }, "downloads": -1, "filename": "pvcz-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6559a2640b881113946942bb779ff11f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21968868, "upload_time": "2019-09-09T20:09:44", "url": "https://files.pythonhosted.org/packages/c0/e2/aad7f7e0e2b4953f7057d61dcd818dd3baf0fcf70bfc15ac232f492c2109/pvcz-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd3fee524646411ece82b5bdbe09ce3d", "sha256": "bdbfd1dfe17b5b9ea0ff75d8e961766ea8b3e8f09760fc1d9da756ab6938d183" }, "downloads": -1, "filename": "pvcz-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fd3fee524646411ece82b5bdbe09ce3d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34457458, "upload_time": "2019-09-09T20:09:31", "url": "https://files.pythonhosted.org/packages/c8/a3/1bb720b97c53aea6575108d4bfa8aa05aa79e2ef5bd7c91e6f40b884da44/pvcz-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6559a2640b881113946942bb779ff11f", "sha256": "5495cffbce5081bd4b9c1f0e1935e60266afc1f2774a0e8947585f3c9abd1267" }, "downloads": -1, "filename": "pvcz-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6559a2640b881113946942bb779ff11f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21968868, "upload_time": "2019-09-09T20:09:44", "url": "https://files.pythonhosted.org/packages/c0/e2/aad7f7e0e2b4953f7057d61dcd818dd3baf0fcf70bfc15ac232f492c2109/pvcz-0.2.4.tar.gz" } ] }