Urban Weather Generator
A Python application for modeling the urban heat island effect.
https://github.com/ladybug-tools/uwg
Category: Climate Change
Sub Category: Earth and Climate Modeling
Keywords from Contributors
weather-data measurements tmy ladybug-grasshopper ladybug grasshopper-plugin epw urbanopt urban-energy-modeling pollination-plugin
Last synced: 1 day ago
JSON representation
Repository metadata
:city_sunrise: The Urban Weather Generator (uwg) is a Python application for modeling the urban heat island effect.
- Host: GitHub
- URL: https://github.com/ladybug-tools/uwg
- Owner: ladybug-tools
- License: gpl-3.0
- Created: 2017-04-18T03:32:01.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-15T22:25:39.000Z (7 months ago)
- Last Synced: 2025-04-10T06:39:03.429Z (20 days ago)
- Language: Python
- Homepage: https://www.ladybug.tools/uwg/docs/
- Size: 29 MB
- Stars: 59
- Watchers: 6
- Forks: 27
- Open Issues: 24
- Releases: 27
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
README.md
uwg
The Urban Weather Generator (uwg) is a Python application for modeling the urban heat island effect. Specifically, it morphs rural EnergyPlus weather (.epw) files to reflect average conditions within the urban canyon using a range of properties including:
- Building geometry (including building height, ground coverage, window:wall area, and facade:site area)
- Building use (including program type, HVAC systems, and occupancy/equipment scheduling)
- Cooling system heat rejection to the outdoors (for Summer)
- Indoor heat leakage to the outdoors (for Winter)
- Urban materials (including the thermal mass, albedo and emissivity of roads, walls, and roofs)
- Anthropogenic heat from traffic (including traffic schedules)
- Vegetation coverage (both trees and shrubs)
- Atmospheric heat transfer from urban boundary and canopy layers
The original Urban Weather Generator was developed by Bruno Bueno for his PhD thesis at MIT. Since this time, it has been validated 3 times and has been enhanced by Aiko Nakano. In 2016, Joseph Yang also improved the engine and added a range of building templates.
This repository is a Python translation of the original MATLAB Urban Weather Generator.
Example
Here is a Python example that shows how to create and run an Urban Weather Generator object.
from uwg import UWG
# Define the .epw, .uwg paths to create an uwg object.
epw_path = "resources/SGP_Singapore.486980_IWEC.epw" # available in resources directory.
# Initialize the UWG model by passing parameters as arguments, or relying on defaults
model = UWG.from_param_args(epw_path=epw_path, bldheight=10, blddensity=0.5,
vertohor=0.8, grasscover=0.1, treecover=0.1, zone='1A')
# Uncomment these lines to initialize the UWG model using a .uwg parameter file
# param_path = "initialize_singapore.uwg" # available in resources directory.
# model = UWG.from_param_file(param_path, epw_path=epw_path)
model.generate()
model.simulate()
# Write the simulation result to a file.
model.write_epw()
Installation
pip install uwg
QuickStart
import uwg
API Documentation
Local Development
- Clone this repo locally
git clone git@github.com:ladybug-tools/uwg
# or
git clone https://github.com/ladybug-tools/uwg
- Install dependencies:
cd uwg
pip install -r dev-requirements.txt
pip install -r requirements.txt
- Run Tests:
python -m pytest tests/
- Generate Documentation:
sphinx-apidoc -f -e -d 4 -o ./docs ./uwg
sphinx-build -b html ./docs ./docs/_build/docs
Owner metadata
- Name: Ladybug Tools
- Login: ladybug-tools
- Email: info@ladybug.tools
- Kind: organization
- Description: Ladybug Tools is a collection of free computer applications that support environmentally-conscious design and simulation.
- Website: ladybug.tools
- Location: Worldwide
- Twitter: ladybug_tools
- Company:
- Icon url: https://avatars.githubusercontent.com/u/14942270?v=4
- Repositories: 89
- Last ynced at: 2023-04-03T22:11:19.043Z
- Profile URL: https://github.com/ladybug-tools
GitHub Events
Total
- Issues event: 1
- Watch event: 7
- Issue comment event: 2
- Push event: 2
- Pull request event: 2
- Fork event: 2
Last Year
- Issues event: 1
- Watch event: 7
- Issue comment event: 2
- Push event: 2
- Pull request event: 2
- Fork event: 2
Committers metadata
Last synced: 1 day ago
Total Commits: 536
Total Committers: 8
Avg Commits per committer: 67.0
Development Distribution Score (DDS): 0.304
Commits in past year: 2
Committers in past year: 1
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Saeran Vasanthakumar | s****v@g****m | 373 |
dependabot-preview[bot] | 2****] | 101 |
Chris Mackey | c****s@l****s | 35 |
AntoineDao | a****1@g****m | 13 |
semantic-release | s****e | 9 |
ladybugbot | l****t | 3 |
AntoineDao | a****e@m****m | 1 |
jumpyapple | 7****e | 1 |
Committer domains:
- mallzee.com: 1
- ladybug.tools: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 69
Total pull requests: 220
Average time to close issues: 5 months
Average time to close pull requests: 2 days
Total issue authors: 23
Total pull request authors: 7
Average comments per issue: 3.55
Average comments per pull request: 0.91
Merged pull request: 198
Bot issues: 1
Bot pull requests: 120
Past year issues: 4
Past year pull requests: 1
Past year average time to close issues: 28 minutes
Past year average time to close pull requests: about 1 hour
Past year issue authors: 2
Past year pull request authors: 1
Past year average comments per issue: 0.25
Past year average comments per pull request: 0.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- saeranv (26)
- chriswmackey (7)
- simonmarti1992 (5)
- gianlucamaracchini (5)
- Betterbuilt00 (3)
- sercrp (2)
- HibaHamdi09 (2)
- AntoineDao (2)
- aleksandraradecka1 (2)
- frank984 (2)
- maririvo (1)
- hughesdespond (1)
- elelac (1)
- danieldjewell (1)
- biglimp (1)
Top Pull Request Authors
- dependabot-preview[bot] (118)
- saeranv (67)
- chriswmackey (22)
- AntoineDao (9)
- dependabot[bot] (2)
- mostaphaRoudsari (1)
- jumpyapple (1)
Top Issue Labels
- enhancement (10)
- bug (4)
- critical (3)
- question (3)
- help wanted (1)
- Future Capabilities (1)
Top Pull Request Labels
- dependencies (125)
- released (107)
- bug (9)
- enhancement (2)
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 7,437 last-month
- Total dependent packages: 2
- Total dependent repositories: 1
- Total versions: 26
- Total maintainers: 1
pypi.org: uwg
Python application for modeling the urban heat island effect.
- Homepage: https://github.com/ladybug-tools/uwg
- Documentation: https://uwg.readthedocs.io/
- Licenses: GNU General Public License v3 (GPLv3)
- Latest release: 5.8.13 (published over 1 year ago)
- Last Synced: 2025-04-28T15:31:54.577Z (2 days ago)
- Versions: 26
- Dependent Packages: 2
- Dependent Repositories: 1
- Downloads: 7,437 Last month
-
Rankings:
- Dependent packages count: 2.138%
- Downloads: 3.187%
- Forks count: 7.814%
- Average: 9.098%
- Stargazers count: 10.262%
- Dependent repos count: 22.088%
- Maintainers (1)
Dependencies
- click ==7.1.2
- uwg-schema ==0.2.10
- Sphinx ==1.8.5 development
- Sphinx ==3.3.1 development
- click ==7.1.2 development
- coverage ==5.5 development
- coveralls ==1.7.0 development
- coveralls ==2.2.0 development
- importlib-metadata ==4.3.1 development
- importlib-metadata ==2.0.0 development
- pytest ==4.6.9 development
- pytest ==6.2.4 development
- pytest-cov ==2.12.0 development
- setuptools ==44.1.0 development
- setuptools ==57.0.0 development
- sphinx-bootstrap-theme ==0.7.1 development
- sphinx-click ==2.7.1 development
- sphinxcontrib-fulltoc ==1.2.0 development
- sphinxcontrib-websupport ==1.1.2 development
- sphinxcontrib-websupport ==1.2.4 development
- twine ==1.13.0 development
- twine ==3.4.1 development
- uwg-schema ==0.2.8 development
- wheel ==0.36.2 development
- actions/checkout v2 composite
- actions/setup-node v2.1.2 composite
- actions/setup-python v2 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout v2 composite
Score: 15.413042676873696