1. Loading data

das_ice.io.dask_Terra15(fname, timezone=datetime.timezone.utc, **kwargs)

Open data using xarray dask

Parameters:

timezone (timezone) – default (timezone.utc)

das_ice.io.dask_febus(filenames, timezone=datetime.timezone.utc, concat_dim='time', **kwargs)

Load and combine multiple Febus DAS files using dask_febus_one_file.

Parameters:
  • filenames – List of file paths to process.

  • timezone (timezone object) – Timezone for datetime conversion (default: UTC).

  • concat_dim – Dimension along which to concatenate the data (default: ‘time’).

  • kwargs – Additional arguments to pass to dask_febus_one_file.

Returns:

Combined xarray.DataArray object.

das_ice.io.dask_febus_one_file(fname, timezone=datetime.timezone.utc, **kwargs)

Open and process Febus DAS data using xarray with dask.

Parameters:
  • fname – File name or pattern to load with xarray.

  • timezone (timezone object) – Timezone for datetime conversion (default: UTC).

  • kwargs – Additional arguments for xarray.open_mfdataset.

Returns:

xarray DataArray with time and distance coordinates.

das_ice.io.read_Terra15(fname, timezone=datetime.timezone.utc)

Open file from Terra15 version 6 using xdas loader

Parameters:

timezone (timezone) – default (timezone.utc)

2. Processes DAS Data

das_ice.processes.local_spectrogram(da, win, t_start, dB=True, **kwargs)

Wrapper of scipy.signal.welch to performed PSD spectrogram

Parameters:
  • self (xr.DataArray)

  • win (int) – time length in seconds

  • t_start (str) – data for the start

  • dB (bool) – value in dB

das_ice.processes.std_local(da, nt=6, nx=4, ax_t='time', ax_x='distance')

Compute local standard deviation for a DataArray

Parameters:
  • da (xr.DataArray) – Variable on which compute the local standard deviation

  • nt (int) – number of element in ax_t direction (default: 6)

  • nx (int) – number of element in ax_x direction (default: 4)

  • ax_t (string) – ax_t axis (default: ‘time’)

  • ax_x (string) – ax_x axis (default: ‘distance’)

das_ice.processes.strain_rate(da, ax_d='distance')

Compute strain rate from velocity mesurement

Parameters:
  • da (xr.DataArray) – Variable on which compute differentiate

  • ax_d (string) – axis for differentiate (default: ‘distance’)

3. Plot DAS Data

das_ice.plot.all_trace(da)

Plot all the trace using plotly. The number of trace should not be to high.

das_ice.plot.viz_two_time_series(s1, s2)

Visualize two time series in separate subplots with linked zooming.

Parameters:
  • s1 (xr.DataArray) – First time series DataArray (e.g., original signal)

  • s2 (xr.DataArray) – Second time series DataArray (e.g., STA/LTA ratio)

Returns:

Plotly figure object with two subplots

Return type:

plotly.graph_objects.Figure

4. Filter DAS Data

exception das_ice.signal.filter.DecimationWarning

Custom warning for decimation issues.

__weakref__

list of weak references to the object

das_ice.signal.filter.bandpass(da, lowcut, highcut, order=4, dim='time')

Apply a bandpass filter to an xarray.DataArray along a specified dimension, lazily and Dask-compatible.

das_ice.signal.filter.decimate(da, q_int, axis='time')

Decimate an xarray.DataArray or Dataset along a specified axis by a given interval.

Parameters: da : xarray.DataArray or xarray.Dataset

The input data to be decimated.

q_intint

The decimation interval. Must be a positive integer.

axisstr, optional

The dimension name along which to decimate. Default is ‘time’.

Returns: xarray.DataArray or xarray.Dataset

The decimated data.

Raises: ValueError:

If q_int is not a positive integer.

5. Event detection

das_ice.signal.picker.find_event(sta_lta, on, off)

Detect events based on the STA/LTA ratio exceeding given thresholds.

Parameters:
  • sta_lta (xr.DataArray) – Short-Term Average to Long-Term Average (STA/LTA) ratio

  • on (float) – Threshold for the ‘on’ event (when STA/LTA exceeds this value)

  • off (float) – Threshold for the ‘off’ event (when STA/LTA drops below this value)

Returns:

DataArray of event detections (1 for event, 0 for no event)

Return type:

xr.DataArray

das_ice.signal.picker.sta_lta(da, sta_t, lta_t)

Compute the Short-Term Average to Long-Term Average (STA/LTA) ratio for a DataArray.

Parameters:
  • da (xr.DataArray) – Input DataArray containing the signal data

  • sta_t (float) – Time window for the short-term average (STA) in seconds

  • lta_t (float) – Time window for the long-term average (LTA) in seconds

Returns:

DataArray containing the STA/LTA ratio

Return type:

xr.DataArray

6. Metadata for DAS

das_ice.metadata.optic_length(da, metadata_optic, dist='distance')

Compute optic length from metadata

das_ice.metadata.optic_length_plot(da)

Plot optic length data