Real-time processing tools for GNSS-IR water level monitoring and flood detection
Project description
GNSS-IR Real-Time Water Level Processing
A Python-based command line tool for real-time processing of low-cost GNSS-IR (Global Navigation Satellite System Interferometric Reflectometry) water level data.
About
This software accompanies the research article "Real-time water levels using GNSS-IR: a potential tool for flood monitoring" by Purnell et al., published in Geophysical Research Letters (2024).
Installation
From PyPI (recommended)
pip install gnssir-rt
From Source
For an editable install:
git clone https://github.com/purnelldj/gnssir-rt.git
cd gnssir-rt
pip install -e .
Quick Start
Here's a complete example using test data from Saint-Joseph-de-la-Rive:
Step 1: Download Test Data
# Download the test dataset
wget https://github.com/purnelldj/gnssir-rt/raw/main/tests/data/sjdlr.zip
# Create data directory and extract to it
mkdir -p gnssir-data
unzip sjdlr.zip -d gnssir-data
Step 2: Process the Data
gnssir --task arcs2splines --site_dir gnssir-data/sjdlr --config gnssir-data/sjdlr/sjdlr.yaml
This will generate a plot showing one day of processed water level data.
Usage
General Command Structure
gnssir --task TASK --site_dir SITE_DIR --config path/to/config.yaml
Configuration Options
You can either change parameters directly in a configuration file or from the command line as shown below.
gnssir --task arcs2splines --site_dir gnssir-data/sjdlr --config gnssir-data/sjdlr/sjdlr.yaml \
--azilims '[190, 230]'
Help and Documentation
gnssir --help # Show all available parameters
Data
Research Dataset
The complete SNR dataset used in the accompanying research paper is available on Zenodo: 10.5281/zenodo.10114719
To download the dataset:
pip install zenodo_get
zenodo_get 10.5281/zenodo.10114719
Note: The download is approximately 1GB.
SNR Data Format
The software expects SNR data in a specific format similar to the gnssrefl format, with the following modifications:
| Column | Description |
|---|---|
| 1 | Satellite number |
| 2 | Elevation angle (degrees) |
| 3 | Azimuth angle (degrees) |
| 4 | GPS time (instead of seconds of day) |
| 5 | L1 SNR values |
Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or sharing new site configurations, your help is appreciated.
How to Contribute
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/yourusername/gnssir-rt.git cd gnssir-rt
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Make your changes and test them thoroughly
- Commit your changes with clear, descriptive messages:
git commit -m "Add feature: description of your changes"
- Push to your fork and submit a pull request
Development Setup
For development work:
pip install -e ".[dev]" # Install with development dependencies
python -m pytest # Run tests
License
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
Citation
If you use this software in your research, please cite:
Purnell, D., et al. (2024). Real-time water levels using GNSS-IR: a potential tool
for flood monitoring. Geophysical Research Letters.
https://doi.org/10.1029/2023GL105039
Acknowledgments
- The script make_gpt.py was adapted from the gnssrefl repository
- This work builds upon the broader GNSS-IR research community's contributions
Support
- Issues: Report bugs or request features via GitHub Issues
- Discussions: Join community discussions in GitHub Discussions
- Email: For direct inquiries, contact the maintainers
Keywords: GNSS-IR, water level monitoring, flood detection, interferometric reflectometry, remote sensing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gnssir_rt-2.0.0.tar.gz.
File metadata
- Download URL: gnssir_rt-2.0.0.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c83daebb3ae3b97f70e538e47b0dd7c00f3fe4533224125d2fc6c88727892a3
|
|
| MD5 |
ea82812a4d2b4f87945865b65c6d1d1e
|
|
| BLAKE2b-256 |
548abe11006e70cf118f871e313b74e6998d7b3868081163c5429fe4d4eccd43
|
File details
Details for the file gnssir_rt-2.0.0-py3-none-any.whl.
File metadata
- Download URL: gnssir_rt-2.0.0-py3-none-any.whl
- Upload date:
- Size: 4.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4cf7812fdb24be73c8e80bb4b2234917857370a050404f60857a113b0a07aec
|
|
| MD5 |
f19c3308e3335b22a287eb81770e8de7
|
|
| BLAKE2b-256 |
87b33d38914b2ab3432a8c964fcad637472d024c2900852e6d79a20be7524093
|