From 8f134eec032a26dddea57aa1f4b92b2028c9971d Mon Sep 17 00:00:00 2001 From: Mark Chadwick Date: Mon, 11 Jun 2018 12:18:10 +1200 Subject: [PATCH] add helper sheets (#174) * add helper sheets * updated order of steps * moved sheets into docs dir --- docs/sheets/ASSETS.md | 73 +++++++++ docs/sheets/CAMERA.md | 91 +++++++++++ docs/sheets/GNSS.md | 236 ++++++++++++++++++++++++++++ docs/sheets/RECORDING.md | 322 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 722 insertions(+) create mode 100644 docs/sheets/ASSETS.md create mode 100644 docs/sheets/CAMERA.md create mode 100644 docs/sheets/GNSS.md create mode 100644 docs/sheets/RECORDING.md diff --git a/docs/sheets/ASSETS.md b/docs/sheets/ASSETS.md new file mode 100644 index 000000000..3df7046a8 --- /dev/null +++ b/docs/sheets/ASSETS.md @@ -0,0 +1,73 @@ +# COMMON ASSET MANAGEMENT TASKS + +Although not strictly needed, the __asset__ files are used as a cross-check for when equipment +is installed. This is to try and catch errors related to serial numbers, and also to allow +using the asset numbers to further identify installed equipment. + +The files in the __assets__ directory all have the same format. Each file represents an equipment +type which also constrains where the equipment can be installed. +For instance, only equipment in the __assets/sensors.csv__ file can be installed in the __install/sensors.csv__ file. + +Generally __assets__ should be entered in before they are added to files in the __installs__ directory. + +The presence of an asset "number" is an indication that the equipment is managed directly by __GeoNet__. + +[_The files were not built for asset tracking or inventory management, however this may change with further requirements_] + +## Files + +--- +* :page_with_curl: __assets/antennas.csv__ +* :page_with_curl: __assets/metsensors.csv__ +* :page_with_curl: __assets/radomes.csv__ +* :page_with_curl: __assets/receivers.csv__ +--- +* :page_with_curl: __assets/sensors.csv__ +* :page_with_curl: __assets/recorders.csv__ +* :page_with_curl: __assets/dataloggers.csv__ +--- +* :page_with_curl: __assets/cameras.csv__ +--- + +## :one: _Updating an existing asset entry_ + +Find the appropriate __asset__ file for the type of equipment. + +> ### :information_source: General requirements +> +> * If changed, the make, model, or serial number of the assets to update. +> * If changed, the equipment asset "numbers". +> * If changed, any equipment notes for the updated assets. + +> ### :small_orange_diamond: Delta checks +> +> * There can only be one asset with the same make, model, and serial number. +> * There can only be one asset with the same asset "number". +> * Any references to these assets in the __install__ directory files will also need to be consistent. + +## :two: _Adding a new asset entry_ + +Find the appropriate __asset__ file for the type of equipment. + +> ### :information_source: General requirements +> +> * The make, model, and serial number of the new `assets. +> * Any optional asset "numbers" that may be available. +> * Any extra equipment notes that may be appropriate. +> +> ### :small_orange_diamond: Delta checks +> +> * There can only be one asset with the same make, model, and serial number. +> * There can only be one asset with the same asset "number". + +## _Overall steps_ + +> * :file_folder: Using a suitable mechanism create a new _git_ branch for the changes. +> * :one: :pencil2: Update the __assets/<type>.csv__ files appropriate to the equipment model types. +> * :one: :pencil2: Update the __install/<type>.csv__ files where the equipment may be referenced. +> * :two: :pencil2: Add the new equipment into the __assets/<type>.csv__ files appropriate to the model types. +> * :open_file_folder: Build the pull request with a meaningful title. +> * :link: Assign suitable tags and set reviewers. +> * :repeat: If the tests fail, the above changes may need some iteration until they pass. +> * :sos: If the tests are still failing, escalate as this may indicate some inconsistency within the network configuration. +> * :ok: Once the tests have passed and the pull request reviewed, depending on policy, the pull request can be merged diff --git a/docs/sheets/CAMERA.md b/docs/sheets/CAMERA.md new file mode 100644 index 000000000..ce980fd51 --- /dev/null +++ b/docs/sheets/CAMERA.md @@ -0,0 +1,91 @@ +# COMMON CAMERA TASKS + +* :scroll: :one: [Creating or updating a camera __mount__](#mount) :dragon: +* :scroll: :two: [Installing or updating a __camera__](#camera) +* :hammer: [Combined editing steps](#steps) + +The mounting of cameras used for monitoring operations are described in the __network/mounts.csv__ file. +Attached to each __mount__ are a camera "code", the physical location, a "name" (or caption), and a description of the overall "view". + +Physical camera installs are managed through the __install/cameras.csv__ file. This includes +camera hardware details and the installation times. + +## :one: _Creating or updating an existing camera mount_ + +> ### :page_with_curl: Files to update +> +> * __network/mounts.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/networks.csv__ [_currently not populated_] +> + +New camera __mounts__ will need to have a "code" assigned by the appropriate mechanism. + +It is intended that camera mounts are fixed in place, any adjustments will be applied retrospectively. +Changes over time of a camera's location, or view point, should be handled by building new camera __mounts__. + +:dragon: **The image "name", and general "view" description are prominently used on the GeoNet web pages.** + +> ### :information_source: General requirements +> +> * The camera __mount__ "code". +> * The expected image "name" or caption. +> * The overall "view" description. +> +> ### :information_source: Field requirements +> +> * The camera mount location. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * There can only be one camera __mount__ for any given code. + +## :two: _Installing or replacing cameras_ + +> ### :page_with_curl: Files to update +> +> * __install/cameras.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/cameras.csv__ +> * __network/mounts.csv__ +> +> ### :information_source: General requirements +> +> * Camera __mount__ "code" (_where the camera is mounted_). +> * Any publicly readable notes relating to the installation. +> +> ### :information_source: Field requirements +> +> * Camera "make", "model", and "serial" numbers (_what is being installed or removed_) +> * Physical installation details, such as dip, azimuth (_direction the camera is pointing_), and height. +> * Camera installation times (_when the camera is installed, or removed_) +> +> If replacing an existing camera the installation details are likely to be the same, +> although a cross-check may be worthwhile. +> +> Use an end date of `9999-01-01T00:00:00Z` to indicate that a camera is currently installed. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The cameras need to be listed in the __assets/cameras.csv__ file. +> * The camera mounts need to be present in the __network/mounts.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given camera can only be mounted to a single __mount__ at any given time. +> * A camera __mount__ can only have one camera mounted at any given time. + +## _Overall steps_ + +> * :file_folder: Using a suitable mechanism create a new _git_ branch for the changes. +> * :one: :pencil2: Update the __network/mounts.csv__ file to add or update any camera mount information, the entries will need to be in order of mount code. +> * :two: :pencil2: Update in the __install/cameras.csv__ file any equipment that has been removed or altered. +> * :open_file_folder: Build the pull request with a meaningful title. +> * :link: Assign suitable tags and set reviewers. +> * :repeat: If the tests fail, the above changes may need some iteration until they pass. +> * :sos: If the tests are still failing, escalate as this may indicate some inconsistency within the network configuration. +> * :ok: Once the tests have passed and the pull request reviewed, depending on policy, the pull request can be merged diff --git a/docs/sheets/GNSS.md b/docs/sheets/GNSS.md new file mode 100644 index 000000000..6bee9afdd --- /dev/null +++ b/docs/sheets/GNSS.md @@ -0,0 +1,236 @@ +# COMMON GNSS TASKS + +* :scroll: :one: [Creating or updating a GNSS __mark__](#mark) +* :scroll: :two: [Creating or updating a GNSS __monument__](#monument) +* :scroll: :three: [Installing or updating a GNSS __antenna__](#antenna) +* :scroll: :four: [Installing or updating a GNSS __receiver__](#receiver) +* :scroll: :five: [Installing or updating a GNSS __receiver__ firmware version](#firmware) +* :scroll: :six: [Installing or updating a GNSS __receiver__ session configuration](#session) :dragon: +* :hammer: [Combined editing steps](#steps) + +Global Navigation Satellite System (GNSS) equipment are installed at GNSS __marks__. Each __mark__ is +attached to a __monument__. The details of the __mark__, as found in the __network/marks.csv__ file, +tend to relate more to documentation, such as name and location. Whereas the __network/monuments.csv__ file +tends to list physical aspects of the actual monument as constructed. + +Equipment installed should be found in the the relevant __assets__ directory files. Actual times when +__antennas__ and __receivers__ are deployed is managed via the __install/antennas.csv__ and __install/receiver.csv__ +files respectively. As the firmware of the __receiver__ is important for data post-processing, this is maintained +in the __install/firmware.csv__ file. This is independent of installation and can also be maintained for instruments +not actively deployed. + +Describing how the data is being recorded is managed through the __install/sessions__ file. This correlates with the general model +of the receiver being deployed and the __session__ sample "intervals". Other meta-data information required for post-processing +or analysis is also stored in this file. These settings can be delimited by time ranges and are not dependent on +any particular installed receiver but only on the receiver model type. + +## :one: _Creating or updating a GNSS mark_ + +For new marks a __code__ will need to be assigned by the appropriate mechanism. + +> ### :page_with_curl: Files to update +> +> * __network/marks.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/networks.csv__ +> +> ### :information_source: General requirements +> +> * The GNSS __mark__ "code". +> * The "name" of the GNSS __mark__. +> * The "code" for the __network__ that the __mark__ is a member of. +> * Whether the __mark__ is an "_IGS_" site. +> +> ### :information_source: Field requirements +> +> * The location of the __mark__ to create or update. +> * The operational time range of the __mark__. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * There can only be one __mark__ for any given code. +> * There must be an entry in the __networks.csv__ file for the __mark's__ __network__ code. +> +> ### :small_orange_diamond: Delta checks +> +> * The "_IGS_" entry is either "__yes__" or "__no__". + +## :two: _Creating or updating a GNSS monument_ + +> ### :page_with_curl: Files to update +> +> * __network/monuments.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/marks.csv__ +> +> ### :information_source: General requirements +> +> * The "code" of the __mark__ that the monument is associated with. +> * The "domes number" of the __monument__. +> +> ### :information_source: Field requirements +> +> * The "mark type" of the __monument__. +> * The ground relationship of the __monument__. +> * The __monument__ "foundation type". +> * The __monument__ "foundation depth". +> * The operational time range of the __monument__. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * There can be only one __mark__ attached to a __monument__. +> * Only one __monument__ can be associated with any given __mark__. +> +> ### :small_orange_diamond: Delta checks +> +> * The "mark type" of the __monument__ must be one of: +> * * "Shallow Rod / Braced Antenna Mount" +> * * "Wyatt/Agnew Drilled-Braced" +> * * "Pillar" +> * * "Steel Mast" +> * * "Unknown" +> * The "ground relationship" must be equal to or less than zero. + +## :three: _Installing or replacing a GNSS antenna_ + +> ### :page_with_curl: Files to update +> +> * __install/antennas.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/antennas.csv__ +> * __network/marks.csv__ +> +> ### :information_source: General requirements +> +> * GNSS __mark__ code (_where the antenna is mounted_) +> +> ### :information_source: Field requirements +> +> * Antenna make, model, and serial number. +> * Installation details, such as height, offset from the mark, and azimuth. +> * Antenna installation or removal times. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The antennas need to be listed in the __assets/antennas.csv__ file. +> * The associated __mark__ needs to be listed in the __network/marks.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given __antenna__ can only be installed at a single __mark__ at any given time. +> * A __mark__ can only have one __antenna__ mounted at any given time. + +## :four: _Installing or replacing a GNSS receiver_ + +> ### :page_with_curl: Files to update +> +> * __install/receivers.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/receivers.csv__ +> * __network/marks.csv__ +> +> ### :information_source: General requirements +> +> * GNSS __mark__ code (_where the antenna is mounted_) +> +> ### :information_source: Field requirements +> +> * Receiver make, model, and serial number. +> * Receiver deployment or removal times. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * Receivers need to be listed in the __assets/receivers.csv__ file. +> * The associated __mark__ needs to be listed in the __network/marks.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given __receiver__ can only be deployed to a single __mark__ at any given time. +> * A __mark__ can only have one __receiver__ mounted at any given time. +> + +## :five: _Updating or adding a GNSS receiver firmware version_ + +> ### :page_with_curl: Files to update +> +> * __install/firmware.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/receivers.csv__ +> +> ### :information_source: Field requirements +> +> * Receiver make, model, and serial number. +> * Receiver "firmware" version number. +> * Receiver "firmware" version installation times. +> * Any extra public "firmware" version notes. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The __receiver__ needs to be matched in the __assets/receiver.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given __receiver__ can only have one __firmware__ version at any given time. + +## :six: _Updating or adding a GNSS receiver session configuration_ + +> ### :page_with_curl: Files to update +> +> * __install/sessions.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/marks.csv__ +> +> ### :information_source: General requirements +> +> * GNSS session __mark__ "code". +> * GNSS meta-data __mark__ "operator" and "agency". +> * GNSS meta-data "header comment" reference. +> * GNSS meta-data "header format" look up. +> +> ### :information_source: Field requirements +> +> * GNSS __receiver__ "satellite system" configured. +> * GNSS __receiver__ session "interval". +> * GNSS __receiver__ configured "elevation mask". +> * The time range over which the session is active. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The associated __mark__ needs to be listed in the __network/marks.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * There can only be one __session__ per __mark__ with the same interval at any given time. +> * The __session__ start times need to be before the associated end times. +> * Session "satellite systems" need to be one of: +> * * "GPS" +> * * "GPS+GLO" +> * * "GPS+GLO+GAL+BDS+QZSS" +> + +## _Overall steps_ + +> * :file_folder: Using a suitable mechanism create a new _git_ branch for the changes. +> * :one: :pencil2: Update the __network/marks.csv__ file to add or update any GNSS __mark__ information, the entries will need to be in order of __mark__ "code". +> * :two: :pencil2: Update the __network/monuments.csv__ file to add or update any GNSS __monument__ information, the entries will need to be in order of associated __mark__ "code". +> * :three: :pencil2: Update the __install/antenna.csv__ file to add or update any installed antennas, the entries will need to be in order of make, model, serial number, and installation time. +> * :four: :pencil2: Edit the __install/receivers.csv__ file to add or update any deployed receivers, the entries will need to be in order of make, model, serial number, and deployment time. +> * :five: :pencil2: Update the __install/firmware.csv__ file to add or adjust the deployed __receiver__ "firmware" versions, the entries will need to be in order of make, model, serial number, and firmware start times. +> * :six: :pencil2: Update the __install/sessions.csv__ file to add or adjust the deployed __receiver__ __session__ settings, the entries will need to be in order of __mark__ "code", session "interval", and session start times. +> * :open_file_folder: Build the pull request with a meaningful title. +> * :link: Assign suitable tags and set reviewers. +> * :repeat: If the tests fail, the above changes may need some iteration until they pass. +> * :sos: If the tests are still failing, escalate as this may indicate some inconsistency within the network configuration. +> * :ok: Once the tests have passed and the pull request reviewed, depending on policy, the pull request can be merged diff --git a/docs/sheets/RECORDING.md b/docs/sheets/RECORDING.md new file mode 100644 index 000000000..fcc20f5fc --- /dev/null +++ b/docs/sheets/RECORDING.md @@ -0,0 +1,322 @@ +# COMMON SIGNAL RECORDING TASKS + +* :hammer: [Combined editing steps](#steps) +* :scroll: :one: [Creating or updating a recording __station__](#station) +* :scroll: :two: [Creating or updating a recording __site__](#site) +* :scroll: :three: [Installing or updating a __sensor__](#sensor) +* :scroll: :four: [Installing or updating a __recorder__](#recorder) +* :scroll: :five: [Installing or updating a __datalogger__](#datalogger) +* :scroll: :six: [Installing or updating a __datalogger__ to __sensor__ connection](#connection) :dragon: +* :scroll: :seven: [Installing or updating a __datalogger__ to __recorder__ stream](#stream) :dragon: + +The dataloggers and recorders produce waveform data that is tagged by recording __station__ code, +recording __site__ code, a "stream" code indicating orientation, and a sampling rate. +The __install__ files are used to map this combination back to actual sensors and dataloggers and their +configurations. + +Installed __sensors__ and __recorders__ have their installation times and orientations described in the +__install/sensors.csv__ and __install/recorders.csv__ files respectively. +Deployed __dataloggers__ are described in the __install/dataloggers.csv__ file. + +Attaching sensors to dataloggers is managed through linking the __install/connections.csv__ file +to the __install/dataloggers.csv__ file. This is not required for __recorders__ as these are assumed +to be part of the sensor being installed at a recording __site__. +Linking is done via matching a datalogger to a notional "place", and optional operational "role". These +are presently not constrained, other than that they should match when a connection is needed. + +Datalogger configuration, through the __install/streams.csv__ file, is meant to provide a mechanism +for mapping recorded data to a datalogger or recorder configuration. This is an overlay +template which isn't dependent on the actual equipment being installed, only the broad settings. +This is also the mechanism that can inject external information, such as when a stream has +been flagged as being of the reverse polarity, and is mainly used to build _StationXML_ meta-data files. + +## _Overall steps_ + +> * :file_folder: Using a suitable mechanism create a new _git_ branch for the changes. +> * :one: :pencil2: Update the __network/stations.csv__ file to add or update any recording __station__ information, the entries will need to be in order of __station__ code. +> * :two: :pencil2: Update the __network/sites.csv__ file to add or update any recording __site__ information, the entries will need to be in order of __station__ code then __site__ code. +> * :three: :pencil2: Update the __install/sensors.csv__ file to add any new __sensor__ installations, the entries will need to be in order of make, model, serial number, and installation time. +> * :four: :pencil2: Update the __install/recorders.csv__ file to add any new __recorder__ installations, the entries will need to be in order of make, model, serial number, and installation time. +> * :five: :pencil2: Update the __install/dataloggers.csv__ file to add any new __datalogger__ deployments, the entries will need to be in order of make, model, serial number, and deployment time. +> * :six: :pencil2: Update the __install/connections.csv__ file to add any new __datalogger__ to __sensor__ connection details, the entries will need to be in order of __station__ code, __site__ code, and connection time. +> * :seven: :pencil2: Update the __install/streams.csv__ file to add any new __datalogger__ or __recorder__ stream configuration details, the entries will need to be in order of __station__ code, __site__ code, sampling rate, and stream operational times. +> * :open_file_folder: Build the pull request with a meaningful title. +> * :link: Assign suitable tags and set reviewers. +> * :repeat: If the tests fail, the above changes may need some iteration until they pass. +> * :sos: If the tests are still failing, escalate as this may indicate some inconsistency within the network configuration. +> * :ok: Once the tests have passed and the pull request reviewed, depending on policy, the pull request can be merged + +## :one: _Creating or updating a recording station_ + +> ### :page_with_curl: Files to update +> +> * __network/stations.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/networks.csv__ +> + +New stations will require a station "code" to be assigned using the appropriate mechanism. + +It is intended that recording __stations__ be fixed, any adjustments will be applied retrospectively. +The operation time should span all installations at the __station__. + +> ### :information_source: General requirements +> +> * The recording __station__ "code". +> * The __network__ "code" attached to the recording __station__. +> * The "name" of the recording __station__. +> +> ### :information_source: Field requirements +> +> * The location of the recording __station__. +> * The operational time of the recording __station__. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * There can only be one __station__ for any given code. +> * There must be an entry in the __networks.csv__ file for the __station's__ __network__ code. +> +> ### :small_orange_diamond: Delta checks +> +> * The operational start time must be before the end time. + +## :two: _Creating or updating a recording site_ + +> ### :page_with_curl: Files to update +> +> * __network/sites.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/stations.csv__ +> + +New recording __sites__ will require a location "code" to be assigned using the appropriate mechanism. +There is a convention used for __location__ codes related to the type of signal being recorded: + +* 1X -- weak motion sensors +* 2X -- strong motion sensors +* 3X -- acoustic sensors +* 4X -- pressure sensors +* 5X -- geomagnetic sensors +* 6X -- displacement sensors +* 7X -- weather style measurements +* 8X -- temperature sensors +* 9X -- tilt sensors + +Each __site__ location must be different at a given __station__, although there is some leeway +when installing the actual sensor, such as depth down a borehole. + +It is intended that recording __sites__ be fixed, any adjustments will be applied retrospectively. + +> ### :information_source: General requirements +> +> * The recording __station__ "code". +> * The recording __site__ location "code". +> +> ### :information_source: Field requirements +> +> * The location of the recording __site__. +> * The operational time of the recording __site__. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * There must be an entry in the __stations.csv__ file for the __site's__ __station__ code. +> +> ### :small_orange_diamond: Delta checks +> +> * Location "codes" must be unique at any given recording __site__. +> * The operational start time must be before the end time. +> * Recording __site__ operational times must be within the associated __station's__ operational times. + +## :three: _Installing or replacing a sensor_ + +> ### :page_with_curl: Files to update +> +> * __install/sensors.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/sensors.csv__ +> * __network/stations.csv__ +> * __network/sites.csv__ +> +> ### :information_source: General requirements +> +> * The recording __station__ "code". +> * The recording __site__ location "code". +> +> ### :information_source: Field requirements +> +> * The make, model, and serial number of the sensor being installed or replaced. +> * The azimuth and dip of the installed sensor. +> * Any offsets from the given recording __site__ location. +> * Any __sensor__ biases or factors related to the __sensor__ installation. +> * The times when the sensor is installed or removed. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The sensor needs to be listed in the __assets/sensors.csv__ file. +> * The recording __station__ need to be present in the __network/stations.csv__ file. +> * The recording __site__ need to be present in the __network/sites.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given __sensor__ can only be installed at a single __site__ at any given time. +> * An individual __site__ can only have one __sensor__ or __recorder__ installed at any given time. +> * Installed __sensor__ times must be within the recording __site's__ operational time window. + +## :four: _Installing or replacing a recorder_ + +> ### :page_with_curl: Files to update +> +> * __install/recorders.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/recorders.csv__ +> * __network/stations.csv__ +> * __network/sites.csv__ +> + +Recorders are managed as a __sensor__ and __datalogger__ pair. +They are installed and removed at the same times and can only be +installed at a single recording __site__. This places a constraint +that there can only be one __sensor__ attached to the __recorder__. + +> ### :information_source: General requirements +> +> * The recording __station__ "code". +> * The recording __site__ location "code". +> +> ### :information_source: Field requirements +> +> * The azimuth and dip of the installed __sensor__. +> * The make, model, sensor model, and serial number of the __recorder__ being installed or replaced. +> * The times when the recorder is installed or removed. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The __recorder__ needs to be listed in the __assets/recorders.csv__ file. +> * The recording __station__ need to be present in the __network/stations.csv__ file. +> * The recording __site__ need to be present in the __network/sites.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given __recorder__ can only be installed at a single __site__ at any given time. +> * An individual __site__ can only have one __sensor__ or __recorder__ installed at any given time. +> * Installed __recorder__ times must be within the recording __site's__ operational time window. + +## :five: _Deploying or replacing a datalogger_ + +> ### :page_with_curl: Files to update +> +> * __install/dataloggers.csv__ +> +> ### :page_with_curl: Reference files +> +> * __assets/dataloggers.csv__ +> * __network/stations.csv__ +> * __network/sites.csv__ +> +> ### :information_source: General requirements +> +> * The notional "place", and optional operational "role", of the datalogger being installed or replaced. +> +> ### :information_source: Field requirements +> +> * The model, make, and serial number of the datalogger being installed or replaced. +> * The times of the datalogger installation or removal. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The __datalogger__ needs to be listed in the __assets/dataloggers.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * A given __datalogger__ can only be installed at a single "place" with a given "role" at any given time. +> * An individual datalogger "place" and "role" can only have one __datalogger__ deployed at any given time. + +## :six: _Connecting or disconnecting a sensor to a datalogger_ + +> ### :page_with_curl: Files to update +> +> * __install/connections.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/stations.csv__ +> * __network/sites.csv__ +> * __install/sensors.csv__ +> * __install/dataloggers.csv__ +> + +Attaching sensors to dataloggers is managed through linking the __install/connections.csv__ file +to the __install/dataloggers.csv__ file. These are linked by using a notional datalogger "place" and +an optional "role". The "role" can be used to distinguish the datalogger functions when there are more +than one at a given "place". This linkage can be thought of as representing the "sensor cable", ignoring +physical constraints, such as plugs, this link will be independent of that actual datalogger or sensor. + +> ### :information_source: General requirements +> +> * The recording __station__ "code". +> * The recording __site__ location "code". +> * The notional "place", and optional operational "role", of the datalogger being installed or replaced. +> +> ### :information_source: Field requirements +> +> * The times when the given datalogger "place" and "role" is connected to the recording site. +> +> ### :heavy_check_mark: Delta prerequisites +> +> * The recording __station__ need to be present in the __network/stations.csv__ file. +> * The recording __site__ need to be present in the __network/sites.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * An individual connection "place" and "role" can only be assigned to one recording __site__ at any given time. + +## :seven: _Creating recorder or datalogger configuration stream_ + +> ### :page_with_curl: Files to update +> +> * __install/streams.csv__ +> +> ### :page_with_curl: Reference files +> +> * __network/stations.csv__ +> * __network/sites.csv__ +> + +Building the meta-data associated with recorded data requires some general datalogger or recorder configuration information. +This is generally independent of the actual datalogger or sensor used and can span multiple installations. + +This information is meant to be used to build a response for a given set of recordings, rather than to define what +data is expected or available. + +Use an end date of `9999-01-01T00:00:00Z` to indicate that a streams is currently operational. + +> ### :information_source: General requirements +> +> * The recording station code. +> * The recording site location code. +> * The expected recording sample rates. +> +> ### :information_source: Field requirements +> +> * Whether the sensor is installed axially (_not aligned north south_)? +> * Whether, for some reason or another, the sensor signal has been identified as being reversed over the given time window? +> * The time window that this information is valid for. + +> ### :heavy_check_mark: Delta prerequisites +> +> * The recording __station__ need to be present in the __network/stations.csv__ file. +> * The recording __site__ need to be present in the __network/sites.csv__ file. +> +> ### :small_orange_diamond: Delta checks +> +> * The sampling rate needs to be within the expected list: 0.1, 1, 10, 50, 100, or 200 Hz. +> * Only one stream with a given sampling rate can be defined for a recording __site__ at any given time. +>