gnssir-rt


Namegnssir-rt JSON
Version 2.0.0 PyPI version JSON
download
home_pageNone
SummaryReal-time processing tools for GNSS-IR water level monitoring and flood detection
upload_time2025-08-24 16:49:14
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseBSD-3-Clause
keywords gnss gnss-ir water-level flood-monitoring remote-sensing interferometry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GNSS-IR Real-Time Water Level Processing

[![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

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"](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2023GL105039) by Purnell et al., published in Geophysical Research Letters (2024).

## Installation

### From PyPI (recommended)

```bash
pip install gnssir-rt
```

### From Source

For an editable install:
```bash
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

```bash
# 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

```bash
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

```bash
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.

```bash
gnssir --task arcs2splines --site_dir gnssir-data/sjdlr --config gnssir-data/sjdlr/sjdlr.yaml \
       --azilims '[190, 230]'
```

### Help and Documentation

```bash
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](https://doi.org/10.5281/zenodo.10114719)

To download the dataset:
```bash
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](https://gnssrefl.readthedocs.io/en/latest/pages/file_structure.html#the-snr-data-format), with the following modifications:

| Column | Description |
|--------|-------------|
| 1 | Satellite number |
| 2 | Elevation angle (degrees) |
| 3 | Azimuth angle (degrees) |
| 4 | [GPS time](https://docs.astropy.org/en/stable/api/astropy.time.TimeGPS.html) (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

1. **Fork the repository** on GitHub
2. **Clone your fork** locally:
   ```bash
   git clone https://github.com/yourusername/gnssir-rt.git
   cd gnssir-rt
   ```
3. **Create a new branch** for your feature:
   ```bash
   git checkout -b feature/your-feature-name
   ```
4. **Make your changes** and test them thoroughly
5. **Commit your changes** with clear, descriptive messages:
   ```bash
   git commit -m "Add feature: description of your changes"
   ```
6. **Push to your fork** and submit a pull request

### Development Setup

For development work:
```bash
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](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](./gnssir/make_gpt.py) was adapted from the [gnssrefl](https://github.com/kristinemlarson/gnssrefl) repository
- This work builds upon the broader GNSS-IR research community's contributions

## Support

- **Issues**: Report bugs or request features via [GitHub Issues](https://github.com/purnelldj/gnssir-rt/issues)
- **Discussions**: Join community discussions in [GitHub Discussions](https://github.com/purnelldj/gnssir-rt/discussions)
- **Email**: For direct inquiries, contact the maintainers

---

**Keywords:** GNSS-IR, water level monitoring, flood detection, interferometric reflectometry, remote sensing

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gnssir-rt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "gnss, gnss-ir, water-level, flood-monitoring, remote-sensing, interferometry",
    "author": null,
    "author_email": "David Purnell <davejpurnell@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/54/8a/be11006e70cf118f871e313b74e6998d7b3868081163c5429fe4d4eccd43/gnssir_rt-2.0.0.tar.gz",
    "platform": null,
    "description": "# GNSS-IR Real-Time Water Level Processing\n\n[![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nA Python-based command line tool for real-time processing of low-cost GNSS-IR (Global Navigation Satellite System Interferometric Reflectometry) water level data.\n\n## About\n\nThis software accompanies the research article [\"Real-time water levels using GNSS-IR: a potential tool for flood monitoring\"](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2023GL105039) by Purnell et al., published in Geophysical Research Letters (2024).\n\n## Installation\n\n### From PyPI (recommended)\n\n```bash\npip install gnssir-rt\n```\n\n### From Source\n\nFor an editable install:\n```bash\ngit clone https://github.com/purnelldj/gnssir-rt.git\ncd gnssir-rt\npip install -e .\n```\n\n## Quick Start\n\nHere's a complete example using test data from Saint-Joseph-de-la-Rive:\n\n### Step 1: Download Test Data\n\n```bash\n# Download the test dataset\nwget https://github.com/purnelldj/gnssir-rt/raw/main/tests/data/sjdlr.zip\n\n# Create data directory and extract to it\nmkdir -p gnssir-data\nunzip sjdlr.zip -d gnssir-data\n```\n\n### Step 2: Process the Data\n\n```bash\ngnssir --task arcs2splines --site_dir gnssir-data/sjdlr --config gnssir-data/sjdlr/sjdlr.yaml\n```\n\nThis will generate a plot showing one day of processed water level data.\n\n## Usage\n\n### General Command Structure\n\n```bash\ngnssir --task TASK --site_dir SITE_DIR --config path/to/config.yaml\n```\n\n### Configuration Options\n\nYou can either change parameters directly in a configuration file or from the command line as shown below.\n\n```bash\ngnssir --task arcs2splines --site_dir gnssir-data/sjdlr --config gnssir-data/sjdlr/sjdlr.yaml \\\n       --azilims '[190, 230]'\n```\n\n### Help and Documentation\n\n```bash\ngnssir --help  # Show all available parameters\n```\n\n## Data\n\n### Research Dataset\n\nThe complete SNR dataset used in the accompanying research paper is available on Zenodo: [10.5281/zenodo.10114719](https://doi.org/10.5281/zenodo.10114719)\n\nTo download the dataset:\n```bash\npip install zenodo_get\nzenodo_get 10.5281/zenodo.10114719\n```\n\n**Note:** The download is approximately 1GB.\n\n### SNR Data Format\n\nThe software expects SNR data in a specific format similar to the [gnssrefl format](https://gnssrefl.readthedocs.io/en/latest/pages/file_structure.html#the-snr-data-format), with the following modifications:\n\n| Column | Description |\n|--------|-------------|\n| 1 | Satellite number |\n| 2 | Elevation angle (degrees) |\n| 3 | Azimuth angle (degrees) |\n| 4 | [GPS time](https://docs.astropy.org/en/stable/api/astropy.time.TimeGPS.html) (instead of seconds of day) |\n| 5 | L1 SNR values |\n\n## Contributing\n\nWe welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or sharing new site configurations, your help is appreciated.\n\n### How to Contribute\n\n1. **Fork the repository** on GitHub\n2. **Clone your fork** locally:\n   ```bash\n   git clone https://github.com/yourusername/gnssir-rt.git\n   cd gnssir-rt\n   ```\n3. **Create a new branch** for your feature:\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n4. **Make your changes** and test them thoroughly\n5. **Commit your changes** with clear, descriptive messages:\n   ```bash\n   git commit -m \"Add feature: description of your changes\"\n   ```\n6. **Push to your fork** and submit a pull request\n\n### Development Setup\n\nFor development work:\n```bash\npip install -e \".[dev]\"  # Install with development dependencies\npython -m pytest         # Run tests\n```\n\n## License\n\nThis project is licensed under the BSD 3-Clause License - see the [LICENSE](LICENSE) file for details.\n\n## Citation\n\nIf you use this software in your research, please cite:\n\n```\nPurnell, D., et al. (2024). Real-time water levels using GNSS-IR: a potential tool\nfor flood monitoring. Geophysical Research Letters.\nhttps://doi.org/10.1029/2023GL105039\n```\n\n## Acknowledgments\n\n- The script [make_gpt.py](./gnssir/make_gpt.py) was adapted from the [gnssrefl](https://github.com/kristinemlarson/gnssrefl) repository\n- This work builds upon the broader GNSS-IR research community's contributions\n\n## Support\n\n- **Issues**: Report bugs or request features via [GitHub Issues](https://github.com/purnelldj/gnssir-rt/issues)\n- **Discussions**: Join community discussions in [GitHub Discussions](https://github.com/purnelldj/gnssir-rt/discussions)\n- **Email**: For direct inquiries, contact the maintainers\n\n---\n\n**Keywords:** GNSS-IR, water level monitoring, flood detection, interferometric reflectometry, remote sensing\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Real-time processing tools for GNSS-IR water level monitoring and flood detection",
    "version": "2.0.0",
    "project_urls": {
        "Changelog": "https://github.com/purnelldj/gnssir-rt/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/purnelldj/gnssir-rt#readme",
        "Homepage": "https://github.com/purnelldj/gnssir-rt",
        "Issues": "https://github.com/purnelldj/gnssir-rt/issues",
        "Repository": "https://github.com/purnelldj/gnssir-rt.git"
    },
    "split_keywords": [
        "gnss",
        " gnss-ir",
        " water-level",
        " flood-monitoring",
        " remote-sensing",
        " interferometry"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "87b33d38914b2ab3432a8c964fcad637472d024c2900852e6d79a20be7524093",
                "md5": "f19c3308e3335b22a287eb81770e8de7",
                "sha256": "c4cf7812fdb24be73c8e80bb4b2234917857370a050404f60857a113b0a07aec"
            },
            "downloads": -1,
            "filename": "gnssir_rt-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f19c3308e3335b22a287eb81770e8de7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 4421831,
            "upload_time": "2025-08-24T16:49:12",
            "upload_time_iso_8601": "2025-08-24T16:49:12.581949Z",
            "url": "https://files.pythonhosted.org/packages/87/b3/3d38914b2ab3432a8c964fcad637472d024c2900852e6d79a20be7524093/gnssir_rt-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "548abe11006e70cf118f871e313b74e6998d7b3868081163c5429fe4d4eccd43",
                "md5": "ea82812a4d2b4f87945865b65c6d1d1e",
                "sha256": "1c83daebb3ae3b97f70e538e47b0dd7c00f3fe4533224125d2fc6c88727892a3"
            },
            "downloads": -1,
            "filename": "gnssir_rt-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ea82812a4d2b4f87945865b65c6d1d1e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 4322066,
            "upload_time": "2025-08-24T16:49:14",
            "upload_time_iso_8601": "2025-08-24T16:49:14.931010Z",
            "url": "https://files.pythonhosted.org/packages/54/8a/be11006e70cf118f871e313b74e6998d7b3868081163c5429fe4d4eccd43/gnssir_rt-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-24 16:49:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "purnelldj",
    "github_project": "gnssir-rt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gnssir-rt"
}
        
Elapsed time: 2.28378s