gnatss.ops.data module#

gnatss.ops.data.calc_lla_and_enu(all_observations: DataFrame, array_center: ArrayCenter) DataFrame#

Calculates the LLA and ENU coordinates for all observations

Parameters:
all_observationspd.DataFrame

The full dataset for computation

array_centerArrayCenter

An object containing the center of the array

Returns:
pd.DataFrame

Modified dataset with LLA and ENU coordinates

gnatss.ops.data.clean_tt(travel_times: DataFrame, transponder_ids: list[str], travel_times_correction: float, transducer_delay_time: float) DataFrame#

Clean travel times by doing the following steps: 1. remove any travel times that have 0 reply time 2. apply travel time correction and transducer delay time.

Parameters:
travel_timespd.DataFrame

The original travel times data

transponder_idslist[str]

A list of the transponder ids that matches the order with travel_times data

travel_times_correctionfloat

Correction to times in travel times (secs.)

transducer_delay_timefloat

Transducer Delay Time - delay at surface transducer (secs).

Returns:
pd.DataFrame

The cleaned travel times data

gnatss.ops.data.compute_harmonic_mean(config: Configuration, svdf: DataFrame | None = None)#
gnatss.ops.data.data_loading(config_yaml: str, distance_limit: float | None = None, residual_limit: float | None = None, residual_range_limit: float | None = None, outlier_threshold: float | None = None, from_cache: bool = False, remove_outliers: bool = False, skip_parsed: bool = True, skip_posfilter: bool = False, skip_solver: bool = False)#
gnatss.ops.data.ecef_to_enu(df: DataFrame, input_ecef_columns: list[str], output_enu_columns: list[str], array_center: ArrayCenter) DataFrame#

Calculate ENU coordinates from input ECEF coordinates

Parameters:
df: pd.DataFrame

The full dataset for computation

input_ecef_columns: list[str]

Columns in the df that contain ENU coordinates

output_enu_columns: list[str]

Columns that should be created in the df for ENU coordinates

array_centerArrayCenter

An object containing the center of the array

Returns:
pd.DataFrame

Modified dataset with ECEF and ENU coordinates

gnatss.ops.data.ensure_monotonic_increasing(all_observations: DataFrame) DataFrame#
gnatss.ops.data.filter_tt(travel_times: DataFrame, cut_df: DataFrame, time_column: str = 'time') DataFrame#

Filter travel times data by removing the data that falls within the time range specified in the deletions file.

Parameters:
travel_timespd.DataFrame

The original travel times data

cut_dfpd.DataFrame

The deletions data to be removed

Returns:
pd.DataFrame

The filtered travel times data

gnatss.ops.data.get_data_inputs(all_observations: DataFrame) List#

Extracts data inputs to perform solving algorithm

Parameters:
all_observationspd.DataFrame

The full dataset for computation

Returns:
NumbaList

A list of data inputs

gnatss.ops.data.gps_solution_exists(config) bool#
gnatss.ops.data.preprocess_data(config, data_dict)#
gnatss.ops.data.preprocess_travel_times(pxp_df, config: Configuration)#
gnatss.ops.data.preprocess_tt(travel_times: DataFrame) DataFrame#

Preprocess travel times data by creating a dataframe that contains the travel times and the reply times contiguously.

Parameters:
travel_timespd.DataFrame

The travel times data

Returns:
pd.DataFrame

The preprocessed travel times data

gnatss.ops.data.standardize_data(pos_freed_trans_twtt: DataFrame, data_precision: int = 8) DataFrame#