Skip to main content

Python application for modeling the urban heat island effect.

Project description

Build Status Coverage Status

Python 3.6 Python 2.7 IronPython

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

  1. Clone this repo locally
git clone git@github.com:ladybug-tools/uwg

# or

git clone https://github.com/ladybug-tools/uwg
  1. Install dependencies:
cd uwg
pip install -r dev-requirements.txt
pip install -r requirements.txt
  1. Run Tests:
python -m pytest tests/
  1. Generate Documentation:
sphinx-apidoc -f -e -d 4 -o ./docs ./uwg
sphinx-build -b html ./docs ./docs/_build/docs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uwg-5.8.13.tar.gz (12.3 MB view details)

Uploaded Source

Built Distribution

uwg-5.8.13-py2.py3-none-any.whl (267.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file uwg-5.8.13.tar.gz.

File metadata

  • Download URL: uwg-5.8.13.tar.gz
  • Upload date:
  • Size: 12.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.0 pkginfo/1.9.6 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.1 CPython/3.7.17

File hashes

Hashes for uwg-5.8.13.tar.gz
Algorithm Hash digest
SHA256 521a6a9bfe9b07359f36450ff059d28f463c21175c9443dd966b8e79dbc36bec
MD5 fea60e6dc238dafc95b0cdc270e310c2
BLAKE2b-256 e9b6243c2aa8c44e81a48fdedfcffc4f61b71f7500714e6d8ab131f85091e82a

See more details on using hashes here.

File details

Details for the file uwg-5.8.13-py2.py3-none-any.whl.

File metadata

  • Download URL: uwg-5.8.13-py2.py3-none-any.whl
  • Upload date:
  • Size: 267.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.0 pkginfo/1.9.6 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.1 CPython/3.7.17

File hashes

Hashes for uwg-5.8.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7921cb2dc4f0125f690ff8cfc270feca68110bdd441e607c5db899dc6e8f54b3
MD5 10586198529b356536a336808eca46e9
BLAKE2b-256 4b9d875d5d8aed687f4b8070dd61c1c32cbcf80ba19b859a89388467dfa21d12

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page