Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ladybug-tools/uwg
:city_sunrise: The Urban Weather Generator (uwg) is a Python application for modeling the urban heat island effect.
https://github.com/ladybug-tools/uwg
Last synced: 3 months ago
JSON representation
: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 (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-01T16:38:49.000Z (about 1 year ago)
- Last Synced: 2024-06-11T17:55:21.440Z (5 months ago)
- Language: Python
- Homepage: https://www.ladybug.tools/uwg/docs/
- Size: 29.1 MB
- Stars: 47
- Watchers: 7
- Forks: 24
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- open-sustainable-technology - Urban Weather Generator - A Python application for modeling the urban heat island effect. (Climate Change / Earth and Climate Modeling)
README
[![Build Status](https://github.com/ladybug-tools/uwg/workflows/CI/badge.svg)](https://github.com/ladybug-tools/uwg/actions)
[![Coverage Status](https://coveralls.io/repos/github/ladybug-tools/uwg/badge.svg?branch=master)](https://coveralls.io/github/ladybug-tools/uwg)[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/) [![Python 2.7](https://img.shields.io/badge/python-2.7-green.svg)](https://www.python.org/downloads/release/python-270/) [![IronPython](https://img.shields.io/badge/ironpython-2.7-red.svg)](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
# uwg
The 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:
* 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 layersThe [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).
This repository is a Python translation of the original [MATLAB Urban Weather Generator](https://github.com/hansukyang/UWG_Matlab).
# Example
Here is a Python example that shows how to create and run an Urban Weather Generator object.```python
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
```console
pip install uwg
```## QuickStart
```python
import uwg```
## [API Documentation](http://ladybug-tools.github.io/uwg/docs)
## Local Development
1. Clone this repo locally
```console
git clone [email protected]:ladybug-tools/uwg# or
git clone https://github.com/ladybug-tools/uwg
```
2. Install dependencies:
```console
cd uwg
pip install -r dev-requirements.txt
pip install -r requirements.txt
```3. Run Tests:
```console
python -m pytest tests/
```4. Generate Documentation:
```console
sphinx-apidoc -f -e -d 4 -o ./docs ./uwg
sphinx-build -b html ./docs ./docs/_build/docs
```