Acquisition

class of dascore.core.inventory
inherits from: TimeRangedModel, InventoryModel, DascoreBaseModel, pydantic.main.BaseModel
source

Acquisition(
    description: str = ““,
    extra_fields: collections.abc.Mapping[str, str | int | float | bool[str, int, float, bool]] = ,
    start_time: datetime64 = NaT,
    end_time: datetime64 = NaT,
    code: str ,
    location_code: str =”“,
    data_type: Literal[’‘, ’velocity’, ‘strain_rate’, ‘phase’, ‘phase_difference’, ‘phase_rate’, ‘strain’, ‘temperature’, ‘temperature_gradient’, ‘brillouin_spectrum’, ‘fourier_transform’, ‘amplitude_spectrum’, ‘power_spectrum’, ‘power_spectral_density’, ‘frequency_band_energy’, ‘stalta’, ‘kurtosis’, ‘envelope’, ‘correlation’, ‘tau_p’, ‘dispersion’, ‘phase_weighted_stack’, ‘otdr’] =”“,
    data_category: Literal[’‘, ’DAS’, ‘DTS’, ‘DSS’] =”“,
    data_units: Quantity | str | None = None,
    interrogator: dascore.core.inventory.Interrogator | str | None[Interrogator, str, None] = None,
    interrogator_port: str | None[str, None] = None,
    firmware_version: str =”“,
    software_version: str =”“,
    gauge_length: float | None = None,
    pulse_rate: float | None = None,
    pulse_width: float | None = None,
    sample_rate: float | None = None,
    spatial_interval: float | None = None,
    distance_map: dascore.core.inventory.DistanceMap | None[DistanceMap, None] = None,
    closed_fiber_loop: bool = False,
)-> None

Time-aware, channel-like DFOS acquisition setup.

(location_code, code) pairs are unique within a FiberArray for overlapping time ranges. The location_code names the optical path lineage this acquisition interrogates. The distance_map is the one channel-resolution mechanism: a single control point states an origin (and, on the channel axis, takes spatial_interval as its slope), and more points describe a measured, bending relationship. On export to FDSN DAS metadata, extra_fields maps to native_headers.

Methods

Name Description
channel_to_distance Map channel-like patch coordinates onto optical path distance.
is_effective_at Return True if this epoch is valid at the supplied time (half-open).
new Create a new instance with some attributes updated.
overlaps Return True if two half-open validity intervals overlap.