Skip to content

em27_metadata.toml Reference

The em27_metadata.toml file describes the EM27/SUN instruments in a network, their measurement locations and deployments, and optional campaigns and events.

Example:

# LOCATIONS
[[locations]]
location_id = "lid1"
details = "description of location 1"
lon = 10.5
lat = 48.1
alt_asl = 500.0
[[locations]]
location_id = "lid2"
details = "description of location 2"
lon = 11.3
lat = 48.0
alt_asl = 600.0
# SENSORS
[[sensors]]
sensor_id = "sid1"
serial_number = 50
deployments = [
{ from_datetime = "2020-08-22T00:00:00+0000", to_datetime = "2020-08-25T23:59:59+0000", location_id = "lid1", pressure_data_source = "LMU-MIM01-height-adjusted", utc_offset = 2.0, atmospheric_profile_location_id = "lid2" },
{ from_datetime = "2020-08-26T00:00:00+0000", to_datetime = "2020-08-30T23:59:59+0000", location_id = "lid1", pressure_data_source = "LMU-MIM01-height-adjusted", utc_offset = 2.0 },
{ from_datetime = "2020-08-31T00:00:00+0000", to_datetime = "2020-09-26T23:59:59+0000", location_id = "lid1", utc_offset = 2.0 },
{ from_datetime = "2020-09-27T00:00:00+0000", to_datetime = "2020-10-01T23:59:59+0000", location_id = "lid2", utc_offset = 0.0 },
]
[[sensors]]
sensor_id = "sid2"
serial_number = 51
deployments = [
{ from_datetime = "2020-08-26T00:00:00+0000", to_datetime = "2020-10-01T23:59:59+0000", location_id = "lid1", utc_offset = 0.0 },
]
# CAMPAIGNS
[[campaigns]]
from_datetime = "2019-09-13T00:00:00+0000"
to_datetime = "2100-01-01T23:59:59+0000"
campaign_id = "cid1"
sensor_ids = [ "sid1", "sid2" ]
location_ids = [ "lid1", "lid2" ]
# EVENTS
[[events]]
from_datetime = "2024-06-24T10:30:00+0000"
to_datetime = "2024-06-24T11:29:59+0000"
sensor_ids = [ "sid1", "sid2" ]
description = "Mirror Change - Sensors have to be recalibrated"
data_is_usable = false
[[events]]
from_datetime = "2025-08-24T10:30:00+0000"
to_datetime = "2025-08-24T17:29:59+0000"
sensor_ids = [ "sid1" ]
description = "ILS Measurements"
data_is_usable = false

Definition of a measurement location at which an EM27/SUN was positioned.
location_id
[string]
* required

Your internal location ID identifying a specific location. Allowed values: letters, numbers, dashes, underscores.

Regex Pattern: "^[a-zA-Z0-9_-]+$"

Min. Length: 1

Max. Length: 128

details
[string]

Default: ""

Min. Length: 0

lon
[number]
* required

Minimum: -180

Maximum: 180

lat
[number]
* required

Minimum: -90

Maximum: 90

alt_asl
[number]
* required

Minimum: -20

Maximum: 10000



Metadata for a single sensor. Where has an EM27/SUN instrument been deployed over the years? Which UTC offsets did it record data in? For each deployment, should we use the atmospheric profiles from a different location or the pressure data from a different source?
sensor_id
[string]
* required

Your internal sensor ID identifying a specific EM27/SUN (system). Allowed characters: letters, numbers, dashes, underscores.

Regex Pattern: "^[a-zA-Z0-9_-]+$"

Min. Length: 1

Max. Length: 128

serial_number
[integer]
* required

Serial number of the EM27/SUN

Minimum: 1

deployments
[array]
* required

List of deployments of this EM27/SUN system over time.

Min. Items: 0


A sensor deployment that applies during a specific time range.
from_datetime
[string]
* required

Datetime in format `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS[+-]HHMM`.

Regex Pattern: "^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{4})$"

to_datetime
[string]
* required

Datetime in format `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS[+-]HHMM`.

Regex Pattern: "^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{4})$"

location_id
[string]
* required

Location ID referring to a location named in `locations.json`

Min. Length: 1

pressure_data_source
[string]

Pressure data source, if not set, using the pressure of the sensor

Default: null

Min. Length: 1

utc_offset
[number]

UTC offset of the location, if not set, using an offset of 0

Default: 0

atmospheric_profile_location_id
[string]

Location ID referring to a location named in `locations.json`. This location's coordinates are used for the atmospheric profiles in the retrieval.

Default: null

Min. Length: 1



Can be used to group measurements together, e.g. "Hamburg Campaign". The campaigns will be included in the dataset bundles in the column `campaign_ids`.
from_datetime
[string]
* required

Datetime in format `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS[+-]HHMM`.

Regex Pattern: "^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{4})$"

to_datetime
[string]
* required

Datetime in format `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS[+-]HHMM`.

Regex Pattern: "^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{4})$"

campaign_id
[string]
* required

Your internal sensor ID identifying a specific campaign. Allowed values: letters, numbers, dashes, underscores.

Regex Pattern: "^[a-zA-Z0-9_-]+$"

Min. Length: 1

Max. Length: 128

sensor_ids
[array]
* required

List of sensor IDs involved in the campaign

Min. Items: 1

location_ids
[array]
* required

List of location IDs involved in the campaign

Min. Items: 1



Can be used to mark special events during measurements, e.g. "Testing New Solar Tracker". You can mark that the data during an event should not be used in downstream tasks. The dataset bundles will include the columns `event_description` and `event_data_quality_flag` (0 = good data, 1 = should not be used because of an event).
from_datetime
[string]
* required

Datetime in format `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS[+-]HHMM`.

Regex Pattern: "^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{4})$"

to_datetime
[string]
* required

Datetime in format `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS[+-]HHMM`.

Regex Pattern: "^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{4})$"

sensor_ids
[array]
* required

List of sensor IDs involved in the event

Min. Items: 1

description
[string]
* required

Description of the event

Min. Length: 1

data_is_usable
[boolean]
* required

Indicates if the data recorded during the event is usable for downstream analysis