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. Optional offsets allow gaps between the prediction point and observation windows.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | "framed_point_in_time" | yes | ||
lookbehind_observation | ObservationStrategy | no | null | Observation window preceding the prediction point. |
lookbehind_offset_days | integer (≥ 0) | no | null | Gap between end of lookbehind window and prediction point. |
lookahead_observation | ObservationStrategy | no | null | Observation window following the prediction point. |
lookahead_offset_days | integer (≥ 0) | no | null | Gap between prediction point and start of lookahead window. |
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 | map of string to RasterField | yes | ||
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 | map of string to VectorField | 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"
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_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, ≤ 12) | 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, ≤ 12) | 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 |
|---|---|---|---|---|
field_type | "segmentation" | yes | ||
allowed_values | array of ClassValue (min 2 items) | yes | ||
nodata_value | integer | yes | The value to use for nodata pixels. |
PerPixelRegressionField
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
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 | ||
nodata_value | number | yes | The value to use for nodata pixels. Respected for labeled training data and in inference outputs. |
ClassificationField
A field that represents vector-level classification
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
field_type | "classification" | yes | ||
allowed_values | array of ClassValue (min 2 items) | yes |
RegressionField
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
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 |
|---|---|---|---|---|
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 |