Configurations

Contents

Configurations#

Pydantic models documentation for application configurations.

Content

Main#

main.py

The main configuration module containing base settings pydantic classes

pydantic model gnatss.configs.main.ArrayCenter#

Array center base model.

Show JSON schema
{
   "title": "ArrayCenter",
   "description": "Array center base model.",
   "type": "object",
   "properties": {
      "lat": {
         "description": "Latitude",
         "title": "Lat",
         "type": "number"
      },
      "lon": {
         "description": "Longitude",
         "title": "Lon",
         "type": "number"
      },
      "alt": {
         "default": 0.0,
         "description": "Altitude",
         "title": "Alt",
         "type": "number"
      }
   },
   "required": [
      "lat",
      "lon"
   ]
}

Fields:
field alt: float = 0.0#

Altitude

field lat: float [Required]#

Latitude

field lon: float [Required]#

Longitude

pydantic settings gnatss.configs.main.BaseConfiguration#

Base configuration class

Show JSON schema
{
   "title": "BaseConfiguration",
   "description": "Base configuration class",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • env_prefix: str = gnatss_

  • env_file_encoding: str = utf-8

  • env_nested_delimiter: str = __

pydantic settings gnatss.configs.main.Configuration#

Configuration class to generate config object

Show JSON schema
{
   "title": "Configuration",
   "description": "Configuration class to generate config object",
   "type": "object",
   "properties": {
      "site_id": {
         "description": "GNSS-A site name or code",
         "title": "Site Id",
         "type": "string"
      },
      "campaign": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Observation campaign name",
         "title": "Campaign"
      },
      "time_origin": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Origin of time used in the file [UTC]",
         "title": "Time Origin"
      },
      "ref_frame": {
         "const": "wgs84",
         "default": "wgs84",
         "description": "Reference frame used in the file",
         "enum": [
            "wgs84"
         ],
         "title": "Ref Frame",
         "type": "string"
      },
      "array_center": {
         "allOf": [
            {
               "$ref": "#/$defs/ArrayCenter"
            }
         ],
         "description": "Array center to use for calculation"
      },
      "transponders": {
         "description": "A list of transponders configurations",
         "items": {
            "$ref": "#/$defs/Transponder"
         },
         "title": "Transponders",
         "type": "array"
      },
      "travel_times_variance": {
         "default": 1e-10,
         "description": "VARIANCE (s**2) PXP two-way travel time measurement",
         "title": "Travel Times Variance",
         "type": "number"
      },
      "travel_times_correction": {
         "default": 0.0,
         "description": "Correction to times in travel times (secs.)",
         "title": "Travel Times Correction",
         "type": "number"
      },
      "transducer_delay_time": {
         "default": 0.0,
         "description": "Transducer Delay Time - delay at surface transducer (secs). ",
         "title": "Transducer Delay Time",
         "type": "number"
      },
      "solver": {
         "anyOf": [
            {
               "$ref": "#/$defs/Solver"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Solver configurations"
      },
      "posfilter": {
         "anyOf": [
            {
               "$ref": "#/$defs/PositionFilter"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Position filter configurations"
      },
      "parsed": {
         "anyOf": [
            {
               "$ref": "#/$defs/Parsed"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Position filter configurations"
      },
      "output": {
         "anyOf": [
            {
               "$ref": "#/$defs/OutputPath"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Output path configurations"
      },
      "notes": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Any other optional comments",
         "title": "Notes"
      }
   },
   "$defs": {
      "ArrayCenter": {
         "description": "Array center base model.",
         "properties": {
            "lat": {
               "description": "Latitude",
               "title": "Lat",
               "type": "number"
            },
            "lon": {
               "description": "Longitude",
               "title": "Lon",
               "type": "number"
            },
            "alt": {
               "default": 0.0,
               "description": "Altitude",
               "title": "Alt",
               "type": "number"
            }
         },
         "required": [
            "lat",
            "lon"
         ],
         "title": "ArrayCenter",
         "type": "object"
      },
      "AtdOffset": {
         "description": "Antenna Transducer Offset base model.",
         "properties": {
            "forward": {
               "description": "forward offset",
               "title": "Forward",
               "type": "number"
            },
            "rightward": {
               "description": "rightward offset",
               "title": "Rightward",
               "type": "number"
            },
            "downward": {
               "description": "downward offset",
               "title": "Downward",
               "type": "number"
            }
         },
         "required": [
            "forward",
            "rightward",
            "downward"
         ],
         "title": "AtdOffset",
         "type": "object"
      },
      "ExportObs": {
         "description": "Export observation data after filtering.",
         "properties": {
            "full": {
               "default": false,
               "description": "Only export the necessary data, including antenna covariance.",
               "title": "Full",
               "type": "boolean"
            }
         },
         "title": "ExportObs",
         "type": "object"
      },
      "GPSSolutionInput": {
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            },
            "legacy": {
               "default": false,
               "description": "Flag to indicate if the input file is in legacy format.",
               "title": "Legacy",
               "type": "boolean"
            }
         },
         "required": [
            "path"
         ],
         "title": "GPSSolutionInput",
         "type": "object"
      },
      "InputData": {
         "description": "Input data path specification base model",
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            }
         },
         "required": [
            "path"
         ],
         "title": "InputData",
         "type": "object"
      },
      "OutputPath": {
         "description": "Output path base model.",
         "properties": {
            "path": {
               "description": "Path string to the output path. Ex. s3://bucket/my_output",
               "title": "Path",
               "type": "string"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            }
         },
         "required": [
            "path"
         ],
         "title": "OutputPath",
         "type": "object"
      },
      "Parsed": {
         "description": "Parsed base model for 2-minute parsed position filtering routine",
         "properties": {
            "export": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ExportObs"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Export observation data after filtering."
            },
            "input_files": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParsedInputs"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Input files for 2-minute parsed position filtering routine."
            },
            "atd_offsets": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AtdOffset"
                  }
               ],
               "description": "Antenna Transducer Offset values."
            }
         },
         "required": [
            "atd_offsets"
         ],
         "title": "Parsed",
         "type": "object"
      },
      "ParsedInputs": {
         "properties": {
            "gps_positions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "GPS positions data path specification."
            },
            "raw_data": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Raw data files telemetered to shore (Sonardyne SV-3 format, *.tar.gz)"
            }
         },
         "title": "ParsedInputs",
         "type": "object"
      },
      "PositionFilter": {
         "description": "Position filter base model for position filtering routine",
         "properties": {
            "export": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ExportObs"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Export observation data after filtering."
            },
            "input_files": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PositionFilterInputs"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Input files for position filtering routine."
            },
            "atd_offsets": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AtdOffset"
                  }
               ],
               "description": "Antenna Transducer Offset values."
            }
         },
         "required": [
            "atd_offsets"
         ],
         "title": "PositionFilter",
         "type": "object"
      },
      "PositionFilterInputs": {
         "properties": {
            "roll_pitch_heading": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Roll Pitch Heading (RPH) data path specification."
            },
            "novatel": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Novatel data path specification."
            },
            "novatel_std": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Novatel STD data path specification."
            },
            "gps_positions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "GPS positions data path specification."
            },
            "travel_times": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Input travel times data path specification"
            }
         },
         "title": "PositionFilterInputs",
         "type": "object"
      },
      "ReferenceEllipsoid": {
         "description": "Reference ellipsoid base model",
         "properties": {
            "semi_major_axis": {
               "description": "Semi-major axis (m)",
               "title": "Semi Major Axis",
               "type": "number"
            },
            "reverse_flattening": {
               "description": "Reverse flattening",
               "title": "Reverse Flattening",
               "type": "number"
            }
         },
         "required": [
            "semi_major_axis",
            "reverse_flattening"
         ],
         "title": "ReferenceEllipsoid",
         "type": "object"
      },
      "Solver": {
         "description": "Solver transponder base model containing configurations\nfor GNSS-A inversion computation",
         "properties": {
            "defaults": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SolverGlobal"
                  }
               ],
               "default": {
                  "max_dat": 45000,
                  "max_gps": 423000,
                  "max_del": 15000,
                  "max_brk": 20,
                  "max_surv": 10,
                  "max_sdt_obs": 2000,
                  "max_obm": 472,
                  "max_unmm": 9
               }
            },
            "transponders": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Transponder"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A list of transponders configurations",
               "title": "Transponders"
            },
            "reference_ellipsoid": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ReferenceEllipsoid"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "Reference ellipsoid configurations"
            },
            "gps_sigma_limit": {
               "default": 0.05,
               "description": "Maximum positional sigma allowed to use GPS positions",
               "exclusiveMaximum": 100.0,
               "exclusiveMinimum": 0.0,
               "title": "Gps Sigma Limit",
               "type": "number"
            },
            "std_dev": {
               "default": true,
               "description": "GPS positional uncertainty flag std. dev. (True) or variance (False)",
               "title": "Std Dev",
               "type": "boolean"
            },
            "geoid_undulation": {
               "description": "Geoid undulation at sea surface point",
               "title": "Geoid Undulation",
               "type": "number"
            },
            "ray_trace_type": {
               "default": "scale",
               "description": "Ray trace method to use",
               "enum": [
                  "scale",
                  "1d"
               ],
               "title": "Ray Trace Type",
               "type": "string"
            },
            "bisection_tolerance": {
               "default": 1e-10,
               "description": "Tolerance to stop bisection during ray trace",
               "title": "Bisection Tolerance",
               "type": "number"
            },
            "array_center": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArrayCenter"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array center to use for calculation"
            },
            "travel_times_variance": {
               "default": 1e-10,
               "description": "VARIANCE (s**2) PXP two-way travel time measurement",
               "title": "Travel Times Variance",
               "type": "number"
            },
            "transducer_delay_time": {
               "default": 0.0,
               "description": "Transducer Delay Time - delay at surface transducer (secs). ",
               "title": "Transducer Delay Time",
               "type": "number"
            },
            "harmonic_mean_start_depth": {
               "default": 0.0,
               "description": "Start depth in meters for harmonic mean computation.",
               "title": "Harmonic Mean Start Depth",
               "type": "number"
            },
            "input_files": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SolverInputs"
                  }
               ],
               "description": "Input files data path specifications."
            },
            "distance_limit": {
               "default": 150.0,
               "description": "Distance in meters from center beyond which points will be excluded from solution",
               "minimum": 0.0,
               "title": "Distance Limit",
               "type": "number"
            },
            "residual_limit": {
               "default": 10000.0,
               "description": "Maximum residual in centimeters beyond which data points will be excluded from solution",
               "minimum": 0.0,
               "title": "Residual Limit",
               "type": "number"
            },
            "residual_range_limit": {
               "default": 20000.0,
               "description": "Maximum residual range (maximum - minimum) in centimeters for a given epoch, beyond which data points will be excluded from solution",
               "minimum": 0.0,
               "title": "Residual Range Limit",
               "type": "number"
            },
            "residual_outliers_threshold": {
               "default": 25.0,
               "description": "Residual outliers threshold acceptable before throwing an error in percent",
               "minimum": 0.0,
               "title": "Residual Outliers Threshold",
               "type": "number"
            },
            "travel_times_correction": {
               "default": 0.0,
               "description": "Correction to times in travel times (secs.)",
               "title": "Travel Times Correction",
               "type": "number"
            },
            "twtt_model": {
               "const": "simple_twtt",
               "default": "simple_twtt",
               "description": "Travel time model to use.",
               "enum": [
                  "simple_twtt"
               ],
               "title": "Twtt Model",
               "type": "string"
            }
         },
         "required": [
            "reference_ellipsoid",
            "geoid_undulation",
            "input_files"
         ],
         "title": "Solver",
         "type": "object"
      },
      "SolverGlobal": {
         "description": "Solver global base model for inversion process.",
         "properties": {
            "max_dat": {
               "default": 45000,
               "title": "Max Dat",
               "type": "integer"
            },
            "max_gps": {
               "default": 423000,
               "title": "Max Gps",
               "type": "integer"
            },
            "max_del": {
               "default": 15000,
               "title": "Max Del",
               "type": "integer"
            },
            "max_brk": {
               "default": 20,
               "title": "Max Brk",
               "type": "integer"
            },
            "max_surv": {
               "default": 10,
               "title": "Max Surv",
               "type": "integer"
            },
            "max_sdt_obs": {
               "default": 2000,
               "title": "Max Sdt Obs",
               "type": "integer"
            },
            "max_obm": {
               "default": 472,
               "title": "Max Obm",
               "type": "integer"
            },
            "max_unmm": {
               "default": 9,
               "title": "Max Unmm",
               "type": "integer"
            }
         },
         "title": "SolverGlobal",
         "type": "object"
      },
      "SolverInputs": {
         "properties": {
            "sound_speed": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sound speed data path specification"
            },
            "travel_times": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Travel times data path specification."
            },
            "gps_solution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GPSSolutionInput"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "GPS solution data path specification."
            },
            "deletions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deletions file for unwanted data points."
            },
            "quality_controls": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Quality control file(s) for user defined unwanted data points."
            }
         },
         "title": "SolverInputs",
         "type": "object"
      },
      "Transponder": {
         "description": "Transponder base model for each transponder configuration",
         "properties": {
            "lat": {
               "description": "Latitude",
               "title": "Lat",
               "type": "number"
            },
            "lon": {
               "description": "Longitude",
               "title": "Lon",
               "type": "number"
            },
            "height": {
               "description": "Transponder height in meters (m).",
               "title": "Height",
               "type": "number"
            },
            "alt": {
               "description": "Transponder depth in meters (m).",
               "title": "Alt",
               "type": "number"
            },
            "internal_delay": {
               "description": "Transponder internal delay in seconds (s). Assume transponder delay contains: delay-line, non-delay-line internal delays (determined at transdec) and any user set delay (dail-in).",
               "title": "Internal Delay",
               "type": "number"
            },
            "sv_mean": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Dynamically generated sound velocity mean (m/s).",
               "title": "Sv Mean"
            },
            "pxp_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Transponder id string. **This field will be computed during object creation**",
               "title": "Pxp Id"
            },
            "azimuth": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Transponder azimuth in degrees w.r.t. array center.",
               "title": "Azimuth"
            },
            "elevation": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Transponder elevation in degrees w.r.t. array center.",
               "title": "Elevation"
            }
         },
         "required": [
            "lat",
            "lon",
            "height",
            "alt",
            "internal_delay"
         ],
         "title": "Transponder",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "site_id",
      "array_center",
      "transponders"
   ]
}

Config:
  • env_prefix: str = gnatss_

  • env_file_encoding: str = utf-8

  • env_nested_delimiter: str = __

Fields:
field array_center: ArrayCenter [Required]#

Array center to use for calculation

field campaign: str | None = None#

Observation campaign name

field notes: str | None = None#

Any other optional comments

field output: OutputPath | None = None#

Output path configurations

field parsed: Parsed | None = None#

Position filter configurations

field posfilter: PositionFilter | None = None#

Position filter configurations

field ref_frame: Literal['wgs84'] = 'wgs84'#

Reference frame used in the file

field site_id: str [Required]#

GNSS-A site name or code

field solver: Solver | None = None#

Solver configurations

field time_origin: str | datetime.datetime | None = None#

Origin of time used in the file [UTC]

field transducer_delay_time: float = 0.0#

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

field transponders: list[Transponder] [Required]#

A list of transponders configurations

field travel_times_correction: float = 0.0#

Correction to times in travel times (secs.)

field travel_times_variance: float = 1e-10#

VARIANCE (s**2) PXP two-way travel time measurement

setup_transponders()#

I/O#

class gnatss.configs.io.CSVOutput(value)#

Default CSV output file names

pydantic model gnatss.configs.io.InputData#

Input data path specification base model

Show JSON schema
{
   "title": "InputData",
   "description": "Input data path specification base model",
   "type": "object",
   "properties": {
      "path": {
         "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
         "title": "Path",
         "type": "string"
      },
      "format": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "File format of the data.",
         "title": "Format"
      },
      "storage_options": {
         "default": {},
         "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
         "title": "Storage Options",
         "type": "object"
      },
      "loader_kwargs": {
         "default": {},
         "description": "Keyword arguments for the data loader.",
         "title": "Loader Kwargs",
         "type": "object"
      }
   },
   "required": [
      "path"
   ]
}

Fields:
field format: str | None = None#

File format of the data.

field loader_kwargs: dict[str, Any] = {}#

Keyword arguments for the data loader.

field path: str [Required]#

Path string to the data. Ex. s3://bucket/some_data.dat

field storage_options: dict[str, Any] = {}#

Protocol keyword argument for specified file system. This is not needed for local paths

get_files() list[str]#

Get the list of files in the directory

model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

property files: list[str]#
pydantic model gnatss.configs.io.OutputPath#

Output path base model.

Show JSON schema
{
   "title": "OutputPath",
   "description": "Output path base model.",
   "type": "object",
   "properties": {
      "path": {
         "description": "Path string to the output path. Ex. s3://bucket/my_output",
         "title": "Path",
         "type": "string"
      },
      "storage_options": {
         "default": {},
         "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
         "title": "Storage Options",
         "type": "object"
      }
   },
   "required": [
      "path"
   ]
}

Fields:
field path: str [Required]#

Path string to the output path. Ex. s3://bucket/my_output

field storage_options: dict[str, Any] = {}#

Protocol keyword argument for specified file system. This is not needed for local paths

model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

property fs#
class gnatss.configs.io.StrEnum(value)#

A custom string enum class

Solver#

solver.py

The solver module containing base models for solver configuration

pydantic model gnatss.configs.solver.ArrayCenter#

Array center base model.

Show JSON schema
{
   "title": "ArrayCenter",
   "description": "Array center base model.",
   "type": "object",
   "properties": {
      "lat": {
         "description": "Latitude",
         "title": "Lat",
         "type": "number"
      },
      "lon": {
         "description": "Longitude",
         "title": "Lon",
         "type": "number"
      },
      "alt": {
         "default": 0.0,
         "description": "Altitude",
         "title": "Alt",
         "type": "number"
      }
   },
   "required": [
      "lat",
      "lon"
   ]
}

Fields:
field alt: float = 0.0#

Altitude

field lat: float [Required]#

Latitude

field lon: float [Required]#

Longitude

pydantic model gnatss.configs.solver.GPSSolutionInput#

Show JSON schema
{
   "title": "GPSSolutionInput",
   "type": "object",
   "properties": {
      "path": {
         "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
         "title": "Path",
         "type": "string"
      },
      "format": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "File format of the data.",
         "title": "Format"
      },
      "storage_options": {
         "default": {},
         "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
         "title": "Storage Options",
         "type": "object"
      },
      "loader_kwargs": {
         "default": {},
         "description": "Keyword arguments for the data loader.",
         "title": "Loader Kwargs",
         "type": "object"
      },
      "legacy": {
         "default": false,
         "description": "Flag to indicate if the input file is in legacy format.",
         "title": "Legacy",
         "type": "boolean"
      }
   },
   "required": [
      "path"
   ]
}

Fields:
field legacy: bool = False#

Flag to indicate if the input file is in legacy format.

model_post_init(context: Any, /) None#

We need to both initialize private attributes and call the user-defined model_post_init method.

pydantic model gnatss.configs.solver.ReferenceEllipsoid#

Reference ellipsoid base model

Show JSON schema
{
   "title": "ReferenceEllipsoid",
   "description": "Reference ellipsoid base model",
   "type": "object",
   "properties": {
      "semi_major_axis": {
         "description": "Semi-major axis (m)",
         "title": "Semi Major Axis",
         "type": "number"
      },
      "reverse_flattening": {
         "description": "Reverse flattening",
         "title": "Reverse Flattening",
         "type": "number"
      }
   },
   "required": [
      "semi_major_axis",
      "reverse_flattening"
   ]
}

Fields:
field reverse_flattening: float [Required]#

Reverse flattening

field semi_major_axis: float [Required]#

Semi-major axis (m)

property eccentricity: float | None#
pydantic model gnatss.configs.solver.Solver#

Solver transponder base model containing configurations for GNSS-A inversion computation

Show JSON schema
{
   "title": "Solver",
   "description": "Solver transponder base model containing configurations\nfor GNSS-A inversion computation",
   "type": "object",
   "properties": {
      "defaults": {
         "allOf": [
            {
               "$ref": "#/$defs/SolverGlobal"
            }
         ],
         "default": {
            "max_dat": 45000,
            "max_gps": 423000,
            "max_del": 15000,
            "max_brk": 20,
            "max_surv": 10,
            "max_sdt_obs": 2000,
            "max_obm": 472,
            "max_unmm": 9
         }
      },
      "transponders": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Transponder"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A list of transponders configurations",
         "title": "Transponders"
      },
      "reference_ellipsoid": {
         "anyOf": [
            {
               "$ref": "#/$defs/ReferenceEllipsoid"
            },
            {
               "type": "null"
            }
         ],
         "description": "Reference ellipsoid configurations"
      },
      "gps_sigma_limit": {
         "default": 0.05,
         "description": "Maximum positional sigma allowed to use GPS positions",
         "exclusiveMaximum": 100.0,
         "exclusiveMinimum": 0.0,
         "title": "Gps Sigma Limit",
         "type": "number"
      },
      "std_dev": {
         "default": true,
         "description": "GPS positional uncertainty flag std. dev. (True) or variance (False)",
         "title": "Std Dev",
         "type": "boolean"
      },
      "geoid_undulation": {
         "description": "Geoid undulation at sea surface point",
         "title": "Geoid Undulation",
         "type": "number"
      },
      "ray_trace_type": {
         "default": "scale",
         "description": "Ray trace method to use",
         "enum": [
            "scale",
            "1d"
         ],
         "title": "Ray Trace Type",
         "type": "string"
      },
      "bisection_tolerance": {
         "default": 1e-10,
         "description": "Tolerance to stop bisection during ray trace",
         "title": "Bisection Tolerance",
         "type": "number"
      },
      "array_center": {
         "anyOf": [
            {
               "$ref": "#/$defs/ArrayCenter"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array center to use for calculation"
      },
      "travel_times_variance": {
         "default": 1e-10,
         "description": "VARIANCE (s**2) PXP two-way travel time measurement",
         "title": "Travel Times Variance",
         "type": "number"
      },
      "transducer_delay_time": {
         "default": 0.0,
         "description": "Transducer Delay Time - delay at surface transducer (secs). ",
         "title": "Transducer Delay Time",
         "type": "number"
      },
      "harmonic_mean_start_depth": {
         "default": 0.0,
         "description": "Start depth in meters for harmonic mean computation.",
         "title": "Harmonic Mean Start Depth",
         "type": "number"
      },
      "input_files": {
         "allOf": [
            {
               "$ref": "#/$defs/SolverInputs"
            }
         ],
         "description": "Input files data path specifications."
      },
      "distance_limit": {
         "default": 150.0,
         "description": "Distance in meters from center beyond which points will be excluded from solution",
         "minimum": 0.0,
         "title": "Distance Limit",
         "type": "number"
      },
      "residual_limit": {
         "default": 10000.0,
         "description": "Maximum residual in centimeters beyond which data points will be excluded from solution",
         "minimum": 0.0,
         "title": "Residual Limit",
         "type": "number"
      },
      "residual_range_limit": {
         "default": 20000.0,
         "description": "Maximum residual range (maximum - minimum) in centimeters for a given epoch, beyond which data points will be excluded from solution",
         "minimum": 0.0,
         "title": "Residual Range Limit",
         "type": "number"
      },
      "residual_outliers_threshold": {
         "default": 25.0,
         "description": "Residual outliers threshold acceptable before throwing an error in percent",
         "minimum": 0.0,
         "title": "Residual Outliers Threshold",
         "type": "number"
      },
      "travel_times_correction": {
         "default": 0.0,
         "description": "Correction to times in travel times (secs.)",
         "title": "Travel Times Correction",
         "type": "number"
      },
      "twtt_model": {
         "const": "simple_twtt",
         "default": "simple_twtt",
         "description": "Travel time model to use.",
         "enum": [
            "simple_twtt"
         ],
         "title": "Twtt Model",
         "type": "string"
      }
   },
   "$defs": {
      "ArrayCenter": {
         "description": "Array center base model.",
         "properties": {
            "lat": {
               "description": "Latitude",
               "title": "Lat",
               "type": "number"
            },
            "lon": {
               "description": "Longitude",
               "title": "Lon",
               "type": "number"
            },
            "alt": {
               "default": 0.0,
               "description": "Altitude",
               "title": "Alt",
               "type": "number"
            }
         },
         "required": [
            "lat",
            "lon"
         ],
         "title": "ArrayCenter",
         "type": "object"
      },
      "GPSSolutionInput": {
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            },
            "legacy": {
               "default": false,
               "description": "Flag to indicate if the input file is in legacy format.",
               "title": "Legacy",
               "type": "boolean"
            }
         },
         "required": [
            "path"
         ],
         "title": "GPSSolutionInput",
         "type": "object"
      },
      "InputData": {
         "description": "Input data path specification base model",
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            }
         },
         "required": [
            "path"
         ],
         "title": "InputData",
         "type": "object"
      },
      "ReferenceEllipsoid": {
         "description": "Reference ellipsoid base model",
         "properties": {
            "semi_major_axis": {
               "description": "Semi-major axis (m)",
               "title": "Semi Major Axis",
               "type": "number"
            },
            "reverse_flattening": {
               "description": "Reverse flattening",
               "title": "Reverse Flattening",
               "type": "number"
            }
         },
         "required": [
            "semi_major_axis",
            "reverse_flattening"
         ],
         "title": "ReferenceEllipsoid",
         "type": "object"
      },
      "SolverGlobal": {
         "description": "Solver global base model for inversion process.",
         "properties": {
            "max_dat": {
               "default": 45000,
               "title": "Max Dat",
               "type": "integer"
            },
            "max_gps": {
               "default": 423000,
               "title": "Max Gps",
               "type": "integer"
            },
            "max_del": {
               "default": 15000,
               "title": "Max Del",
               "type": "integer"
            },
            "max_brk": {
               "default": 20,
               "title": "Max Brk",
               "type": "integer"
            },
            "max_surv": {
               "default": 10,
               "title": "Max Surv",
               "type": "integer"
            },
            "max_sdt_obs": {
               "default": 2000,
               "title": "Max Sdt Obs",
               "type": "integer"
            },
            "max_obm": {
               "default": 472,
               "title": "Max Obm",
               "type": "integer"
            },
            "max_unmm": {
               "default": 9,
               "title": "Max Unmm",
               "type": "integer"
            }
         },
         "title": "SolverGlobal",
         "type": "object"
      },
      "SolverInputs": {
         "properties": {
            "sound_speed": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sound speed data path specification"
            },
            "travel_times": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Travel times data path specification."
            },
            "gps_solution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GPSSolutionInput"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "GPS solution data path specification."
            },
            "deletions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deletions file for unwanted data points."
            },
            "quality_controls": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Quality control file(s) for user defined unwanted data points."
            }
         },
         "title": "SolverInputs",
         "type": "object"
      },
      "Transponder": {
         "description": "Transponder base model for each transponder configuration",
         "properties": {
            "lat": {
               "description": "Latitude",
               "title": "Lat",
               "type": "number"
            },
            "lon": {
               "description": "Longitude",
               "title": "Lon",
               "type": "number"
            },
            "height": {
               "description": "Transponder height in meters (m).",
               "title": "Height",
               "type": "number"
            },
            "alt": {
               "description": "Transponder depth in meters (m).",
               "title": "Alt",
               "type": "number"
            },
            "internal_delay": {
               "description": "Transponder internal delay in seconds (s). Assume transponder delay contains: delay-line, non-delay-line internal delays (determined at transdec) and any user set delay (dail-in).",
               "title": "Internal Delay",
               "type": "number"
            },
            "sv_mean": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Dynamically generated sound velocity mean (m/s).",
               "title": "Sv Mean"
            },
            "pxp_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Transponder id string. **This field will be computed during object creation**",
               "title": "Pxp Id"
            },
            "azimuth": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Transponder azimuth in degrees w.r.t. array center.",
               "title": "Azimuth"
            },
            "elevation": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Transponder elevation in degrees w.r.t. array center.",
               "title": "Elevation"
            }
         },
         "required": [
            "lat",
            "lon",
            "height",
            "alt",
            "internal_delay"
         ],
         "title": "Transponder",
         "type": "object"
      }
   },
   "required": [
      "reference_ellipsoid",
      "geoid_undulation",
      "input_files"
   ]
}

Fields:
field array_center: ArrayCenter | None = None#

Array center to use for calculation

field bisection_tolerance: float = 1e-10#

Tolerance to stop bisection during ray trace

field defaults: SolverGlobal = SolverGlobal(max_dat=45000, max_gps=423000, max_del=15000, max_brk=20, max_surv=10, max_sdt_obs=2000, max_obm=472, max_unmm=9)#
field distance_limit: float = 150.0#

Distance in meters from center beyond which points will be excluded from solution

Constraints:
  • ge = 0.0

field geoid_undulation: float [Required]#

Geoid undulation at sea surface point

field gps_sigma_limit: float = 0.05#

Maximum positional sigma allowed to use GPS positions

Constraints:
  • gt = 0.0

  • lt = 100.0

field harmonic_mean_start_depth: float = 0.0#

Start depth in meters for harmonic mean computation.

field input_files: SolverInputs [Required]#

Input files data path specifications.

field ray_trace_type: Literal['scale', '1d'] = 'scale'#

Ray trace method to use

field reference_ellipsoid: ReferenceEllipsoid | None [Required]#

Reference ellipsoid configurations

field residual_limit: float = 10000.0#

Maximum residual in centimeters beyond which data points will be excluded from solution

Constraints:
  • ge = 0.0

field residual_outliers_threshold: float = 25.0#

Residual outliers threshold acceptable before throwing an error in percent

Constraints:
  • ge = 0.0

field residual_range_limit: float = 20000.0#

Maximum residual range (maximum - minimum) in centimeters for a given epoch, beyond which data points will be excluded from solution

Constraints:
  • ge = 0.0

field std_dev: bool = True#

GPS positional uncertainty flag std. dev. (True) or variance (False)

field transducer_delay_time: float = 0.0#

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

field transponders: list[Transponder] | None = None#

A list of transponders configurations

field travel_times_correction: float = 0.0#

Correction to times in travel times (secs.)

field travel_times_variance: float = 1e-10#

VARIANCE (s**2) PXP two-way travel time measurement

field twtt_model: Literal['simple_twtt'] = 'simple_twtt'#

Travel time model to use.

pydantic model gnatss.configs.solver.SolverGlobal#

Solver global base model for inversion process.

Show JSON schema
{
   "title": "SolverGlobal",
   "description": "Solver global base model for inversion process.",
   "type": "object",
   "properties": {
      "max_dat": {
         "default": 45000,
         "title": "Max Dat",
         "type": "integer"
      },
      "max_gps": {
         "default": 423000,
         "title": "Max Gps",
         "type": "integer"
      },
      "max_del": {
         "default": 15000,
         "title": "Max Del",
         "type": "integer"
      },
      "max_brk": {
         "default": 20,
         "title": "Max Brk",
         "type": "integer"
      },
      "max_surv": {
         "default": 10,
         "title": "Max Surv",
         "type": "integer"
      },
      "max_sdt_obs": {
         "default": 2000,
         "title": "Max Sdt Obs",
         "type": "integer"
      },
      "max_obm": {
         "default": 472,
         "title": "Max Obm",
         "type": "integer"
      },
      "max_unmm": {
         "default": 9,
         "title": "Max Unmm",
         "type": "integer"
      }
   }
}

Fields:
field max_brk: int = 20#
field max_dat: int = 45000#
field max_del: int = 15000#
field max_gps: int = 423000#
field max_obm: int = 472#
field max_sdt_obs: int = 2000#
field max_surv: int = 10#
field max_unmm: int = 9#
pydantic model gnatss.configs.solver.SolverInputs#

Show JSON schema
{
   "title": "SolverInputs",
   "type": "object",
   "properties": {
      "sound_speed": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sound speed data path specification"
      },
      "travel_times": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Travel times data path specification."
      },
      "gps_solution": {
         "anyOf": [
            {
               "$ref": "#/$defs/GPSSolutionInput"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "GPS solution data path specification."
      },
      "deletions": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Deletions file for unwanted data points."
      },
      "quality_controls": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Quality control file(s) for user defined unwanted data points."
      }
   },
   "$defs": {
      "GPSSolutionInput": {
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            },
            "legacy": {
               "default": false,
               "description": "Flag to indicate if the input file is in legacy format.",
               "title": "Legacy",
               "type": "boolean"
            }
         },
         "required": [
            "path"
         ],
         "title": "GPSSolutionInput",
         "type": "object"
      },
      "InputData": {
         "description": "Input data path specification base model",
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            }
         },
         "required": [
            "path"
         ],
         "title": "InputData",
         "type": "object"
      }
   }
}

Fields:
field deletions: InputData | None = None#

Deletions file for unwanted data points.

field gps_solution: GPSSolutionInput | None = None#

GPS solution data path specification.

field quality_controls: InputData | None = None#

Quality control file(s) for user defined unwanted data points.

field sound_speed: InputData | None = None#

Sound speed data path specification

field travel_times: InputData | None = None#

Travel times data path specification.

pydantic model gnatss.configs.solver.SolverTransponder#

Solver transponder base model for each transponder configuration

Show JSON schema
{
   "title": "SolverTransponder",
   "description": "Solver transponder base model for each transponder configuration",
   "type": "object",
   "properties": {
      "lat": {
         "description": "Latitude",
         "title": "Lat",
         "type": "number"
      },
      "lon": {
         "description": "Longitude",
         "title": "Lon",
         "type": "number"
      },
      "height": {
         "description": "Transponder depth in meters (m).",
         "title": "Height",
         "type": "number"
      },
      "internal_delay": {
         "description": "Transponder internal delay in seconds (s). Assume transponder delay contains: delay-line, non-delay-line internal delays (determined at transdec) and any user set delay (dail-in).",
         "title": "Internal Delay",
         "type": "number"
      },
      "sv_mean": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Dynamically generated sound velocity mean (m/s).",
         "title": "Sv Mean"
      },
      "pxp_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Transponder id string. **This field will be computed during object creation**",
         "title": "Pxp Id"
      },
      "azimuth": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Transponder azimuth in degrees w.r.t. array center.",
         "title": "Azimuth"
      },
      "elevation": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Transponder elevation in degrees w.r.t. array center.",
         "title": "Elevation"
      }
   },
   "required": [
      "lat",
      "lon",
      "height",
      "internal_delay"
   ]
}

Fields:
field azimuth: float | None = None#

Transponder azimuth in degrees w.r.t. array center.

field elevation: float | None = None#

Transponder elevation in degrees w.r.t. array center.

field height: float [Required]#

Transponder depth in meters (m).

field internal_delay: float [Required]#

Transponder internal delay in seconds (s). Assume transponder delay contains: delay-line, non-delay-line internal delays (determined at transdec) and any user set delay (dail-in).

field lat: float [Required]#

Latitude

field lon: float [Required]#

Longitude

field pxp_id: str | None = None#

Transponder id string. This field will be computed during object creation

field sv_mean: float | None = None#

Dynamically generated sound velocity mean (m/s).

Posfilter#

posfilter.py

The posfilter module containing base models for position filtering configuration

pydantic model gnatss.configs.posfilter.AtdOffset#

Antenna Transducer Offset base model.

Show JSON schema
{
   "title": "AtdOffset",
   "description": "Antenna Transducer Offset base model.",
   "type": "object",
   "properties": {
      "forward": {
         "description": "forward offset",
         "title": "Forward",
         "type": "number"
      },
      "rightward": {
         "description": "rightward offset",
         "title": "Rightward",
         "type": "number"
      },
      "downward": {
         "description": "downward offset",
         "title": "Downward",
         "type": "number"
      }
   },
   "required": [
      "forward",
      "rightward",
      "downward"
   ]
}

Fields:
field downward: float [Required]#

downward offset

field forward: float [Required]#

forward offset

field rightward: float [Required]#

rightward offset

pydantic model gnatss.configs.posfilter.ExportObs#

Export observation data after filtering.

Show JSON schema
{
   "title": "ExportObs",
   "description": "Export observation data after filtering.",
   "type": "object",
   "properties": {
      "full": {
         "default": false,
         "description": "Only export the necessary data, including antenna covariance.",
         "title": "Full",
         "type": "boolean"
      }
   }
}

Fields:
field full: bool = False#

Only export the necessary data, including antenna covariance.

pydantic model gnatss.configs.posfilter.PositionFilter#

Position filter base model for position filtering routine

Show JSON schema
{
   "title": "PositionFilter",
   "description": "Position filter base model for position filtering routine",
   "type": "object",
   "properties": {
      "export": {
         "anyOf": [
            {
               "$ref": "#/$defs/ExportObs"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Export observation data after filtering."
      },
      "input_files": {
         "anyOf": [
            {
               "$ref": "#/$defs/PositionFilterInputs"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Input files for position filtering routine."
      },
      "atd_offsets": {
         "allOf": [
            {
               "$ref": "#/$defs/AtdOffset"
            }
         ],
         "description": "Antenna Transducer Offset values."
      }
   },
   "$defs": {
      "AtdOffset": {
         "description": "Antenna Transducer Offset base model.",
         "properties": {
            "forward": {
               "description": "forward offset",
               "title": "Forward",
               "type": "number"
            },
            "rightward": {
               "description": "rightward offset",
               "title": "Rightward",
               "type": "number"
            },
            "downward": {
               "description": "downward offset",
               "title": "Downward",
               "type": "number"
            }
         },
         "required": [
            "forward",
            "rightward",
            "downward"
         ],
         "title": "AtdOffset",
         "type": "object"
      },
      "ExportObs": {
         "description": "Export observation data after filtering.",
         "properties": {
            "full": {
               "default": false,
               "description": "Only export the necessary data, including antenna covariance.",
               "title": "Full",
               "type": "boolean"
            }
         },
         "title": "ExportObs",
         "type": "object"
      },
      "InputData": {
         "description": "Input data path specification base model",
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            }
         },
         "required": [
            "path"
         ],
         "title": "InputData",
         "type": "object"
      },
      "PositionFilterInputs": {
         "properties": {
            "roll_pitch_heading": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Roll Pitch Heading (RPH) data path specification."
            },
            "novatel": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Novatel data path specification."
            },
            "novatel_std": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Novatel STD data path specification."
            },
            "gps_positions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "GPS positions data path specification."
            },
            "travel_times": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InputData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Input travel times data path specification"
            }
         },
         "title": "PositionFilterInputs",
         "type": "object"
      }
   },
   "required": [
      "atd_offsets"
   ]
}

Fields:
field atd_offsets: AtdOffset [Required]#

Antenna Transducer Offset values.

field export: ExportObs | None = None#

Export observation data after filtering.

field input_files: PositionFilterInputs | None = None#

Input files for position filtering routine.

pydantic model gnatss.configs.posfilter.PositionFilterInputs#

Show JSON schema
{
   "title": "PositionFilterInputs",
   "type": "object",
   "properties": {
      "roll_pitch_heading": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Roll Pitch Heading (RPH) data path specification."
      },
      "novatel": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Novatel data path specification."
      },
      "novatel_std": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Novatel STD data path specification."
      },
      "gps_positions": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "GPS positions data path specification."
      },
      "travel_times": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Input travel times data path specification"
      }
   },
   "$defs": {
      "InputData": {
         "description": "Input data path specification base model",
         "properties": {
            "path": {
               "description": "Path string to the data. Ex. s3://bucket/some_data.dat",
               "title": "Path",
               "type": "string"
            },
            "format": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "File format of the data.",
               "title": "Format"
            },
            "storage_options": {
               "default": {},
               "description": "Protocol keyword argument for specified file system. This is not needed for local paths",
               "title": "Storage Options",
               "type": "object"
            },
            "loader_kwargs": {
               "default": {},
               "description": "Keyword arguments for the data loader.",
               "title": "Loader Kwargs",
               "type": "object"
            }
         },
         "required": [
            "path"
         ],
         "title": "InputData",
         "type": "object"
      }
   }
}

Fields:
field gps_positions: InputData | None = None#

GPS positions data path specification.

field novatel: InputData | None = None#

Novatel data path specification.

field novatel_std: InputData | None = None#

Novatel STD data path specification.

field roll_pitch_heading: InputData | None = None#

Roll Pitch Heading (RPH) data path specification.

field travel_times: InputData | None = None#

Input travel times data path specification

Transponders#

pydantic model gnatss.configs.transponders.Transponder#

Transponder base model for each transponder configuration

Show JSON schema
{
   "title": "Transponder",
   "description": "Transponder base model for each transponder configuration",
   "type": "object",
   "properties": {
      "lat": {
         "description": "Latitude",
         "title": "Lat",
         "type": "number"
      },
      "lon": {
         "description": "Longitude",
         "title": "Lon",
         "type": "number"
      },
      "height": {
         "description": "Transponder height in meters (m).",
         "title": "Height",
         "type": "number"
      },
      "alt": {
         "description": "Transponder depth in meters (m).",
         "title": "Alt",
         "type": "number"
      },
      "internal_delay": {
         "description": "Transponder internal delay in seconds (s). Assume transponder delay contains: delay-line, non-delay-line internal delays (determined at transdec) and any user set delay (dail-in).",
         "title": "Internal Delay",
         "type": "number"
      },
      "sv_mean": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Dynamically generated sound velocity mean (m/s).",
         "title": "Sv Mean"
      },
      "pxp_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Transponder id string. **This field will be computed during object creation**",
         "title": "Pxp Id"
      },
      "azimuth": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Transponder azimuth in degrees w.r.t. array center.",
         "title": "Azimuth"
      },
      "elevation": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Transponder elevation in degrees w.r.t. array center.",
         "title": "Elevation"
      }
   },
   "required": [
      "lat",
      "lon",
      "height",
      "alt",
      "internal_delay"
   ]
}

Fields:
Validators:
field alt: float [Required]#

Transponder depth in meters (m).

Validated by:
field azimuth: float | None = None#

Transponder azimuth in degrees w.r.t. array center.

Validated by:
field elevation: float | None = None#

Transponder elevation in degrees w.r.t. array center.

Validated by:
field height: float [Required]#

Transponder height in meters (m).

Validated by:
field internal_delay: float [Required]#

Transponder internal delay in seconds (s). Assume transponder delay contains: delay-line, non-delay-line internal delays (determined at transdec) and any user set delay (dail-in).

Validated by:
field lat: float [Required]#

Latitude

Validated by:
field lon: float [Required]#

Longitude

Validated by:
field pxp_id: str | None = None#

Transponder id string. This field will be computed during object creation

Validated by:
field sv_mean: float | None = None#

Dynamically generated sound velocity mean (m/s).

Validated by:
validator sync_height_alt  »  all fields#

Sync height and alt values