New: Toggle interventions here
πŸ›‘οΈ Adaptation Planner
Anti-Hail Netting (High Priority)
Precision Irrigation Systems
Automated Frost Fans
Scenario impact is calculated in real-time using topographic 1km climate weights.

VAL DI NON

A geographic detective story about the Eden of Apples and the forensic trail of climate change.

Every year, regional growers produce 300,000 tons of applesβ€”equivalent to a line of train carriages long enough to circle the Earth four times.

In 2017, that line of production snapped. It was the warning shot of a riskier climate future.
↓ Scroll to investigate ↓
New: Jump to future scenarios
Yield Anomaly (%)
-80% Normal +40%
Act 1: The Baseline

The Eden of Apples

Story Aim

This story shows how climate volatility can collapse yield even when the valley still looks healthy, and where adaptation becomes urgent by 2050.

QuestionIf the valley still looks prosperous, where is the climate damage hiding?
A hyperlapse of the apple from bud to fruit, just as beautiful as it is fragile, the budding phase is the most vulnerable.

Val di Non, carved into the Italian Alps, produces nearly 1 in 5 apples eaten in Italy. More than 20,000 small parcels, managed by 4,000 farming families in a regional cooperative, make the valley look like a model of agricultural stability.

But that stability depended on a reliable seasonal script. Warmer springs, unstable cold snaps, and more erratic extremes are now breaking the timing that orchards once could trust.

The Secret: The Taste of the Dolomites

The valley's edge came from alpine precision: predictable cold winters, mild summers, and a 15Β°C daily temperature variation protected by surrounding mountain chains.

Dolomite Temperature Swing
The Stakes: Climate change is compressing this swing β€” warmer nights reduce crunch and sugar.

That thermal rhythm is what built the valley's famous apple color and crunch. It is also exactly what climate volatility is now destabilizing.

The Satellite's First Clue

To understand the catastrophic harvest crash of 2017, we first pointed satellites at the "scene of the crime" to see if the orchards looked sick or dying.

In September 2017, just weeks before the apples were scheduled to be harvested, the European Space Agency's Sentinel-2 (Copernicus) satellite constellation scanned the valley. It measured the Normalized Difference Vegetation Index (NDVI) : a standardized proxy for photosynthetic health and green biomass. (In plain terms: NDVI is a 0–1 score of how green and photosynthetically active the vegetation is. Near 1.0 = dense healthy canopy. Near 0.2 = bare soil.)

Technical Methodology: Surgical Spectral Recovery (For Data Geeks Only)
  • The Calculation: We extracted Sentinel-2 Level-2A imagery, calculating NDVI using the Near-Infrared (Band 8) and Red (Band 4) spectrums.
  • Surgical Masking: Alpine valleys are noisy. To ensure we were measuring apple trees and not pine forests or asphalt, we clipped the satellite pixels strictly to 42,100 individual GPS-mapped orchard polygons.
  • Cloud Combat: Sentinel-2 visits every 5 days, but mountain weather is highly obstructive. We applied a strict Scene Classification Layer (SCL) algorithm to mask out clouds and mountain shadows. Only optically pure pixels were kept.
  • The Scale: Over an 8-year baseline (2016-2024), we downloaded and processed over 350 Gigabytes of raw multispectral data across 560+ orbital passes. This generated a massive data cube of 23.5 million individual plot-level readings to establish the valley's true historical baseline.

The satellite confirmed what farmers could see: the trees were vibrantly healthy. In fact, NDVI was actually +2.9% higher than the 10-year historical average.

Seasonal NDVI Mirage (Mystery) Seasonal NDVI Mirage (Revealed)
Forensic Mystery active β€’ Click to Decode
+2.9% 2017 Average NDVI
If the valley was greener than ever, the harvest should have been spectacular... right?

But the Trees Were Barren

What the satellite couldn't see was that the vibrant green leaves were hiding a catastrophe. The 2017 harvest was decimated.

Compared to the 10-year historical average, yield crashed by a staggering 63% across the valley. The trees had leaves, but no fruit. They were physically healthy, but economically barren.

Double Anomaly: NDVI vs Yield Scatter Plot
Note: Every year of the study is plotted (gray dots), but 2016 and 2021 are highlighted in color to represent the "Normal Reality" baseline, perfectly contrasting the 2017 red anomaly.
+2.9% 2017 Greenness (NDVI)
-63.2% 2017 Yield Crash

This is the "Double Anomaly." How does an orchard flourish vegetation while its fruit production collapses entirely?

Act 2: The Investigation

Cracking the Code with AI

EvidenceGreenness alone could not explain yield; timing, stress, and terrain did.

We trained AI to answer one hard question: can it detect a real yield disaster even when the canopy still looks green from space?

Satellite-only signals were completely blind to the true cause. But once we fused the satellite data with high-fidelity ground station observations (like frost timing and severity from MeteoTrentino) and complex climate interactions, the model stopped being fooled by a healthy-looking leaf canopy.

0.69 Spatial RΒ² Score (strong correlation; 1.0 = perfect)
Show model validation details

We used a Spatial 5-Fold Cross-Validation β€” holding out a different group of 1km orchard cells in each fold. This tests whether the model can predict yield for cells it has never seen before, purely from their climate and satellite fingerprint.

Algorithm Features RΒ² Score Validation
Hybrid XGBoost 15 selected features (Sentinel-2 + CMCC Reanalysis + MeteoTrentino Stations) 0.69 Spatial 5-Fold CV

Spatial 5-Fold Cross-Validation: each fold holds out ~44 unseen 1km orchard cells.

Optimized Yield Prediction Results
The Takeaway: While standard satellite "greenness" was completely fooled by the lush canopy of 2017, the AI successfully detected the crop failure (red cluster). By trusting ground station thermometers over satellite leaf health, the model proves that extreme weather events (like late frost and summer hail) now completely override traditional agricultural indicators.
Data Forensics: What the AI Learned (For Geeks)

The model's verdict is unambiguous: 80.6% of its predictive power comes from three features, all measured directly from ground station thermometers β€” no satellite, no model. The key is not how cold it got, but when:

Post-bloom frost severity β€” station observed (52.6%)
What it is: Cumulative frost degree-days recorded after the valley's GDD-derived bloom date β€” the total "frost load" absorbed by open blossoms.
How it's derived: Computed directly from raw daily tmin observations at the 7 MeteoTrentino stations (no downscaling, no model). GDD accumulation from Jan 1 determines bloom date; every sub-zero degree recorded after that date is summed.
Why it matters: In 2017, this value was the highest in the dataset β€” a warm false spring triggered early bloom, then the April frost hit exposed blossoms directly. Frost before bloom does zero damage; the same temperature after bloom is catastrophic.
Post-bloom lethal frost days β€” station observed (27.3%)
What it is: Count of days where tmin dropped below βˆ’2Β°C after the bloom date β€” the biological lethality threshold for open apple blossoms.
How it's derived: Same station observations as above; each day where valley-average tmin < βˆ’2Β°C after GDD bloom date is counted.
Why it matters: Even one night below βˆ’2Β°C after bloom can abort the entire fruit set. 2017 had the highest post-bloom lethal frost day count in the record.
Coldest night after bloom β€” station observed (2.7%)
What it is: The single lowest tmin reading recorded at any station after the bloom date in that year.
How it's derived: Min of valley-average tmin across all days after bloom DOY, from raw station records.
Why it matters: Captures extreme event intensity β€” a single night at βˆ’5Β°C after bloom can destroy an entire season's crop in a single freeze event, as happened in 2017.
Hail shock Γ— Canopy health (Satellite NDRE dip)
What it is: An engineered interaction term: the magnitude of the mid-season NDRE drop multiplied by the peak canopy health of that cell.
How it's derived: Calculated as |max_hail_dip| Γ— peak_ndvi from Sentinel-2. A healthier canopy that then crashes harder signals severe hail damage.
Why it matters: Captures extreme, localized hail events (like the 2018 Castelfondo and 2021 Predaia supercells) that broad climate models completely miss. The satellite acts as the ultimate ground-truth damage proxy.
Summer max temperature / Mean Tmax (1.1%)
What it is: Mean daily maximum temperature across the growing season, per 1km cell.
How it's derived: Aggregated from the CMCC XGBoost-downscaled daily tmax grid for each cell-year.
Why it matters: Secondary stressor β€” sustained heat above 32Β°C during fruit development causes vapour pressure deficit stress, reducing final fruit size and sugar concentration even when the frost event is survived.
AI Feature Importance: Top Drivers
Act 3: Ground Truth

The Silent Killer: Timing > Temperature

ProofThe worst damage came from a late frost after bloom, not from the coldest spring on record.

We checked 32 years of ground-truth data from the official MeteoTrentino Station Network and found the key paradox: both 2018 (-6.7Β°C in March) and 2021 (-6.3Β°C in early April) were colder than 2017 (-5.0Β°C in late April), yet they did not trigger the same collapse.

2017 vs 2018 vs 2021 Frost Paradox

The difference was phenology. In 2017, a false spring pushed blossom opening into mid-April, and then April 18-21 dropped below the -2Β°C damage threshold and the -4Β°C catastrophic threshold. Leaves survived, blossoms did not, which is why space still saw green while yield collapsed.

Investigation Path

What the radar still saw through the clouds

We saw the 2017 story through Sentinel-2 spectral signals and weather station ground data. The next question is whether Sentinel-1 radar could add a third witness, especially when cloud cover hides the valley during the April frost window.

Click to see what radar could add
  • It could reduce the spring sampling gap with parcel-level VV, VH, and change anomalies.
  • It could track wetness and surface conditions that shape frost exposure on the valley floor.
  • It could compare pre- and post-event structural disturbance after hail when optical scenes are blocked.

Radar is powerful in cloudy periods, but alpine terrain complicates the signal. Slopes, orchard row orientation, layover, and shadow mean Sentinel-1 would work best here as a relative anomaly layer, not as a direct temperature measurement.

Act 3: Added Threat

The Ghost of Hail

Beyond frost, the valley is regularly hit by devastating supercell storms. These localized "Hail Corridors" can destroy a harvest in minutes. While broad climate models completely miss these localized micro-bursts, the satellite acts as the ultimate polygraph test.

Methodology: We engineered a "Hail Shock" feature by measuring sudden, violent drops in the Red-Edge (NDRE) index between satellite revisits, multiplied by the canopy's peak health. A healthy canopy that suddenly crashes signals mechanical shredding by ice.
2017: -0.82 dip Catastrophic valley-wide destruction (June 21-22)
2018: -0.66 dip Brez/Castelfondo supercell (July 3)
2021: -0.41 dip Predaia/Cles disaster (July 22)
2020: -0.36 dip Southern border bruising (Aug 29)

The Forensic Signature

Unlike frost, hail creates a "Spectral Dip."

Explainer: The Red-Edge Signature

In the chart below, you can see a sharp drop in NDRE (Normalized Difference Red Edge) during the summer. Unlike standard greenness (NDVI) which remains high even when fruit is destroyed, NDRE captures the internal chlorophyll stress of the physical stems and leaves after being hammered by ice.

Hail Spectral Signature: The Dip

The AI model learned to spot these sudden drops. By connecting them across the terrain, we mapped the recurring "Hail Corridors"β€”meteorological bowling alleys where landscape topography naturally funnels standard storm cells into icy strikes.

Act 4: The Future

The 2050 Reality & The "Blurry Valley"

The ChallengeStandard climate models are too "blurry" to see the details of a mountain valley.

Predicting 2050

To prepare for the future, we need to ask climate models what the valley will look like in 2050. But there is a major problem: standard climate models see the world in large, 5-kilometer blocks. For a complex mountain region like Val di Non, that resolution is entirely too blurry.

This creates the "Blurry Valley" problem. A single 5km block acts like a giant blender, averaging the temperatures of high mountain peaks and deep valley floors into one single, safe-looking number.

In reality, freezing air is heavy. On cold spring nights, it drains down the mountains and pools directly on the valley floor. While a standard climate model might predict a safe +4Β°C average for the whole block, the actual apple orchards trapped at the bottom of the basin could be experiencing a lethal -4Β°C frost. If we trust the "blurry" model, the disaster remains invisible until it strikes.

Click to unpack CMIP6, projections, and reanalysis

Climate projections are modelled futures under different greenhouse-gas pathways. They are not weather forecasts for one day; they are scenario-based estimates of how conditions shift over decades.

Spatial resolution means the size of each grid cell in the model. A coarse global CMIP6 cell is roughly 100km across, so one cell can blend mountains, valleys, lakes, and plains into one average value.

Downscaling means taking that coarse climate signal and translating it to a finer local grid. In this story, the chain is: global CMIP6 (~100km) -> regional CMCC product (5km) -> our orchard-scale correction (1km).

CMIP6 is the international model framework behind many of those futures. In this project, CMCC provides the regional future baseline that preserves the broad warming trend.

Reanalysis combines observations with physics-based models to reconstruct past atmospheric conditions. Products like ERA-5 help anchor the regional climate field, but even a refined 5km surface still smooths away orchard-scale basin physics.

That is why we still downscale again. Our final step does not invent a new future; it learns the local delta from stations, terrain, and cold-air pooling, then applies that correction inside each coarse regional pixel.

CMCC vs AI Downscaling Resolution

Simulate the Frost Pocket

Use the slider below to simulate cold-air pooling on a freezing spring night. Watch how heavy, freezing air (the blue plane) fills the bottom of the basin first, burying lower orchards in lethal frost while trees just a few meters higher survive. A standard 5km climate model averages this entire valley into one "safe" number, completely missing this life-or-death elevation boundary.

3D Interactive
Raise the warm-air lid to trap a deeper cold pool. The basin itself is real terrain; the color field is a simplified night-time inversion model used to show what the 5km blur averages away.
Warm-Air Lid Loading...
Valley Pocket Loading...
Slope Air Loading...

Loading the 3D comparison...

5km Grid Regional "Blurry" Average
βž”
1km Grid Finer Resolution
Act 4: The Solution

The AI Downscaling Solution

To fix the "Blurry Valley" problem, we use a machine learning model called XGBoost. It takes the large, blurry 5km blocks from standard climate models and "downscales" them into a sharp, high-resolution 1km grid.

How does it do this? By learning directly from the 7 local weather stations scattered across Val di Non. Because these physical stations perfectly capture the extreme microclimates of the valley floor, the AI can use their data to correct the blurry climate models. This brings the invisible, localized frost pockets back into focus.

Want to see how the AI does it? Click through the interactive steps below.

Click a step to reveal one layer of the 1km map. The technical detail stays hidden unless you open it.

Step 1

Anchor the valley to local truth

Loading the interactive Act 4 explainer...

More detail
The Bottom Line Global models tell us the planet is warming. This AI tells us exactly which specific apple orchards in Val di Non will freeze on a Tuesday night in April. We aren't just making the map "sharper"β€”we are bringing global climate change down to the human, farm-level scale so farmers can actually prepare for it.
Act 5: Strategic Adaptation

Predicting Yield Failure Risk

DecisionUse the map to rank which 1km cells deserve intervention first.

The map is now a live predictive tool. Every 1km cell gets a Yield Failure Risk Score by combining the two lethal drivers our AI identified: altitude-driven frost exposure and historical hail corridors.

The red and orange cells are the high-risk zones where these threats overlap. This is where adaptation budgets pay back the fastest.

Protect Hail corridors

Use netting where repeat strike paths already appear in the record.

Stabilize Irrigation

Deploy precision water where heat stress compounds the damage.

Shift Low-lying frost zones

Plan varietal/elevation shifts where spring losses keep repeating.

Show scoring method & math

The Combined Risk Score is a dynamically calculated blend of four primary physical drivers (weighted equally at 25% each) and altered in real-time by your mitigation choices:

1. Spring Frost Severity (frost_[era] Β· 25% weight)
Driven by altitude-temperature interaction. Reflects post-bloom freezing intensity where low-elevation basin floors experience extreme radiative cold air pooling.
β€’ Mitigation: Automated Frost Fans reduce active frost risk by 70% (coefficient: 0.3).
2. Future Heat Surge (heat_[era] Β· 25% weight)
Aggregated from cumulative Growing Degree Days (GDD) and XGBoost-downscaled CMCC summer maximum temperature (Tmax) projections. Represents the frequency of sustained temperatures above 32Β°C which trigger VPD (Vapour Pressure Deficit) crop stress.
β€’ Mitigation: Precision Irrigation reduces heat stress impact by 60% (coefficient: 0.4).
3. Yield Volatility (volat_[era] Β· 25% weight)
Calculated from multi-year historical registries to isolate cells subject to severe alternate-bearing cycles and erratic crop productivity. This represents structural baseline instability and remains unmitigated.
4. Mechanical Hail Frequency (hail_event_count / 8 Β· 25% weight)
Normalizes the occurrence of historic severe hail strike tracksβ€”captured via Sentinel-2 spectral dips (|max_hail_dip| Γ— peak_ndvi)β€”against a maximum observed baseline of 8 strikes.
β€’ Mitigation: Anti-Hail Netting reduces mechanical strike risk by 90% (coefficient: 0.1).
Combined Risk Formula:
Risk = [0.25 Γ— (Frost Γ— fFrost)] + [0.25 Γ— (Heat Γ— fHeat)] + [0.25 Γ— Volatility] + [0.25 Γ— ((Hail / 8) Γ— fNet)]

How to use the Explorer:

  • Hover over cells: See the exact local data.
  • Era Selector (Top Left): Jump between 2040, 2070, and 2100 scenarios to watch the risk spread.
  • Adaptation Planner (Bottom Left): Toggle Anti-Hail Netting, Irrigation, or Frost Fans to see the map instantly recalculate the saved risk.

The Map is Yours

You are now in free-explore mode. The story is over, and the live tool is unlocked.

Technical Note

Methodology & References

This project was built following the Martini Glass structural methodology (Segel & Heer, 2010), transitioning from an author-driven forensic narrative to a reader-driven strategic exploration tool.

Academic References

  • Segel, E., & Heer, J. (2010). Narrative Visualization: Telling Stories with Data. IEEE Transactions on Visualization and Computer Graphics, 16(6), 1139-1148.
  • Kosara, R., & Mackinlay, J. (2013). Storytelling: The Next Step for Visualization. Computer, 46(5), 44-50. [Authorized licensed use limited to: University of Edinburgh. Downloaded from IEEE Xplore. Restrictions apply.]
  • Unwin, A. (2020). Why Is Data Visualization Important? What Is Important in Data Visualization? Harvard Data Science Review, 2(1).
  • Crespi, A., Laiti, L., Ramella Pralungo, M., & Giovannini, L. (2021). High-resolution daily gridded dataset of temperature and precipitation for the Trentino-South Tyrol region (North-Eastern Italian Alps). Earth System Science Data, 13(6), 2883-2900.
  • Bhakare, P., Giovannini, L., & Zardi, D. (2024). Statistical Downscaling of Temperature Projections in Complex Alpine Valleys Using Machine Learning Algorithms and High-Resolution Observational Data. Journal of Applied Climatology and Meteorology.
  • Chen, T., & Guestrin, C. (2016). XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 785-794.
  • Frampton, J., Dash, J., Watmough, G., & Milton, E. J. (2013). Evaluating the capability of Sentinel-2 data for estimating canopy chlorophyll content and leaf area index. ISPRS Journal of Photogrammetry and Remote Sensing, 82, 83-92.
Show Core Computational Pipeline & Tech Stack

Our complete end-to-end spatiotemporal machine learning and visual analytics pipeline is composed of the following core technologies:

🧠 Machine Learning & Data Science
  • XGBoost Regressor: Standard-of-care gradient boosting for yield prediction (RΒ² = 0.69 spatial CV) and microclimate downscaling.
  • Scikit-Learn: Robust validation including GroupKFold (spatial blocks) and LeaveOneYearOut (temporal blocks).
  • Pandas & NumPy: Multi-stream data fusion and trapezoidal numerical integration (np.trapz) for satellite phenology.
  • SciPy: Topographic image scaling and array smoothing algorithms.
🌍 Geospatial & Planetary GIS (Python)
  • GeoPandas & Shapely: Spatial coordinate projection (CRS transformations) and geometric parcel masking.
  • Rasterio & Fiona: High-performance windowed reads and on-the-fly band resampling (Landsat thermal to DEM grids).
  • STAC Client & Microsoft Planetary PC: On-demand cloud search and download of Sentinel-2 and Landsat 8/9 bands.
  • Copernicus GLO-30 DEM: Elevation-driven microclimate modeling.
πŸ’» Web Visual Analytics (HTML5/WebGL)
  • MapLibre GL JS: WebGL 3D terrain rendering and dynamic 60fps gridded GeoJSON overlays.
  • Scrollama.js: Narrative event triggers for map moves, styling updates, and visualization reveals.
  • D3.js: Dynamic, interactive data validation curves and chart elements inside cards.
  • Fly.io Hosting: Production-ready containerized microservices deployed at melindastory.fly.dev.

Data Provenance

  • Satellite: Sentinel-2 multispectral (ESA/Copernicus).
  • Topography: Copernicus GLO-30 DEM basin cutout for the Act 4 inversion inset.
  • Future Models: CMCC CMIP6 EC-Earth3-Veg (SSP3-7.0 scenario).
  • Agronomics: Melinda Cooperative Orchard Metadata & Historical Yield Registries.
  • Climate: ERA-5 Reanalysis & MeteoTrentino Local Station Network.
⚠️ Proprietary & Confidentiality Notice
Developed for the Melinda Cooperative as part of Visual Analytics coursework. This study, including the localized downscaled temperature corrections, physical microclimate models, and yield vulnerability calibrations, contains proprietary commercial assets. This work is protected under regional intellectual property statutes and strict non-disclosure agreements. It is intended solely for academic assessment and educational demonstration. Under no circumstances may this application, its underlying data, or methodology be shared, copied, or redistributed without prior written consent.
Β© 2026. Data and methodology are intended for educational demonstration.