Skip to content

dpabon/YAXArraysToolbox.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

342 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YAXArraysToolbox.jl

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!

Stable Documentation Dev Documentation Build Status Coverage DOI


✨ Features

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

📦 Installation

using Pkg
Pkg.add(url="https://github.com/dpabon/YAXArraysToolbox.jl")

Or using the package manager:

julia> ]
pkg> add https://github.com/dpabon/YAXArraysToolbox.jl

🚀 Quick Start

using 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")

📖 Documentation

Explore the full documentation at dpabon.github.io/YAXArraysToolbox.jl.

Tutorials

🏗️ Package Architecture

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

Dependencies

Package dependencies diagram

Module Overview

Basic Operations

Basic Operations module structure

Spatio-Temporal Analyses

Spatio-Temporal Analyses module structure

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Report bugs — Open an issue describing the problem
  2. Suggest features — Share your ideas in the issues section
  3. Submit PRs — Fork the repo and submit pull requests

Please check existing issues before creating new ones.

📄 Citation

If you use YAXArraysToolbox in your research, please cite:

DOI

📜 License

MIT License

🙏 Acknowledgements

This project was funded by:

Open Earth Monitor      NFDI4Earth

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.

About

Yet Another Toolbox to analyze spatio-temporal data using YAXArrays.jl

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages