Clone wiki

iuwm / Home


Integrated Urban Water Model (IUWM)

Simulation Engine for Water Demand Planning and Management. Highly Automated. Parallel. Multi-Platform.

The Integrated Urban Water Model (IUWM) forecasts water demand given changes to population, land use, and climate. It also evaluates various demand management strategies including more efficient home appliances, behavior and landscape changes to outdoor irrigation, and use of alternative water sources such as reclaimed wastewater, graywater, stormwater, and roof runoff. Output includes forecasted water use, potable water demand, indoor and outdoor water use, CII and residential water use, local water sources (generation and use of graywater, wastewater, stormwater, and roof runoff), leaks, and outflow to wastewater treatment plants. Simulations are at a daily timestep, and outputs are automatically aggregated to monthly and annual timesteps.

IUWM has been used to assess land development impacts on water use, water requirements, alternative water sources and end-uses. The model also forecasts water use and costs based on user-provided building patterns, efficiency gains through technology or behavioral changes, and water recycling. It contains multiple submodels for representing both indoor and outdoor uses, both CII and residential uses, and handles input changes to land uses.

IUWM is packaged with automated calibration procedures, parameter sensitivity analyses, and custom coding capabilities for user-specified submodels.


Install Python 2.7. Can use Anaconda.

pip install iuwm

If you want to install from source: Download and unzip IUWM source code... Then run python install

Quick Start

path/to/dir/containing/iuwm> python iuwm/iuwm/ -h


usage: [-h]

Run the Integrated Urban Water Management Model (IUWM).

optional arguments:
  -h, --help            show this help message and exit

    list_inputs         Lists inputs and descriptions
    list_events         Lists events in the model that allow customization
                        throughout the model simulation
    run                 Simulates a single IUWM model scenario
    batch               Performs batch runs of IUWM model scenarios
    sensitivity         Assesses sensitivity on IUWM model parameters
    calibrate           Performs automated calibration on IUWM parameters

IUWM can be run from the command line or build a scripting file (.bat on Windows, .sh on Linux) that will run your model by double-clicking. Either way, IUWM can be tested with a sample model by running the following command (assuming the IUWM code is in a subfolder called iuwm within the current working directory - after opening a command line prompt cmd make sure to cd into the directory where your unzipped IUWM code folder is, or save the bat or sh file within that directory):

python iuwm/iuwm/ run iuwm/tests/files/co.csv --output out_yearly.csv yearly --output out_monthly.csv monthly --output out_daily.csv daily --start_date 2000-01-01 --end_date 2002-12-31 --verbose

Other command line arguments can be discovered through use of -h for any of the commands

python iuwm/iuwm/ -h 
python iuwm/iuwm/ run -h
python iuwm/iuwm/ batch -h
python iuwm/iuwm/ sensitivity -h
python iuwm/iuwm/ calibrate -h

Advanced topics


Sharvelle, S., Dozier, A. Q., Arabi, M., and Reichel, B. I. (2017). “A geospatially-enabled web tool for urban water demand forecasting and assessment of alternative urban water management strategies”, Environmental Modelling & Software, 97, 213-228.