es_sfgtools.data_models.observables module

Author: Franklyn Dunbar Date: 2024-09-25 Email: franklyn.dunbar@earthscope.org

class es_sfgtools.data_models.observables.AcousticDataFrame(*args, **kwargs)

Bases: DataFrameModel

Handles the parsing and validation of acoustic data from a file. .. attribute:: TransponderID

Unique identifier for the transponder.

type:

Series[str]

TriggerTime

Time when the ping was triggered.

Type:

Series[datetime]

PingTime

Time when ping was send in seconds of day .

Type:

Series[float]

ReturnTime

Return time in seconds since the start of day.

Type:

Series[float]

tt

Two-way travel time.

Type:

Series[float]

dbv

Signal relative to full scale voltage.

Type:

Series[int]

CorrelationScore

Correlation score.

Type:

Series[int]

class Config

Bases: object

add_missing_columns = True
coerce = True
name = 'AcousticDataFrame'
dbv: Series[int] = 'dbv'
pingTime: Series[float] = 'pingTime'
returnTime: Series[float] = 'returnTime'
snr: Series[float] = 'snr'
tat: Series[float] = 'tat'
transponderID: Series[str] = 'transponderID'
tt: Series[float] = 'tt'
xc: Series[int] = 'xc'
class es_sfgtools.data_models.observables.IMUPositionDataFrame(*args, **kwargs)

Bases: DataFrameModel

class Config

Bases: object

add_missing_columns = True
coerce = True
drop_invalid_rows = True
name = 'IMUPositionDataFrame'
east: Series[float] = 'east'
east_std: Series[float] = 'east_std'
head: Series[float] = 'head'
latitude: Series[float] = 'latitude'
longitude: Series[float] = 'longitude'
north: Series[float] = 'north'
north_std: Series[float] = 'north_std'
classmethod parse_time(series: Series) Series
pitch: Series[float] = 'pitch'
roll: Series[float] = 'roll'
time: Series[Timestamp] = 'time'
up: Series[float] = 'up'
up_std: Series[float] = 'up_std'
class es_sfgtools.data_models.observables.KinPositionDataFrame(*args, **kwargs)

Bases: DataFrameModel

Data frame Schema for GNSS Position Data

class Config

Bases: object

add_missing_columns = True
coerce = True
name = 'KinPositionDataFrame'
east: Series[float] = 'east'
east_std: Series[float] | None = 'east_std'
height: Series[float] = 'height'
latitude: Series[float] = 'latitude'
longitude: Series[float] = 'longitude'
north: Series[float] = 'north'
north_std: Series[float] | None = 'north_std'
number_of_satellites: Series[int] = 'number_of_satellites'
classmethod parse_time(series: Series) Series
pdop: Series[float] = 'pdop'
time: Series[Timestamp] = 'time'
up: Series[float] = 'up'
up_std: Series[float] | None = 'up_std'
wrms: Series[float] = 'wrms'
class es_sfgtools.data_models.observables.ShotDataFrame(*args, **kwargs)

Bases: AcousticDataFrame

class Config

Bases: object

add_missing_columns = True
coerce = True
drop_invalid_rows = True
name = 'ShotDataFrame'
east0: Series[float] = 'east0'
east1: Series[float] = 'east1'
east_std0: Series[float] | None = 'east_std0'
east_std1: Series[float] | None = 'east_std1'
head0: Series[float] = 'head0'
head1: Series[float] = 'head1'
north0: Series[float] = 'north0'
north1: Series[float] = 'north1'
north_std0: Series[float] | None = 'north_std0'
north_std1: Series[float] | None = 'north_std1'
pitch0: Series[float] = 'pitch0'
pitch1: Series[float] = 'pitch1'
roll0: Series[float] = 'roll0'
roll1: Series[float] = 'roll1'
up0: Series[float] = 'up0'
up1: Series[float] = 'up1'
up_std0: Series[float] | None = 'up_std0'
up_std1: Series[float] | None = 'up_std1'
class es_sfgtools.data_models.observables.SoundVelocityDataFrame(*args, **kwargs)

Bases: DataFrameModel

class Config

Bases: object

coerce = True
drop_invalid_rows = True
name = 'SoundVelocityDataFrame'
depth: Series[float] = 'depth'
speed: Series[float] = 'speed'