JSON schema for Cervello units with 1.18.3+
{
"file": {
"date": "20231130000000",
"version": "3.3.0",
"schema": "0011713",
"customer": "RBR"
},
"controller": {
"deep_sleep": {
"enabled": false,
"schedule_period": 3600
},
"clock_sync_timeout": 43200,
"diagnostics_period": 600,
"diagnostics_processing": [
{
"subset": "diagnostics",
"channel": [
{
"key": "bint01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
},
{
"key": "bext01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
},
{
"key": "clk_00",
"transmit": false,
"min": 946684800000.0,
"max": 2145916800000.0,
"res": 1
},
{
"key": "time00",
"transmit": false,
"min": 946684800000.0,
"max": 2145916800000.0,
"res": 1
},
{
"key": "temp46",
"transmit": true,
"min": -20,
"max": 100,
"res": 0.1
},
{
"key": "temp47",
"transmit": true,
"min": -20,
"max": 100,
"res": 0.1
},
{
"key": "baro06",
"transmit": true,
"min": 0,
"max": 15,
"res": 0.01
},
{
"key": "hum_01",
"transmit": true,
"min": 0,
"max": 100,
"res": 0.1
}
]
}
]
},
"gps": {
"enabled": true,
"period": 600,
"fix_timeout": 60,
"hdop_threshold": 1.5
},
"instrument": [
{
"enabled": true,
"label": "RBRconcerto",
"type": "RBR",
"config_file": "deployment01.json",
"port": 1,
"ssm": 999999,
"can_be_stopped": true,
"max_stopped_download_gap": 1382400,
"enforce_max_dataset_size": true,
"max_dataset_size": 1000000000,
"processing": [
{
"subset": "raw",
"channel": [
{
"key": "cond10",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "temp14",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "pres24",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
}
]
}
],
"diagnostics_period": 600,
"diagnostics_processing": [
{
"subset": "diagnostics",
"channel": [
{
"key": "bint01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
},
{
"key": "bext01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
}
]
}
]
},
{
"enabled": true,
"label": "Aquapro",
"type": "Aquadopp",
"config_file": "deployment02.json",
"port": 1,
"ssm": 205558,
"diagnostics_period": 600,
"can_be_stopped": true,
"max_stopped_download_gap": 1382400,
"enforce_max_dataset_size": true,
"max_dataset_size": 1000000000,
"processing": [
{
"subset": "raw",
"channel": [
{
"key": "n_an01",
"transmit": true,
"min": 0.0,
"max": 65535.0,
"res": 1
},
{
"key": "n_bt01",
"transmit": true,
"min": 5.0,
"max": 15.0,
"res": 0.1
},
{
"key": "n_ss01",
"transmit": true,
"min": 1400.0,
"max": 1600.0,
"res": 0.1
},
{
"key": "n_hd01",
"transmit": true,
"min": -360.0,
"max": 360.0,
"res": 0.1
},
{
"key": "n_pt01",
"transmit": true,
"min": -360.0,
"max": 360.0,
"res": 0.1
},
{
"key": "n_rl01",
"transmit": true,
"min": -360.0,
"max": 360.0,
"res": 0.1
},
{
"key": "n_pr01",
"transmit": true,
"min": -10.0,
"max": 1500.0,
"res": 0.001
},
{
"key": "n_tm01",
"transmit": true,
"min": -10.0,
"max": 40.0,
"res": 0.01
},
{
"key": "n_vl01",
"transmit": true,
"min": -1.0,
"max": 1.0,
"res": 1
},
{
"key": "n_ap01",
"transmit": true,
"min": 0.0,
"max": 255.0,
"res": 1
}
]
}
]
},
{
"enabled": true,
"label": "Weather Station",
"type": "NMEA",
"config_file": "deployment03.json",
"port": 2,
"ssm": 0,
"burst": {
"burst_interval": 3600,
"burst_time": 480
},
"processing": [
{
"subset": "raw",
"channel": [
{
"key": "wspd00",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "wdir00",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "baro98",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "tair00",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "wdir00",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
}
]
},
{
"subset": "weather",
"channel": [
{
"key": "wdir03",
"post_processing": {
"parameters": [],
"raw_channels": [
4,
0
]
},
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "wspd02",
"post_processing": {
"parameters": [],
"raw_channels": [
1,
2
]
},
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "wgst01",
"post_processing": {
"parameters": [
5
],
"raw_channels": [
0
]
},
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "baro99",
"post_processing": {
"parameters": [],
"raw_channels": [
2
]
},
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "tair02",
"post_processing": {
"parameters": [],
"raw_channels": [
3
]
},
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
}
]
}
]
}
],
"processing": {
"time_series": true,
"differential_encoding": true,
"diagnostics": true
},
"telemetry": {
"enabled": true,
"force_period": 3600,
"preheat_timeout": 300,
"telemetry_timeout": 300,
"controller_trigger_enabled": false,
"schedule_trigger": {
"enabled": true,
"period": 1800
},
"pressure_trigger": {
"enabled": false,
"arming_pressure": 50,
"engage_pressure": 20,
"telemetry_pressure": 10
},
"no_attempt_window": 900,
"mode": [
"gsm",
"rudics"
],
"gsm": {
"failures_before_unavailable": 3,
"retry_period": 7200,
"apn": "auto",
"destination": "dataincoming.rbr-global.com:9140"
},
"rudics": {
"failures_before_unavailable": 3,
"retry_period": 7200,
"dial": "00881600005385"
}
}
}
{
"file": {
"date": "20231130000000",
"version": "3.3.0",
"schema": "0011713",
"customer": "RBR"
},
"controller": {
"deep_sleep": {
"enabled": false,
"schedule_period": 3600
},
"clock_sync_timeout": 43200,
"diagnostics_period": 600,
"diagnostics_processing": [
{
"subset": "diagnostics",
"channel": [
{
"key": "bint01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
},
{
"key": "bext01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
},
{
"key": "clk_00",
"transmit": false,
"min": 946684800000.0,
"max": 2145916800000.0,
"res": 1
},
{
"key": "time00",
"transmit": false,
"min": 946684800000.0,
"max": 2145916800000.0,
"res": 1
},
{
"key": "temp46",
"transmit": true,
"min": -20,
"max": 100,
"res": 0.1
},
{
"key": "temp47",
"transmit": true,
"min": -20,
"max": 100,
"res": 0.1
},
{
"key": "baro06",
"transmit": true,
"min": 0,
"max": 15,
"res": 0.01
},
{
"key": "hum_01",
"transmit": true,
"min": 0,
"max": 100,
"res": 0.1
}
]
}
]
},
"gps": {
"enabled": true,
"period": 600,
"fix_timeout": 60,
"hdop_threshold": 1.5
},
"instrument": [
{
"enabled": true,
"label": "RBRconcerto",
"type": "RBR",
"config_file": "deployment01.json",
"port": 1,
"ssm": 999999,
"can_be_stopped": true,
"max_stopped_download_gap": 1382400,
"enforce_max_dataset_size": true,
"max_dataset_size": 1000000000,
"processing": [
{
"subset": "raw",
"channel": [
{
"key": "cond10",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "temp14",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
},
{
"key": "pres24",
"transmit": true,
"min": 0.0,
"max": 150.0,
"res": 0.0001
}
]
}
],
"diagnostics_period": 600,
"diagnostics_processing": [
{
"subset": "diagnostics",
"channel": [
{
"key": "bint01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
},
{
"key": "bext01",
"transmit": true,
"min": 0.0,
"max": 25.0,
"res": 0.01
}
]
}
]
}
],
"processing": {
"time_series": true,
"differential_encoding": true,
"diagnostics": true
},
"telemetry": {
"enabled": true,
"force_period": 3600,
"preheat_timeout": 300,
"telemetry_timeout": 300,
"controller_trigger_enabled": false,
"schedule_trigger": {
"enabled": true,
"period": 1800
},
"pressure_trigger": {
"enabled": false,
"arming_pressure": 50,
"engage_pressure": 20,
"telemetry_pressure": 10
},
"no_attempt_window": 900,
"mode": [
"gsm",
"rudics"
],
"gsm": {
"failures_before_unavailable": 3,
"retry_period": 7200,
"apn": "auto",
"destination": "dataincoming.rbr-global.com:9140"
},
"rudics": {
"failures_before_unavailable": 3,
"retry_period": 7200,
"dial": "00881600005385"
}
}
}
Information about the JSON file
No Additional PropertiesDate of modification of the file.
Must match regular expression:[0-9]{4}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(2[0-3]|[01][0-9])[0-5][0-9]
Must be at least 14
characters long
Must be at most 14
characters long
Schema version it complies to
Specific value:"3.3.0"
Schema part number it complies to
Customer identifier
Settings for the Cervello behaviour
No Additional PropertiesHow frequently to read data from the data controller's diagnostic sensors.
Value must be greater or equal to 60
and lesser or equal to 86400
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether the data controller should enter deep sleep whenever it's finished downloading from the logger.
Schedule period for downloading data.
Value must be greater or equal to 0
The number of seconds allowed to pass after setting the flag for the instrument sync to happen.
Value must be greater or equal to 60
and lesser or equal to 86400
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"diagnostics"
Name of the channels' subset
Must match regular expression:^[a-zA-Z0-9]*$
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether this channel should be processed for inclusion in transmission.
Channel key according to RBR's channels.
Must match regular expression:^[a-zA-Z_]{4}[0-9]{2}$
Minimum of the value. Used when differential_encoding is enabled.
Maximum of the value. Used when differential_encoding is enabled.
Resolution of the value. Used when differential_encoding is enabled.
Properties of the derived or processed channel.
No Additional PropertiesParameters required by the algorithm.
Input channels of the algorithm.
Value must be greater or equal to 0
Settings for the GPS behaviour
No Additional PropertiesIf the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether position retrieval via GPS is enabled.
How frequently to look for new GPS coordinates.
Value must be greater or equal to 300
and lesser or equal to 86400
How long to wait for a GPS fix.
Value must be greater or equal to 60
and lesser or equal to 240
The maximum permissible HDOP for a GPS sample.
Value must be greater or equal to 1.0
and lesser or equal to 3.5
Settings for the Data Processor global behaviour.
No Additional PropertiesIf the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
true
Whether time-series data should be relayed over the data link.
Whether time-series data should be differentially-encoded.
Whether diagnostic data (GPS readings, battery levels) should be relayed over the data link
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether telemetry is enabled or not.
How frequently to power up the modem even in the absence of new data (to send a heartbeat and check for diagnostic tasks)
Value must be greater or equal to 600
and lesser or equal to 86400
Maximum time for waiting in preheat state.
Maximum time for waiting in publising without success.
Whether loggercontroller finished trigger is enabled.
Settings for scheduled telemetry.
No Additional PropertiesIf the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Telemetry schedule period.
For profiling applications, allows the Cervello to trigger telemetry on ascent based on data from an attached logger. Cycles through: 'armed' (on descent) > 'engaged' (preheat, on ascent) > 'idle' (telemetering, on final ascent and at surface)).
No Additional PropertiesIf the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Pressure in dbar at which it should arm the trigger on descent. 'armingpressure' must be greater (deeper) than 'engagepressure'.
Value must be greater or equal to 10
Pressure in dbar at which it should engage preheat on ascent. 'engagepressure' must be greater (deeper) than 'telemetrypressure' and less than 'arming_pressure'.
Value must be greater or equal to 10
Pressure in dbar at which it should trigger publishing on ascent. 'telemetrypressure' must be less than 'engagepressure'.
Value must be greater or equal to 10
Period in which no telemetry will be attempted after a successful session.
The transmission mode: gsm, rudics, nop. Multiple modes may be specified in order of preference.
Must contain a minimum of 1
items
All items must be unique
After the mode has become unavailable, wait this long between checks to see whether it's available again.
Value must be greater or equal to 600
and lesser or equal to 86400
The cellular provider access point name (APN).
"auto"
^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
The destination for outgoing data messages sent over GSM.
Must match regular expression:^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\:[0-9]{2,6}$
After the mode has become unavailable, wait this long between checks to see whether it's available again.
Value must be greater or equal to 600
and lesser or equal to 86400
The Iridium number to dial for RUDICS.
Must match regular expression:^[0-9]{13,15}$
Array with each Logger's specific controller settings.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
Whether communication with/downloading from a data logger is enabled.
Human readable descriptor of the specific unit (eg. Bottom CTD)
Type of logger, defines driver to be used.
Configuration file for this instrument. If not specified it will default to deploymentXX.json
Must match regular expression:^[a-zA-Z0-9-_]+\.json$
"deployment01.json"
"ice_CTD_01.json"
Port number to which it is connected
Value must be greater or equal to 1
and lesser or equal to 6
If the logger is connected to the data controller via an MLM, the serial number of the SSM connected to the instrument.
Value must be greater or equal to 0
and lesser or equal to 999999
How frequently to read the logger's diagnostic sensor data.
Value must be greater or equal to 600
and lesser or equal to 86400
Whether the logger can be stopped and restarted when the configuration doesn't match the configuration stored in the Cervello.
If the difference between the amount of data stored on the data controller and recorded in logger memory exceeds this amount, the logger will be restarted immediately.
Value must be greater or equal to 0
and lesser or equal to 1073741824
Whether we should enforce a maximum dataset size. Useful for forcing the dataset to roll over in conjunction with the cervata.
The maximum permissible size of the dataset in logger memory. If it grows past this size, the logger should be restarted.
Value must be greater or equal to 0
and lesser or equal to 1073741824
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"raw"
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"NMEA"
Name of the channels' subset
Must match regular expression:^[a-zA-Z0-9]*$
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether this channel should be processed for inclusion in transmission.
Channel key according to RBR's channels.
Must match regular expression:^[a-zA-Z_]{4}[0-9]{2}$
Minimum of the value. Used when differential_encoding is enabled.
Maximum of the value. Used when differential_encoding is enabled.
Resolution of the value. Used when differential_encoding is enabled.
Properties of the derived or processed channel.
No Additional PropertiesParameters required by the algorithm.
Input channels of the algorithm.
Value must be greater or equal to 0
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"diagnostics"
Name of the channels' subset
Must match regular expression:^[a-zA-Z0-9]*$
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether this channel should be processed for inclusion in transmission.
Channel key according to RBR's channels.
Must match regular expression:^[a-zA-Z_]{4}[0-9]{2}$
Minimum of the value. Used when differential_encoding is enabled.
Maximum of the value. Used when differential_encoding is enabled.
Resolution of the value. Used when differential_encoding is enabled.
Properties of the derived or processed channel.
No Additional PropertiesParameters required by the algorithm.
Input channels of the algorithm.
Value must be greater or equal to 0
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"NMEA"
Whether communication with/downloading from a data logger is enabled.
Human readable descriptor of the specific unit (eg. Bottom CTD)
Type of logger, defines driver to be used.
Specific value:"NMEA"
Configuration file for this instrument. If not specified it will default to deploymentXX.json
Must match regular expression:^[a-zA-Z0-9-_]+\.json$
"deployment01.json"
"ice_CTD_01.json"
Port number to which it is connected
Value must be greater or equal to 1
and lesser or equal to 6
If the logger is connected to the data controller via an MLM, the serial number of the SSM connected to the instrument.
Value must be greater or equal to 0
and lesser or equal to 999999
Burst parameters for streaming instruments. This is the period in which processed channels are generated.
No Additional PropertiesValue must be greater or equal to 0
and lesser or equal to 86400
Value must be greater or equal to 0
and lesser or equal to 86400
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"raw"
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"NMEA"
Name of the channels' subset
Must match regular expression:^[a-zA-Z0-9]*$
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
Whether this channel should be processed for inclusion in transmission.
Channel key according to RBR's channels.
Must match regular expression:^[a-zA-Z_]{4}[0-9]{2}$
Minimum of the value. Used when differential_encoding is enabled.
Maximum of the value. Used when differential_encoding is enabled.
Resolution of the value. Used when differential_encoding is enabled.
Properties of the derived or processed channel.
No Additional PropertiesParameters required by the algorithm.
Input channels of the algorithm.
Value must be greater or equal to 0