gnatss
Community Seafloor Global Navigation Satellite Systems - Acoustic (GNSS-A) Transponder Surveying Software
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Keywords
Repository
Community Seafloor Global Navigation Satellite Systems - Acoustic (GNSS-A) Transponder Surveying Software
Basic Info
- Host: GitHub
- Owner: seafloor-geodesy
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Homepage: https://gnatss.readthedocs.io/
- Size: 8.94 MB
Statistics
- Stars: 16
- Watchers: 6
- Forks: 14
- Open Issues: 26
- Releases: 0
Topics
Metadata Files
README.md
GNATSS
GNATSS is an open-source software for processing Global Navigation Satellite Systems - Acoustic (GNSS-A) data for seafloor horizontal positioning. The software is a redevelopment of existing FORTRAN codes and shell scripts developed by C. David Chadwell for processing data including measurements made with Wave Gliders. Existing code, which includes proprietary routines, is developed and maintained by John DeSanto.
Using the software
This software is available via PyPI, the Python Package Index
You can install the software with pip directly by running the following command:
bash
pip install gnatss
Once the software is installed, you should be able to get to the GNATSS Command
Line Interface (CLI) using the command gnatss. For example: gnatss --help,
will get you to the main GNSS-A Processing in Python help page.
```console
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 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
Pre-processing routines
Currently there's a single command available in the CLI, run, which will run
the full pre-processing routine for GNSS-A. You can retrieve the helper text for
this command by running gnatss run --help.
```console
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] │ │ --residual-range-limit FLOAT Maximum residual range (maximum - minimum) in centimeters for a given epoch, 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. │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ```
Currently the pre-processing routine have been tested to only supports 3 transponders, but this will be expanded in the future.
Configuration yaml file
The run command takes in a configuration yaml file, which is used to configure
the pre-processing routine. You will need to provide a config yaml file when
calling gnatss run.
Here's a sample configuration yaml file:
```yaml siteid: SITE #Site Identifier campaign: Region #Geographical region/Subduction Zone timeorigin: YYYY-MM-DD 00:00:00 #Time of survey arraycenter: 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) internaldelay: t.tttt #Transponder Turn-Around Time (s) svmean: 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) internaldelay: t.tttt #Transponder Turn-Around Time (s) svmean: 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) internaldelay: t.tttt #Transponder Turn-Around Time (s) svmean: vvvv.vvv #Estimate of mean sound velocity (m/s) traveltimesvariance: 1e-10 #Default value traveltimescorrection: 0.0 #Default value transducerdelay_time: 0.0 #Default value
Posfilter configuration
posfilter: export: full: false #false for only required fields, true to include optional RPH value and uncertainties atdoffsets: forward: 0.0053 #Value for SV3 Wave Glider rightward: 0 #Value for SV3 Wave Glider downward: 0.92813 #Value for SV3 Wave Glider inputfiles: novatel: path: /path/to/file #File with INSPVAA strings novatelstd: path: /path/to/file #File with INSSTDEVA strings gpspositions: #Assume Chadwell format, (j2000 seconds, "GPSPOS" string, ECEF XYZ coordinates (m), XYZ Standard Deviations) path: /path/to/GPSPOSFREED #File path to antenna positions, use wildcards ** for day-separated data traveltimes: #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/pxptt
Solver configuration
solver: referenceellipsoid: #These values should be constant unless the Earth changes semimajoraxis: 6378137.000 reverseflattening: 298.257222101 gpssigmalimit: 0.05 #Uncertainty threshold for transducer positions, data with larger uncertainties ignored stddev: true #true=standard deviation, false=covariance, probably deprecated geoidundulation: xx.yy #Geoid height in m bisectiontolerance: 1e-10 #Do not change harmonicmeanstartdepth: -4.0 #Shallowest water depth for calculating mean soundvelocity from CTD data inputfiles: soundspeed: #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 #gpssolution: #Path to pre-processed input data in standard GNSS-A data format, this skips the Posfilter step # path: ../gpssolution.csv #qualitycontrol: # path: /Users/lsetiawan/Repos/SSEC/offshore-geodesy/tests/data/2022/NCL1/qualitycontrol.csv
Output configuration
output: # Directory path to output directory path: /path/to/output/ ```
Contributing
Please refer to our Contributing Guide on how to setup your environment to contribute to this project.
Thanks to our contributors so far!
Open source licensing
This has a BSD-3-Clause License, which can be found here.
Owner
- Name: Seafloor Geodesy
- Login: seafloor-geodesy
- Kind: organization
- Location: United States of America
- Website: https://www.seafloorgeodesy.org/
- Repositories: 1
- Profile: https://github.com/seafloor-geodesy
Github Organization of the Seafloor Geodesy Community
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Setiawan" given-names: "Landung" orcid: "https://orcid.org/0000-0002-1624-2667" - family-names: "Kashyap" given-names: "Madhav Mahesh" orcid: "https://orcid.org/0000-0003-0410-7318" - family-names: "Desanto" given-names: "John" orcid: "https://orcid.org/0000-0003-4997-364X" - family-names: "Hutchinson" given-names: "Jesse" orcid: "https://orcid.org/0000-0003-1781-0977" - family-names: "Schmidt" given-names: "David" orcid: "https://orcid.org/0000-0003-0858-6926" - family-names: "Mandava" given-names: "Vani" orcid: "https://orcid.org/0000-0003-3592-9453" - family-names: "Chadwell" given-names: "David" title: "gnatss" doi: 10.5281/zenodo.11663059
GitHub Events
Total
- Create event: 31
- Release event: 2
- Issues event: 11
- Watch event: 4
- Delete event: 32
- Issue comment event: 31
- Push event: 63
- Pull request review comment event: 10
- Pull request review event: 38
- Pull request event: 70
Last Year
- Create event: 31
- Release event: 2
- Issues event: 11
- Watch event: 4
- Delete event: 32
- Issue comment event: 31
- Push event: 63
- Pull request review comment event: 10
- Pull request review event: 38
- Pull request event: 70
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 44
- Total pull requests: 117
- Average time to close issues: 4 months
- Average time to close pull requests: 7 days
- Total issue authors: 5
- Total pull request authors: 8
- Average comments per issue: 0.95
- Average comments per pull request: 0.65
- Merged pull requests: 86
- Bot issues: 0
- Bot pull requests: 47
Past Year
- Issues: 8
- Pull requests: 46
- Average time to close issues: N/A
- Average time to close pull requests: 5 days
- Issue authors: 2
- Pull request authors: 5
- Average comments per issue: 0.0
- Average comments per pull request: 0.7
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 35
Top Authors
Issue Authors
- lsetiawan (23)
- johnbdesanto (7)
- vanitech (5)
- madhavmk (4)
- uwcdc (4)
Pull Request Authors
- lsetiawan (35)
- pre-commit-ci[bot] (28)
- dependabot[bot] (21)
- madhavmk (20)
- johnbdesanto (12)
- uwcdc (1)
- SquirrelKnight (1)
- Jinay01 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 66 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 7
- Total maintainers: 1
pypi.org: gnatss
Community Seafloor Global Navigation Satellite Systems - Acoustic (GNSS-A) Transponder Surveying Software
- Homepage: https://github.com/seafloor-geodesy/gnatss
- Documentation: https://gnatss.readthedocs.io
- License: BSD 3-Clause License Copyright (c) 2023-20xx University of Washington All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University of Washington nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF WASHINGTON AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF WASHINGTON OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 0.3.1
published 7 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4.1.0 composite
- actions/setup-python v4.7.0 composite
- actions/upload-artifact v3.1.3 composite
- codecov/codecov-action v3 composite
- mcr.microsoft.com/devcontainers/miniconda 0-3 build
- jupyter-book *
- matplotlib *
- numpy *
- astropy >=5.2.2,<6
- cftime >=1.6.2,<2
- fsspec >=2023.3.0,<2024
- nptyping >=2.5.0,<3
- numba >=0.56.4,<1
- numpy >=1.23.5,<2
- pandas >=2.0.3,<3
- pluggy >=1.2.0,<2
- pydantic >=2.1.1,<3
- pydantic-settings >=2.0.3,<3
- pymap3d >=3.0.1,<4
- pyproj >=3.5.0,<4
- pyyaml >=6.0.1,<7
- scipy >=1.10.1,<2
- typer >=0.7.0,<1
- xarray >=2023.8.0,<2024
- actions/checkout v4 composite
- actions/download-artifact v3 composite
- actions/setup-python v4.8.0 composite
- actions/upload-artifact v3 composite
- pypa/gh-action-pypi-publish v1.8.11 composite