The Cities Indicator Framework (CIF) is a set of Python tools to make it easier to calculate zonal statistics for cities by providing a standardized set of data layers for inputs and a common framework for using those layers to calculate indicators.
- If all you want to do is use the CIF, the quickest way to get started is to use our WRI Cities Indicator Framework Colab Notebook
pip install git+https://github.com/wri/cities-cif@v0.1.2
to install a specific version.pip install git+https://github.com/wri/cities-cif/releases/latest
gives you the latest stable release.pip install git+https://github.com/wri/cities-cif
gives you the main branch with is not stable.
NOTE: If you have already installed the package and want to update to the latest code you may need to add the --force-reinstall
flag
- Prerequisites
- Git
- On Windows I recommend WSL https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-git
- https://cli.github.com/
- On MacOS I recommend the Homebrew option
- If you don't have an ssh key, it will install one for you
- Conda (or Mamba) to install dependencies
- If you have Homebrew
brew install --cask miniconda
- If you have Homebrew
There are 2 ways to install dependencies. Choose one...
conda env create -f environment.yml
or conda env update -f environment.yml
python setup.py
NOTE: If you are using this method you may want to use something like pyenv to manage Python environments
To run the module,
- You need access to Google Earth Engine
- Install https://cloud.google.com/sdk/docs/install
- If you want to use the ERA5 layer, you need to install the Climate Data Store (CDS) Application Program Interface (API)
For most people working in a notebook or IDE the script should walk you thourgh an interactive authentication process. You will just need to be logged in to your Google account that has access to GEE in your browser.
If you have issues with this or need to run the script as part of an automated workflow we have a GEE-enabled GCP service account that can be used. Get in touch with Saif or Chris to ask about getting the credetials.
Set the following environment variables:
- GOOGLE_APPLICATION_CREDENTIALS: The path of GCP credentials JSON file containing your private key.
- GOOGLE_APPLICATION_USER: The email for your GCP user.
For example, you could set the following in your ~/.zshrc
file:
export GOOGLE_APPLICATION_USER=developers@citiesindicators.iam.gserviceaccount.com
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials/file
All are welcome to contribute by creating a Pull Request. We try to follow the Github Flow workflow.
See PR Review for more details and options on how to review a PR.
See the developer docs to learn more about how to add data layers and indicators.