{ "info": { "author": "ladybug-tools", "author_email": "", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6" ], "description": "# Urban Weather Generator\n\n[![Build Status](https://travis-ci.org/ladybug-tools/uwg.svg?branch=master)](https://travis-ci.org/ladybug-tools/uwg)\n\nThe Urban Weather Generator (uwg) is a Python application for modeling the [urban heat island effect](https://en.wikipedia.org/wiki/Urban_heat_island). Specifically, it morphs rural [EnergyPlus weather (.epw) files](http://www.ladybug.tools/epwmap/) to reflect average conditions within the urban canyon using a range of properties including:\n\n* Building geometry (including building height, ground coverage, window:wall area, and facade:site area)\n* Building use (including program type, HVAC systems, and occupancy/equipment scheduling)\n* Cooling system heat rejection to the outdoors (for Summer)\n* Indoor heat leakage to the outdoors (for Winter)\n* Urban materials (including the thermal mass, albedo and emissivity of roads, walls, and roofs)\n* Anthropogenic heat from traffic (including traffic schedules)\n* Vegetation coverage (both trees and shrubs)\n* Atmospheric heat transfer from urban boundary and canopy layers\n\nThe [original Urban Weather Generator](http://urbanmicroclimate.scripts.mit.edu/uwg.php) was developed by Bruno Bueno for [his PhD thesis at MIT](https://dspace.mit.edu/handle/1721.1/59107). Since this time, it has been validated 3 times and has been [enhanced by Aiko Nakano](https://dspace.mit.edu/handle/1721.1/108779). In 2016, Joseph Yang also [improved the engine and added a range of building templates](https://dspace.mit.edu/handle/1721.1/107347).\n\nThis repository is a Python translation of the original [MATLAB Urban Weather Generator](https://github.com/hansukyang/UWG_Matlab).\n\n# Example\nHere is a Python example that shows how to create and run an Urban Weather Generator object. The example script is available [at resources/uwg_example.py](https://github.com/ladybug-tools/uwg/blob/master/resources/uwg_example.py). Run it through your command prompt in the main uwg directory with the following: ```python -m resources.uwg_example```\n\n```python\nfrom uwg import uwg\n\n# Define the .epw, .uwg filenames to create an uwg object.\n# uwg will look for the .epw file in the uwg/resources/epw folder,\n# and the .uwg file in the uwg/resources/parameters folder.\nepw_filename = \"SGP_Singapore.486980_IWEC.epw\" # .epw file name\nparam_filename = \"initialize_singapore.uwg\" # .uwg file name\n\n# Initialize the UWG object and run the simulation\nuwg_ = uwg(epw_filename, param_filename)\nuwg_.run()\n```\n\nHere is the sample .uwg file used in the simulation above. The .uwg file is a a required input where the local building, urban, and geographic features are defined. These features are then used in the simulation to morph the .epw file. This file is available [at resources/initialize_singapore.uwg](https://github.com/ladybug-tools/uwg/blob/master/resources/initialize_singapore.uwg).\n\n```\n# =================================================\n# REQUIRED PARAMETERS\n# =================================================\n\n# Urban characteristics\nbldHeight,10, # average building height (m)\nbldDensity,0.5, # urban area building plan density (0-1)\nverToHor,0.8, # urban area vertical to horizontal ratio\nh_mix,1, # fraction of building HVAC waste heat set to the street canyon [as opposed to the roof]\ncharLength,1000, # dimension of a square that encompasses the whole neighborhood [aka. characteristic length] (m)\nalbRoad,0.1, # road albedo (0 - 1)\ndRoad,0.5, # road pavement thickness (m)\nkRoad,1, # road pavement conductivity (W/m K)\ncRoad,1600000, # road volumetric heat capacity (J/m^3 K)\nsensAnth,20, # non-building sensible heat at street level [aka. heat from cars, pedestrians, street cooking, etc. ] (W/m^2)\nlatAnth,2, # non-building latent heat (W/m^2) (currently not used)\n\n# Climate Zone (Eg. City) Zone number\n# 1A(Miami) 1\n# 2A(Houston) 2\n# 2B(Phoenix) 3\n# 3A(Atlanta) 4\n# 3B-CA(Los Angeles) 5\n# 3B(Las Vegas) 6\n# 3C(San Francisco) 7\n# 4A(Baltimore) 8\n# 4B(Albuquerque) 9\n# 4C(Seattle) 10\n# 5A(Chicago) 11\n# 5B(Boulder) 12\n# 6A(Minneapolis) 13\n# 6B(Helena) 14\n# 7(Duluth) 15\n# 8(Fairbanks) 16\n\nzone,1,\n\n# Vegetation parameters\nvegCover,0.2, # Fraction of the urban ground covered in grass/shrubs only (0-1)\ntreeCoverage,0.1, # Fraction of the urban ground covered in trees (0-1)\nvegStart,4, # The month in which vegetation starts to evapotranspire (leaves are out)\nvegEnd,10, # The month in which vegetation stops evapotranspiring (leaves fall)\nalbVeg,0.25, # Vegetation albedo\nlatGrss,0.4, # Fraction of the heat absorbed by grass that is latent (goes to evaporating water)\nlatTree,0.6, # Fraction of the heat absorbed by trees that is latent (goes to evaporating water)\nrurVegCover,0.9, # Fraction of the rural ground covered by vegetation\n\n# Traffic schedule [1 to 24 hour],\nSchTraffic,\n0.2,0.2,0.2,0.2,0.2,0.4,0.7,0.9,0.9,0.6,0.6,0.6,0.6,0.6,0.7,0.8,0.9,0.9,0.8,0.8,0.7,0.3,0.2,0.2, # Weekday\n0.2,0.2,0.2,0.2,0.2,0.3,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.6,0.7,0.7,0.7,0.7,0.5,0.4,0.3,0.2,0.2, # Saturday\n0.2,0.2,0.2,0.2,0.2,0.3,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.3,0.3,0.2,0.2, # Sunday\n\n# Fraction of building stock for each DOE Building type (pre-80's build, 80's-present build, new)\n# Note that sum(bld) must be equal to 1\nbld,\n0,0,0, # FullServiceRestaurant\n0,0,0, # Hospital\n0,0,0, # LargeHotel\n0,0.4,0, # LargeOffice\n0,0,0, # MediumOffice\n0,0.6,0, # MidRiseApartment\n0,0,0, # OutPatient\n0,0,0, # PrimarySchool\n0,0,0, # QuickServiceRestaurant\n0,0,0, # SecondarySchool\n0,0,0, # SmallHotel\n0,0,0, # SmallOffice\n0,0,0, # Stand-aloneRetail\n0,0,0, # StripMall\n0,0,0, # SuperMarket\n0,0,0, # Warehouse\n\n# =================================================\n# OPTIONAL URBAN PARAMETERS\n# =================================================\n\nalbRoof,0.5, # roof albedo (0 - 1)\nvegRoof,0.1, # Fraction of the roofs covered in grass/shrubs (0-1)\nglzR,0.5, # Glazing Ratio. If not provided, all buildings are assumed to have 40% glazing ratio\nhvac,0, # HVAC TYPE; 0 = Fully Conditioned (21C-24C); 1 = Mixed Mode Natural Ventilation (19C-29C + windows open >22C); 2 = Unconditioned (windows open >22C)\n\n# =================================================\n# OPTIONAL PARAMETERS FOR SIMULATION CONTROL,\n# =================================================\n\n# Simulation parameters,\nMonth,1, # starting month (1-12)\nDay,1, # starting day (1-31)\nnDay,31, # number of days to run simultion\ndtSim,300, # simulation time step (s)\ndtWeather,3600, # weather time step (s)\n\nautosize,0, # autosize HVAC (1 for yes; 0 for no)\nsensOcc,100, # Sensible heat per occupant (W)\nLatFOcc,0.3, # Latent heat fraction from occupant (normally 0.3)\nRadFOcc,0.2, # Radiant heat fraction from occupant (normally 0.2)\nRadFEquip,0.5, # Radiant heat fraction from equipment (normally 0.5)\nRadFLight,0.7, # Radiant heat fraction from light (normally 0.7)\n\n#Urban climate parameters\nh_ubl1,1000, # ubl height - day (m)\nh_ubl2,80, # ubl height - night (m)\nh_ref,150, # inversion height (m)\nh_temp,2, # temperature height (m)\nh_wind,10, # wind height (m)\nc_circ,1.2, # circulation coefficient (default = 1.2 per Bruno (2012))\nc_exch,1, # exchange coefficient (default = 1; ref Bruno (2014))\nmaxDay,150, # max day threshold (W/m^2)\nmaxNight,20, # max night threshold (W/m^2)\nwindMin,1, # min wind speed (m/s)\nh_obs,0.1, # rural average obstacle height (m)\n```\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/ladybug-tools/uwg", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "uwg", "package_url": "https://pypi.org/project/uwg/", "platform": "", "project_url": "https://pypi.org/project/uwg/", "project_urls": { "Homepage": "https://github.com/ladybug-tools/uwg" }, "release_url": "https://pypi.org/project/uwg/5.3.3/", "requires_dist": null, "requires_python": "", "summary": "The Urban Weather Generator engine for Urban Heat Island modelling", "version": "5.3.3" }, "last_serial": 4560669, "releases": { "5.0.1": [ { "comment_text": "", "digests": { "md5": "aae307e8c99b0208f48249535081d91e", "sha256": "777d87e6db83d432750276d32e6267a3a5ec5de8e8f978824e6fb61448bc20d9" }, "downloads": -1, "filename": "uwg-5.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "aae307e8c99b0208f48249535081d91e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 224754, "upload_time": "2018-11-06T10:08:25", "url": "https://files.pythonhosted.org/packages/fe/d9/3d947a62f0441d2c0a854523c6ddef075ace4c6ada44546cff885a5bf284/uwg-5.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40edd186ab722a7719a75b2db19bcd8e", "sha256": "12d8f3ce6bffe8eee1360f4cefdefcdcb2b8ffe71eeae90f48862d2a2fe92555" }, "downloads": -1, "filename": "uwg-5.0.1.tar.gz", "has_sig": false, "md5_digest": "40edd186ab722a7719a75b2db19bcd8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216831, "upload_time": "2018-11-06T10:08:27", "url": "https://files.pythonhosted.org/packages/98/dc/24da867e092e166078d5432cffc2aa8d4e1485401354e30d3df794254478/uwg-5.0.1.tar.gz" } ], "5.1.0": [ { "comment_text": "", "digests": { "md5": "6934c62b181164857fe2a0a60010a6a1", "sha256": "fd39a9ed714a1e8c723c6e0b3603d6eb671103e9fc25c3108b8cf94e277f1fe7" }, "downloads": -1, "filename": "uwg-5.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "6934c62b181164857fe2a0a60010a6a1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 224748, "upload_time": "2018-11-24T18:14:44", "url": "https://files.pythonhosted.org/packages/8c/64/b05d7a3bfa4792d57b0abce44a0edef89735006163cdd4805b147fb77f0b/uwg-5.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31bbb450d9f55fe8939865e2040d4a1e", "sha256": "b70899b9bf35963c6d8d374c31e904a502670153cd418401013d39d8ce377528" }, "downloads": -1, "filename": "uwg-5.1.0.tar.gz", "has_sig": false, "md5_digest": "31bbb450d9f55fe8939865e2040d4a1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216828, "upload_time": "2018-11-24T18:14:46", "url": "https://files.pythonhosted.org/packages/e4/ab/d3b1221e6a442841abae4766e586615aa5cb7dfa4e5bd7ef80417fb07765/uwg-5.1.0.tar.gz" } ], "5.2.0": [ { "comment_text": "", "digests": { "md5": "e261f3564399084b3743d594a319c009", "sha256": "80899026d25079d64c8bffca64fb51d48723ceb76a8c1534b38ee9d5434f5c16" }, "downloads": -1, "filename": "uwg-5.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e261f3564399084b3743d594a319c009", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 224968, "upload_time": "2018-11-24T18:35:26", "url": "https://files.pythonhosted.org/packages/6c/77/e25eb4acc0e449499fab86162d40383cf45a112b79490f2218807c2301fe/uwg-5.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e94c73910f4dde841ad66e63e3bf7a8d", "sha256": "d72297639529e366b25aebffef6963ccab4d28b922a9934227be07ad37ed81de" }, "downloads": -1, "filename": "uwg-5.2.0.tar.gz", "has_sig": false, "md5_digest": "e94c73910f4dde841ad66e63e3bf7a8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217089, "upload_time": "2018-11-24T18:35:28", "url": "https://files.pythonhosted.org/packages/b1/c1/aee95f437fd62728c8a528cff92d8e068fef91e6b2f2589692b5a1a5e3ee/uwg-5.2.0.tar.gz" } ], "5.2.1": [ { "comment_text": "", "digests": { "md5": "ffd80aa5f12c632a36c2f94983afd16e", "sha256": "61acabba11bbe03cee6455b4960e6f8b2e5fcd5e1851fdd0de39f66d66804618" }, "downloads": -1, "filename": "uwg-5.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ffd80aa5f12c632a36c2f94983afd16e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 224973, "upload_time": "2018-11-27T16:57:42", "url": "https://files.pythonhosted.org/packages/b0/47/b0eed5f64e1805658e3953e6156a6b1d6ca1aa17a1233198f0191114423f/uwg-5.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b024b8885b57f78c7ae41ca102e62e2", "sha256": "30c8c8533f73524df12f1a4098bf7987aa1180fac5e18cae0d57a49bedd70df2" }, "downloads": -1, "filename": "uwg-5.2.1.tar.gz", "has_sig": false, "md5_digest": "9b024b8885b57f78c7ae41ca102e62e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217078, "upload_time": "2018-11-27T16:57:44", "url": "https://files.pythonhosted.org/packages/20/0e/2bc6028b5b636e0687fdbc729a7b9e9b306e1bc1393dc59c58754ea6cf32/uwg-5.2.1.tar.gz" } ], "5.3.0": [ { "comment_text": "", "digests": { "md5": "ca95bc2ce1d595bcaaf1975f97ce2965", "sha256": "8fefa29c1c2f393e98ca79140c9cf02e1c8ba091e923aca3999324d3425e17cb" }, "downloads": -1, "filename": "uwg-5.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ca95bc2ce1d595bcaaf1975f97ce2965", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 224971, "upload_time": "2018-11-28T05:46:31", "url": "https://files.pythonhosted.org/packages/80/52/34e8dc14700f5970d2cdac5dc66cd4462c75e7187387fa52d27ebbb087ea/uwg-5.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9bc075b1539a281976000b5a4f18cef", "sha256": "e7f7c7bb00c5221e5421ee04c655d10c3a80be5faefaf621e447ed3e24b4040c" }, "downloads": -1, "filename": "uwg-5.3.0.tar.gz", "has_sig": false, "md5_digest": "b9bc075b1539a281976000b5a4f18cef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217071, "upload_time": "2018-11-28T05:46:33", "url": "https://files.pythonhosted.org/packages/04/95/0983077deafda8db28c43b341752cc033bcc1aabcc9c501b5b6c84ccafc5/uwg-5.3.0.tar.gz" } ], "5.3.1": [ { "comment_text": "", "digests": { "md5": "80178b1a738672073b4b68f2f7b33ce5", "sha256": "f9b6466e74f36d7bf279fc7f8cd9906f3c260013e5978e6af10bcc8035f61757" }, "downloads": -1, "filename": "uwg-5.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "80178b1a738672073b4b68f2f7b33ce5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 224930, "upload_time": "2018-11-28T16:32:34", "url": "https://files.pythonhosted.org/packages/c3/7b/f9a2c036a2094055b2eaeaddfcc9fc21cfb65c1f1ee3efc725ff296e8088/uwg-5.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "525f4c847487f920c3b59481717678f5", "sha256": "b3de4c03c2489a95b4669fde355178d3e0b1ca7885cd18a0a5a05272109ee431" }, "downloads": -1, "filename": "uwg-5.3.1.tar.gz", "has_sig": false, "md5_digest": "525f4c847487f920c3b59481717678f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217025, "upload_time": "2018-11-28T16:32:36", "url": "https://files.pythonhosted.org/packages/96/ff/5c17aaaadd26318eb4d3966edf1bca3efee650c60a35e9215481ea00526b/uwg-5.3.1.tar.gz" } ], "5.3.2": [ { "comment_text": "", "digests": { "md5": "3e4e467da45a1d71aca2f937af6ad4c2", "sha256": "45f3cc9a15cf7e9cf88414fc65390442fc55c6af642fb5d55e3d65f42cd93a45" }, "downloads": -1, "filename": "uwg-5.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3e4e467da45a1d71aca2f937af6ad4c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 225415, "upload_time": "2018-11-30T04:17:16", "url": "https://files.pythonhosted.org/packages/0b/e8/0405e4b84388b534a100067737bc17a9473ea96f037b3aeadf0e2486decd/uwg-5.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af2da71e4793b6cb7ff93b2e9e9a06da", "sha256": "fff4482a1fc85c4ca6d11132fdd1cd0641bf2c80e9307ab84be985cbb59a02dc" }, "downloads": -1, "filename": "uwg-5.3.2.tar.gz", "has_sig": false, "md5_digest": "af2da71e4793b6cb7ff93b2e9e9a06da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217450, "upload_time": "2018-11-30T04:17:18", "url": "https://files.pythonhosted.org/packages/c5/1f/43da19219f85babb210cbeb44d13af15cc00679ea8dc03ca6f6f90328bf7/uwg-5.3.2.tar.gz" } ], "5.3.3": [ { "comment_text": "", "digests": { "md5": "ec8506145b4e9e7b04b8de1c4adf43d8", "sha256": "69398e6365e4f5d87d9c586b69fadb63a0bd360a49cb167324c8b505d1a9dec0" }, "downloads": -1, "filename": "uwg-5.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ec8506145b4e9e7b04b8de1c4adf43d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 225439, "upload_time": "2018-12-04T18:42:16", "url": "https://files.pythonhosted.org/packages/11/e8/555606be5cfad4cb39247841a3f6c2db640aa88519beab4a2ff8c778c414/uwg-5.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32cfdcb085627c7eaba9a2c6d1b520fd", "sha256": "dc8d7a54d12d55b2e42161263e975fc61ec6d4ed6d731d6c824d509f009e87f7" }, "downloads": -1, "filename": "uwg-5.3.3.tar.gz", "has_sig": false, "md5_digest": "32cfdcb085627c7eaba9a2c6d1b520fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217478, "upload_time": "2018-12-04T18:42:18", "url": "https://files.pythonhosted.org/packages/76/25/234b84dc3e1abbf797b0c8a4ebd205735a68cdb5f2449ea62bde195cac62/uwg-5.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec8506145b4e9e7b04b8de1c4adf43d8", "sha256": "69398e6365e4f5d87d9c586b69fadb63a0bd360a49cb167324c8b505d1a9dec0" }, "downloads": -1, "filename": "uwg-5.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ec8506145b4e9e7b04b8de1c4adf43d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 225439, "upload_time": "2018-12-04T18:42:16", "url": "https://files.pythonhosted.org/packages/11/e8/555606be5cfad4cb39247841a3f6c2db640aa88519beab4a2ff8c778c414/uwg-5.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32cfdcb085627c7eaba9a2c6d1b520fd", "sha256": "dc8d7a54d12d55b2e42161263e975fc61ec6d4ed6d731d6c824d509f009e87f7" }, "downloads": -1, "filename": "uwg-5.3.3.tar.gz", "has_sig": false, "md5_digest": "32cfdcb085627c7eaba9a2c6d1b520fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217478, "upload_time": "2018-12-04T18:42:18", "url": "https://files.pythonhosted.org/packages/76/25/234b84dc3e1abbf797b0c8a4ebd205735a68cdb5f2449ea62bde195cac62/uwg-5.3.3.tar.gz" } ] }