YieldSAT Dataset Walkthrough¶

This notebook accompanies the YieldSAT CVPR paper and project page: https://yieldsat.github.io/

Download Notebook

It is organized around the two dataset releases that are currently shared:

  1. original-preprocessed/ contains the raw per-field files, grouped by country and then by field.
  2. preprocessed-24-ts/ contains one model-ready NetCDF file per country.

The examples below use the current Germany release:

  • Raw field example: original-preprocessed/Germany/Germany_DUP3_farm5_field263_rapeseed_2019/
  • Preprocessed example: preprocessed-24-ts/Germany/merge_s2-soil-dem-weather-coords.nc
In [1]:
from pathlib import Path
import json

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import rasterio
import xarray as xr

plt.style.use("seaborn-v0_8-whitegrid")
pd.options.display.max_columns = 200
pd.options.display.width = 120


def open_raster(raster_path):
    with rasterio.open(raster_path) as src:
        raster = src.read(1).astype(np.float32)
        if src.nodata is not None:
            raster[raster == src.nodata] = np.nan
    return raster


def read_rgb(raster_path):
    with rasterio.open(raster_path) as src:
        rgb = src.read([4, 3, 2]).astype(np.float32)
    rgb = np.moveaxis(rgb, 0, -1)
    scale = np.nanpercentile(rgb, 98)
    if not np.isfinite(scale) or scale == 0:
        scale = 1.0
    return np.clip(rgb / scale, 0, 1)


def decode_mapping(attrs):
    mapping = {}
    for key, value in attrs.items():
        try:
            mapping[int(key)] = value
        except (TypeError, ValueError):
            mapping[key] = value
    return mapping

Configuration¶

Set the local dataset root once. The notebook then derives the raw and preprocessed example paths from it.

In [2]:
DATA_ROOT = Path("/yieldsat_data") # update this to path where you organize the data
RAW_ROOT = DATA_ROOT / "original-preprocessed"
PREPROCESSED_ROOT = DATA_ROOT / "preprocessed-24-ts"

COUNTRY = "Germany"
FIELD_ID = "Germany_DUP3_farm5_field263_rapeseed_2019"

field_root = RAW_ROOT / COUNTRY / FIELD_ID
preprocessed_path = PREPROCESSED_ROOT / COUNTRY / "merge_s2-soil-dem-weather-coords.nc"

assert RAW_ROOT.exists(), RAW_ROOT
assert PREPROCESSED_ROOT.exists(), PREPROCESSED_ROOT
assert field_root.exists(), field_root
assert preprocessed_path.exists(), preprocessed_path

1. Release Overview¶

The raw release is stored as country -> field -> files. The preprocessed release is stored as country -> merge_s2-soil-dem-weather-coords.nc.

In [3]:
raw_field_counts = {
    country_path.name: sum(1 for item in country_path.iterdir() if item.is_dir())
    for country_path in sorted(RAW_ROOT.iterdir())
    if country_path.is_dir()
}

preprocessed_files = {
    country_path.name: sorted(item.name for item in country_path.iterdir())
    for country_path in sorted(PREPROCESSED_ROOT.iterdir())
    if country_path.is_dir()
}

summary_rows = []
for country, field_count in raw_field_counts.items():
    summary_rows.append(
        {
            "country": country,
            "raw_field_directories": field_count,
            "preprocessed_files": ", ".join(preprocessed_files[country]),
        }
    )

pd.DataFrame(summary_rows).sort_values("country").reset_index(drop=True)
Out[3]:
country raw_field_directories preprocessed_files
0 Argentina 751 merge_s2-soil-dem-weather-coords.nc
1 Brazil 551 merge_s2-soil-dem-weather-coords.nc
2 Germany 299 merge_s2-soil-dem-weather-coords.nc
3 Uruguay 572 merge_s2-soil-dem-weather-coords.nc

2. Preprocessed Release¶

NetCDF Data Format Overview¶

Each country is provided as a separate NetCDF file. These files store the model-ready representation used for benchmarking.

Key Components¶

  • sample
    The fused model input tensor with shape (index, time_step, band).

  • target
    Pixel-level yield target values.

  • row, col, field_shared_name
    These variables allow reconstruction of individual fields from the flattened index dimension.

  • Categorical Variables
    Variables such as crop, country, farm_identifier, year, and field_shared_name are integer-encoded.
    The corresponding mappings are stored in the variable attributes.


Xarray Data Format for Pixel-Wise Yield Prediction¶

The Xarray (NetCDF) format is a processed version of the YieldSAT dataset, designed for training deep learning models at the pixel level.

  • Uses a unified time series of 24 time steps across all data modalities.
  • Modalities are aligned in both time and space using:
    • Concatenation
    • Spatial repetition (input fusion)
  • Each country file contains all crop types available within that country.
  • Processing details are described in the main paper.

For more information on Xarray:
https://docs.xarray.dev/en/latest/index.html


Coordinates¶

  • band — Input modalities (e.g., Sentinel-2 + auxiliary data)
  • index — Pixel index
  • time_step — Temporal dimension

Data Variables¶

  • sample — Multimodal time series input (index, time_step, band)
  • target — Target yield value
  • row — Row index in the image for index_i
  • col — Column index in the image for index_i
  • crop — Crop type information
  • farm_identifier — Unique ID for a farm (region)
  • seeding_date — Seeding date for index_i
  • harvesting_date — Harvesting date for index_i
  • year — Year of harvest

Attributes¶

  • Contains additional metadata for each field
In [4]:
ds = xr.open_dataset(preprocessed_path)
ds
Out[4]:
<xarray.Dataset>
Dimensions:            (index: 609645, time_step: 24, band: 120)
Coordinates:
  * index              (index) object '5d35849b-ace1-4dd4-962d-da80c6c56bac' ...
  * time_step          (time_step) int64 0 1 2 3 4 5 6 ... 17 18 19 20 21 22 23
  * band               (band) object 'B01' 'B02' 'B03' ... 'coord_y' 'coord_z'
Data variables: (12/17)
    target             (index) float32 ...
    times              (index, time_step) datetime64[ns] ...
    seeding_date       (index) uint8 ...
    harvesting_date    (index) uint8 ...
    farm_identifier    (index) uint8 ...
    country            (index) uint8 ...
    ...                 ...
    col                (index) uint8 ...
    stats-mean         (band) float32 469.2 566.0 864.8 ... -0.2598 0.443
    stats-min          (band) float32 0.0 1.0 1.0 ... -0.8557 -0.9154 -0.5302
    stats-max          (band) float32 8.976e+03 4.396e+03 ... 0.4852 0.9992
    stats-std          (band) float32 273.9 260.7 327.6 ... 0.2491 0.4512 0.6131
    sample             (index, time_step, band) float32 ...
Attributes: (12/299)
    Germany_DUP3_farm5_field265_rapeseed_2020_<>_yield_ground_truth:  2.892
    Germany_DUP3_farm2_field170_wheat_2019_<>_yield_ground_truth:     9.16
    Germany_DUP3_farm1_field13_rapeseed_2016_<>_yield_ground_truth:   3.03555...
    Germany_DUP3_farm1_field52_wheat_2019_<>_yield_ground_truth:      7.45555...
    Germany_DUP3_farm2_field128_wheat_2019_<>_yield_ground_truth:     7.94
    Germany_DUP3_farm6_field285_rapeseed_2020_<>_yield_ground_truth:  3.87
    ...                                                               ...
    Germany_DUP3_farm5_field269_rapeseed_2017_<>_yield_ground_truth:  2.205
    Germany_DUP3_farm2_field105_wheat_2019_<>_yield_ground_truth:     9.84
    Germany_DUP3_farm6_field281_rapeseed_2019_<>_yield_ground_truth:  3.74
    Germany_DUP3_farm2_field99_wheat_2018_<>_yield_ground_truth:      7.65
    Germany_DUP3_farm5_field275_rapeseed_2018_<>_yield_ground_truth:  4.454
    Germany_DUP3_farm6_field278_rapeseed_2018_<>_yield_ground_truth:  3.8
xarray.Dataset
    • index: 609645
    • time_step: 24
    • band: 120
    • index
      (index)
      object
      '5d35849b-ace1-4dd4-962d-da80c6c...
      array(['5d35849b-ace1-4dd4-962d-da80c6c56bac',
             '12666e72-ec1d-4dec-9918-daf3671d6007',
             '804a0598-e8e3-4528-9acd-05265c6e37bd', ...,
             '2143be39-5455-41d2-9fa8-40fd116b46f7',
             'af826426-856d-4a3a-856b-0ecf0fa286f3',
             'fc0f346e-b273-43cc-b09c-655339046244'], dtype=object)
    • time_step
      (time_step)
      int64
      0 1 2 3 4 5 6 ... 18 19 20 21 22 23
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23])
    • band
      (band)
      object
      'B01' 'B02' ... 'coord_y' 'coord_z'
      array(['B01', 'B02', 'B03', 'B04', 'B05', 'B06', 'B07', 'B08', 'B09', 'B11',
             'B12', 'B8A', 'aspect', 'cec_0-5', 'cec_0-5_uncertainty', 'cec_100-200',
             'cec_100-200_uncertainty', 'cec_15-30', 'cec_15-30_uncertainty',
             'cec_30-60', 'cec_30-60_uncertainty', 'cec_5-15',
             'cec_5-15_uncertainty', 'cec_60-100', 'cec_60-100_uncertainty',
             'cfvo_0-5', 'cfvo_0-5_uncertainty', 'cfvo_100-200',
             'cfvo_100-200_uncertainty', 'cfvo_15-30', 'cfvo_15-30_uncertainty',
             'cfvo_30-60', 'cfvo_30-60_uncertainty', 'cfvo_5-15',
             'cfvo_5-15_uncertainty', 'cfvo_60-100', 'cfvo_60-100_uncertainty',
             'clay_0-5', 'clay_0-5_uncertainty', 'clay_100-200',
             'clay_100-200_uncertainty', 'clay_15-30', 'clay_15-30_uncertainty',
             'clay_30-60', 'clay_30-60_uncertainty', 'clay_5-15',
             'clay_5-15_uncertainty', 'clay_60-100', 'clay_60-100_uncertainty',
             'curvature', 'dem', 'nitrogen_0-5', 'nitrogen_0-5_uncertainty',
             'nitrogen_100-200', 'nitrogen_100-200_uncertainty', 'nitrogen_15-30',
             'nitrogen_15-30_uncertainty', 'nitrogen_30-60',
             'nitrogen_30-60_uncertainty', 'nitrogen_5-15',
             'nitrogen_5-15_uncertainty', 'nitrogen_60-100',
             'nitrogen_60-100_uncertainty', 'phh2o_0-5', 'phh2o_0-5_uncertainty',
             'phh2o_100-200', 'phh2o_100-200_uncertainty', 'phh2o_15-30',
             'phh2o_15-30_uncertainty', 'phh2o_30-60', 'phh2o_30-60_uncertainty',
             'phh2o_5-15', 'phh2o_5-15_uncertainty', 'phh2o_60-100',
             'phh2o_60-100_uncertainty', 'sand_0-5', 'sand_0-5_uncertainty',
             'sand_100-200', 'sand_100-200_uncertainty', 'sand_15-30',
             'sand_15-30_uncertainty', 'sand_30-60', 'sand_30-60_uncertainty',
             'sand_5-15', 'sand_5-15_uncertainty', 'sand_60-100',
             'sand_60-100_uncertainty', 'silt_0-5', 'silt_0-5_uncertainty',
             'silt_100-200', 'silt_100-200_uncertainty', 'silt_15-30',
             'silt_15-30_uncertainty', 'silt_30-60', 'silt_30-60_uncertainty',
             'silt_5-15', 'silt_5-15_uncertainty', 'silt_60-100',
             'silt_60-100_uncertainty', 'slope', 'soc_0-5', 'soc_0-5_uncertainty',
             'soc_100-200', 'soc_100-200_uncertainty', 'soc_15-30',
             'soc_15-30_uncertainty', 'soc_30-60', 'soc_30-60_uncertainty',
             'soc_5-15', 'soc_5-15_uncertainty', 'soc_60-100',
             'soc_60-100_uncertainty', 'twi', 'temp_mean', 'temp_max', 'temp_min',
             'total_prec', 'coord_x', 'coord_y', 'coord_z'], dtype=object)
    • target
      (index)
      float32
      ...
      [609645 values with dtype=float32]
    • times
      (index, time_step)
      datetime64[ns]
      ...
      [14631480 values with dtype=datetime64[ns]]
    • seeding_date
      (index)
      uint8
      ...
      0 :
      2015-08-14
      1 :
      2015-08-18
      2 :
      2015-08-20
      3 :
      2015-08-21
      4 :
      2015-08-22
      5 :
      2015-08-23
      6 :
      2015-08-24
      7 :
      2015-08-25
      8 :
      2015-08-26
      9 :
      2015-08-27
      10 :
      2015-08-30
      11 :
      2015-09-02
      12 :
      2015-09-04
      13 :
      2015-09-10
      14 :
      2015-09-11
      15 :
      2015-09-12
      16 :
      2015-09-14
      17 :
      2015-09-17
      18 :
      2015-09-18
      19 :
      2015-09-19
      20 :
      2015-09-22
      21 :
      2015-09-23
      22 :
      2015-09-24
      23 :
      2015-09-29
      24 :
      2015-10-02
      25 :
      2015-10-05
      26 :
      2015-10-06
      27 :
      2015-10-08
      28 :
      2015-10-09
      29 :
      2015-10-15
      30 :
      2015-10-26
      31 :
      2016-08-11
      32 :
      2016-08-14
      33 :
      2016-08-16
      34 :
      2016-08-17
      35 :
      2016-08-18
      36 :
      2016-08-19
      37 :
      2016-08-20
      38 :
      2016-08-22
      39 :
      2016-08-23
      40 :
      2016-08-24
      41 :
      2016-08-25
      42 :
      2016-08-26
      43 :
      2016-08-27
      44 :
      2016-08-30
      45 :
      2016-09-03
      46 :
      2016-09-06
      47 :
      2016-09-15
      48 :
      2016-09-19
      49 :
      2016-09-20
      50 :
      2016-09-21
      51 :
      2016-09-22
      52 :
      2016-09-23
      53 :
      2016-09-26
      54 :
      2016-09-28
      55 :
      2016-09-29
      56 :
      2016-09-30
      57 :
      2016-10-04
      58 :
      2016-10-05
      59 :
      2016-10-06
      60 :
      2016-10-10
      61 :
      2016-10-17
      62 :
      2016-10-29
      63 :
      2016-10-31
      64 :
      2016-11-01
      65 :
      2016-11-02
      66 :
      2016-11-06
      67 :
      2017-08-19
      68 :
      2017-08-22
      69 :
      2017-08-23
      70 :
      2017-08-24
      71 :
      2017-08-25
      72 :
      2017-08-28
      73 :
      2017-08-29
      74 :
      2017-08-31
      75 :
      2017-09-01
      76 :
      2017-09-12
      77 :
      2017-09-16
      78 :
      2017-09-21
      79 :
      2017-09-25
      80 :
      2017-09-26
      81 :
      2017-09-27
      82 :
      2017-09-28
      83 :
      2017-09-29
      84 :
      2017-10-07
      85 :
      2017-10-13
      86 :
      2017-10-14
      87 :
      2017-10-16
      88 :
      2017-10-19
      89 :
      2017-10-20
      90 :
      2017-11-09
      91 :
      2018-08-21
      92 :
      2018-08-23
      93 :
      2018-08-27
      94 :
      2018-08-28
      95 :
      2018-08-30
      96 :
      2018-08-31
      97 :
      2018-09-04
      98 :
      2018-09-05
      99 :
      2018-09-07
      100 :
      2018-09-08
      101 :
      2018-09-10
      102 :
      2018-09-11
      103 :
      2018-09-13
      104 :
      2018-09-14
      105 :
      2018-09-15
      106 :
      2018-09-17
      107 :
      2018-09-18
      108 :
      2018-09-19
      109 :
      2018-09-20
      110 :
      2018-09-21
      111 :
      2018-09-22
      112 :
      2018-09-23
      113 :
      2018-09-25
      114 :
      2018-09-26
      115 :
      2018-09-27
      116 :
      2018-09-28
      117 :
      2018-10-01
      118 :
      2018-10-02
      119 :
      2018-10-03
      120 :
      2018-10-04
      121 :
      2018-10-05
      122 :
      2018-10-06
      123 :
      2018-10-07
      124 :
      2018-10-08
      125 :
      2018-10-09
      126 :
      2018-10-10
      127 :
      2018-10-13
      128 :
      2018-10-17
      129 :
      2018-10-22
      130 :
      2018-10-26
      131 :
      2018-10-30
      132 :
      2018-11-01
      133 :
      2018-11-02
      134 :
      2019-08-16
      135 :
      2019-08-17
      136 :
      2019-08-19
      137 :
      2019-08-20
      138 :
      2019-08-21
      139 :
      2019-08-23
      140 :
      2019-08-24
      141 :
      2019-08-26
      142 :
      2019-08-27
      143 :
      2019-09-01
      144 :
      2019-09-02
      145 :
      2019-09-03
      146 :
      2019-09-04
      147 :
      2019-09-18
      148 :
      2019-09-22
      149 :
      2019-09-24
      150 :
      2019-09-29
      151 :
      2019-10-09
      152 :
      2019-10-11
      153 :
      2019-10-13
      154 :
      2019-10-15
      155 :
      2019-10-23
      156 :
      2019-10-24
      157 :
      2019-11-01
      158 :
      2019-11-04
      159 :
      2020-08-17
      160 :
      2020-08-25
      161 :
      2020-08-26
      162 :
      2020-08-27
      163 :
      2020-08-29
      164 :
      2020-09-23
      165 :
      2020-09-24
      166 :
      2020-09-25
      167 :
      2020-09-26
      168 :
      2020-10-05
      169 :
      2020-10-07
      170 :
      2020-10-08
      171 :
      2020-10-12
      172 :
      2020-10-13
      173 :
      2020-10-17
      174 :
      2020-10-19
      175 :
      2020-10-20
      176 :
      2020-11-12
      177 :
      2021-09-04
      178 :
      2021-09-06
      179 :
      2021-09-07
      180 :
      2021-10-07
      181 :
      2021-10-13
      182 :
      2021-10-16
      183 :
      2021-10-18
      184 :
      2021-10-26
      185 :
      2021-10-27
      186 :
      2021-11-13
      187 :
      2021-11-17
      [609645 values with dtype=uint8]
    • harvesting_date
      (index)
      uint8
      ...
      0 :
      2016-07-16
      1 :
      2016-07-18
      2 :
      2016-07-20
      3 :
      2016-07-21
      4 :
      2016-07-22
      5 :
      2016-07-23
      6 :
      2016-07-24
      7 :
      2016-07-25
      8 :
      2016-07-26
      9 :
      2016-07-27
      10 :
      2016-07-30
      11 :
      2016-07-31
      12 :
      2016-08-01
      13 :
      2016-08-06
      14 :
      2016-08-07
      15 :
      2016-08-08
      16 :
      2016-08-09
      17 :
      2016-08-10
      18 :
      2016-08-11
      19 :
      2016-08-13
      20 :
      2016-08-14
      21 :
      2016-08-15
      22 :
      2016-08-17
      23 :
      2017-07-17
      24 :
      2017-07-18
      25 :
      2017-07-19
      26 :
      2017-07-28
      27 :
      2017-07-29
      28 :
      2017-07-30
      29 :
      2017-07-31
      30 :
      2017-08-01
      31 :
      2017-08-02
      32 :
      2017-08-03
      33 :
      2017-08-04
      34 :
      2017-08-05
      35 :
      2017-08-06
      36 :
      2017-08-07
      37 :
      2017-08-08
      38 :
      2017-08-09
      39 :
      2017-08-10
      40 :
      2017-08-14
      41 :
      2017-08-15
      42 :
      2017-08-16
      43 :
      2017-08-17
      44 :
      2017-08-22
      45 :
      2017-08-23
      46 :
      2017-08-24
      47 :
      2018-07-02
      48 :
      2018-07-03
      49 :
      2018-07-04
      50 :
      2018-07-05
      51 :
      2018-07-08
      52 :
      2018-07-10
      53 :
      2018-07-18
      54 :
      2018-07-19
      55 :
      2018-07-20
      56 :
      2018-07-21
      57 :
      2018-07-23
      58 :
      2018-07-24
      59 :
      2018-07-25
      60 :
      2018-07-27
      61 :
      2018-07-28
      62 :
      2018-07-29
      63 :
      2018-07-30
      64 :
      2018-08-01
      65 :
      2018-08-02
      66 :
      2018-08-27
      67 :
      2018-08-28
      68 :
      2019-07-05
      69 :
      2019-07-11
      70 :
      2019-07-17
      71 :
      2019-07-24
      72 :
      2019-07-25
      73 :
      2019-07-26
      74 :
      2019-07-27
      75 :
      2019-07-28
      76 :
      2019-07-29
      77 :
      2019-07-30
      78 :
      2019-08-02
      79 :
      2019-08-03
      80 :
      2019-08-04
      81 :
      2019-08-05
      82 :
      2019-08-06
      83 :
      2019-08-07
      84 :
      2019-08-08
      85 :
      2019-08-10
      86 :
      2019-08-12
      87 :
      2019-08-14
      88 :
      2019-08-15
      89 :
      2019-08-16
      90 :
      2019-08-17
      91 :
      2019-08-18
      92 :
      2019-08-19
      93 :
      2019-08-20
      94 :
      2019-08-21
      95 :
      2019-08-22
      96 :
      2019-08-23
      97 :
      2020-07-14
      98 :
      2020-07-17
      99 :
      2020-07-18
      100 :
      2020-07-22
      101 :
      2020-07-25
      102 :
      2020-07-27
      103 :
      2020-07-28
      104 :
      2020-07-29
      105 :
      2020-07-30
      106 :
      2020-07-31
      107 :
      2020-08-01
      108 :
      2020-08-05
      109 :
      2020-08-06
      110 :
      2020-08-07
      111 :
      2020-08-08
      112 :
      2020-08-09
      113 :
      2020-08-17
      114 :
      2020-08-19
      115 :
      2021-07-19
      116 :
      2021-07-20
      117 :
      2021-07-27
      118 :
      2021-07-28
      119 :
      2021-07-30
      120 :
      2021-07-31
      121 :
      2021-08-05
      122 :
      2021-08-06
      123 :
      2021-08-07
      124 :
      2021-08-08
      125 :
      2021-08-10
      126 :
      2021-08-18
      127 :
      2021-08-20
      128 :
      2021-08-21
      129 :
      2021-08-24
      130 :
      2021-08-25
      131 :
      2021-09-03
      132 :
      2021-09-04
      133 :
      2022-07-27
      134 :
      2022-07-28
      135 :
      2022-08-02
      136 :
      2022-08-03
      137 :
      2022-08-04
      138 :
      2022-08-06
      139 :
      2022-08-08
      140 :
      2022-08-09
      141 :
      2022-08-10
      142 :
      2022-08-11
      143 :
      2022-08-12
      [609645 values with dtype=uint8]
    • farm_identifier
      (index)
      uint8
      ...
      0 :
      farm1
      1 :
      farm2
      2 :
      farm3
      3 :
      farm4
      4 :
      farm5
      5 :
      farm6
      [609645 values with dtype=uint8]
    • country
      (index)
      uint8
      ...
      0 :
      Germany
      [609645 values with dtype=uint8]
    • crop
      (index)
      uint8
      ...
      0 :
      rapeseed
      1 :
      wheat
      [609645 values with dtype=uint8]
    • year
      (index)
      uint8
      ...
      0 :
      2016
      1 :
      2017
      2 :
      2018
      3 :
      2019
      4 :
      2020
      5 :
      2021
      6 :
      2022
      [609645 values with dtype=uint8]
    • field_shared_name
      (index)
      uint16
      ...
      0 :
      Germany_DUP3_farm1_field10_wheat_2016
      1 :
      Germany_DUP3_farm1_field11_rapeseed_2016
      2 :
      Germany_DUP3_farm1_field12_wheat_2016
      3 :
      Germany_DUP3_farm1_field13_rapeseed_2016
      4 :
      Germany_DUP3_farm1_field14_rapeseed_2016
      5 :
      Germany_DUP3_farm1_field15_rapeseed_2016
      6 :
      Germany_DUP3_farm1_field16_wheat_2016
      7 :
      Germany_DUP3_farm1_field17_wheat_2016
      8 :
      Germany_DUP3_farm1_field18_rapeseed_2016
      9 :
      Germany_DUP3_farm1_field19_rapeseed_2017
      10 :
      Germany_DUP3_farm1_field1_wheat_2016
      11 :
      Germany_DUP3_farm1_field20_rapeseed_2017
      12 :
      Germany_DUP3_farm1_field21_rapeseed_2017
      13 :
      Germany_DUP3_farm1_field22_rapeseed_2016
      14 :
      Germany_DUP3_farm1_field23_wheat_2017
      15 :
      Germany_DUP3_farm1_field24_rapeseed_2017
      16 :
      Germany_DUP3_farm1_field25_rapeseed_2017
      17 :
      Germany_DUP3_farm1_field26_wheat_2017
      18 :
      Germany_DUP3_farm1_field27_rapeseed_2017
      19 :
      Germany_DUP3_farm1_field28_wheat_2017
      20 :
      Germany_DUP3_farm1_field29_rapeseed_2017
      21 :
      Germany_DUP3_farm1_field2_wheat_2016
      22 :
      Germany_DUP3_farm1_field30_wheat_2017
      23 :
      Germany_DUP3_farm1_field31_wheat_2017
      24 :
      Germany_DUP3_farm1_field32_wheat_2017
      25 :
      Germany_DUP3_farm1_field33_wheat_2016
      26 :
      Germany_DUP3_farm1_field34_wheat_2017
      27 :
      Germany_DUP3_farm1_field35_wheat_2017
      28 :
      Germany_DUP3_farm1_field36_wheat_2017
      29 :
      Germany_DUP3_farm1_field37_wheat_2017
      30 :
      Germany_DUP3_farm1_field38_rapeseed_2019
      31 :
      Germany_DUP3_farm1_field39_wheat_2019
      32 :
      Germany_DUP3_farm1_field3_wheat_2016
      33 :
      Germany_DUP3_farm1_field40_wheat_2019
      34 :
      Germany_DUP3_farm1_field41_wheat_2019
      35 :
      Germany_DUP3_farm1_field42_wheat_2019
      36 :
      Germany_DUP3_farm1_field43_wheat_2016
      37 :
      Germany_DUP3_farm1_field44_wheat_2019
      38 :
      Germany_DUP3_farm1_field45_wheat_2019
      39 :
      Germany_DUP3_farm1_field46_wheat_2019
      40 :
      Germany_DUP3_farm1_field47_wheat_2019
      41 :
      Germany_DUP3_farm1_field48_wheat_2019
      42 :
      Germany_DUP3_farm1_field49_wheat_2019
      43 :
      Germany_DUP3_farm1_field4_rapeseed_2016
      44 :
      Germany_DUP3_farm1_field50_rapeseed_2019
      45 :
      Germany_DUP3_farm1_field51_wheat_2019
      46 :
      Germany_DUP3_farm1_field52_wheat_2019
      47 :
      Germany_DUP3_farm1_field53_wheat_2016
      48 :
      Germany_DUP3_farm1_field54_rapeseed_2019
      49 :
      Germany_DUP3_farm1_field55_rapeseed_2019
      50 :
      Germany_DUP3_farm1_field56_wheat_2019
      51 :
      Germany_DUP3_farm1_field57_wheat_2019
      52 :
      Germany_DUP3_farm1_field58_wheat_2019
      53 :
      Germany_DUP3_farm1_field59_wheat_2019
      54 :
      Germany_DUP3_farm1_field5_wheat_2016
      55 :
      Germany_DUP3_farm1_field60_wheat_2019
      56 :
      Germany_DUP3_farm1_field61_wheat_2019
      57 :
      Germany_DUP3_farm1_field62_wheat_2019
      58 :
      Germany_DUP3_farm1_field63_wheat_2016
      59 :
      Germany_DUP3_farm1_field64_rapeseed_2016
      60 :
      Germany_DUP3_farm1_field65_rapeseed_2016
      61 :
      Germany_DUP3_farm1_field66_wheat_2016
      62 :
      Germany_DUP3_farm1_field6_wheat_2016
      63 :
      Germany_DUP3_farm1_field7_rapeseed_2016
      64 :
      Germany_DUP3_farm1_field8_rapeseed_2016
      65 :
      Germany_DUP3_farm1_field9_wheat_2016
      66 :
      Germany_DUP3_farm2_field100_wheat_2019
      67 :
      Germany_DUP3_farm2_field101_wheat_2020
      68 :
      Germany_DUP3_farm2_field102_wheat_2018
      69 :
      Germany_DUP3_farm2_field103_wheat_2019
      70 :
      Germany_DUP3_farm2_field104_wheat_2021
      71 :
      Germany_DUP3_farm2_field105_wheat_2019
      72 :
      Germany_DUP3_farm2_field106_wheat_2016
      73 :
      Germany_DUP3_farm2_field107_wheat_2018
      74 :
      Germany_DUP3_farm2_field108_wheat_2016
      75 :
      Germany_DUP3_farm2_field109_wheat_2020
      76 :
      Germany_DUP3_farm2_field110_wheat_2018
      77 :
      Germany_DUP3_farm2_field111_wheat_2019
      78 :
      Germany_DUP3_farm2_field112_wheat_2021
      79 :
      Germany_DUP3_farm2_field113_wheat_2018
      80 :
      Germany_DUP3_farm2_field114_wheat_2018
      81 :
      Germany_DUP3_farm2_field115_rapeseed_2020
      82 :
      Germany_DUP3_farm2_field116_wheat_2021
      83 :
      Germany_DUP3_farm2_field117_rapeseed_2021
      84 :
      Germany_DUP3_farm2_field118_wheat_2019
      85 :
      Germany_DUP3_farm2_field119_rapeseed_2020
      86 :
      Germany_DUP3_farm2_field120_wheat_2021
      87 :
      Germany_DUP3_farm2_field121_wheat_2019
      88 :
      Germany_DUP3_farm2_field122_wheat_2020
      89 :
      Germany_DUP3_farm2_field123_wheat_2018
      90 :
      Germany_DUP3_farm2_field124_wheat_2018
      91 :
      Germany_DUP3_farm2_field125_rapeseed_2020
      92 :
      Germany_DUP3_farm2_field126_wheat_2021
      93 :
      Germany_DUP3_farm2_field127_wheat_2018
      94 :
      Germany_DUP3_farm2_field128_wheat_2019
      95 :
      Germany_DUP3_farm2_field129_wheat_2021
      96 :
      Germany_DUP3_farm2_field130_wheat_2016
      97 :
      Germany_DUP3_farm2_field131_wheat_2019
      98 :
      Germany_DUP3_farm2_field132_rapeseed_2021
      99 :
      Germany_DUP3_farm2_field133_wheat_2019
      100 :
      Germany_DUP3_farm2_field134_wheat_2020
      101 :
      Germany_DUP3_farm2_field135_wheat_2018
      102 :
      Germany_DUP3_farm2_field136_wheat_2019
      103 :
      Germany_DUP3_farm2_field137_rapeseed_2021
      104 :
      Germany_DUP3_farm2_field138_wheat_2016
      105 :
      Germany_DUP3_farm2_field139_rapeseed_2018
      106 :
      Germany_DUP3_farm2_field140_wheat_2019
      107 :
      Germany_DUP3_farm2_field141_wheat_2018
      108 :
      Germany_DUP3_farm2_field142_rapeseed_2021
      109 :
      Germany_DUP3_farm2_field143_wheat_2016
      110 :
      Germany_DUP3_farm2_field144_wheat_2018
      111 :
      Germany_DUP3_farm2_field145_wheat_2019
      112 :
      Germany_DUP3_farm2_field146_rapeseed_2021
      113 :
      Germany_DUP3_farm2_field147_wheat_2018
      114 :
      Germany_DUP3_farm2_field148_wheat_2019
      115 :
      Germany_DUP3_farm2_field149_rapeseed_2021
      116 :
      Germany_DUP3_farm2_field150_wheat_2018
      117 :
      Germany_DUP3_farm2_field151_wheat_2018
      118 :
      Germany_DUP3_farm2_field152_wheat_2019
      119 :
      Germany_DUP3_farm2_field153_rapeseed_2020
      120 :
      Germany_DUP3_farm2_field154_wheat_2021
      121 :
      Germany_DUP3_farm2_field155_wheat_2018
      122 :
      Germany_DUP3_farm2_field156_rapeseed_2020
      123 :
      Germany_DUP3_farm2_field157_wheat_2021
      124 :
      Germany_DUP3_farm2_field158_wheat_2018
      125 :
      Germany_DUP3_farm2_field159_wheat_2019
      126 :
      Germany_DUP3_farm2_field160_wheat_2021
      127 :
      Germany_DUP3_farm2_field161_rapeseed_2016
      128 :
      Germany_DUP3_farm2_field162_wheat_2019
      129 :
      Germany_DUP3_farm2_field163_wheat_2020
      130 :
      Germany_DUP3_farm2_field164_wheat_2021
      131 :
      Germany_DUP3_farm2_field165_wheat_2019
      132 :
      Germany_DUP3_farm2_field166_wheat_2020
      133 :
      Germany_DUP3_farm2_field167_wheat_2021
      134 :
      Germany_DUP3_farm2_field168_wheat_2016
      135 :
      Germany_DUP3_farm2_field169_rapeseed_2018
      136 :
      Germany_DUP3_farm2_field170_wheat_2019
      137 :
      Germany_DUP3_farm2_field171_wheat_2018
      138 :
      Germany_DUP3_farm2_field172_wheat_2018
      139 :
      Germany_DUP3_farm2_field173_rapeseed_2020
      140 :
      Germany_DUP3_farm2_field174_wheat_2021
      141 :
      Germany_DUP3_farm2_field175_wheat_2021
      142 :
      Germany_DUP3_farm2_field176_rapeseed_2017
      143 :
      Germany_DUP3_farm2_field177_rapeseed_2017
      144 :
      Germany_DUP3_farm2_field178_rapeseed_2017
      145 :
      Germany_DUP3_farm2_field179_rapeseed_2017
      146 :
      Germany_DUP3_farm2_field180_rapeseed_2017
      147 :
      Germany_DUP3_farm2_field181_wheat_2017
      148 :
      Germany_DUP3_farm2_field182_wheat_2017
      149 :
      Germany_DUP3_farm2_field183_wheat_2017
      150 :
      Germany_DUP3_farm2_field184_wheat_2017
      151 :
      Germany_DUP3_farm2_field185_wheat_2017
      152 :
      Germany_DUP3_farm2_field186_wheat_2017
      153 :
      Germany_DUP3_farm2_field187_wheat_2017
      154 :
      Germany_DUP3_farm2_field188_wheat_2017
      155 :
      Germany_DUP3_farm2_field189_wheat_2017
      156 :
      Germany_DUP3_farm2_field190_wheat_2017
      157 :
      Germany_DUP3_farm2_field191_rapeseed_2017
      158 :
      Germany_DUP3_farm2_field192_wheat_2017
      159 :
      Germany_DUP3_farm2_field193_wheat_2017
      160 :
      Germany_DUP3_farm2_field194_wheat_2017
      161 :
      Germany_DUP3_farm2_field195_wheat_2017
      162 :
      Germany_DUP3_farm2_field196_wheat_2017
      163 :
      Germany_DUP3_farm2_field197_rapeseed_2017
      164 :
      Germany_DUP3_farm2_field198_rapeseed_2017
      165 :
      Germany_DUP3_farm2_field199_rapeseed_2022
      166 :
      Germany_DUP3_farm2_field200_wheat_2022
      167 :
      Germany_DUP3_farm2_field201_wheat_2022
      168 :
      Germany_DUP3_farm2_field202_wheat_2022
      169 :
      Germany_DUP3_farm2_field203_wheat_2022
      170 :
      Germany_DUP3_farm2_field204_wheat_2022
      171 :
      Germany_DUP3_farm2_field205_wheat_2022
      172 :
      Germany_DUP3_farm2_field206_wheat_2022
      173 :
      Germany_DUP3_farm2_field207_wheat_2022
      174 :
      Germany_DUP3_farm2_field208_wheat_2022
      175 :
      Germany_DUP3_farm2_field209_wheat_2022
      176 :
      Germany_DUP3_farm2_field210_wheat_2022
      177 :
      Germany_DUP3_farm2_field211_wheat_2022
      178 :
      Germany_DUP3_farm2_field212_wheat_2022
      179 :
      Germany_DUP3_farm2_field213_wheat_2022
      180 :
      Germany_DUP3_farm2_field214_rapeseed_2022
      181 :
      Germany_DUP3_farm2_field215_wheat_2022
      182 :
      Germany_DUP3_farm2_field216_rapeseed_2022
      183 :
      Germany_DUP3_farm2_field217_rapeseed_2022
      184 :
      Germany_DUP3_farm2_field218_wheat_2022
      185 :
      Germany_DUP3_farm2_field219_wheat_2022
      186 :
      Germany_DUP3_farm2_field220_rapeseed_2022
      187 :
      Germany_DUP3_farm2_field67_wheat_2016
      188 :
      Germany_DUP3_farm2_field68_rapeseed_2018
      189 :
      Germany_DUP3_farm2_field69_wheat_2019
      190 :
      Germany_DUP3_farm2_field70_wheat_2020
      191 :
      Germany_DUP3_farm2_field71_wheat_2020
      192 :
      Germany_DUP3_farm2_field72_wheat_2021
      193 :
      Germany_DUP3_farm2_field73_wheat_2018
      194 :
      Germany_DUP3_farm2_field74_wheat_2020
      195 :
      Germany_DUP3_farm2_field75_wheat_2018
      196 :
      Germany_DUP3_farm2_field76_wheat_2019
      197 :
      Germany_DUP3_farm2_field77_wheat_2021
      198 :
      Germany_DUP3_farm2_field78_wheat_2016
      199 :
      Germany_DUP3_farm2_field79_wheat_2019
      200 :
      Germany_DUP3_farm2_field80_wheat_2020
      201 :
      Germany_DUP3_farm2_field81_wheat_2021
      202 :
      Germany_DUP3_farm2_field82_wheat_2019
      203 :
      Germany_DUP3_farm2_field83_wheat_2019
      204 :
      Germany_DUP3_farm2_field84_wheat_2019
      205 :
      Germany_DUP3_farm2_field85_wheat_2020
      206 :
      Germany_DUP3_farm2_field86_wheat_2018
      207 :
      Germany_DUP3_farm2_field87_wheat_2018
      208 :
      Germany_DUP3_farm2_field88_wheat_2019
      209 :
      Germany_DUP3_farm2_field89_wheat_2018
      210 :
      Germany_DUP3_farm2_field90_wheat_2020
      211 :
      Germany_DUP3_farm2_field91_wheat_2021
      212 :
      Germany_DUP3_farm2_field92_wheat_2018
      213 :
      Germany_DUP3_farm2_field93_wheat_2018
      214 :
      Germany_DUP3_farm2_field94_wheat_2019
      215 :
      Germany_DUP3_farm2_field95_rapeseed_2020
      216 :
      Germany_DUP3_farm2_field96_wheat_2021
      217 :
      Germany_DUP3_farm2_field97_wheat_2021
      218 :
      Germany_DUP3_farm2_field98_wheat_2016
      219 :
      Germany_DUP3_farm2_field99_wheat_2018
      220 :
      Germany_DUP3_farm3_field221_rapeseed_2018
      221 :
      Germany_DUP3_farm3_field222_rapeseed_2018
      222 :
      Germany_DUP3_farm3_field223_wheat_2018
      223 :
      Germany_DUP3_farm3_field224_rapeseed_2019
      224 :
      Germany_DUP3_farm3_field225_rapeseed_2019
      225 :
      Germany_DUP3_farm3_field226_rapeseed_2019
      226 :
      Germany_DUP3_farm3_field227_wheat_2019
      227 :
      Germany_DUP3_farm3_field228_rapeseed_2020
      228 :
      Germany_DUP3_farm3_field229_rapeseed_2020
      229 :
      Germany_DUP3_farm3_field230_rapeseed_2020
      230 :
      Germany_DUP3_farm3_field231_rapeseed_2016
      231 :
      Germany_DUP3_farm3_field232_wheat_2020
      232 :
      Germany_DUP3_farm3_field233_rapeseed_2016
      233 :
      Germany_DUP3_farm3_field234_rapeseed_2016
      234 :
      Germany_DUP3_farm3_field235_wheat_2016
      235 :
      Germany_DUP3_farm3_field236_rapeseed_2017
      236 :
      Germany_DUP3_farm3_field237_rapeseed_2017
      237 :
      Germany_DUP3_farm3_field238_rapeseed_2017
      238 :
      Germany_DUP3_farm3_field239_wheat_2017
      239 :
      Germany_DUP3_farm3_field240_rapeseed_2018
      240 :
      Germany_DUP3_farm4_field241_wheat_2018
      241 :
      Germany_DUP3_farm4_field242_rapeseed_2018
      242 :
      Germany_DUP3_farm4_field243_rapeseed_2018
      243 :
      Germany_DUP3_farm4_field244_wheat_2019
      244 :
      Germany_DUP3_farm4_field245_rapeseed_2019
      245 :
      Germany_DUP3_farm4_field246_rapeseed_2019
      246 :
      Germany_DUP3_farm4_field247_rapeseed_2019
      247 :
      Germany_DUP3_farm4_field248_rapeseed_2020
      248 :
      Germany_DUP3_farm4_field249_rapeseed_2020
      249 :
      Germany_DUP3_farm4_field250_rapeseed_2020
      250 :
      Germany_DUP3_farm4_field251_rapeseed_2016
      251 :
      Germany_DUP3_farm4_field252_wheat_2020
      252 :
      Germany_DUP3_farm4_field253_wheat_2016
      253 :
      Germany_DUP3_farm4_field254_rapeseed_2016
      254 :
      Germany_DUP3_farm4_field255_rapeseed_2016
      255 :
      Germany_DUP3_farm4_field256_rapeseed_2017
      256 :
      Germany_DUP3_farm4_field257_rapeseed_2017
      257 :
      Germany_DUP3_farm4_field258_wheat_2017
      258 :
      Germany_DUP3_farm4_field259_rapeseed_2017
      259 :
      Germany_DUP3_farm4_field260_rapeseed_2018
      260 :
      Germany_DUP3_farm5_field261_rapeseed_2019
      261 :
      Germany_DUP3_farm5_field262_rapeseed_2019
      262 :
      Germany_DUP3_farm5_field263_rapeseed_2019
      263 :
      Germany_DUP3_farm5_field264_rapeseed_2020
      264 :
      Germany_DUP3_farm5_field265_rapeseed_2020
      265 :
      Germany_DUP3_farm5_field266_wheat_2020
      266 :
      Germany_DUP3_farm5_field267_rapeseed_2020
      267 :
      Germany_DUP3_farm5_field268_wheat_2017
      268 :
      Germany_DUP3_farm5_field269_rapeseed_2017
      269 :
      Germany_DUP3_farm5_field270_rapeseed_2017
      270 :
      Germany_DUP3_farm5_field271_rapeseed_2017
      271 :
      Germany_DUP3_farm5_field272_rapeseed_2018
      272 :
      Germany_DUP3_farm5_field273_rapeseed_2018
      273 :
      Germany_DUP3_farm5_field274_wheat_2018
      274 :
      Germany_DUP3_farm5_field275_rapeseed_2018
      275 :
      Germany_DUP3_farm5_field276_wheat_2019
      276 :
      Germany_DUP3_farm6_field277_rapeseed_2018
      277 :
      Germany_DUP3_farm6_field278_rapeseed_2018
      278 :
      Germany_DUP3_farm6_field279_wheat_2018
      279 :
      Germany_DUP3_farm6_field280_rapeseed_2019
      280 :
      Germany_DUP3_farm6_field281_rapeseed_2019
      281 :
      Germany_DUP3_farm6_field282_wheat_2019
      282 :
      Germany_DUP3_farm6_field283_rapeseed_2020
      283 :
      Germany_DUP3_farm6_field284_rapeseed_2020
      284 :
      Germany_DUP3_farm6_field285_rapeseed_2020
      285 :
      Germany_DUP3_farm6_field286_wheat_2020
      286 :
      Germany_DUP3_farm6_field287_wheat_2016
      287 :
      Germany_DUP3_farm6_field288_rapeseed_2021
      288 :
      Germany_DUP3_farm6_field289_wheat_2021
      289 :
      Germany_DUP3_farm6_field290_rapeseed_2021
      290 :
      Germany_DUP3_farm6_field291_rapeseed_2021
      291 :
      Germany_DUP3_farm6_field292_rapeseed_2016
      292 :
      Germany_DUP3_farm6_field293_rapeseed_2016
      293 :
      Germany_DUP3_farm6_field294_rapeseed_2016
      294 :
      Germany_DUP3_farm6_field295_wheat_2017
      295 :
      Germany_DUP3_farm6_field296_rapeseed_2017
      296 :
      Germany_DUP3_farm6_field297_rapeseed_2017
      297 :
      Germany_DUP3_farm6_field298_rapeseed_2017
      298 :
      Germany_DUP3_farm6_field299_rapeseed_2018
      [609645 values with dtype=uint16]
    • seeding_date_type
      (index)
      uint8
      ...
      0 :
      290 days before harvest
      1 :
      333 days before harvest
      2 :
      provided_by_farmer
      [609645 values with dtype=uint8]
    • row
      (index)
      uint8
      ...
      0 :
      0
      1 :
      1
      2 :
      2
      3 :
      3
      4 :
      4
      5 :
      5
      6 :
      6
      7 :
      7
      8 :
      8
      9 :
      9
      10 :
      10
      11 :
      11
      12 :
      12
      13 :
      13
      14 :
      14
      15 :
      15
      16 :
      16
      17 :
      17
      18 :
      18
      19 :
      19
      20 :
      20
      21 :
      21
      22 :
      22
      23 :
      23
      24 :
      24
      25 :
      25
      26 :
      26
      27 :
      27
      28 :
      28
      29 :
      29
      30 :
      30
      31 :
      31
      32 :
      32
      33 :
      33
      34 :
      34
      35 :
      35
      36 :
      36
      37 :
      37
      38 :
      38
      39 :
      39
      40 :
      40
      41 :
      41
      42 :
      42
      43 :
      43
      44 :
      44
      45 :
      45
      46 :
      46
      47 :
      47
      48 :
      48
      49 :
      49
      50 :
      50
      51 :
      51
      52 :
      52
      53 :
      53
      54 :
      54
      55 :
      55
      56 :
      56
      57 :
      57
      58 :
      58
      59 :
      59
      60 :
      60
      61 :
      61
      62 :
      62
      63 :
      63
      64 :
      64
      65 :
      65
      66 :
      66
      67 :
      67
      68 :
      68
      69 :
      69
      70 :
      70
      71 :
      71
      72 :
      72
      73 :
      73
      74 :
      74
      75 :
      75
      76 :
      76
      77 :
      77
      78 :
      78
      79 :
      79
      80 :
      80
      81 :
      81
      82 :
      82
      83 :
      83
      84 :
      84
      85 :
      85
      86 :
      86
      87 :
      87
      88 :
      88
      89 :
      89
      90 :
      90
      91 :
      91
      92 :
      92
      93 :
      93
      94 :
      94
      95 :
      95
      96 :
      96
      97 :
      97
      98 :
      98
      99 :
      99
      100 :
      100
      101 :
      101
      102 :
      102
      103 :
      103
      104 :
      104
      105 :
      105
      106 :
      106
      107 :
      107
      108 :
      108
      109 :
      109
      110 :
      110
      111 :
      111
      112 :
      112
      113 :
      113
      114 :
      114
      115 :
      115
      116 :
      116
      117 :
      117
      118 :
      118
      119 :
      119
      120 :
      120
      121 :
      121
      122 :
      122
      123 :
      123
      124 :
      124
      125 :
      125
      126 :
      126
      127 :
      127
      128 :
      128
      129 :
      129
      130 :
      130
      131 :
      131
      132 :
      132
      133 :
      133
      134 :
      134
      135 :
      135
      136 :
      136
      137 :
      137
      138 :
      138
      139 :
      139
      140 :
      140
      141 :
      141
      142 :
      142
      143 :
      143
      144 :
      144
      145 :
      145
      146 :
      146
      147 :
      147
      148 :
      148
      149 :
      149
      150 :
      150
      151 :
      151
      152 :
      152
      153 :
      153
      154 :
      154
      155 :
      155
      156 :
      156
      157 :
      157
      158 :
      158
      159 :
      159
      160 :
      160
      161 :
      161
      162 :
      162
      163 :
      163
      164 :
      164
      165 :
      165
      166 :
      166
      167 :
      167
      168 :
      168
      169 :
      169
      170 :
      170
      171 :
      171
      172 :
      172
      173 :
      173
      174 :
      174
      175 :
      175
      176 :
      176
      177 :
      177
      178 :
      178
      179 :
      179
      180 :
      180
      181 :
      181
      182 :
      182
      183 :
      183
      184 :
      184
      185 :
      185
      186 :
      186
      187 :
      187
      188 :
      188
      189 :
      189
      190 :
      190
      191 :
      191
      192 :
      192
      [609645 values with dtype=uint8]
    • col
      (index)
      uint8
      ...
      0 :
      0
      1 :
      1
      2 :
      2
      3 :
      3
      4 :
      4
      5 :
      5
      6 :
      6
      7 :
      7
      8 :
      8
      9 :
      9
      10 :
      10
      11 :
      11
      12 :
      12
      13 :
      13
      14 :
      14
      15 :
      15
      16 :
      16
      17 :
      17
      18 :
      18
      19 :
      19
      20 :
      20
      21 :
      21
      22 :
      22
      23 :
      23
      24 :
      24
      25 :
      25
      26 :
      26
      27 :
      27
      28 :
      28
      29 :
      29
      30 :
      30
      31 :
      31
      32 :
      32
      33 :
      33
      34 :
      34
      35 :
      35
      36 :
      36
      37 :
      37
      38 :
      38
      39 :
      39
      40 :
      40
      41 :
      41
      42 :
      42
      43 :
      43
      44 :
      44
      45 :
      45
      46 :
      46
      47 :
      47
      48 :
      48
      49 :
      49
      50 :
      50
      51 :
      51
      52 :
      52
      53 :
      53
      54 :
      54
      55 :
      55
      56 :
      56
      57 :
      57
      58 :
      58
      59 :
      59
      60 :
      60
      61 :
      61
      62 :
      62
      63 :
      63
      64 :
      64
      65 :
      65
      66 :
      66
      67 :
      67
      68 :
      68
      69 :
      69
      70 :
      70
      71 :
      71
      72 :
      72
      73 :
      73
      74 :
      74
      75 :
      75
      76 :
      76
      77 :
      77
      78 :
      78
      79 :
      79
      80 :
      80
      81 :
      81
      82 :
      82
      83 :
      83
      84 :
      84
      85 :
      85
      86 :
      86
      87 :
      87
      88 :
      88
      89 :
      89
      90 :
      90
      91 :
      91
      92 :
      92
      93 :
      93
      94 :
      94
      95 :
      95
      96 :
      96
      97 :
      97
      98 :
      98
      99 :
      99
      100 :
      100
      101 :
      101
      102 :
      102
      103 :
      103
      104 :
      104
      105 :
      105
      106 :
      106
      107 :
      107
      108 :
      108
      109 :
      109
      110 :
      110
      111 :
      111
      112 :
      112
      113 :
      113
      114 :
      114
      115 :
      115
      116 :
      116
      117 :
      117
      118 :
      118
      119 :
      119
      120 :
      120
      121 :
      121
      122 :
      122
      123 :
      123
      124 :
      124
      125 :
      125
      126 :
      126
      127 :
      127
      128 :
      128
      129 :
      129
      130 :
      130
      131 :
      131
      132 :
      132
      133 :
      133
      134 :
      134
      135 :
      135
      136 :
      136
      137 :
      137
      138 :
      138
      139 :
      139
      140 :
      140
      141 :
      141
      142 :
      142
      143 :
      143
      144 :
      144
      145 :
      145
      146 :
      146
      147 :
      147
      148 :
      148
      149 :
      149
      150 :
      150
      151 :
      151
      152 :
      152
      153 :
      153
      154 :
      154
      155 :
      155
      156 :
      156
      157 :
      157
      158 :
      158
      159 :
      159
      160 :
      160
      161 :
      161
      162 :
      162
      163 :
      163
      164 :
      164
      165 :
      165
      166 :
      166
      167 :
      167
      168 :
      168
      169 :
      169
      170 :
      170
      171 :
      171
      172 :
      172
      173 :
      173
      174 :
      174
      175 :
      175
      176 :
      176
      177 :
      177
      178 :
      178
      179 :
      179
      180 :
      180
      181 :
      181
      182 :
      182
      183 :
      183
      184 :
      184
      185 :
      185
      186 :
      186
      187 :
      187
      188 :
      188
      189 :
      189
      190 :
      190
      191 :
      191
      192 :
      192
      193 :
      193
      194 :
      194
      195 :
      195
      196 :
      196
      197 :
      197
      198 :
      198
      199 :
      199
      200 :
      200
      201 :
      201
      202 :
      202
      203 :
      203
      204 :
      204
      205 :
      205
      206 :
      206
      207 :
      207
      208 :
      208
      209 :
      209
      210 :
      210
      211 :
      211
      212 :
      212
      213 :
      213
      214 :
      214
      215 :
      215
      216 :
      216
      217 :
      217
      218 :
      218
      219 :
      219
      220 :
      220
      221 :
      221
      222 :
      222
      223 :
      223
      224 :
      224
      225 :
      225
      226 :
      226
      227 :
      227
      228 :
      228
      229 :
      229
      230 :
      230
      231 :
      231
      232 :
      232
      233 :
      233
      234 :
      234
      235 :
      235
      236 :
      236
      237 :
      237
      238 :
      238
      239 :
      239
      240 :
      240
      241 :
      241
      242 :
      242
      243 :
      243
      244 :
      244
      245 :
      245
      246 :
      246
      247 :
      247
      248 :
      248
      249 :
      249
      250 :
      250
      251 :
      251
      252 :
      252
      253 :
      253
      [609645 values with dtype=uint8]
    • stats-mean
      (band)
      float32
      ...
      array([ 4.692109e+02,  5.659758e+02,  8.648016e+02,  8.458782e+02,
              1.385048e+03,  2.816638e+03,  3.310711e+03,  3.465321e+03,
              3.517868e+03,  1.952083e+03,  1.302678e+03,  3.508458e+03,
              1.466668e+02,  2.923672e+02,  1.609534e+02,  1.511189e+02,
              1.546581e+02,  1.625051e+02,  1.562471e+02,  1.563665e+02,
              1.546317e+02,  1.873578e+02,  1.552501e+02,  1.580394e+02,
              1.547470e+02,  8.064277e+01,  1.636329e+02,  1.190424e+02,
              2.029094e+02,  7.301254e+01,  1.710131e+02,  8.227399e+01,
              1.764964e+02,  8.387760e+01,  1.538846e+02,  9.716603e+01,
              1.906530e+02,  1.687633e+02,  1.933106e+02,  2.219411e+02,
              1.839360e+02,  1.841485e+02,  1.883025e+02,  2.128548e+02,
              1.898220e+02,  1.497745e+02,  1.792004e+02,  2.223051e+02,
              1.843334e+02,  1.018857e-02,  1.440826e+02,  6.881603e+02,
              1.967202e+02,  1.845898e+02,  4.029062e+02,  2.212720e+02,
              2.032493e+02,  2.091076e+02,  2.706213e+02,  2.150289e+02,
              1.591017e+02,  2.082806e+02,  3.857381e+02,  6.296049e+01,
              1.323334e+02,  6.712882e+01,  1.321708e+02,  6.522775e+01,
              1.317232e+02,  6.602905e+01,  1.320717e+02,  6.454297e+01,
              1.315354e+02,  6.676228e+01,  1.321646e+02,  5.153842e+02,
              1.436389e+02,  4.946397e+02,  1.447188e+02,  5.259023e+02,
              1.417046e+02,  5.056294e+02,  1.426902e+02,  5.256458e+02,
              1.427869e+02,  4.964501e+02,  1.433246e+02,  3.119841e+02,
              1.549032e+02,  2.795531e+02,  1.653452e+02,  2.861007e+02,
              1.594743e+02,  2.776399e+02,  1.611905e+02,  3.207123e+02,
              1.537937e+02,  2.773682e+02,  1.615185e+02,  3.481279e+03,
              5.289557e+02,  1.002775e+02,  7.750367e+01,  8.737428e+01,
              1.797713e+02,  3.449158e+01,  1.112004e+02,  5.472574e+01,
              2.312487e+02,  3.809411e+01,  8.609125e+01,  7.656245e+01,
              4.542884e+00,  8.225069e+03,  8.328023e+03,  8.117643e+03,
              5.370276e-02, -3.076400e-01, -2.597631e-01,  4.430459e-01],
            dtype=float32)
    • stats-min
      (band)
      float32
      ...
      array([ 0.000000e+00,  1.000000e+00,  1.000000e+00,  1.000000e+00,
              8.900000e+01,  3.840000e+02,  4.490000e+02,  1.000000e+00,
              3.400000e+02,  1.080000e+02,  3.400000e+01,  4.770000e+02,
              9.107309e-03,  1.400000e+01,  1.700000e+01,  9.000000e+00,
              1.800000e+01,  9.000000e+00,  1.900000e+01,  9.000000e+00,
              1.700000e+01,  1.000000e+01,  1.900000e+01,  9.000000e+00,
              1.900000e+01,  4.000000e+00,  2.300000e+01,  8.000000e+00,
              2.900000e+01,  4.000000e+00,  2.300000e+01,  6.000000e+00,
              2.300000e+01,  4.000000e+00,  1.700000e+01,  7.000000e+00,
              2.700000e+01,  7.000000e+00,  3.300000e+01,  1.000000e+01,
              2.900000e+01,  8.000000e+00,  2.600000e+01,  1.000000e+01,
              2.600000e+01,  6.000000e+00,  1.800000e+01,  1.000000e+01,
              2.700000e+01, -2.219799e+00,  4.232933e+01,  4.200000e+01,
              4.500000e+01,  8.000000e+00,  4.900000e+01,  1.000000e+01,
              2.300000e+01,  1.100000e+01,  2.500000e+01,  9.000000e+00,
              9.000000e+00,  1.100000e+01,  4.600000e+01,  3.000000e+00,
              4.000000e+00,  3.000000e+00,  4.000000e+00,  3.000000e+00,
              3.000000e+00,  3.000000e+00,  4.000000e+00,  3.000000e+00,
              3.000000e+00,  3.000000e+00,  4.000000e+00,  2.600000e+01,
              7.000000e+00,  2.200000e+01,  1.000000e+01,  2.300000e+01,
              7.000000e+00,  2.200000e+01,  7.000000e+00,  2.600000e+01,
              4.000000e+00,  2.200000e+01,  9.000000e+00,  1.400000e+01,
              1.300000e+01,  1.500000e+01,  2.200000e+01,  1.700000e+01,
              1.300000e+01,  1.600000e+01,  1.400000e+01,  1.500000e+01,
              1.300000e+01,  1.600000e+01,  1.800000e+01,  2.690213e+00,
              2.900000e+01,  7.000000e+00,  3.000000e+00,  2.000000e+00,
              1.000000e+01,  1.000000e+00,  6.000000e+00,  3.000000e+00,
              9.000000e+00,  1.000000e+00,  4.000000e+00,  3.000000e+00,
              2.189456e+00,  2.815921e+02,  2.842222e+02,  2.782175e+02,
              0.000000e+00, -8.556525e-01, -9.153565e-01, -5.301749e-01],
            dtype=float32)
    • stats-max
      (band)
      float32
      ...
      array([ 8.976000e+03,  4.396000e+03,  5.640000e+03,  7.364000e+03,
              8.606000e+03,  9.465000e+03,  1.011000e+04,  8.992000e+03,
              1.421200e+04,  7.731000e+03,  8.530000e+03,  1.052300e+04,
              3.552538e+02,  3.450000e+02,  3.121600e+04,  2.140000e+02,
              3.121600e+04,  2.180000e+02,  3.121600e+04,  2.160000e+02,
              3.121600e+04,  2.360000e+02,  3.121600e+04,  2.210000e+02,
              3.121600e+04,  1.290000e+02,  3.121700e+04,  3.050000e+02,
              3.121900e+04,  1.590000e+02,  3.121700e+04,  2.160000e+02,
              3.122000e+04,  1.320000e+02,  3.121600e+04,  2.780000e+02,
              3.122000e+04,  2.950000e+02,  3.121800e+04,  3.520000e+02,
              3.121800e+04,  3.550000e+02,  3.121800e+04,  3.780000e+02,
              3.121800e+04,  2.820000e+02,  3.121700e+04,  3.670000e+02,
              3.121800e+04,  2.558861e+00,  3.051469e+02,  9.510000e+02,
              3.121900e+04,  5.090000e+02,  3.122600e+04,  5.230000e+02,
              3.121600e+04,  5.040000e+02,  3.122100e+04,  6.080000e+02,
              3.121500e+04,  5.210000e+02,  3.123500e+04,  6.800000e+01,
              3.121500e+04,  7.200000e+01,  3.121500e+04,  7.100000e+01,
              3.121500e+04,  7.200000e+01,  3.121500e+04,  7.100000e+01,
              3.121500e+04,  7.200000e+01,  3.121500e+04,  7.610000e+02,
              3.121500e+04,  7.020000e+02,  3.121500e+04,  7.340000e+02,
              3.121500e+04,  6.880000e+02,  3.121500e+04,  7.880000e+02,
              3.121500e+04,  6.800000e+02,  3.121500e+04,  5.910000e+02,
              3.121600e+04,  4.580000e+02,  3.121600e+04,  4.900000e+02,
              3.121600e+04,  4.690000e+02,  3.121600e+04,  6.200000e+02,
              3.121600e+04,  4.770000e+02,  3.121600e+04,  4.891014e+04,
              9.160000e+02,  2.290000e+02,  3.240000e+02,  9.830000e+02,
              4.170000e+02,  2.360000e+02,  3.390000e+02,  4.740000e+02,
              7.390000e+02,  1.590000e+02,  3.100000e+02,  7.780000e+02,
              7.063821e+00,  7.585111e+04,  7.677048e+04,  7.492453e+04,
              4.545932e-01, -3.710826e-02,  4.851567e-01,  9.992239e-01],
            dtype=float32)
    • stats-std
      (band)
      float32
      ...
      array([2.739096e+02, 2.607090e+02, 3.276268e+02, 5.118132e+02, 4.881274e+02,
             9.410225e+02, 1.178405e+03, 1.223790e+03, 1.136179e+03, 7.682332e+02,
             7.839894e+02, 1.165684e+03, 9.302200e+01, 2.237377e+01, 9.110311e+02,
             1.952165e+01, 9.118627e+02, 1.949120e+01, 9.118493e+02, 1.992290e+01,
             9.118406e+02, 1.880487e+01, 9.115914e+02, 2.182832e+01, 9.117225e+02,
             1.415783e+01, 9.121185e+02, 5.752878e+01, 9.109675e+02, 3.015131e+01,
             9.116788e+02, 4.210875e+01, 9.121594e+02, 1.177039e+01, 9.123146e+02,
             5.772824e+01, 9.118611e+02, 5.497548e+01, 9.112198e+02, 5.906892e+01,
             9.112420e+02, 7.622435e+01, 9.110255e+02, 6.941881e+01, 9.108978e+02,
             6.405766e+01, 9.121707e+02, 6.274215e+01, 9.114283e+02, 3.205083e-01,
             5.850031e+01, 1.009564e+02, 9.111879e+02, 6.578802e+01, 9.279523e+02,
             5.715844e+01, 9.115829e+02, 6.324229e+01, 9.150939e+02, 5.008537e+01,
             9.111169e+02, 6.426334e+01, 9.223598e+02, 3.064360e+00, 9.126016e+02,
             3.301334e+00, 9.126320e+02, 3.246355e+00, 9.125950e+02, 2.972308e+00,
             9.126135e+02, 3.508766e+00, 9.125985e+02, 3.279095e+00, 9.126285e+02,
             1.840106e+02, 9.132842e+02, 1.409348e+02, 9.128356e+02, 1.545039e+02,
             9.129053e+02, 1.451634e+02, 9.128641e+02, 1.983783e+02, 9.133834e+02,
             1.360968e+02, 9.128299e+02, 1.316137e+02, 9.122123e+02, 8.804158e+01,
             9.124551e+02, 8.203354e+01, 9.127570e+02, 8.112008e+01, 9.128556e+02,
             1.356809e+02, 9.122052e+02, 7.972389e+01, 9.127299e+02, 2.874282e+03,
             8.186103e+01, 3.801859e+01, 4.007310e+01, 5.073972e+01, 4.225420e+01,
             1.559865e+01, 4.090974e+01, 2.718931e+01, 5.952565e+01, 2.155230e+01,
             3.661815e+01, 3.517658e+01, 9.597474e-01, 5.025724e+03, 5.083611e+03,
             4.967352e+03, 4.326866e-02, 2.490765e-01, 4.512463e-01, 6.131307e-01],
            dtype=float32)
    • sample
      (index, time_step, band)
      float32
      ...
      [1755777600 values with dtype=float32]
  • Germany_DUP3_farm5_field265_rapeseed_2020_<>_yield_ground_truth :
    2.892
    Germany_DUP3_farm2_field170_wheat_2019_<>_yield_ground_truth :
    9.16
    Germany_DUP3_farm1_field13_rapeseed_2016_<>_yield_ground_truth :
    3.03555555555556
    Germany_DUP3_farm1_field52_wheat_2019_<>_yield_ground_truth :
    7.45555555555556
    Germany_DUP3_farm2_field128_wheat_2019_<>_yield_ground_truth :
    7.94
    Germany_DUP3_farm6_field285_rapeseed_2020_<>_yield_ground_truth :
    3.87
    Germany_DUP3_farm2_field169_rapeseed_2018_<>_yield_ground_truth :
    3.59
    Germany_DUP3_farm2_field71_wheat_2020_<>_yield_ground_truth :
    9.85
    Germany_DUP3_farm4_field241_wheat_2018_<>_yield_ground_truth :
    6.943085
    Germany_DUP3_farm2_field102_wheat_2018_<>_yield_ground_truth :
    10.01
    Germany_DUP3_farm2_field195_wheat_2017_<>_yield_ground_truth :
    9.31
    Germany_DUP3_farm2_field219_wheat_2022_<>_yield_ground_truth :
    6.05
    Germany_DUP3_farm1_field14_rapeseed_2016_<>_yield_ground_truth :
    1.35666666666667
    Germany_DUP3_farm6_field290_rapeseed_2021_<>_yield_ground_truth :
    2.38
    Germany_DUP3_farm2_field175_wheat_2021_<>_yield_ground_truth :
    7.85
    Germany_DUP3_farm2_field199_rapeseed_2022_<>_yield_ground_truth :
    4.68
    Germany_DUP3_farm2_field126_wheat_2021_<>_yield_ground_truth :
    8.66
    Germany_DUP3_farm5_field267_rapeseed_2020_<>_yield_ground_truth :
    4.287
    Germany_DUP3_farm4_field255_rapeseed_2016_<>_yield_ground_truth :
    4.214619
    Germany_DUP3_farm2_field82_wheat_2019_<>_yield_ground_truth :
    9.42
    Germany_DUP3_farm2_field84_wheat_2019_<>_yield_ground_truth :
    8.76
    Germany_DUP3_farm4_field258_wheat_2017_<>_yield_ground_truth :
    5.47781732017129
    Germany_DUP3_farm2_field135_wheat_2018_<>_yield_ground_truth :
    8.14
    Germany_DUP3_farm2_field91_wheat_2021_<>_yield_ground_truth :
    6.85
    Germany_DUP3_farm2_field211_wheat_2022_<>_yield_ground_truth :
    9.58
    Germany_DUP3_farm3_field234_rapeseed_2016_<>_yield_ground_truth :
    4.12974389391029
    Germany_DUP3_farm2_field131_wheat_2019_<>_yield_ground_truth :
    10.07
    Germany_DUP3_farm2_field116_wheat_2021_<>_yield_ground_truth :
    8.11
    Germany_DUP3_farm2_field68_rapeseed_2018_<>_yield_ground_truth :
    3.66
    Germany_DUP3_farm1_field32_wheat_2017_<>_yield_ground_truth :
    8.88095238095238
    Germany_DUP3_farm2_field217_rapeseed_2022_<>_yield_ground_truth :
    4.8
    Germany_DUP3_farm5_field270_rapeseed_2017_<>_yield_ground_truth :
    3.128
    Germany_DUP3_farm6_field298_rapeseed_2017_<>_yield_ground_truth :
    3.8
    Germany_DUP3_farm2_field83_wheat_2019_<>_yield_ground_truth :
    9.56
    Germany_DUP3_farm2_field97_wheat_2021_<>_yield_ground_truth :
    7.91
    Germany_DUP3_farm2_field73_wheat_2018_<>_yield_ground_truth :
    6.49
    Germany_DUP3_farm2_field74_wheat_2020_<>_yield_ground_truth :
    8.87
    Germany_DUP3_farm2_field106_wheat_2016_<>_yield_ground_truth :
    10.8
    Germany_DUP3_farm2_field207_wheat_2022_<>_yield_ground_truth :
    9.58
    Germany_DUP3_farm2_field149_rapeseed_2021_<>_yield_ground_truth :
    4.29
    Germany_DUP3_farm2_field165_wheat_2019_<>_yield_ground_truth :
    8.65
    Germany_DUP3_farm3_field240_rapeseed_2018_<>_yield_ground_truth :
    3.05297039612184
    Germany_DUP3_farm2_field104_wheat_2021_<>_yield_ground_truth :
    8.35
    Germany_DUP3_farm1_field44_wheat_2019_<>_yield_ground_truth :
    9.62941176470588
    Germany_DUP3_farm2_field111_wheat_2019_<>_yield_ground_truth :
    8.22
    Germany_DUP3_farm1_field15_rapeseed_2016_<>_yield_ground_truth :
    2.23222222222222
    Germany_DUP3_farm4_field249_rapeseed_2020_<>_yield_ground_truth :
    4.46253834205317
    Germany_DUP3_farm6_field277_rapeseed_2018_<>_yield_ground_truth :
    1.59
    Germany_DUP3_farm1_field4_rapeseed_2016_<>_yield_ground_truth :
    2.69770114942529
    Germany_DUP3_farm2_field204_wheat_2022_<>_yield_ground_truth :
    10.08
    Germany_DUP3_farm1_field43_wheat_2016_<>_yield_ground_truth :
    6.31333333333333
    Germany_DUP3_farm2_field164_wheat_2021_<>_yield_ground_truth :
    7.51
    Germany_DUP3_farm2_field168_wheat_2016_<>_yield_ground_truth :
    9.8
    Germany_DUP3_farm2_field123_wheat_2018_<>_yield_ground_truth :
    7.72
    Germany_DUP3_farm2_field88_wheat_2019_<>_yield_ground_truth :
    9.06
    Germany_DUP3_farm3_field227_wheat_2019_<>_yield_ground_truth :
    4.7624406162698
    Germany_DUP3_farm2_field87_wheat_2018_<>_yield_ground_truth :
    8.33
    Germany_DUP3_farm2_field178_rapeseed_2017_<>_yield_ground_truth :
    3.64
    Germany_DUP3_farm2_field189_wheat_2017_<>_yield_ground_truth :
    8.89
    Germany_DUP3_farm1_field9_wheat_2016_<>_yield_ground_truth :
    9.50625
    Germany_DUP3_farm1_field36_wheat_2017_<>_yield_ground_truth :
    7.73333333333333
    Germany_DUP3_farm2_field79_wheat_2019_<>_yield_ground_truth :
    10.3
    Germany_DUP3_farm2_field81_wheat_2021_<>_yield_ground_truth :
    7.35
    Germany_DUP3_farm2_field153_rapeseed_2020_<>_yield_ground_truth :
    3.61
    Germany_DUP3_farm1_field59_wheat_2019_<>_yield_ground_truth :
    5.8016393442623
    Germany_DUP3_farm3_field228_rapeseed_2020_<>_yield_ground_truth :
    4.03360085534403
    Germany_DUP3_farm2_field188_wheat_2017_<>_yield_ground_truth :
    9.46
    Germany_DUP3_farm4_field256_rapeseed_2017_<>_yield_ground_truth :
    2.50646950092421
    Germany_DUP3_farm2_field122_wheat_2020_<>_yield_ground_truth :
    9.65
    Germany_DUP3_farm2_field212_wheat_2022_<>_yield_ground_truth :
    8.74
    Germany_DUP3_farm2_field162_wheat_2019_<>_yield_ground_truth :
    7.59
    Germany_DUP3_farm3_field237_rapeseed_2017_<>_yield_ground_truth :
    2.41276314390209
    Germany_DUP3_farm2_field139_rapeseed_2018_<>_yield_ground_truth :
    3.54
    Germany_DUP3_farm1_field47_wheat_2019_<>_yield_ground_truth :
    8.66065573770492
    Germany_DUP3_farm2_field112_wheat_2021_<>_yield_ground_truth :
    9.11
    Germany_DUP3_farm2_field197_rapeseed_2017_<>_yield_ground_truth :
    4.27
    Germany_DUP3_farm2_field127_wheat_2018_<>_yield_ground_truth :
    9.59
    Germany_DUP3_farm2_field187_wheat_2017_<>_yield_ground_truth :
    8.79
    Germany_DUP3_farm2_field72_wheat_2021_<>_yield_ground_truth :
    6.6
    Germany_DUP3_farm2_field215_wheat_2022_<>_yield_ground_truth :
    9.0
    Germany_DUP3_farm1_field27_rapeseed_2017_<>_yield_ground_truth :
    3.19882352941177
    Germany_DUP3_farm5_field271_rapeseed_2017_<>_yield_ground_truth :
    1.047
    Germany_DUP3_farm2_field89_wheat_2018_<>_yield_ground_truth :
    9.66
    Germany_DUP3_farm3_field239_wheat_2017_<>_yield_ground_truth :
    8.12126957376589
    Germany_DUP3_farm2_field80_wheat_2020_<>_yield_ground_truth :
    9.53
    Germany_DUP3_farm5_field274_wheat_2018_<>_yield_ground_truth :
    8.547
    Germany_DUP3_farm5_field264_rapeseed_2020_<>_yield_ground_truth :
    3.809
    Germany_DUP3_farm2_field209_wheat_2022_<>_yield_ground_truth :
    9.86
    Germany_DUP3_farm2_field144_wheat_2018_<>_yield_ground_truth :
    8.89
    Germany_DUP3_farm2_field214_rapeseed_2022_<>_yield_ground_truth :
    4.43
    Germany_DUP3_farm2_field158_wheat_2018_<>_yield_ground_truth :
    6.58
    Germany_DUP3_farm2_field136_wheat_2019_<>_yield_ground_truth :
    8.84
    Germany_DUP3_farm2_field142_rapeseed_2021_<>_yield_ground_truth :
    4.34
    Germany_DUP3_farm1_field45_wheat_2019_<>_yield_ground_truth :
    8.25
    Germany_DUP3_farm2_field202_wheat_2022_<>_yield_ground_truth :
    10.54
    Germany_DUP3_farm2_field167_wheat_2021_<>_yield_ground_truth :
    7.37
    Germany_DUP3_farm1_field8_rapeseed_2016_<>_yield_ground_truth :
    3.05454545454545
    Germany_DUP3_farm2_field120_wheat_2021_<>_yield_ground_truth :
    8.33
    Germany_DUP3_farm2_field210_wheat_2022_<>_yield_ground_truth :
    8.64
    Germany_DUP3_farm3_field222_rapeseed_2018_<>_yield_ground_truth :
    3.04599963821705
    Germany_DUP3_farm2_field220_rapeseed_2022_<>_yield_ground_truth :
    4.43
    Germany_DUP3_farm2_field86_wheat_2018_<>_yield_ground_truth :
    8.33
    Germany_DUP3_farm2_field133_wheat_2019_<>_yield_ground_truth :
    9.11
    Germany_DUP3_farm1_field53_wheat_2016_<>_yield_ground_truth :
    6.43432835820896
    Germany_DUP3_farm1_field57_wheat_2019_<>_yield_ground_truth :
    9.80625
    Germany_DUP3_farm2_field154_wheat_2021_<>_yield_ground_truth :
    7.47
    Germany_DUP3_farm2_field141_wheat_2018_<>_yield_ground_truth :
    8.34
    Germany_DUP3_farm6_field289_wheat_2021_<>_yield_ground_truth :
    6.85
    Germany_DUP3_farm4_field243_rapeseed_2018_<>_yield_ground_truth :
    2.245218
    Germany_DUP3_farm1_field29_rapeseed_2017_<>_yield_ground_truth :
    2.81714285714286
    Germany_DUP3_farm1_field25_rapeseed_2017_<>_yield_ground_truth :
    3.52916666666667
    Germany_DUP3_farm2_field159_wheat_2019_<>_yield_ground_truth :
    6.95
    Germany_DUP3_farm2_field184_wheat_2017_<>_yield_ground_truth :
    9.48
    Germany_DUP3_farm1_field33_wheat_2016_<>_yield_ground_truth :
    4.245
    Germany_DUP3_farm2_field203_wheat_2022_<>_yield_ground_truth :
    9.67
    Germany_DUP3_farm1_field50_rapeseed_2019_<>_yield_ground_truth :
    3.43333333333333
    Germany_DUP3_farm6_field283_rapeseed_2020_<>_yield_ground_truth :
    3.01
    Germany_DUP3_farm2_field121_wheat_2019_<>_yield_ground_truth :
    9.69
    Germany_DUP3_farm1_field6_wheat_2016_<>_yield_ground_truth :
    8.45555555555556
    Germany_DUP3_farm2_field96_wheat_2021_<>_yield_ground_truth :
    7.91
    Germany_DUP3_farm4_field253_wheat_2016_<>_yield_ground_truth :
    10.015263
    Germany_DUP3_farm3_field231_rapeseed_2016_<>_yield_ground_truth :
    3.69160308357434
    Germany_DUP3_farm2_field163_wheat_2020_<>_yield_ground_truth :
    7.2
    Germany_DUP3_farm2_field125_rapeseed_2020_<>_yield_ground_truth :
    5.13
    Germany_DUP3_farm2_field183_wheat_2017_<>_yield_ground_truth :
    9.48
    Germany_DUP3_farm1_field10_wheat_2016_<>_yield_ground_truth :
    7.0375
    Germany_DUP3_farm2_field180_rapeseed_2017_<>_yield_ground_truth :
    4.04
    Germany_DUP3_farm1_field49_wheat_2019_<>_yield_ground_truth :
    6.61428571428571
    Germany_DUP3_farm5_field268_wheat_2017_<>_yield_ground_truth :
    8.677
    Germany_DUP3_farm2_field179_rapeseed_2017_<>_yield_ground_truth :
    3.76
    Germany_DUP3_farm2_field137_rapeseed_2021_<>_yield_ground_truth :
    4.0
    Germany_DUP3_farm2_field147_wheat_2018_<>_yield_ground_truth :
    9.02
    Germany_DUP3_farm2_field107_wheat_2018_<>_yield_ground_truth :
    9.07
    Germany_DUP3_farm2_field140_wheat_2019_<>_yield_ground_truth :
    9.17
    Germany_DUP3_farm2_field85_wheat_2020_<>_yield_ground_truth :
    8.55
    Germany_DUP3_farm1_field61_wheat_2019_<>_yield_ground_truth :
    7.71818181818182
    Germany_DUP3_farm1_field24_rapeseed_2017_<>_yield_ground_truth :
    3.5325
    Germany_DUP3_farm2_field93_wheat_2018_<>_yield_ground_truth :
    5.92
    Germany_DUP3_farm2_field129_wheat_2021_<>_yield_ground_truth :
    8.55
    Germany_DUP3_farm2_field124_wheat_2018_<>_yield_ground_truth :
    7.72
    Germany_DUP3_farm1_field2_wheat_2016_<>_yield_ground_truth :
    7.24324324324324
    Germany_DUP3_farm5_field261_rapeseed_2019_<>_yield_ground_truth :
    3.442
    Germany_DUP3_farm1_field5_wheat_2016_<>_yield_ground_truth :
    5.18
    Germany_DUP3_farm2_field201_wheat_2022_<>_yield_ground_truth :
    10.28
    Germany_DUP3_farm2_field181_wheat_2017_<>_yield_ground_truth :
    8.5
    Germany_DUP3_farm3_field226_rapeseed_2019_<>_yield_ground_truth :
    1.37742804828361
    Germany_DUP3_farm2_field190_wheat_2017_<>_yield_ground_truth :
    9.1
    Germany_DUP3_farm5_field266_wheat_2020_<>_yield_ground_truth :
    7.814
    Germany_DUP3_farm6_field292_rapeseed_2016_<>_yield_ground_truth :
    4.01
    Germany_DUP3_farm1_field26_wheat_2017_<>_yield_ground_truth :
    7.7655737704918
    Germany_DUP3_farm2_field109_wheat_2020_<>_yield_ground_truth :
    10.17
    Germany_DUP3_farm2_field146_rapeseed_2021_<>_yield_ground_truth :
    4.51
    Germany_DUP3_farm2_field76_wheat_2019_<>_yield_ground_truth :
    9.27
    Germany_DUP3_farm2_field161_rapeseed_2016_<>_yield_ground_truth :
    4.7
    Germany_DUP3_farm1_field37_wheat_2017_<>_yield_ground_truth :
    7.30909090909091
    Germany_DUP3_farm2_field90_wheat_2020_<>_yield_ground_truth :
    8.05
    Germany_DUP3_farm2_field138_wheat_2016_<>_yield_ground_truth :
    9.9
    Germany_DUP3_farm6_field299_rapeseed_2018_<>_yield_ground_truth :
    3.84
    Germany_DUP3_farm2_field157_wheat_2021_<>_yield_ground_truth :
    8.61
    Germany_DUP3_farm3_field232_wheat_2020_<>_yield_ground_truth :
    6.74683195007535
    Germany_DUP3_farm1_field17_wheat_2016_<>_yield_ground_truth :
    4.59090909090909
    Germany_DUP3_farm2_field182_wheat_2017_<>_yield_ground_truth :
    8.37
    Germany_DUP3_farm1_field41_wheat_2019_<>_yield_ground_truth :
    8.99814814814815
    Germany_DUP3_farm1_field35_wheat_2017_<>_yield_ground_truth :
    5.90327868852459
    Germany_DUP3_farm1_field28_wheat_2017_<>_yield_ground_truth :
    8.83333333333333
    Germany_DUP3_farm1_field60_wheat_2019_<>_yield_ground_truth :
    7.95333333333333
    Germany_DUP3_farm2_field208_wheat_2022_<>_yield_ground_truth :
    10.31
    Germany_DUP3_farm1_field3_wheat_2016_<>_yield_ground_truth :
    3.65714285714286
    Germany_DUP3_farm2_field173_rapeseed_2020_<>_yield_ground_truth :
    4.41
    Germany_DUP3_farm1_field56_wheat_2019_<>_yield_ground_truth :
    9.77142857142857
    Germany_DUP3_farm5_field276_wheat_2019_<>_yield_ground_truth :
    7.908
    Germany_DUP3_farm3_field229_rapeseed_2020_<>_yield_ground_truth :
    3.16449455667496
    Germany_DUP3_farm1_field23_wheat_2017_<>_yield_ground_truth :
    9.29333333333333
    Germany_DUP3_farm2_field145_wheat_2019_<>_yield_ground_truth :
    7.95
    Germany_DUP3_farm1_field66_wheat_2016_<>_yield_ground_truth :
    7.8675
    Germany_DUP3_farm3_field221_rapeseed_2018_<>_yield_ground_truth :
    2.85151984376896
    Germany_DUP3_farm3_field230_rapeseed_2020_<>_yield_ground_truth :
    3.3981515285437
    Germany_DUP3_farm1_field39_wheat_2019_<>_yield_ground_truth :
    9.64
    Germany_DUP3_farm6_field286_wheat_2020_<>_yield_ground_truth :
    8.08
    Germany_DUP3_farm1_field34_wheat_2017_<>_yield_ground_truth :
    8.678125
    Germany_DUP3_farm2_field194_wheat_2017_<>_yield_ground_truth :
    8.17
    Germany_DUP3_farm1_field16_wheat_2016_<>_yield_ground_truth :
    6.46666666666667
    Germany_DUP3_farm2_field77_wheat_2021_<>_yield_ground_truth :
    7.35
    Germany_DUP3_farm2_field213_wheat_2022_<>_yield_ground_truth :
    9.89
    Germany_DUP3_farm4_field245_rapeseed_2019_<>_yield_ground_truth :
    3.33791692600152
    Germany_DUP3_farm5_field272_rapeseed_2018_<>_yield_ground_truth :
    4.512
    Germany_DUP3_farm2_field185_wheat_2017_<>_yield_ground_truth :
    9.55
    Germany_DUP3_farm2_field110_wheat_2018_<>_yield_ground_truth :
    9.42
    Germany_DUP3_farm5_field263_rapeseed_2019_<>_yield_ground_truth :
    2.946
    Germany_DUP3_farm6_field297_rapeseed_2017_<>_yield_ground_truth :
    2.98
    Germany_DUP3_farm2_field94_wheat_2019_<>_yield_ground_truth :
    8.05
    Germany_DUP3_farm6_field293_rapeseed_2016_<>_yield_ground_truth :
    4.44
    Germany_DUP3_farm3_field223_wheat_2018_<>_yield_ground_truth :
    4.2231823887226
    Germany_DUP3_farm4_field247_rapeseed_2019_<>_yield_ground_truth :
    3.3087698320346
    Germany_DUP3_farm4_field257_rapeseed_2017_<>_yield_ground_truth :
    2.7791183486618
    Germany_DUP3_farm2_field198_rapeseed_2017_<>_yield_ground_truth :
    2.76
    Germany_DUP3_farm3_field225_rapeseed_2019_<>_yield_ground_truth :
    2.60078911426982
    Germany_DUP3_farm2_field103_wheat_2019_<>_yield_ground_truth :
    8.33
    Germany_DUP3_farm4_field248_rapeseed_2020_<>_yield_ground_truth :
    4.40853032894075
    Germany_DUP3_farm2_field118_wheat_2019_<>_yield_ground_truth :
    9.94
    Germany_DUP3_farm2_field114_wheat_2018_<>_yield_ground_truth :
    5.75
    Germany_DUP3_farm1_field18_rapeseed_2016_<>_yield_ground_truth :
    0.746666666666667
    Germany_DUP3_farm2_field206_wheat_2022_<>_yield_ground_truth :
    10.62
    Germany_DUP3_farm2_field200_wheat_2022_<>_yield_ground_truth :
    11.52
    Germany_DUP3_farm6_field288_rapeseed_2021_<>_yield_ground_truth :
    3.75
    Germany_DUP3_farm1_field38_rapeseed_2019_<>_yield_ground_truth :
    3.45428571428571
    Germany_DUP3_farm3_field224_rapeseed_2019_<>_yield_ground_truth :
    2.37034170814042
    Germany_DUP3_farm4_field251_rapeseed_2016_<>_yield_ground_truth :
    4.346065
    Germany_DUP3_farm1_field1_wheat_2016_<>_yield_ground_truth :
    8.58125
    Germany_DUP3_farm2_field132_rapeseed_2021_<>_yield_ground_truth :
    4.59
    Germany_DUP3_farm4_field244_wheat_2019_<>_yield_ground_truth :
    6.94809611829945
    Germany_DUP3_farm6_field296_rapeseed_2017_<>_yield_ground_truth :
    3.83
    Germany_DUP3_farm1_field54_rapeseed_2019_<>_yield_ground_truth :
    2.8452380952381
    Germany_DUP3_farm1_field65_rapeseed_2016_<>_yield_ground_truth :
    2.95365853658537
    Germany_DUP3_farm4_field259_rapeseed_2017_<>_yield_ground_truth :
    3.37141683778234
    Germany_DUP3_farm2_field177_rapeseed_2017_<>_yield_ground_truth :
    4.22
    Germany_DUP3_farm2_field113_wheat_2018_<>_yield_ground_truth :
    5.75
    Germany_DUP3_farm6_field284_rapeseed_2020_<>_yield_ground_truth :
    3.49
    Germany_DUP3_farm4_field252_wheat_2020_<>_yield_ground_truth :
    8.64751705952213
    Germany_DUP3_farm1_field55_rapeseed_2019_<>_yield_ground_truth :
    5.06969696969697
    Germany_DUP3_farm4_field250_rapeseed_2020_<>_yield_ground_truth :
    4.01677333921872
    Germany_DUP3_farm3_field233_rapeseed_2016_<>_yield_ground_truth :
    2.39675635615325
    Germany_DUP3_farm2_field98_wheat_2016_<>_yield_ground_truth :
    10.8
    Germany_DUP3_farm1_field19_rapeseed_2017_<>_yield_ground_truth :
    3.13883495145631
    Germany_DUP3_farm5_field262_rapeseed_2019_<>_yield_ground_truth :
    3.746
    Germany_DUP3_farm2_field174_wheat_2021_<>_yield_ground_truth :
    8.56
    Germany_DUP3_farm2_field151_wheat_2018_<>_yield_ground_truth :
    8.18
    Germany_DUP3_farm2_field130_wheat_2016_<>_yield_ground_truth :
    10.7
    Germany_DUP3_farm6_field287_wheat_2016_<>_yield_ground_truth :
    8.87
    Germany_DUP3_farm2_field155_wheat_2018_<>_yield_ground_truth :
    7.99
    Germany_DUP3_farm2_field191_rapeseed_2017_<>_yield_ground_truth :
    3.16
    Germany_DUP3_farm2_field193_wheat_2017_<>_yield_ground_truth :
    8.82
    Germany_DUP3_farm2_field134_wheat_2020_<>_yield_ground_truth :
    8.28
    Germany_DUP3_farm2_field171_wheat_2018_<>_yield_ground_truth :
    7.13
    Germany_DUP3_farm2_field101_wheat_2020_<>_yield_ground_truth :
    8.32
    Germany_DUP3_farm1_field22_rapeseed_2016_<>_yield_ground_truth :
    3.11714285714286
    Germany_DUP3_farm2_field186_wheat_2017_<>_yield_ground_truth :
    10.18
    Germany_DUP3_farm1_field63_wheat_2016_<>_yield_ground_truth :
    6.80588235294118
    Germany_DUP3_farm2_field119_rapeseed_2020_<>_yield_ground_truth :
    4.64
    Germany_DUP3_farm5_field273_rapeseed_2018_<>_yield_ground_truth :
    4.104
    Germany_DUP3_farm6_field295_wheat_2017_<>_yield_ground_truth :
    6.64
    Germany_DUP3_farm1_field21_rapeseed_2017_<>_yield_ground_truth :
    3.92444444444445
    Germany_DUP3_farm2_field156_rapeseed_2020_<>_yield_ground_truth :
    5.38
    Germany_DUP3_farm1_field42_wheat_2019_<>_yield_ground_truth :
    9.8089552238806
    Germany_DUP3_farm2_field75_wheat_2018_<>_yield_ground_truth :
    9.14
    Germany_DUP3_farm2_field150_wheat_2018_<>_yield_ground_truth :
    8.18
    Germany_DUP3_farm2_field172_wheat_2018_<>_yield_ground_truth :
    5.96
    Germany_DUP3_farm2_field216_rapeseed_2022_<>_yield_ground_truth :
    4.8
    Germany_DUP3_farm1_field62_wheat_2019_<>_yield_ground_truth :
    9.4
    Germany_DUP3_farm1_field64_rapeseed_2016_<>_yield_ground_truth :
    3.62
    Germany_DUP3_farm2_field92_wheat_2018_<>_yield_ground_truth :
    5.92
    Germany_DUP3_farm6_field279_wheat_2018_<>_yield_ground_truth :
    5.82
    Germany_DUP3_farm2_field95_rapeseed_2020_<>_yield_ground_truth :
    4.8
    Germany_DUP3_farm2_field176_rapeseed_2017_<>_yield_ground_truth :
    4.2
    Germany_DUP3_farm2_field115_rapeseed_2020_<>_yield_ground_truth :
    3.81
    Germany_DUP3_farm2_field108_wheat_2016_<>_yield_ground_truth :
    8.8
    Germany_DUP3_farm2_field69_wheat_2019_<>_yield_ground_truth :
    8.87
    Germany_DUP3_farm1_field11_rapeseed_2016_<>_yield_ground_truth :
    0.840909090909091
    Germany_DUP3_farm1_field31_wheat_2017_<>_yield_ground_truth :
    9.16060606060606
    Germany_DUP3_farm2_field143_wheat_2016_<>_yield_ground_truth :
    11.0
    Germany_DUP3_farm1_field30_wheat_2017_<>_yield_ground_truth :
    10.2095238095238
    Germany_DUP3_farm2_field78_wheat_2016_<>_yield_ground_truth :
    10.5
    Germany_DUP3_farm2_field152_wheat_2019_<>_yield_ground_truth :
    9.14
    Germany_DUP3_farm2_field160_wheat_2021_<>_yield_ground_truth :
    7.65
    Germany_DUP3_farm6_field291_rapeseed_2021_<>_yield_ground_truth :
    3.38
    Germany_DUP3_farm1_field51_wheat_2019_<>_yield_ground_truth :
    8.67868852459016
    Germany_DUP3_farm1_field7_rapeseed_2016_<>_yield_ground_truth :
    3.42142857142857
    Germany_DUP3_farm1_field58_wheat_2019_<>_yield_ground_truth :
    8.490625
    Germany_DUP3_farm4_field246_rapeseed_2019_<>_yield_ground_truth :
    2.93931037259204
    Germany_DUP3_farm2_field70_wheat_2020_<>_yield_ground_truth :
    8.55
    Germany_DUP3_farm1_field46_wheat_2019_<>_yield_ground_truth :
    9.28333333333333
    Germany_DUP3_farm2_field196_wheat_2017_<>_yield_ground_truth :
    7.75
    Germany_DUP3_farm2_field148_wheat_2019_<>_yield_ground_truth :
    8.91
    Germany_DUP3_farm2_field218_wheat_2022_<>_yield_ground_truth :
    8.12
    Germany_DUP3_farm4_field260_rapeseed_2018_<>_yield_ground_truth :
    3.402817
    Germany_DUP3_farm2_field100_wheat_2019_<>_yield_ground_truth :
    9.48
    Germany_DUP3_farm6_field282_wheat_2019_<>_yield_ground_truth :
    6.81
    Germany_DUP3_farm3_field235_wheat_2016_<>_yield_ground_truth :
    8.53650799144042
    Germany_DUP3_farm1_field12_wheat_2016_<>_yield_ground_truth :
    5.16393442622951
    Germany_DUP3_farm2_field205_wheat_2022_<>_yield_ground_truth :
    11.37
    Germany_DUP3_farm1_field48_wheat_2019_<>_yield_ground_truth :
    9.78468468468469
    Germany_DUP3_farm2_field67_wheat_2016_<>_yield_ground_truth :
    9.3
    Germany_DUP3_farm1_field40_wheat_2019_<>_yield_ground_truth :
    8.06666666666667
    Germany_DUP3_farm2_field117_rapeseed_2021_<>_yield_ground_truth :
    4.53
    Germany_DUP3_farm2_field192_wheat_2017_<>_yield_ground_truth :
    9.89
    Germany_DUP3_farm4_field242_rapeseed_2018_<>_yield_ground_truth :
    2.894727
    Germany_DUP3_farm3_field238_rapeseed_2017_<>_yield_ground_truth :
    1.39606745341448
    Germany_DUP3_farm3_field236_rapeseed_2017_<>_yield_ground_truth :
    3.18614385100426
    Germany_DUP3_farm1_field20_rapeseed_2017_<>_yield_ground_truth :
    3.03
    Germany_DUP3_farm2_field166_wheat_2020_<>_yield_ground_truth :
    9.75
    Germany_DUP3_farm4_field254_rapeseed_2016_<>_yield_ground_truth :
    3.941731
    Germany_DUP3_farm6_field280_rapeseed_2019_<>_yield_ground_truth :
    2.87
    Germany_DUP3_farm6_field294_rapeseed_2016_<>_yield_ground_truth :
    3.97
    Germany_DUP3_farm5_field269_rapeseed_2017_<>_yield_ground_truth :
    2.205
    Germany_DUP3_farm2_field105_wheat_2019_<>_yield_ground_truth :
    9.84
    Germany_DUP3_farm6_field281_rapeseed_2019_<>_yield_ground_truth :
    3.74
    Germany_DUP3_farm2_field99_wheat_2018_<>_yield_ground_truth :
    7.65
    Germany_DUP3_farm5_field275_rapeseed_2018_<>_yield_ground_truth :
    4.454
    Germany_DUP3_farm6_field278_rapeseed_2018_<>_yield_ground_truth :
    3.8
In [5]:
print("Dimensions")
print(pd.Series({name: int(size) for name, size in ds.sizes.items()}, name="size").to_string())

variable_summary = pd.DataFrame(
    [
        {
            "variable": name,
            "dims": ", ".join(data_array.dims),
            "shape": tuple(int(v) for v in data_array.shape),
            "dtype": str(data_array.dtype),
        }
        for name, data_array in ds.data_vars.items()
    ]
).sort_values("variable").reset_index(drop=True)

variable_summary
Dimensions
index        609645
time_step        24
band            120
Out[5]:
variable dims shape dtype
0 col index (609645,) uint8
1 country index (609645,) uint8
2 crop index (609645,) uint8
3 farm_identifier index (609645,) uint8
4 field_shared_name index (609645,) uint16
5 harvesting_date index (609645,) uint8
6 row index (609645,) uint8
7 sample index, time_step, band (609645, 24, 120) float32
8 seeding_date index (609645,) uint8
9 seeding_date_type index (609645,) uint8
10 stats-max band (120,) float32
11 stats-mean band (120,) float32
12 stats-min band (120,) float32
13 stats-std band (120,) float32
14 target index (609645,) float32
15 times index, time_step (609645, 24) datetime64[ns]
16 year index (609645,) uint8
In [6]:
encoded_mappings = {
    name: decode_mapping(ds[name].attrs)
    for name in ["country", "crop", "farm_identifier", "year", "seeding_date_type"]
}

for name, mapping in encoded_mappings.items():
    print(f"{name}: {mapping}")
    print()

field_name_mapping = decode_mapping(ds["field_shared_name"].attrs)
pd.DataFrame(
    {
        "field_code": list(field_name_mapping.keys())[:10],
        "field_shared_name": list(field_name_mapping.values())[:10],
    }
)
country: {0: 'Germany'}

crop: {0: 'rapeseed', 1: 'wheat'}

farm_identifier: {0: 'farm1', 1: 'farm2', 2: 'farm3', 3: 'farm4', 4: 'farm5', 5: 'farm6'}

year: {0: 2016, 1: 2017, 2: 2018, 3: 2019, 4: 2020, 5: 2021, 6: 2022}

seeding_date_type: {0: '290 days before harvest', 1: '333 days before harvest', 2: 'provided_by_farmer'}

Out[6]:
field_code field_shared_name
0 0 Germany_DUP3_farm1_field10_wheat_2016
1 1 Germany_DUP3_farm1_field11_rapeseed_2016
2 2 Germany_DUP3_farm1_field12_wheat_2016
3 3 Germany_DUP3_farm1_field13_rapeseed_2016
4 4 Germany_DUP3_farm1_field14_rapeseed_2016
5 5 Germany_DUP3_farm1_field15_rapeseed_2016
6 6 Germany_DUP3_farm1_field16_wheat_2016
7 7 Germany_DUP3_farm1_field17_wheat_2016
8 8 Germany_DUP3_farm1_field18_rapeseed_2016
9 9 Germany_DUP3_farm1_field19_rapeseed_2017

Reconstruct One Field from the Flattened Representation¶

The example below selects the Germany field used throughout this notebook and rebuilds its 2D yield raster from target, row, and col.

In [7]:
field_code = {name: code for code, name in field_name_mapping.items()}[FIELD_ID]
field_index = ds.index.values[ds["field_shared_name"].values == field_code]
field_ds = ds.sel(index=field_index)

field_rows = field_ds["row"].values.astype(int)
field_cols = field_ds["col"].values.astype(int)
field_target = np.full((field_rows.max() + 1, field_cols.max() + 1), np.nan, dtype=np.float32)
field_target[field_rows, field_cols] = field_ds["target"].values

print(f"Field code: {field_code}")
print(f"Pixels in field: {field_ds.sizes['index']}")
print(f"Reconstructed raster shape: {field_target.shape}")
print(f"Mean target yield: {np.nanmean(field_target):.3f} t/ha")

fig, ax = plt.subplots(figsize=(6, 5))
im = ax.imshow(field_target, cmap="viridis")
ax.set_title(f"Ground-Truth Yield Image")
ax.set_xlabel("col")
ax.set_ylabel("row")
plt.colorbar(im, ax=ax, label="yield (t/ha)")
plt.show()
Field code: 262
Pixels in field: 3624
Reconstructed raster shape: (72, 86)
Mean target yield: 2.767 t/ha
In [8]:
example_pixel = field_ds.isel(index=0)
selected_bands = ["B04", "B08", "temp_mean", "total_prec", "coord_x", "coord_y"]

pixel_timeseries = pd.DataFrame({
    "time": pd.to_datetime(example_pixel["times"].values)
})
for band_name in selected_bands:
    pixel_timeseries[band_name] = example_pixel["sample"].sel(band=band_name).values

pixel_timeseries
Out[8]:
time B04 B08 temp_mean total_prec coord_x coord_y
0 NaT NaN NaN NaN NaN -0.811309 -0.271778
1 NaT NaN NaN NaN NaN -0.811309 -0.271778
2 NaT NaN NaN NaN NaN -0.811309 -0.271778
3 NaT NaN NaN NaN NaN -0.811309 -0.271778
4 NaT NaN NaN NaN NaN -0.811309 -0.271778
5 NaT NaN NaN NaN NaN -0.811309 -0.271778
6 NaT NaN NaN NaN NaN -0.811309 -0.271778
7 NaT NaN NaN NaN NaN -0.811309 -0.271778
8 2018-09-19 908.0 2776.0 4345.633789 0.011295 -0.811309 -0.271778
9 2018-10-19 612.0 3217.0 8861.309570 0.015924 -0.811309 -0.271778
10 2018-11-03 407.0 2533.0 4500.985840 0.018291 -0.811309 -0.271778
11 2018-11-28 340.0 1570.0 7238.926758 0.018049 -0.811309 -0.271778
12 2019-01-02 NaN NaN 9976.316406 0.077572 -0.811309 -0.271778
13 2019-02-16 614.0 2203.0 12664.842773 0.088254 -0.811309 -0.271778
14 2019-03-08 NaN NaN 5858.548340 0.031132 -0.811309 -0.271778
15 2019-04-22 860.0 3263.0 12884.696289 0.058698 -0.811309 -0.271778
16 2019-05-12 586.0 4096.0 5953.230957 0.050758 -0.811309 -0.271778
17 2019-06-16 526.0 3448.0 10396.431641 0.109634 -0.811309 -0.271778
18 2019-07-11 1056.0 2958.0 7564.135254 0.019629 -0.811309 -0.271778
19 2019-07-26 797.0 1960.0 4670.684082 0.016609 -0.811309 -0.271778
20 NaT NaN NaN NaN NaN -0.811309 -0.271778
21 NaT NaN NaN NaN NaN -0.811309 -0.271778
22 NaT NaN NaN NaN NaN -0.811309 -0.271778
23 NaT NaN NaN NaN NaN -0.811309 -0.271778

The last table shows how one pixel is represented after preprocessing:

  • Sentinel-2 bands are season-aligned across time_step.
  • Weather values are aligned to the same time axis.
  • Static features such as coordinates are repeated across the 24 time steps so they can be concatenated into one model input tensor.

3. Raw Per-Field Release¶

The raw release keeps one directory per field. This is the better format when you want to inspect or redesign the preprocessing pipeline, work with acquisition-level Sentinel-2 imagery, or choose among alternative yield-mask products.

With below structure for a country:

Country_1                          # Unique country identifier
├── field_ID                       # Unique field identifier
│   ├── dem                        # Topography features for each pixel (10x10m resolution)
│   ├── metadata-<field_ID>.json   # Metadata for each field (crop, harvesting date, seeding date, collected yield, data curation, etc.)
│   ├── s2_images                  # Sentinel-2 images for each field between seeding and harvesting (10x10m resolution)
│   ├── scl_masks                  # SCL layer for each field between seeding and harvesting (20x20m resolution)
│   ├── soil                       # Soil features for each pixel with depth (0-200 cm) (10x10m resolution)
│   ├── weather                    # weather data between seeding and harvesting for each field
│   └── yield_masks                # Yield mask (image in 10x10m resolution)
In [9]:
raw_items = []
for item in sorted(field_root.iterdir()):
    if item.is_dir():
        raw_items.append(
            {
                "name": item.name + "/",
                "type": "directory",
                "n_files": len(list(item.iterdir())),
            }
        )
    else:
        raw_items.append(
            {
                "name": item.name,
                "type": "file",
                "n_files": np.nan,
            }
        )

print(f"Example number of files in a field dir for field: {field_root}")        
pd.DataFrame(raw_items)
Example number of files in a field dir for field: /yieldsat_data/original-preprocessed/Germany/Germany_DUP3_farm5_field263_rapeseed_2019
Out[9]:
name type n_files
0 dem/ directory 5.0
1 metadata-Germany_DUP3_farm5_field263_rapeseed_... file NaN
2 s2_images/ directory 64.0
3 scl_masks/ directory 64.0
4 soil/ directory 8.0
5 weather/ directory 1.0
6 yield_masks/ directory 3.0
In [10]:
from pprint import pprint

metadata_path = field_root / f"metadata-{FIELD_ID}.json"
metadata = json.loads(metadata_path.read_text())

pprint(metadata)
{'adm_units': {'adm_1': 'Mecklenburg-Vorpommern',
               'adm_2': 'Mecklenburgische Seenplatte',
               'country': 'Germany'},
 'area_calculated': 35.91136,
 'area_ground_truth': 39.4,
 'centroid_latitude_wgs84': 53.94825764491136,
 'centroid_longitude_wgs84': 12.889780863311204,
 'crop': 'rapeseed',
 'data_provider': 'DUP3',
 'farm_identifier': 'farm5',
 'field_shared_name': 'Germany_DUP3_farm5_field263_rapeseed_2019',
 'harvesting_date': '04.08.2019',
 'max_yield_per_hectare': 10,
 'min_yield_per_hectare': 0,
 'projected_crs_epsg': 32633,
 'quality_density': 'good',
 'seeding_date': '05.09.2018',
 'seeding_date_type': '333 days before harvest',
 'standard_moisture': 9,
 'year': 2019,
 'yield_ground_truth': 2.946,
 'yieldmap_quality': 'Good'}

Weather Data¶

For each field, the raw release includes a daily weather table. The Germany example below visualizes mean, minimum, and maximum temperature together with total precipitation.

In [11]:
weather_path = field_root / "weather" / f"{FIELD_ID}.csv"
weather_df = pd.read_csv(weather_path, parse_dates=["Date"])

s2_files = sorted((field_root / "s2_images").glob("*.tif"))
scl_files = sorted((field_root / "scl_masks").glob("*.tif"))
yield_mask_path = field_root / "yield_masks" / "mean_scaled_yield_masked_regional_statistical_outlier.tif"
yield_mask = open_raster(yield_mask_path)

print(f"Weather rows: {len(weather_df)}")
print(f"Weather date range: {weather_df['Date'].min().date()} -> {weather_df['Date'].max().date()}")
print(f"Sentinel-2 acquisitions: {len(s2_files)}")
print(f"SCL masks: {len(scl_files)}")
print(f"S2 and SCL filenames are date-aligned: {[p.name.replace('S2_L2A_', '') for p in s2_files] == [p.name.replace('S2_L2A_SCL_', '') for p in scl_files]}")

weather_view = weather_df[["Date", "Temp_mean", "Temp_max", "Temp_min", "Total_prec"]].copy()
weather_view["Temp_mean"] = weather_view["Temp_mean"] - 273.15
weather_view["Temp_max"] = weather_view["Temp_max"] - 273.15
weather_view["Temp_min"] = weather_view["Temp_min"] - 273.15
weather_view["Total_prec"] = weather_view["Total_prec"] * 1000
weather_view.head()
Weather rows: 455
Weather date range: 2018-07-07 -> 2019-10-04
Sentinel-2 acquisitions: 64
SCL masks: 64
S2 and SCL filenames are date-aligned: True
Out[11]:
Date Temp_mean Temp_max Temp_min Total_prec
0 2018-07-07 17.71353 22.06265 12.18447 0.000000
1 2018-07-08 19.99105 24.06460 15.70327 1.900673
2 2018-07-09 16.68777 19.45327 13.68105 0.395775
3 2018-07-10 15.63190 18.38223 11.48390 1.466751
4 2018-07-11 16.93002 18.11917 15.71572 28.768540
In [12]:
fig, ax1 = plt.subplots(figsize=(18, 4))

ax1.plot(weather_view["Date"], weather_view["Temp_mean"], c="tab:red", linewidth=2.5, label="Mean temperature (C)")
ax1.fill_between(
    weather_view["Date"],
    weather_view["Temp_min"],
    weather_view["Temp_max"],
    color="tab:red",
    alpha=0.25,
    label="Temperature range",
)
ax1.set_xlabel("Date")
ax1.set_ylabel("Temperature (C)", color="tab:red")
ax1.tick_params(axis="y", labelcolor="tab:red")

ax2 = ax1.twinx()
ax2.plot(weather_view["Date"], weather_view["Total_prec"], c="tab:blue", linewidth=2.0, label="Total precipitation (mm)")
ax2.set_ylabel("Precipitation (mm)", color="tab:blue")
ax2.tick_params(axis="y", labelcolor="tab:blue")

lines = ax1.get_lines() + ax2.get_lines()
labels = [line.get_label() for line in lines]
ax1.legend(lines, labels, loc="upper right")
ax1.set_title("Weather time series")
plt.tight_layout()
plt.show()

Multispectral Sentinel-2 Time Series¶

The raw field folder stores the acquisition-level Sentinel-2 imagery. The panel below shows a subsampled RGB time series together with the yield mask for reference.

In [13]:
s2_subset = s2_files[::4][:13]
fig, axs = plt.subplots(1, 14, figsize=(32, 32), sharex=True)

for ax in axs:
    ax.axis("off")
    ax.set_xticks([])
    ax.set_yticks([])

for j, s2_path in enumerate(s2_subset):
    s2_rgb = read_rgb(s2_path)
    axs[j].imshow(s2_rgb)
    axs[j].set_title(s2_path.stem[-8:], fontsize=9)

axs[-1].imshow(yield_mask, cmap="viridis")
axs[-1].set_title("Yield mask", fontsize=9)

plt.tight_layout()
plt.show()

print(f"Size of each S2 image in {FIELD_ID}: {s2_rgb.shape[0]} x {s2_rgb.shape[1]}")
Size of each S2 image in Germany_DUP3_farm5_field263_rapeseed_2019: 73 x 86

Topography: Digital Elevation Model Features¶

Each field includes five DEM-derived rasters aligned to the same grid as the Sentinel-2 imagery and yield mask.

In [14]:
dem_dir = field_root / "dem"
dem_paths = sorted(dem_dir.glob("*.tif"))
print([path.name for path in dem_paths])
['aspect-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'curvature-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'dem-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'slope-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'twi-Germany_DUP3_farm5_field263_rapeseed_2019.tif']
In [15]:
fig, axs = plt.subplots(1, 5, figsize=(16, 3.8))
dem_arrays = {}

for ax, dem_path in zip(axs, dem_paths):
    feature_name = dem_path.stem.split("-")[0]
    dem_array = open_raster(dem_path)
    dem_arrays[feature_name] = dem_array
    ax.imshow(dem_array)
    ax.set_title(feature_name)
    ax.axis("off")

plt.tight_layout()
plt.show()
print(f"Size of each DEM feature in {FIELD_ID}: {dem_arrays['dem'].shape[0]} x {dem_arrays['dem'].shape[1]}")
Size of each DEM feature in Germany_DUP3_farm5_field263_rapeseed_2019: 73 x 86

Soil Data¶

The soil folder contains eight static rasters aligned with the same field grid. The plot below reproduces the full set of soil layers in a compact 2 x 4 layout.

In [16]:
soil_dir = field_root / "soil"
soil_paths = sorted(soil_dir.glob("*.tif"))
print([path.name for path in soil_paths])
['cec_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'cfvo_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'clay_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'nitrogen_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'phh2o_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'sand_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'silt_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif', 'soc_0_200cm-Germany_DUP3_farm5_field263_rapeseed_2019.tif']
In [17]:
fig, axs = plt.subplots(2, 4, figsize=(10, 5))

cec_0_200cm = open_raster(soil_dir / f"cec_0_200cm-{FIELD_ID}.tif")
axs[0, 0].imshow(cec_0_200cm)
axs[0, 0].set_title("cec_0-5cm")

cfvo_0_200cm = open_raster(soil_dir / f"cfvo_0_200cm-{FIELD_ID}.tif")
axs[0, 1].imshow(cfvo_0_200cm)
axs[0, 1].set_title("cfvo_0-5cm")

clay_0_200cm = open_raster(soil_dir / f"clay_0_200cm-{FIELD_ID}.tif")
axs[0, 2].imshow(clay_0_200cm)
axs[0, 2].set_title("clay_0-5cm")

nitrogen_0_200cm = open_raster(soil_dir / f"nitrogen_0_200cm-{FIELD_ID}.tif")
axs[0, 3].imshow(nitrogen_0_200cm)
axs[0, 3].set_title("nitrogen_0-5cm")

phh2o_0_200cm = open_raster(soil_dir / f"phh2o_0_200cm-{FIELD_ID}.tif")
axs[1, 0].imshow(phh2o_0_200cm)
axs[1, 0].set_title("phh2o_0-5cm")

sand_0_200cm = open_raster(soil_dir / f"sand_0_200cm-{FIELD_ID}.tif")
axs[1, 1].imshow(sand_0_200cm)
axs[1, 1].set_title("sand_0-5cm")

silt_0_200cm = open_raster(soil_dir / f"silt_0_200cm-{FIELD_ID}.tif")
axs[1, 2].imshow(silt_0_200cm)
axs[1, 2].set_title("silt_0-5cm")

soc_0_200cm = open_raster(soil_dir / f"soc_0_200cm-{FIELD_ID}.tif")
axs[1, 3].imshow(soc_0_200cm)
axs[1, 3].set_title("soc_0-5cm")

for ax in axs.flat:
    ax.axis("off")

plt.tight_layout()
plt.show()
print(f"Size of each soil feature in {FIELD_ID}: {soc_0_200cm.shape[0]} x {soc_0_200cm.shape[1]}")
Size of each soil feature in Germany_DUP3_farm5_field263_rapeseed_2019: 73 x 86

4. Choosing the Right Format¶

Use preprocessed-24-ts/ when you want a standardized model-ready benchmark input.

Use original-preprocessed/ when you want to:

  • inspect the original field-level files,
  • work with full Sentinel-2 acquisition sequences and paired SCL masks,
  • access the raw weather CSV and static raster layers directly, or
  • build your own preprocessing and fusion pipeline.