es_sfgtools.data_models.community_standards module
This module defines data schemas that conform to the GNSS-A Community Data Standard, as described at https://hal.science/hal-04319233.
It provides Pydantic and Pandera models for representing seafloor acoustic data and site metadata in a standardized format.
- class es_sfgtools.data_models.community_standards.SFGDSTFSeafloorAcousticData(*args, **kwargs)
Bases:
DataFrameModelPandera model for seafloor acoustic data, as defined by the Seafloor Geodesy Data Standardization Task Force (SFGDSTF).
- MT_ID: Series[str] = 'MT_ID'
- TDC_ID: Series[str] | None = 'TDC_ID'
- T_receive: Series[float] = 'T_receive'
- T_transmit: Series[float] = 'T_transmit'
- TravelTime: Series[float] = 'TravelTime'
- X_receive: Series[float] = 'X_receive'
- X_transmit: Series[float] = 'X_transmit'
- Y_receive: Series[float] = 'Y_receive'
- Y_transmit: Series[float] = 'Y_transmit'
- Z_receive: Series[float] = 'Z_receive'
- Z_transmit: Series[float] = 'Z_transmit'
- aSNR: Series[float] | None = 'aSNR'
- acc: Series[int] | None = 'acc'
- ant_X0: Series[float] | None = 'ant_X0'
- ant_X1: Series[float] | None = 'ant_X1'
- ant_Y0: Series[float] | None = 'ant_Y0'
- ant_Y1: Series[float] | None = 'ant_Y1'
- ant_Z0: Series[float] | None = 'ant_Z0'
- ant_Z1: Series[float] | None = 'ant_Z1'
- ant_cov_XY0: Series[float] | None = 'ant_cov_XY0'
- ant_sigX0: Series[float] | None = 'ant_sigX0'
- ant_sigX1: Series[float] | None = 'ant_sigX1'
- ant_sigY0: Series[float] | None = 'ant_sigY0'
- ant_sigY1: Series[float] | None = 'ant_sigY1'
- ant_sigZ0: Series[float] | None = 'ant_sigZ0'
- ant_sigZ1: Series[float] | None = 'ant_sigZ1'
- dbV: Series[float] | None = 'dbV'
- doa_H: Series[float] | None = 'doa_H'
- doa_P: Series[float] | None = 'doa_P'
- doa_R: Series[float] | None = 'doa_R'
- heading0: Series[float] | None = 'heading0'
- pitch0: Series[float] | None = 'pitch0'
- quality_flag: Series[str] | None = 'quality_flag'
- roll0: Series[float] | None = 'roll0'
- roll1: Series[float] | None = 'roll1'
- trans_sigX0: Series[float] | None = 'trans_sigX0'
- trans_sigX1: Series[float] | None = 'trans_sigX1'
- trans_sigY0: Series[float] | None = 'trans_sigY0'
- trans_sigY1: Series[float] | None = 'trans_sigY1'
- trans_sigZ0: Series[float] | None = 'trans_sigZ0'
- trans_sigZ1: Series[float] | None = 'trans_sigZ1'
- class es_sfgtools.data_models.community_standards.SFGDTSFSite(*, Site_name: str, Campaign: str, TimeOrigin: datetime, RefFrame: str = 'ITRF', MTlist: list[str] = [], MT_appPos: dict[str, list[float]] = {}, ATDoffset: list[float] = [0.0, 0.0, 0.0])
Bases:
BaseModelPydantic model for site metadata, based on SFGDSTF standards.
- ATDoffset: list[float]
- Campaign: str
- MT_appPos: dict[str, list[float]]
- MTlist: list[str]
- RefFrame: str
- Site_name: str
- TimeOrigin: datetime
- classmethod from_site_vessel(site: Site, vessel: Vessel, campaign_id: str) SFGDTSFSite
Create a SFGDTSFSite object from internal Site and Vessel objects.
- Parameters:
Notes
This constructor makes several assumptions: - The first name in site.names is the primary site name. - The campaign matching campaign_id is used. - The first reference frame is used. - The first ATD offset from the vessel is used.
- 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 = {'ATDoffset': FieldInfo(annotation=list[float], required=False, default=[0.0, 0.0, 0.0]), 'Campaign': FieldInfo(annotation=str, required=True), 'MT_appPos': FieldInfo(annotation=dict[str, list[float]], required=False, default={}), 'MTlist': FieldInfo(annotation=list[str], required=False, default=[]), 'RefFrame': FieldInfo(annotation=str, required=False, default='ITRF'), 'Site_name': FieldInfo(annotation=str, required=True), 'TimeOrigin': FieldInfo(annotation=datetime, 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.