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. Each window contributes its own input layer, so a side may carry several at different resolutions.

FieldTypeRequiredDefaultDescription
name"framed_point_in_time"yes
lookbehind_observationsarray of ObservationWindownonullObservation windows preceding the prediction point.
lookahead_observationsarray of ObservationWindownonullObservation windows following the prediction point.

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
fieldsarray of RasterField (min 1 items)yesDeclared in band order: the first field is band 1, the second band 2, and so on.
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
fieldsarray 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.

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"

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.

FieldTypeRequiredDefaultDescription
observationObservationStrategyyes
offset_daysinteger (≥ 0)no0Gap 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_typeType
per_pixel_datePerPixelDateField
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, ≤ 16)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, ≤ 16)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
namestring (min length 1)yesIdentifies the field, and matches the model.tasks key that produces it
field_type"segmentation"yes
allowed_valuesarray of ClassValue (min 2 items)yes

PerPixelRegressionField​

FieldTypeRequiredDefaultDescription
namestring (min length 1)yesIdentifies the field, and matches the model.tasks key that produces it
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

PerPixelDateField​

A per-pixel calendar date, stored as whole days since 1970-01-01 in a uint16 band.

FieldTypeRequiredDefaultDescription
namestring (min length 1)yesIdentifies 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

FieldTypeRequiredDefaultDescription
namestring (min length 1)yesIdentifies the field, and matches the model.tasks key that produces it
field_type"classification"yes
allowed_valuesarray of ClassValue (min 2 items)yes

RegressionField​

FieldTypeRequiredDefaultDescription
namestring (min length 1)yesIdentifies the field, and matches the model.tasks key that produces it
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
namestring (min length 1)yesIdentifies the field, and matches the model.tasks key that produces it
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