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

Uploaded Python 3

File details

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

File metadata

  • Download URL: urbanplot-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 de4a4a2015626d9f46bed6689cf89467a9a7b176f9ab718dfd0e444ed98c101d
MD5 91c6793fbbb140c8f85670c5f0b1ecdc
BLAKE2b-256 1e3117e73487719836d434e0534af01f2baa8cfe25890543b47f320b601d04b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: urbanplot-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8bd2f5e47632fac2df616ab4434ddf64f509c10452093eff11f2bf88340604a5
MD5 f3ec8376657bbf06c7366a293d1da3a9
BLAKE2b-256 b6d4facf98b9dfcf0d1131eb3e7038536da7408ae1505b84ad708de47bc00a5f

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