mohitanand/forest_mortality
200,000 Years of Weather and Quasi-Stationary Tree Dynamics Simulation for Beech, Pine, and Spruce Forests A large synthetic benchmark coupling a stochastic weather generator (AWE-GEN) with a process-based forest gap model (FORMIND) to study how weather time series drive forest biomass mortality. It is designed as a test bed for machine-learning models that map weather (and forest structure) time series to an ecological impact — a genuinely multi-modal, time-series → regression… See the full description on the dataset page: https://huggingface.co/datasets/mohitanand/forest_mortality.
200,000 Years of Weather and Quasi-Stationary Tree Dynamics Simulation for Beech, Pine, and Spruce Forests
A large synthetic benchmark coupling a stochastic weather generator (AWE-GEN) with a process-based forest gap model (FORMIND) to study how weather time series drive forest biomass mortality. It is designed as a test bed for machine-learning models that map weather (and forest structure) time series to an ecological impact — a genuinely multi-modal, time-series → regression setting.
Species covered: European beech, Scots pine, and Norway spruce.
This is a richer, higher-resolution version of an earlier monthly-averaged simulation: the weather and forest dynamics here are provided at daily resolution (raw) and as a 5-day / pentad aggregate (processed), rather than monthly.
Overview
Weather is generated with the hourly stochastic weather generator AWE-GEN; its aggregated daily output (precipitation, temperature, radiation) drives the individual-based forest gap model FORMIND. The dataset provides annual forest biomass mortality rates together with per-year histograms of five structure variables — age, stem volume, leaf area index (LAI), height, and diameter. All data is stored as HDF5 files.
Temporal resolution.raw_simulation/andprocessed/are the same simulation at two aggregation levels — the raw FORMIND output is daily, and the processed splits are its 5-day (pentad) aggregate, prepared for model training.
Repository structure
forest_mortality/
├── raw_simulation/ # FORMIND output, DAILY resolution (20-member ensemble / species)
│ ├── beech/ # beech_dynMort_0.h5 … beech_dynMort_19.h5
│ ├── pine/ # pine_dynMort_0.h5 … pine_dynMort_19.h5
│ └── spruce/ # spruce_dynMort_0.h5 … spruce_dynMort_19.h5
│
└── processed/ # ML-ready PENTAD (5-day) aggregate, split (beech & pine)
├── train_MBR_beech_pentad_3_years_10000ha.h5
├── val_MBR_beech_pentad_3_years_10000ha.h5
├── test_MBR_beech_pentad_3_years_10000ha.h5
├── train_MBR_pine_pentad_3_years_10000ha.h5
├── val_MBR_pine_pentad_3_years_10000ha.h5
├── test_MBR_pine_pentad_3_years_10000ha.h5
├── bins_Xs_train_beech.npy # structure-variable histogram bin edges
└── bins_Xs_train_pine.npyraw_simulation/
Raw FORMIND simulation output at daily resolution, organised per species. Each species folder holds a 20-member ensemble (*_dynMort_0.h5 … *_dynMort_19.h5) of dynamic-mortality runs on a simulated 10,000 ha stand — the full simulated forest dynamics (per-year structure histograms and mortality) before any train/val/test partitioning.
processed/
Model-ready pentad (5-day aggregate) splits for beech and pine, named {split}_MBR_{species}_pentad_{n_years}_years_10000ha.h5:
- `MBR` — the prediction target: (mortality) biomass rate.
- `pentad` — weather aggregated to 5-day steps.
- `3_years` — length of the input weather window per sample.
- `10000ha` — simulated stand area.
Each HDF5 file provides the arrays consumed by the training pipeline:
The bins_Xs_train_*.npy files hold the histogram bin edges for the structure variables (age, stem volume, LAI, height, diameter), used to reproduce / interpret the Xs histograms.
Intended uses
- Benchmarking sequence models (Transformers, RNNs, TCNs, etc.) on long weather time series with an ecological regression target.
- Studying multi-modal learning: combining dynamic weather with static forest structure.
- Investigating how weather variability propagates to forest mortality under quasi-stationary conditions.
Quick start
import h5py
# processed pentad split
with h5py.File("processed/train_MBR_beech_pentad_3_years_10000ha.h5", "r") as f:
print(list(f.keys())) # inspect available arrays
# Xd, Xs, Y = f["Xd"][:], f["Xs"][:], f["Y"][:]
# one raw (daily) ensemble member
with h5py.File("raw_simulation/spruce/spruce_dynMort_0.h5", "r") as f:
print(list(f.keys()))# download the whole dataset locally
from huggingface_hub import snapshot_download
snapshot_download("mohitanand/forest_mortality", repo_type="dataset")Models & tools
- AWE-GEN — hourly stochastic Advanced WEather GENerator.
- FORMIND — process-based, individual-based forest gap model.
Authors
- Mohit Anand
- Jakob Zscheischler
License
Released under CC-BY-4.0.
