es_sfgtools.data_models.log_models module

Author: Franklyn Dunbar Date: 2024-03-07 Email: franklyn.dunbar@earthscope.org

This module defines Pydantic models for representing SV3 acoustic data logs.

These models are used to parse and validate the data from SV3 interrogations and replies. The use of Decimal ensures high precision for all numeric fields.

class es_sfgtools.data_models.log_models.SV3InterrogationData(*, head0: Decimal, pitch0: Decimal, roll0: Decimal, east0: Decimal, north0: Decimal, up0: Decimal, east_std0: Decimal | None = None, north_std0: Decimal | None = None, up_std0: Decimal | None = None, pingTime: Decimal)

Bases: BaseModel

Data model for the interrogation phase of an SV3 acoustic ping.

east0: Decimal
east_std0: Decimal | None
head0: Decimal
model_computed_fields = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields = {'east0': FieldInfo(annotation=Decimal, required=True), 'east_std0': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None), 'head0': FieldInfo(annotation=Decimal, required=True), 'north0': FieldInfo(annotation=Decimal, required=True), 'north_std0': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None), 'pingTime': FieldInfo(annotation=Decimal, required=True), 'pitch0': FieldInfo(annotation=Decimal, required=True), 'roll0': FieldInfo(annotation=Decimal, required=True), 'up0': FieldInfo(annotation=Decimal, required=True), 'up_std0': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

north0: Decimal
north_std0: Decimal | None
pingTime: Decimal
pitch0: Decimal
roll0: Decimal
up0: Decimal
up_std0: Decimal | None
class es_sfgtools.data_models.log_models.SV3ReplyData(*, head1: Decimal, pitch1: Decimal, roll1: Decimal, east1: Decimal, north1: Decimal, up1: Decimal, transponderID: str, dbv: Decimal, snr: Decimal, xc: Decimal, tt: Decimal, tat: Decimal, returnTime: Decimal, east_std1: Decimal | None = None, north_std1: Decimal | None = None, up_std1: Decimal | None = None)

Bases: BaseModel

Data model for the reply phase of an SV3 acoustic ping.

dbv: Decimal
east1: Decimal
east_std1: Decimal | None
head1: Decimal
model_computed_fields = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields = {'dbv': FieldInfo(annotation=Decimal, required=True), 'east1': FieldInfo(annotation=Decimal, required=True), 'east_std1': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None), 'head1': FieldInfo(annotation=Decimal, required=True), 'north1': FieldInfo(annotation=Decimal, required=True), 'north_std1': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None), 'pitch1': FieldInfo(annotation=Decimal, required=True), 'returnTime': FieldInfo(annotation=Decimal, required=True), 'roll1': FieldInfo(annotation=Decimal, required=True), 'snr': FieldInfo(annotation=Decimal, required=True), 'tat': FieldInfo(annotation=Decimal, required=True), 'transponderID': FieldInfo(annotation=str, required=True), 'tt': FieldInfo(annotation=Decimal, required=True), 'up1': FieldInfo(annotation=Decimal, required=True), 'up_std1': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None), 'xc': FieldInfo(annotation=Decimal, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

north1: Decimal
north_std1: Decimal | None
pitch1: Decimal
returnTime: Decimal
roll1: Decimal
snr: Decimal
tat: Decimal
transponderID: str
tt: Decimal
up1: Decimal
up_std1: Decimal | None
xc: Decimal