全球海底全球导航卫星系统 - 声学(GNSS-A)应答器测图软件
项目描述
GNATSS
GNATSS是一款开源软件,用于处理全球导航卫星系统 - 声学(GNSS-A)数据以进行海底水平定位。该软件是对C. David Chadwell开发的现有FORTRAN代码和shell脚本的重新开发,用于处理包括使用Wave Gliders进行的测量在内的数据。包括专有例程在内的现有代码由John DeSanto开发和维护。
使用软件
此软件可通过PyPI,Python包索引获得
您可以通过运行以下命令使用pip直接安装软件
pip install gnatss
软件安装后,您应能够使用命令 gnatss
访问GNATSS命令行界面(CLI)。例如:运行 gnatss --help
将带您到主要的Python GNSS-A处理帮助页面。
Usage: gnatss [OPTIONS] COMMAND [ARGS]...
GNSS-A Processing in Python
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version Show version and exit. │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ run Runs the full pre-processing routine for GNSS-A │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
预处理流程
当前命令行界面(CLI)中有一个可用的命令,即run
,它将运行GNSS-A的完整预处理流程。您可以通过运行gnatss run --help
来检索此命令的帮助文本。
Usage: gnatss run [OPTIONS] CONFIG_YAML
Runs the full pre-processing routine for GNSS-A
Note: Currently only supports 3 transponders
╭─ Arguments ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * config_yaml TEXT Custom path to configuration yaml file. **Currently only support local files!** [default: None] [required] │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --extract-dist-center --no-extract-dist-center Flag to extract distance from center from run. [default: extract-dist-center] │
│ --extract-process-dataset --no-extract-process-dataset Flag to extract process results. [default: extract-process-dataset] │
│ --outlier-threshold FLOAT Threshold for allowable percentage of outliers before raising a runtime error. │
│ [default: None] │
│ --distance-limit FLOAT Distance in meters from center beyond which points will be excluded from solution. Note │
│ that this will override the value set as configuration. │
│ [default: None] │
│ --residual-limit FLOAT Maximum residual in centimeters beyond which data points will be excluded from solution. │
│ Note that this will override the value set as configuration. │
│ [default: None] │
│ --qc --no-qc Flag to plot residuals from run and store in output folder. [default: qc] │
│ --from-cache --no-from-cache Flag to load the GNSS-A Level-2 Data from cache. [default: no-from-cache] │
│ --remove-outliers --no-remove-outliers Flag to execute removing outliers from the GNSS-A Level-2 Data before running the solver │
│ process. │
│ [default: no-remove-outliers] │
│ --run-all --no-run-all Flag to run the full end-to-end GNSS-A processing routine. [default: run-all] │
│ --solver --no-solver Flag to run the solver process only. Requires GNSS-A Level-2 Data. [default: no-solver] │
│ --posfilter --no-posfilter Flag to run the posfilter process only. Requires GNSS-A Level-1 Data Inputs. │
│ [default: no-posfilter] │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
目前预处理流程已测试仅支持3个转发器,但未来将会扩展。
配置yaml文件
运行命令需要配置yaml文件,用于配置预处理流程。调用gnatss run
时,您需要提供配置yaml文件。
以下是一个示例配置yaml文件
site_id: SITE #Site Identifier
campaign: Region #Geographical region/Subduction Zone
time_origin: YYYY-MM-DD 00:00:00 #Time of survey
array_center:
lat: xx.yyyy #decimal latitude
lon: xxx.yyyy #decimal longitude
transponders: # list out all transponder and info, each entry is a different transponder (default: 3 transponders)
- lat: xx.yyyyyyyyyy #decimal latitude
lon: xx.yyyyyyyyyy #decimal longitude
height: -zzzz.zz #transponder depth (m, positive up)
internal_delay: t.tttt #Transponder Turn-Around Time (s)
sv_mean: vvvv.vvv #Estimate of mean sound velocity (m/s)
- lat: xx.yyyyyyyyyy #decimal latitude
lon: xx.yyyyyyyyyy #decimal longitude
height: -zzzz.zz #transponder depth (m, positive up)
internal_delay: t.tttt #Transponder Turn-Around Time (s)
sv_mean: vvvv.vvv #Estimate of mean sound velocity (m/s)
- lat: xx.yyyyyyyyyy #decimal latitude
lon: xx.yyyyyyyyyy #decimal longitude
height: -zzzz.zz #transponder depth (m, positive up)
internal_delay: t.tttt #Transponder Turn-Around Time (s)
sv_mean: vvvv.vvv #Estimate of mean sound velocity (m/s)
travel_times_variance: 1e-10 #Default value
travel_times_correction: 0.0 #Default value
transducer_delay_time: 0.0 #Default value
# Main input files
input_files:
travel_times: #Assume Chadwell format, (Time at Ping send [DD-MON-YY HH:MM:SS.ss], TWTT1 (microseconds), TWTT2, TWTT3, TWTT4), TWTT=0 if no reply
path: /path/to/pxp_tt
# Posfilter configuration
posfilter:
export:
full: false #false for only required fields, true to include optional RPH value and uncertainties
atd_offsets:
forward: 0.0053 #Value for SV3 Wave Glider
rightward: 0 #Value for SV3 Wave Glider
downward: 0.92813 #Value for SV3 Wave Glider
input_files:
novatel:
path: /path/to/file #File with INSPVAA strings
novatel_std:
path: /path/to/file #File with INSSTDEVA strings
gps_positions: #Assume Chadwell format, (j2000 seconds, "GPSPOS" string, ECEF XYZ coordinates (m), XYZ Standard Deviations)
path: /path/to/GPS_POS_FREED #File path to antenna positions, use wildcards ** for day-separated data
# Solver configuration
solver:
reference_ellipsoid: #These values should be constant unless the Earth changes
semi_major_axis: 6378137.000
reverse_flattening: 298.257222101
gps_sigma_limit: 0.05 #Uncertainty threshold for transducer positions, data with larger uncertainties ignored
std_dev: true #true=standard deviation, false=covariance, probably deprecated
geoid_undulation: xx.yy #Geoid height in m
bisection_tolerance: 1e-10 #Do not change
harmonic_mean_start_depth: -4.0 #Shallowest water depth for calculating mean soundvelocity from CTD data
input_files:
sound_speed: #Assume 2-column text file with depth (m), sound velocity (m/s)
path: /path/to/file
# deletions: # Path to deletns.dat deletions file used by Chadwell code as well
# path: ../tests/data/2022/NCL1/deletns.dat
#gps_solution: #Path to pre-processed input data in standard GNSS-A data format, this skips the Posfilter step
# path: ../gps_solution.csv
#quality_control:
# path: /Users/lsetiawan/Repos/SSEC/offshore-geodesy/tests/data/2022/NCL1/quality_control.csv
# Output configuration
output: # Directory path to output directory
path: /path/to/output/
贡献
请参阅我们的贡献指南,了解如何设置环境以贡献本项目。
感谢迄今为止的所有贡献者!
开源许可
本项目采用BSD-3-Clause License
,可在此处找到。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
gnatss-0.2.1.tar.gz (704.6 kB 查看哈希值)
构建分布
gnatss-0.2.1-py3-none-any.whl (66.8 kB 查看哈希值)
关闭
gnatss-0.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d254d4de166154f88123e26c527bf6c9b76b5cada58026a6e338be38d7d3fac8 |
|
MD5 | fee57c79a442e20aacb87e85f3b10171 |
|
BLAKE2b-256 | 9e0b300b69e082b91afacc59d799bbe1a85ed2fd85450152cf808e5132de4992 |
关闭
gnatss-0.2.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18cbc7cc2fb530aefee84bd93d79e1d308a578530f516dd68284d74b966a7c08 |
|
MD5 | 02692e4538ab54e6280edc6b1e2cedc3 |
|
BLAKE2b-256 | c04e4ed14b252d8604c0b41b857ed4de1900a64ba45bea90030ddff00ba94298 |