Skip to main content

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.

FieldTypeRequiredDefaultDescription
temporalityTemporalityyes
modalitiesModalitiesyes
outputOutputyes

Temporality

One of the following, selected by its name field:

nameType
framed_point_in_timeFramedPointInTimeTemporality
periodPeriodTemporality
point_in_timePointInTimeTemporality

Modalities

FieldTypeRequiredDefaultDescription
sentinel2_l2aSentinel2L2Anonull
sentinel1_rtcSentinel1RTCnonull
landsat_8_9_c2_l1Landsat89C2L1nonull

Output

One of the following, selected by its data_type field:

data_typeType
embeddingsEmbeddingOutput
rasterRasterOutput
vectorVectorOutput

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.

FieldTypeRequiredDefaultDescription
name"period"yes
observationObservationStrategyyes
allowed_start_month_constraintsarray of MonthnonullMonths 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.

FieldTypeRequiredDefaultDescription
name"point_in_time"yes
observation_window_secondsinteger (≥ 1)yesTotal 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.

FieldTypeRequiredDefaultDescription
name"framed_point_in_time"yes
lookbehind_observationObservationStrategynonullObservation window preceding the prediction point.
lookbehind_offset_daysinteger (≥ 0)nonullGap between end of lookbehind window and prediction point.
lookahead_observationObservationStrategynonullObservation window following the prediction point.
lookahead_offset_daysinteger (≥ 0)nonullGap between prediction point and start of lookahead window.

Sentinel2L2A

Sentinel-2 Level-2A surface reflectance imagery modality.

FieldTypeRequiredDefaultDescription
sort_bySentinel2L2ASortByno"cloud_cover"The field to sort the data by.
space_modeSpaceModeyes

Sentinel1RTC

Sentinel-1 radiometrically terrain-corrected (RTC) imagery modality.

FieldTypeRequiredDefaultDescription
orbit_directionSentinel1RTCOrbitDirectionnonullThe direction of the orbit.
space_modeSpaceModeyes

Landsat89C2L1

Landsat 8/9 Collection 2 Level-1 imagery modality.

FieldTypeRequiredDefaultDescription
sort_byLandsat89C2L1SortByno"cloud_cover"The field to sort the data by.
space_modeSpaceModeyes

RasterOutput

FieldTypeRequiredDefaultDescription
data_type"raster"yes
fieldsmap of string to RasterFieldyes
max_pixels_per_dimensioninteger (> 0)no10000Maximum pixels per dimension when combining prediction tiles into the output GeoTIFF. Caps output resolution.

VectorOutput

FieldTypeRequiredDefaultDescription
data_type"vector"yes
fieldsmap of string to VectorFieldyes

EmbeddingOutput

Embedding output.

Embeddings are always power-quantized to int8 (4x compression); the runner adds that value transform automatically. There is nothing to configure.

FieldTypeRequiredDefaultDescription
data_type"embeddings"yes
max_pixels_per_dimensioninteger (> 0)no10000Maximum pixels per dimension when combining embedding tiles into the output GeoTIFF. Caps output resolution.

ObservationStrategy

One of the following, selected by its name field:

nameType
repeating_intervalRepeatingIntervalObservation
sampledSampledObservation

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_typeType
per_pixel_regressionPerPixelRegressionField
segmentationSegmentationField

VectorField

One of the following, selected by its field_type field:

field_typeType
classificationClassificationField
detectionDetectionField
regressionRegressionField

SampledObservation

Collect discrete snapshots within a window.

FieldTypeRequiredDefaultDescription
name"sampled"yes
duration_daysinteger (≥ 1)yesThe observation window duration.
num_samplesinteger (≥ 1, ≤ 12)yesNumber of samples to collect.

RepeatingIntervalObservation

Divide window into fixed sub-periods, one observation (mosaic or snapshot) per period.

FieldTypeRequiredDefaultDescription
name"repeating_interval"yes
num_periodsinteger (≥ 1, ≤ 12)yesNumber of intervals.
period_duration_daysinteger (≥ 1)yesDuration of each interval.
recovery_periodsinteger (≥ 0)no0Extra 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_chronologicalbooleannonullDeprecated. 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

FieldTypeRequiredDefaultDescription
field_type"segmentation"yes
allowed_valuesarray of ClassValue (min 2 items)yes
nodata_valueintegeryesThe value to use for nodata pixels.

PerPixelRegressionField

FieldTypeRequiredDefaultDescription
min_valuenumberyesMinimum possible value for this field
max_valuenumberyesMaximum possible value for this field
colormap_namestringno"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_valuenumberyesThe value to use for nodata pixels. Respected for labeled training data and in inference outputs.

ClassificationField

A field that represents vector-level classification

FieldTypeRequiredDefaultDescription
field_type"classification"yes
allowed_valuesarray of ClassValue (min 2 items)yes

RegressionField

FieldTypeRequiredDefaultDescription
min_valuenumberyesMinimum possible value for this field
max_valuenumberyesMaximum possible value for this field
colormap_namestringno"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.

FieldTypeRequiredDefaultDescription
field_type"detection"yes
detectable_object_classesarray of ClassValueyes

ClassValue

A class value for vector classification, with an integer class index.

FieldTypeRequiredDefaultDescription
valueinteger (≥ 0)yesThe integer class index (used as the value in GeoJSON label properties)
labelstringyesThe human-readable class name
colorarray or arrayyesThe RGB(A) color for this value