Concrete examples
Specifying a datalogger’s sampling rate
base configuration in the datalogger_base file
datalogger_base:
equipment:
model: "CS5321/22"
type: "delta-sigma A/D converter + digital filter"
description: "CS5321/22 A/D converter + digital filter"
manufacturer: "Cirrus Logic"
vendor: "various"
configuration_default: "125sps"
stages:
- {base: {$ref: "dataloggers/stages/CS5321_FIR1.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR3.stage_base.yaml#stage_base"}}
sample_rate: 125
correction: 0.232
configurations:
"125sps":
configuration_description: "125 sps"
"250sps":
configuration_description: "250 sps"
sample_rate: 250
correction: 0.116
stages:
- {base: {$ref: "dataloggers/stages/CS5321_FIR1.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR3.stage_base.yaml#stage_base"}}
"500sps":
configuration_description: "500 sps"
sample_rate: 500
correction: 0.058
stages:
- {base: {$ref: "dataloggers/stages/CS5321_FIR1.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR2.stage_base.yaml#stage_base"}}
- {base: {$ref: "dataloggers/stages/CS5322_FIR3.stage_base.yaml#stage_base"}}
Instantiation in the subnetwork
file, (drilling through the instrumentation
to the datalogger
):
...
stations:
<STATION1>:
...
instrumentation:
base: {$ref: "my_instrumentation.instrumentation.yaml"}
datalogger_configuration: "500sps"
- Note 1:
There is almost nothing specified for the “125sps” configuration because it is the default. For schema testing purposes, the base_level description must include all required parameters, so there’s no point repeating them in the configuration definition.
- Note 2:
The text in the configuration description will be added to the
equipment:description
field, which will become (for the default configuration): “CS5321/22 A/D converter + digital filter [config: 125 sps]”- Note 3:
If no “configuration_description” is provided, the configuration name will be added to the
equipment:description
Locations
base configuration in a location_base
file
---
...
location_base:
depth.m: 0
geology: "unknown"
vault: "Sea floor"
uncertainties.m: {lon: 200, lat: 200, elev: 20}
measurement_method: "Sea surface release point"
configuration_default: "SEA_SURFACE"
configurations:
"SEA_SURFACE":
configuration_description: "Standard sea-surface deployment"
"MAYOBS_SEA_SURFACE":
configuration_description: "Sea-surface deployment offshore Mayotte"
measurement_method: "Sea surface release point"
uncertainties.m: {lon: 300, lat: 300, elev: 20}
"ACOUSTIC_SURVEY":
uncertainties.m: {lon: 5, lat: 5, elev: 10}
measurement_method: "Acoustic survey"
"AIRGUN_SURVEY":
uncertainties.m: {lon: 40, lat: 40, elev: 40}
measurement_method: "Airgun survey"
notes: ["Uncertainty will generally be least along-line"]
"BUC_DIRECT":
uncertainties.m: {lon: 5, lat: 5, elev: 10}
measurement_method: "Short baseline transponder, seafloor release"
"BUC_DROP":
uncertainties.m: {lon: 20, lat: 20, elev: 20}
measurement_method: "Short baseline transponder, near-seafloor release"`
Instantiation in the subnetwork
file
---
...
subnetwork:
...
stations:
"LSVW":
...
locations:
"00":
base: {$ref: 'location_bases/INSU-IPGP.location_base.yaml#location_base'}
configuration: "SURFACE_DROP"
position: {lon: -32.32504, lat: 37.29744, elev: -2030}
"LSVE":
...
locations:
"00":
base: {$ref: 'location_bases/INSU-IPGP.location_base.yaml#location_base'}
configuration: "ACOUSTIC_SURVEY"
position: {lon: -32.02504, lat: 37.25744, elev: -2130}
Clock drift
base configuration in a timing_base file named Seascan_GNSS.timing_base.yaml
---
...
timing_base:
instrument: "Seascan MCXO, ~1e-8 nominal drift"
reference: "GNSS"
start_sync_instrument: 0
Instantiation in a subnetwork
file
---
...
subnetwork:
...
stations:
"LSVW":
...
processing:
- clock_correction_linear:
base: {$ref: "timing_bases/Seascan_GNSS.timing_base.yaml#timing_base"}
start_sync_reference: "2015-04-21T21:06:00Z"
end_sync_reference: "2016-05-28T20:59:00.32Z"
end_sync_instrument: "2016-05-28T20:59:03Z"
"LSVE":
...
processing:
- clock_correction_linear:
base: {$ref: "timing_bases/Seascan_GNSS.timing_base.yaml#timing_base"}
start_sync_reference: "2015-04-21T22:00:00Z"
end_sync_reference: "2016-05-29T20:59:59.32Z"
end_sync_instrument: "2016-05-30T21:00:00Z"
Changing a sensor
using channel_modifications
to change the type of hydrophone on the ‘*H’ channel:
...
stations:
<STATION1>:
...
instrumentation:
base: {$ref: "my_instrumentation.instrumentation.yaml"}
channel-modifications:
'*H':
sensor:
base: {$ref: "my_other_sensor.sensor_base.yaml"}
serial_number: "H424B"
Chained configurations
In this example, the preamplifier configurations
affect the configuration
of the stages beneath them
The preamplifier_base definition:
...
preamplifier_base:
equipment:
model: "HYDRO-GAIN"
type: "Analog gain/filter card"
description: "SIO gain/filter card, hydro channel"
manufacturer: "SIO or IPGP"
vendor: ""
configuration_default: "64x gain"
stages:
- {base: {$ref: "preamplifiers/stages/Scripps_SPOBS_HydroL22_theoretical.stage_base.yaml#stage_base"}}
configurations:
"16x gain":
stages: [{configuration: "16x"}]
"32x gain":
stages: [{configuration: "32x"}]
"64x gain":
stages: [{configuration: "64x"}]
"128x gain":
stages: [{configuration: "128x"}]
the stage_base definition Scripps_SPOBS_HydroL22_theoretical.stage.yaml
---
...
stage_base:
description : "PREAMPLIFIER: SPOBS hydrophone or L22"
input_units : {name: "V", description: "VOLTS"}
output_units : {name: "V", description: "VOLTS"}
gain: {value: 64, frequency: 10}
filter :
type : "PolesZeros"
transfer_function_type: "LAPLACE (RADIANS/SECOND)"
zeros : ['0 + 0j']
poles : ['-6.667 + 0j']
delay: 0
configuration_default: "64x"
configurations:
"64x":
gain: {value: 64, frequency: 10}
"32x":
gain: {value: 32, frequency: 10}
"16x":
gain: {value: 16, frequency: 10}
"128x":
gain: {value: 128, frequency: 10}
Instantiation in the subnetwork file
configuring the preamplifier
to “64x gain”:
---
...
stations:
<STATION1>:
...
instrumentation:
base: {$ref: "my_instrumentation.instrumentation.yaml"}
datalogger_configuration: "500sps"
channel_modifications:
'*-*': {datalogger: {serial_number: "0145"}}
'H-*': {preamplifier: {configuration: "64x gain"}}
Setting a custom value from the subnetwork
file
You could force the gain of one stage to a non-configured value (1000 in this example), as follows:
---
...
stations:
<STATION1>:
...
instrumentation:
base: {$ref: "my_instrumentation.instrumentation.yaml"}
datalogger_configuration: "500sps"
channel_modifications:
'*-*': {datalogger: {serial_number: "0145"}}
'*H':
preamplifier:
stage_modifications:
"0": {gain: {value: 1000}}}
A complete network file with channel_modifications:
---
format_version: "0.111"
revision:
authors:
- {$ref: "authors/Wayne_Crawford.author.yaml#author"}
date: "2019-12-19"
subnetwork:
network:
$ref: "network/EMSO-MOMAR.network.yaml#network"
operators:
-
agency: "INSU-IPGP OBS Park"
contacts:
-
names: ["Wayne Crawford"]
emails: ["crawford@ipgp.fr"]
website: "http://ipgp.fr"
reference_names:
operator: "INSU-IPGP"
campaign: "MYCAMPAIGN"
stations:
"BB_1":
site: "My favorite site"
start_date: "2015-04-23T10:00:00"
end_date: "2016-05-28T15:37:00"
location_code: "00"
instrumentation:
base: {$ref: "instrumentation/BBOBS1_2012+.instrumentation_base.yaml#instrumentation_base"}
channel_modifications:
"*-*": {datalogger: {configuration: "62.5sps"}}
locations:
"00":
base: {$ref: 'location_bases/INSU-IPGP.location_base.yaml#location_base'}
configuration: "BUC_DROP"
position: {lon: -32.234, lat: 37.2806, elev: -1950}
processing:
- clock_correct_linear_drift:
base: {$ref: 'timing_bases/SEASCAN_GNSS.timing_base.yaml#timing_base'}
start_sync_reference: "2015-04-23T11:20:00"
end_sync_reference: "2016-05-27T14:00:00.2450"
end_sync_instrument: "22016-05-27T14:00:00"
"BB_2":
notes: ["An example of changing the sensor"]
site: "My other favorite site"
start_date: "2015-04-23T10:00:00Z"
end_date: "2016-05-28T15:37:00Z"
location_code: "00"
instrumentation:
base: {$ref: "instrumentation/BBOBS1_2012+.instrumentation_base.yaml#instrumentation_base"}
channel_modifications:
"*-*":
sensor: {configuration: "Sphere06"}
datalogger: {configuration: "62.5sps"}
"H-*":
sensor:
serial_number: "IP007"
stage_modifications:
"3": {gain: {value: 15}}
locations:
"00":
base: {$ref: 'location_bases/INSU-IPGP.location_base.yaml#location_base'}
configuration: "ACOUSTIC_SURVEY"
position: {lon: -32.29756, lat: 37.26049, elev: -1887}
processing:
- clock_correct_linear_drift:
base: {$ref: 'timing_bases/SEASCAN_GNSS.timing_base.yaml#timing_base'}
start_sync_reference: "2015-04-22T12:24:00"
end_sync_reference: "2016-05-28T15:35:00.3660"
end_sync_instrument: "2016-05-28T15:35:02"
modifications:
start_sync_instrument: "2015-04-22T12:24:01"
notes: "The instrument clock was incorrectly synced at the start"