High-level spatio-temporal analysis tools for Earth System data cubes
Because laziness is not only good when reading big data — it should apply to analysis too!
YAXArraysToolbox extends YAXArrays.jl with high-level functions for climate and Earth observation data analysis:
| Feature | Description |
|---|---|
| 📈 Time Series Plotting | Visualize temporal evolution with automatic spatial aggregation |
| 🗺️ Spatial Mapping | Create publication-ready maps with temporal aggregation |
| ⏱️ Temporal Aggregation | Resample data to monthly, yearly, or custom periods |
| 🔄 Space-for-Time Analysis | Estimate land cover change impacts on climate variables |
| 😷 Flexible Masking | Apply spatial, temporal, and altitude-based masks |
using Pkg
Pkg.add(url="https://github.com/dpabon/YAXArraysToolbox.jl")Or using the package manager:
julia> ]
pkg> add https://github.com/dpabon/YAXArraysToolbox.jlusing YAXArraysToolbox
using YAXArrays
using CairoMakie
using Dates
# Load Earth System Data Cube
esdc = Cube(open_dataset(
"https://s3.bgc-jena.mpg.de:9000/esdl-esdc-v2.1.1/esdc-8d-0.25deg-184x90x90-2.1.1.zarr"
))
# Select a region and variable
cube = esdc[
lon = -10 .. 0,
lat = 35 .. 45,
time = Date(2010) .. Date(2012),
Variable = At("leaf_area_index")
]
# Plot time series (spatial mean)
plot_time(cube; fun="mean")
# Create spatial map (temporal median)
plot_space(cube; fun="median")
# Aggregate to monthly resolution
monthly = aggregate_time(cube; new_resolution="month", fun="mean")Explore the full documentation at dpabon.github.io/YAXArraysToolbox.jl.
- Basic Operations — Learn
plot_time,plot_space, andaggregate_time - Space-for-Time Method — Understand and apply the space4time methodology
YAXArraysToolbox
├── Basic Operations
│ ├── plot_time → Time series visualization
│ ├── plot_space → Spatial mapping
│ └── aggregate_time → Temporal resampling
├── Masking
│ ├── masking_time → Filter by time period
│ ├── masking_space → Spatial filtering
│ └── masking_altitude → Elevation-based filtering
└── Spatio-Temporal Analysis
└── space4time_proc → Land cover change impact analysis
Contributions are welcome! Here's how you can help:
- Report bugs — Open an issue describing the problem
- Suggest features — Share your ideas in the issues section
- Submit PRs — Fork the repo and submit pull requests
Please check existing issues before creating new ones.
If you use YAXArraysToolbox in your research, please cite:
This project was funded by:
This project has received funding from the Open-Earth-Monitor Cyberinfrastructure project that is part of European Union's Horizon Europe research and innovation programme under grant 101059548.


