mdba-gauge-getter

MDBA Gauge Getter provides a unified and simple interface to collect surface water data from Australian national and state water portals..

https://github.com/mdbauth/mdba_gauge_getter

Science Score: 54.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
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary

Keywords

hydrology water
Last synced: 7 months ago · JSON representation ·

Repository

MDBA Gauge Getter provides a unified and simple interface to collect surface water data from Australian national and state water portals..

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 3
  • Open Issues: 0
  • Releases: 11
Topics
hydrology water
Created over 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

MDBA Gauge Getter

Unit%20Tests Execution%20Time Code%20Coverage MyPy%20Errors Pylint%20Rating CI PyPI DOI

Description

MDBA Gauge Getter provides a unified and simple interface to collect surface water data from the following state water portals:

|State|Site|Source| | --- | --- | --- | | NSW | realtimedata.waternsw.com.au |CP| | QLD | water-monitoring.information.qld.gov.au |PUBLISH| | VIC | data.water.vic.gov.au |AT| | SA | bom.gov.au/waterdata/ | BOM Water Data Online|

The tool is configured to abstract away the details specific to each state water portal and return a consistent structure. By default it will return a daily mean of a flow in ML/day for a given gauge number, but storage level, storage volume, other intervals and aggregations are available.

Example of its use can be seen in Gaugegetterexample.ipynb notebook, contact ben.bradshaw@mdba.gov.au for more details.

Local Installation via git

  • Clone the repo in your local folder: for example, inside ~./users/john.doe git clone https://github.com/MDBAuth/MDBA_Gauge_Getter.git which will create a git tracked project repository inside ~./users/john.doe/mdba_gauge_getter.
  • Create a virtual environment: for example, conda create --name gauge_getter_env.
  • Activate the virtual environment: conda activate gauge_getter_env.
  • Go inside the project folder i.e., cd ~./users/john.doe/mdba_gauge_getter.
  • Check git status and git branch.
  • Install dependencies with pip3 install -r requirements.txt
  • (Optionally) install dev dependencies with pip3 install -r requirements-dev.txt
  • Run python3 setup.py install to install the module

Quick Start

  • Install via pip with the command: pip install mdba-gauge-getter
  • After installation, import the package with the command: import mdba_gauge_getter.gauge_getter as gg
  • Import datetime for converting your intervals into python datetime object: import datetime as dt

Usage

There are several options to call Gauge Getter which are as follows: - gauge_numbers denotes the gauge(s) for which the parameters such as flow, lake/storage level, storage volume etc. will be obtained. It takes a list of strings (gauge numbers) as input. - start_time_user denotes the start time of the userdefined interval. It takes a datetime python object as input. - end_time_user denotes the end time of the userdefined interval. It takes a datetime python object as input. - data_source denotes which state the gauge(s) belong(s) to which API to fetch the data from. Please note that SA does not currently have an API to obtain the data from; hence, the data is fetched from the BOM API. Different data_source options are: - i.e., 'NSW', 'VIC', 'QLD', 'SA'/'BOM' - 'BOM' - var denotes the parameter to retreieve such as flow, lake/storage level, storage volume etc. It takes a string indicating the parameter type as input. Different string notation for different var options are: - 'F' for flow (default). - 'L' for water level used for flow calculation. - 'LL'/'SL' for lake/storage level. - 'SV' for storage volume. Please note that this is exclusively a BOM API parameter. Please specify the data source as 'BOM' if you would like to retrieve this parameter. - interval indicates the duration the parameter data are collected for aggregation. Different interval options are: - 'day'. Alternate options for BOM API call is: 'd'. - 'hour'. Alternate options for BOM API call is: 'h'. - 'month'. Alternate options for BOM API call is: 'm'. - 'year'. Alternate options for BOM API call is: 'y'. - data_type inidcates the aggregation method. Different data_type options are: - 'mean' (default). Alternate options for BOM API call are: 'avg', 'average', 'av' and 'a'. - 'min'. Alternate options for BOM API call is: 'minimum'. Only available when obtaining daily interval data. - 'max'. Alternate options for BOM API call is: 'maximum'. Only available when obtaining daily interval data.

Support

For issues relating to the script, a tutorial, or feedback please contact Ben Bradshaw (ben.bradshaw@mdba.gov.au) or Ahsanul Habib (ahsanul.habib@mdba.gov.au).

For data issues please see the corresponding state water portals.

Owner

  • Name: Murray-Darling Basin Authority
  • Login: MDBAuth
  • Kind: organization
  • Email: dataservices@mdba.gov.au

The Murray-Darling Basin Authority aims to achieve a healthy working Basin for the benefit of the Australian community.

Citation (CITATION.cff)

cff-version: 0.5.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Bradshaw
    given-names: Benjamin
  - family-names: Job
    given-names: Martin
  - family-names: Junqueira
    given-names: Pedro
  - family-names: Palmer
    given-names: Lara
  - family-names: Buerle
    given-names: Markus
  - family-names: Habib
    given-names: Ahsanul

title: "MDBA_Gauge_Getter"
version: 0.5.0
doi: 10.5281/zenodo.7435693
date-released: 2022-12-14

GitHub Events

Total
  • Push event: 2
Last Year
  • Push event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 66
  • Total Committers: 10
  • Avg Commits per committer: 6.6
  • Development Distribution Score (DDS): 0.652
Past Year
  • Commits: 44
  • Committers: 8
  • Avg Commits per committer: 5.5
  • Development Distribution Score (DDS): 0.591
Top Committers
Name Email Commits
BenBMDBA 4****A 23
AhsanulMDBA a****b@m****u 18
Ben.Bradshaw b****w@m****u 7
pedrojunqueira p****j@g****m 6
BenBMDBA B****w@m****u 5
Markus Bauerle m****e@e****u 3
SirousSafariPour s****r@m****u 1
Ben.Bradshaw B****w@m****u 1
MartinMDBA 6****A 1
Markus Bauerle m****e@a****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: about 13 hours
  • Total issue authors: 0
  • Total pull request authors: 5
  • Average comments per issue: 0
  • Average comments per pull request: 0.06
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 5
  • Average comments per issue: 0
  • Average comments per pull request: 0.2
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • BenBMDBA (8)
  • AhsanulMDBA (5)
  • MarkusB-DPE (1)
  • SirousMDBA (1)
  • markus-bauerle (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 632 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 15
  • Total maintainers: 5
pypi.org: mdba-gauge-getter

Facilitates waterflow gauge data ingest from several endpoints. Dependency to several other projects.

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 632 Last month
Rankings
Dependent packages count: 4.8%
Dependent repos count: 11.5%
Downloads: 12.2%
Average: 14.6%
Forks count: 16.9%
Stargazers count: 27.8%
Last synced: 7 months ago

Dependencies

requirements-dev.txt pypi
  • coverage * development
  • mypy * development
  • pylint * development
  • pytest * development
  • pytest-cov * development
  • tox * development
requirements.txt pypi
  • bomwater *
  • pandas *
  • requests *
setup.py pypi
  • bomwater *
  • pandas *
  • requests *
.github/workflows/tox-tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi