Metadata
Measurement Locations
Stored in the config/locations.json file, or in a GitHub repository.
Reference
root (array)
Key Schema:
# (object)
location_id * (string)
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)
Min. Length: 0
Default: ""
lon * (number)
Minimum: -180
Maximum: 180
lat * (number)
Minimum: -90
Maximum: 90
alt * (number)
Minimum: -20
Maximum: 10000
Example
[ { "location_id": "lid1", "details": "description of location 1", "lon": 10.5, "lat": 48.1, "alt": 500.0 }, { "location_id": "lid2", "details": "description of location 2", "lon": 11.3, "lat": 48.0, "alt": 600.0 }]Sensor Deployments
Stored in the config/sensors.json file, or in a GitHub repository.
Reference
root (array)
Key Schema:
# (object)
Metadata for a single sensor.
sensor_id * (string)
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)
Serial number of the EM27/SUN
Minimum: 1
setups * (array)
Min. Items: 0
Key Schema:
# (object)
An element in the `sensor.setups` list
from_datetime * (string)
to_datetime * (string)
value * (object)
location_id * (string)
Location ID referring to a location named in `locations.json`
Min. Length: 1
pressure_data_source (union)
Pressure data source, if not set, using the pressure of the sensor
Default: null
Options:
#1 (string)
Min. Length: 1
#2 (null)
utc_offset (number)
UTC offset of the location, if not set, using an offset of 0
Default: 0
atmospheric_profile_location_id (union)
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
Options:
#1 (string)
Min. Length: 1
#2 (null)
calibration_factors (array)
Default: []
Key Schema:
Example
[ { "sensor_id": "sid1", "serial_number": 50, "setups": [ { "from_datetime": "2020-08-22T00:00:00+00:00", "to_datetime": "2020-08-25T23:59:59+00:00", "value": { "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+00:00", "to_datetime": "2020-08-30T23:59:59+00:00", "value": { "location_id": "lid1", "pressure_data_source": "LMU-MIM01-height-adjusted", "utc_offset": 2.0, "atmospheric_profile_location_id": null } }, { "from_datetime": "2020-08-31T00:00:00+00:00", "to_datetime": "2020-09-26T23:59:59+00:00", "value": { "location_id": "lid1", "pressure_data_source": null, "utc_offset": 2.0, "atmospheric_profile_location_id": null } }, { "from_datetime": "2020-09-27T00:00:00+00:00", "to_datetime": "2020-10-01T23:59:59+00:00", "value": { "location_id": "lid2", "pressure_data_source": null, "utc_offset": 0.0, "atmospheric_profile_location_id": null } } ] }, { "sensor_id": "sid2", "serial_number": 51, "setups": [ { "from_datetime": "2020-08-26T00:00:00+00:00", "to_datetime": "2020-10-01T23:59:59+00:00", "value": { "location_id": "lid1", "pressure_data_source": null, "utc_offset": 0.0, "atmospheric_profile_location_id": null } } ] }]Measurement Campaigns
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.
Stored in the config/campaigns.json file, or in a GitHub repository.
Reference
root (array)
Default: []
Key Schema:
# (object)
from_datetime * (string)
to_datetime * (string)
campaign_id * (string)
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)
Key Schema:
# (string)
location_ids * (array)
Key Schema:
# (string)
Example
[ { "from_datetime": "2019-09-13T00:00:00+00:00", "to_datetime": "2100-01-01T23:59:59+00:00", "campaign_id": "cid1", "sensor_ids": [ "sid1", "sid2" ], "location_ids": [ "lid1", "lid2" ] }]Events
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).
Stored in the config/events.json file, or in a GitHub repository.
Reference
root (array)
Key Schema:
# (object)
from_datetime * (string)
to_datetime * (string)
sensor_ids * (array)
List of sensor IDs involved in the event
Min. Items: 1
Key Schema:
# (string)
description * (string)
Description of the event
Min. Length: 1
data_is_usable * (boolean)
Indicates if the data recorded during the event is usable for downstream analysis
Example
[ { "from_datetime": "2024-06-24T10:30:00+00:00", "to_datetime": "2024-06-24T11:29:59+00:00", "sensor_ids": [ "sid1", "sid2" ], "description": "Mirror Change - Sensors have to be recalibrated", "data_is_usable": false }, { "from_datetime": "2025-08-24T10:30:00+00:00", "to_datetime": "2025-08-24T17:29:59+00:00", "sensor_ids": [ "sid1" ], "description": "ILS Measurements", "data_is_usable": false }]