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.0.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.0-py3-none-any.whl (81.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urbanplot-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 912689094040c68a9f4df62d5b6bf92f72c4509901a4a4087e8e7c4ac42e2f59
MD5 a27235069dcac9179816b81d799e967e
BLAKE2b-256 0dbd43312188de5b051971c0f3d8795d473f5fc25d9ed03646bedb00a068159b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: urbanplot-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbfd45b164bdb7005be7df8480d08f9dc0e073baba26951e56ec38a693efccf9
MD5 fa5565d1176dcfcebe355f4303fb3989
BLAKE2b-256 65acc4b939a5083d129218517863d486251f394db0ddb56a45563fb3d9db05b2

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