Skip to main content

Urban-scale climate visualization and ICON model plotting framework

Project description

UrbanPlot

UrbanPlot is a Python-based visualization and analysis framework for urban-scale climate data, with a focus on ICON model outputs and observational datasets.

It provides a configurable pipeline for:

  • reading and harmonizing climate datasets
  • computing statistics and differences
  • generating publication-quality maps with geographic context (OpenStreetMap)
  • producing multi-panel comparison plots

Features

  • ICON model + reference dataset comparison (e.g. E-OBS)
  • Flexible configuration system (main + icon + OSM/layout configs)
  • High-quality cartographic visualization (Cartopy + OSMnx)
  • Multi-panel plots (MODEL / OBS / DIFF)
  • Automatic runtime directory management
  • CLI-based workflow

Installation

From PyPI

pip install urbanplot

From TestPyPI (development)

pip install \
  --index-url https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple \
  urbanplot

Quick Start

1. Create a working directory

mkdir run_case
cd run_case

2. Generate default configs

urbanplot --init-configs

This creates:

main_config.py
icon_maps.py
osm_maps.py

3. Provide input data

Place your data inside:

DATA/

Example:

DATA/eobs_v28/rr_ens_mean_*.nc
DATA/out03_1km/*.nc

4. Run the pipeline

urbanplot \
  --config main_config.py \
  --config-icon icon_maps.py \
  --config-osm osm_maps.py

Project Structure (runtime)

After execution:

run_case/
├── DATA/
├── FIGURES/
├── LOGS/
├── cache/

Configuration System

UrbanPlot uses three configuration layers:

1. Main config (main_config.py)

Controls:

  • data paths
  • variable selection
  • processing pipeline
  • plotting metadata

2. ICON config (icon_maps.py)

Controls:

  • colorbars
  • colormaps
  • triangular grid rendering

Example:

CONFIG = {
    "tripcolor_setting": {
        "shading": "gouraud"
    }
}

3. OSM/Layout config (osm_maps.py)

Controls:

  • map layout
  • OpenStreetMap layers
  • legend, scalebar, styling

Command Line Interface

urbanplot --help

Main options

--config            Path to main config
--config-icon       Path to ICON config
--config-osm        Path to OSM/layout config

--init-configs      Generate all config templates
--init-main-config  Generate main config only
--init-icon-config  Generate ICON config only
--init-osm-config   Generate OSM config only

Typical Workflow

urbanplot --init-configs
# edit configs
urbanplot --config main_config.py

Dependencies

UrbanPlot relies on:

  • numpy
  • xarray
  • scipy
  • Cartopy
  • OSMnx
  • xclim
  • netCDF4 / h5netcdf

Development

Clone repository:

git clone https://gitlab.dkrz.de/clm-community/public/evasuite-addons/evasuite_urbanplots
cd evasuite_urbanplots
pip install -e .

License

Apache-2.0


Authors

KIT / IMKTRO Climate modelling group


Notes

  • Runtime directories (DATA, FIGURES, LOGS, cache) are created automatically.
  • Configuration files are user-defined and not part of the package.
  • Designed for scientific workflows and HPC environments.

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

urbanplot-0.1.1.tar.gz (67.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

urbanplot-0.1.1-py3-none-any.whl (81.9 kB view details)

Uploaded Python 3

File details

Details for the file urbanplot-0.1.1.tar.gz.

File metadata

  • Download URL: urbanplot-0.1.1.tar.gz
  • Upload date:
  • Size: 67.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for urbanplot-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ffcf84edfeeb47e5df8e8d07aacd948cff77ef26a6dff754dc56ab094b6f0ee9
MD5 29833df7d14f0cbab4707b1e27cc7248
BLAKE2b-256 914944ab5db26b8aa83a69223480818627843e0ab58752534cdefc64805f7ef7

See more details on using hashes here.

File details

Details for the file urbanplot-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: urbanplot-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 81.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for urbanplot-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea33d212d990aa65df0645a7e1e1cd0211e89d1d29cf89dede6d418aba2bb4f3
MD5 7dc80107717354f9407daa40f28bedf9
BLAKE2b-256 29a65956d8ed2e3034719960469a19ab5091d2be6e663ef723882103c4d5f26b

See more details on using hashes here.

Supported by

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