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.3.tar.gz (73.8 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.3-py3-none-any.whl (85.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urbanplot-0.1.3.tar.gz
  • Upload date:
  • Size: 73.8 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.3.tar.gz
Algorithm Hash digest
SHA256 7fc270dd5fef171351373410dec209cb236e3fc2df3e8d50ae2359fed86a68c0
MD5 13cab39221145766268a17cfa6d25fcd
BLAKE2b-256 d31ba470081b78f939bbf248d96af9c05d89cb3923d4ec95d9559c451619ae7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: urbanplot-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 85.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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3f97e64aa940bb61b13700e0435d34d4b812fbf94372402bec6c3bde14e7158c
MD5 302f0f4bae3f92cc29fd60bcfa06ec47
BLAKE2b-256 e898c92d182f8c236dcc70b24175a25722f58564462bdf9b4b48c29675a1c505

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