Weather for Open Energy Efficiency Meter

pip install eeweather==0.3.14


EEweather: Weather station wrangling for EEmeter

EEweather — tools for matching to and fetching data from NCDC ISD, TMY3, or CZ2010 weather stations.

EEweather comes with a database of weather station metadata, ZCTA metadata, and GIS data that makes it easier to find the right weather station to use for a particular ZIP code or lat/long coordinate.

Read the docs.


EEweather is a python package and can be installed with pip.

$ pip install eeweather

Supported Sources of Weather Data

  • NCDC Integrated Surface Database (ISD)
  • Global Summary of the Day (GSOD)
  • NREL Typical Meteorological Year 3 (TMY3)
  • California Energy Commission 1998-2009 Weather Normals (CZ2010)


  • Match by ZIP code (ZCTA) or by lat/long coordinates
  • Use user-supplied weather station mappings
  • Match within climate zones
    • IECC Climate Zones
    • IECC Moisture Regimes
    • Building America Climate Zones
    • California Building Climate Zone Areas
  • User-friendly SQLite database of metadata compiled from primary sources
    • US Census Bureau (ZCTAs, county shapefiles)
    • Building America climate zone county lists
    • NOAA NCDC Integrated Surface Database Station History
    • NREL TMY3 site
  • Plot maps of outputs


Dev installation:

$ pipenv --python 3.6.4  # create virtualenv with python 3.6.4
$ pipenv install --dev   # install dev requirements with pipenv
$ pipenv install -e .    # install package in editable mode
$ pipenv shell           # activate pipenv virtual environment

Build docs:

$ make -C docs html

Autobuild docs:

$ make -C docs livehtml

Check spelling in docs:

$ make -C docs spelling

Run tests:

$ pytest

Run tests on multiple python versions:

$ tox

Upload to pypi (using twine):

$ python upload

Use with Docker

To use with docker-compose, use the following:

Run a tutorial notebook (copy link w/ token, open tutorial.ipynb):

$ docker-compose up jupyter

Live-edit docs:

$ docker-compose up docs

Open a shell:

$ docker-compose run --rm shell

Run tests:

$ docker-compose run --rm test

Run the CLI:

$ docker-compose run --rm eeweather --help

Notice Regarding CZ2010 Data

There may be conditions placed on their international commercial use. They can be used within the U.S. or for non-commercial international activities without restriction. The non-U.S. data cannot be redistributed for commercial purposes. Re-distribution of these data by others must provide this same notification.

See further explanation here.