FiberArray

FiberArray is the durable fiber-optic observing identity resolved from a patch data_source_id. In the current API, patch inventory methods resolve a Network, then a FiberArray, then an Acquisition and valid OpticalPath for the patch time.

Responsibilities

  • Provide the fiber-array code used in data source identifiers.
  • Group time-aware Acquisition records for DAS data produced on the array.
  • Link to the valid OpticalPath context for the requested time range.
  • Provide fiber-array-level attrs that can be copied onto patches with add_inventory_attrs().

Example

patch = spool.select(network="XX", tag="raw*")[0]

patch = patch.distance_from_inventory(inventory, dim="channel")
patch = patch.add_inventory_attrs(inventory, attrs=("tag",))
patch = patch.add_inventory_coords(inventory, coords=("label", "x", "y", "z"))

The data_source_id on the patch can also be supplied explicitly:

patch = patch.add_inventory_coords(
    inventory,
    data_source_id="XX.GARDEN.00.RAW",
    coords=("label", "x"),
)

Design Rule

FiberArray identifies the observing system. Acquisition settings and path interpretation can change over time without changing the durable fiber-array identity.