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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de4a4a2015626d9f46bed6689cf89467a9a7b176f9ab718dfd0e444ed98c101d
|
|
| MD5 |
91c6793fbbb140c8f85670c5f0b1ecdc
|
|
| BLAKE2b-256 |
1e3117e73487719836d434e0534af01f2baa8cfe25890543b47f320b601d04b8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bd2f5e47632fac2df616ab4434ddf64f509c10452093eff11f2bf88340604a5
|
|
| MD5 |
f3ec8376657bbf06c7366a293d1da3a9
|
|
| BLAKE2b-256 |
b6d4facf98b9dfcf0d1131eb3e7038536da7408ae1505b84ad708de47bc00a5f
|