Data
The data key of the config.
Input/output data specification for an OlmoEarth model.
Describes the temporal strategy, remote-sensing modalities, and output schema that a model expects. Corresponds to the top-level data key in an olmoearth_config YAML file.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
temporality | Temporality | yes | ||
modalities | Modalities | yes | ||
output | Output | yes |
Temporality
One of the following, selected by its name field:
name | Type |
|---|---|
framed_point_in_time | FramedPointInTimeTemporality |
period | PeriodTemporality |
point_in_time | PointInTimeTemporality |
Modalities
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
sentinel2_l2a | Sentinel2L2A | no | null | |
sentinel1_rtc | Sentinel1RTC | no | null | |
landsat_8_9_c2_l1 | Landsat89C2L1 | no | null |
Output
One of the following, selected by its data_type field:
data_type | Type |
|---|---|
embeddings | EmbeddingOutput |
raster | RasterOutput |
vector | VectorOutput |
PeriodTemporality
Represents the duration of time we're making a prediction for. The observation window equals the prediction period. request.time_of_interest marks the start of the prediction and observation periods.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | "period" | yes | ||
observation | ObservationStrategy | yes | ||
allowed_start_month_constraints | array of Month | no | null | Months valid for starting this period. |
PointInTimeTemporality
Represents a specific instant we're making a prediction for. Uses a narrow symmetric window centered on request.time_of_interest to find imagery.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | "point_in_time" | yes | ||
observation_window_seconds | integer (≥ 1) | yes | Total time covered by the symmetric observation window centered on the prediction point. |
FramedPointInTimeTemporality
Represents a specific instant we're making a prediction for, with context from before and/or after. Each window contributes its own input layer, so a side may carry several at different resolutions.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | "framed_point_in_time" | yes | ||
lookbehind_observations | array of ObservationWindow | no | null | Observation windows preceding the prediction point. |
lookahead_observations | array of ObservationWindow | no | null | Observation windows following the prediction point. |
Sentinel2L2A
Sentinel-2 Level-2A surface reflectance imagery modality.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
sort_by | Sentinel2L2ASortBy | no | "cloud_cover" | The field to sort the data by. |
space_mode | SpaceMode | yes |
Sentinel1RTC
Sentinel-1 radiometrically terrain-corrected (RTC) imagery modality.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
orbit_direction | Sentinel1RTCOrbitDirection | no | null | The direction of the orbit. |
space_mode | SpaceMode | yes |
Landsat89C2L1
Landsat 8/9 Collection 2 Level-1 imagery modality.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
sort_by | Landsat89C2L1SortBy | no | "cloud_cover" | The field to sort the data by. |
space_mode | SpaceMode | yes |
RasterOutput
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
data_type | "raster" | yes | ||
fields | array of RasterField (min 1 items) | yes | Declared in band order: the first field is band 1, the second band 2, and so on. | |
max_pixels_per_dimension | integer (> 0) | no | 10000 | Maximum pixels per dimension when combining prediction tiles into the output GeoTIFF. Caps output resolution. |
VectorOutput
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
data_type | "vector" | yes | ||
fields | array of VectorField (min 1 items) | yes |
EmbeddingOutput
Embedding output.
Embeddings are always power-quantized to int8 (4x compression); the runner adds that value transform automatically. There is nothing to configure.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
data_type | "embeddings" | yes | ||
max_pixels_per_dimension | integer (> 0) | no | 10000 | Maximum pixels per dimension when combining embedding tiles into the output GeoTIFF. Caps output resolution. |
ObservationStrategy
One of the following, selected by its name field:
name | Type |
|---|---|
repeating_interval | RepeatingIntervalObservation |
sampled | SampledObservation |
Month
Allowed values: "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
ObservationWindow
One observation window, offset from the prediction point.
Several windows on the same side let a model see one stretch of time at more than one resolution -- coarse periods for the distant past, fine ones for the recent past. They reach the encoder in list order, and their generated layer names follow that order too.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
observation | ObservationStrategy | yes | ||
offset_days | integer (≥ 0) | no | 0 | Gap between this window and the prediction point. For a lookbehind the window ends this many days before the point; for a lookahead it starts this many after. |
Sentinel2L2ASortBy
Allowed values: "cloud_cover"
SpaceMode
How to build up or sample imagery.
Allowed values: "mosaic", "contains"
Sentinel1RTCOrbitDirection
Allowed values: "ascending_orbit", "descending_orbit"
Landsat89C2L1SortBy
Allowed values: "cloud_cover"
RasterField
One of the following, selected by its field_type field:
field_type | Type |
|---|---|
per_pixel_date | PerPixelDateField |
per_pixel_regression | PerPixelRegressionField |
segmentation | SegmentationField |
VectorField
One of the following, selected by its field_type field:
field_type | Type |
|---|---|
classification | ClassificationField |
detection | DetectionField |
regression | RegressionField |
SampledObservation
Collect discrete snapshots within a window.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | "sampled" | yes | ||
duration_days | integer (≥ 1) | yes | The observation window duration. | |
num_samples | integer (≥ 1, ≤ 16) | yes | Number of samples to collect. |
RepeatingIntervalObservation
Divide window into fixed sub-periods, one observation (mosaic or snapshot) per period.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | "repeating_interval" | yes | ||
num_periods | integer (≥ 1, ≤ 16) | yes | Number of intervals. | |
period_duration_days | integer (≥ 1) | yes | Duration of each interval. | |
recovery_periods | integer (≥ 0) | no | 0 | Extra periods to search beyond num_periods as fallback for periods lacking satellite coverage. Extends the search window by recovery_periods * period_duration_days. For PeriodTemporality and lookbehind observations, recovery extends backward from the primary window (rslearn prefers primary periods, uses recovery as last resort). Not currently supported on lookahead observations due to rslearn's backward search strategy which would incorrectly prefer recovery periods over primary ones. |
reverse_chronological | boolean | no | null | Deprecated. Use only if you need to preserve old rslearn behavior of loading periods in reverse chronological order to the model. |
SegmentationField
A field that represents per-pixel classification
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (min length 1) | yes | Identifies the field, and matches the model.tasks key that produces it | |
field_type | "segmentation" | yes | ||
allowed_values | array of ClassValue (min 2 items) | yes |
PerPixelRegressionField
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (min length 1) | yes | Identifies the field, and matches the model.tasks key that produces it | |
min_value | number | yes | Minimum possible value for this field | |
max_value | number | yes | Maximum possible value for this field | |
colormap_name | string | no | "viridis" | Name of the rio_tiler colormap to use, see https://cogeotiff.github.io/rio-tiler/colormap/#default-rio-tilers-colormaps |
field_type | "per_pixel_regression" | yes |
PerPixelDateField
A per-pixel calendar date, stored as whole days since 1970-01-01 in a uint16 band.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (min length 1) | yes | Identifies the field, and matches the model.tasks key that produces it | |
field_type | "per_pixel_date" | yes |
ClassificationField
A field that represents vector-level classification
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (min length 1) | yes | Identifies the field, and matches the model.tasks key that produces it | |
field_type | "classification" | yes | ||
allowed_values | array of ClassValue (min 2 items) | yes |
RegressionField
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (min length 1) | yes | Identifies the field, and matches the model.tasks key that produces it | |
min_value | number | yes | Minimum possible value for this field | |
max_value | number | yes | Maximum possible value for this field | |
colormap_name | string | no | "viridis" | Name of the rio_tiler colormap to use, see https://cogeotiff.github.io/rio-tiler/colormap/#default-rio-tilers-colormaps |
field_type | "regression" | yes |
DetectionField
A field that represents the classes for detected objects.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (min length 1) | yes | Identifies the field, and matches the model.tasks key that produces it | |
field_type | "detection" | yes | ||
detectable_object_classes | array of ClassValue | yes |
ClassValue
A class value for vector classification, with an integer class index.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value | integer (≥ 0) | yes | The integer class index (used as the value in GeoJSON label properties) | |
label | string | yes | The human-readable class name | |
color | array or array | yes | The RGB(A) color for this value |