Field-level yield models for crops that must predict a year nobody has seen
before — and say honestly how wrong they might be.
Client
Envira
climate-impact & crop yield modelling
Schematic of the delivered output. The point forecast alone is not the product — the
calibrated interval is. In a leave-one-year-out protocol the interval has to keep its
promise in the years the model has never seen, including anomalies such as the 2018
drought.
Method
Evaluation. Leave-one-year-out CV only. Random k-fold leaks across
seasons and inflates R² for a model that will always be deployed into an unseen year.
Uncertainty. Split-conformal wrapper; the calibration year is picked by
nearest seasonal red-edge profile instead of a random split, and residuals are collected
leave-one-year-out so no training data is sacrificed.
Structure. National in-season forecast supplies the year-level prior;
the field model predicts the residual around it, separating the climate signal from the
field-to-field signal.
Features. Sentinel-2 red-edge time series, Sentinel-1 backscatter,
ERA5-Land (VPD, soil moisture, water balance), MODIS NDVI/EVI, phenology-aligned
aggregation windows, yield lags.
Models. CatBoost, XGBoost, Random Forest and TabPFN
A reproducible RUSLE pipeline on Google Earth Engine that turns Sentinel-2 time series into
per-parcel soil-loss rates — validated against European reference layers, not against
itself.
RUSLE decomposes soil loss into five multiplicative factors.
Method
Cover factor from measurement. Fractional vegetation cover derived from
Sentinel-2 surface reflectance and weighted over the season, replacing the per-crop
constants that standard assessments read from a lookup table at kilometre resolution.
Cloud-gap reconstruction. Harmonic fit of the fCover series, benchmarked
against linear interpolation and resample-plus-harmonic on real gapped series with the
ungapped record as truth.
Crop context. JRC EUCROPMAP land cover drives crop-aware C assignment.
Validation. Four C-factor methods scored on mean, standard deviation and Pearson
correlation against the JRC
European C-factor layer; the R factor validated against the GloRESatE reference.
Engineering. YAML-config driven, Dockerised, parallel over locations and
years, batch processing of GeoJSON areas, exports straight to cloud storage. Output:
soil loss in t · ha⁻¹ · yr⁻¹ at 100 m, EPSG:3857, plus the individual factor layers.
The seasonal cover curve is where the erosion signal lives — and it is exactly where clouds
remove the data. The reconstruction is validated on real gapped series against the ungapped
record, not assumed to be correct.
RUSLESentinel-2 fCoverGoogle Earth EngineJRC EUCROPMAP · EU C-factorGloRESatEDockerPython · GCS
Case study 03 · Representation learning
Embeddings under domain shift
A crop-type classifier trained on two seasons and asked to work on a third one that was
1.4 °C warmer and drier — and what self-supervised pre-training does, and does not, fix.
Research
European Space Agency
Frascati · my postdoctoral research
The learned latent space for several crop types.
Method
Shift. Sentinel-2 L1C field time series over Upper Bavaria for six crops (corn,
winter wheat, winter barley, rapeseed, sugar beet, potato), 2016–2018. Train on 2016–17,
predict 2018: a drought year, 1.4 °C warmer than 2016 with below-normal spring rainfall,
so the spectral fingerprint of the plants moves.
Representation. SimSiam with a transformer encoder,
symmetrised negative cosine loss, then a linear classification head fine-tuned on top.
Augmentation. Three schemes: real same-crop pairs drawn across years as positives,
synthetic noise and drift, and a cloud-offset simulation. The cross-year pairing is the
one that treats weather variation itself as the augmentation.
Collapse control. The ℓ2-normalised output is tracked against 1/√dim throughout
pre-training. Training loss alone did not reveal collapse; without this check the
fine-tuning silently stops improving.
Baselines. Random Forest and the same transformer trained supervised, over four
label budgets for the target year: none, 5 %, 10 %, and all years pooled.
Results
0.54 → 0.71overall accuracy on the unseen year with no target
labels — supervised transformer vs. the same network after SSL pre-training, identical
inputs
0.90overall accuracy with only 5 % of target-year labels,
against 0.85 for the supervised baseline
+16 %relative accuracy gain at a 10 % label budget over the
supervised transformer
This website uses no cookies and no tracking technology. If you pick a language with the EN/DE
switch, that choice alone is saved in your browser's local storage (key “lang”) so the
site opens in the language you chose. It never leaves your device, is not transmitted to us or to
any third party, and you can delete it at any time in your browser settings. Storing it is
strictly necessary to provide the language function you asked for, so no consent under
§ 25 (2) no. 2 TDDDG is required. Nothing else is written to or read from your device, and your IP
address is not used to determine the language.
3. Contact via email
When you contact us by email, your message and email address are processed solely for the
purpose of responding to your enquiry. No data is shared with third parties. The legal basis is
Art. 6(1)(f) GDPR (legitimate interest in responding to enquiries).
4. Web analytics
This website uses Plausible Analytics, a privacy-focused analytics service by Plausible Insights
OÜ, Estonia, running on servers inside the European Union. Plausible sets no cookies and creates
no cross-site or cross-session identifier, so individual visitors cannot be recognised or tracked
over time. Recorded are the page requested, the referring website, browser, operating system,
device type and country. Your IP address is used only transiently to derive the country and to
generate a daily-rotating, non-reversible hash, and is never written to disk. The resulting data
is aggregated and cannot be traced back to you. No data is passed to third parties and no data
leaves the EU. The legal basis is Art. 6(1)(f) GDPR — our legitimate interest in understanding,
in aggregate, how this website is used. Details: plausible.io/data-policy.
5. Hosting
This website is hosted via GitHub Pages (GitHub, Inc., USA). When accessing the site, GitHub
may log technical access data including your IP address. For more information: GitHub Privacy Statement.
6. Your rights
You have the right of access, rectification, erasure, restriction of processing, data
portability and objection regarding your personal data. Because the analytics data described
above is aggregated and holds no identifier tied to you, we are generally unable to link it to a
specific person. For any privacy-related question contact us at michael_marszalek@web.de. You may also lodge a
complaint with the competent supervisory authority.