SevenDayStreamflowForecasts.jl

A web client for the 7-Day Streamflow Forecasting Service the Australian Bureau of Meteorology.
Author petershintech
Popularity
1 Star
Updated Last
1 Year Ago
Started In
September 2020

SevenDayStreamflowForecasts

Build Status

A web client for the 7-Day Streamflow Forecasting Service the Australian Bureau of Meteorology in the Julia programming language. The website at http://www.bom.gov.au/water/7daystreamflow provides 3-day ahead streamflow forecasts for catchments across Australia.

Installation

The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

pkg> add SevenDayStreamflowForecasts

If you want to install the package directly from its github development site,

pkg> add http://github.com/petershintech/SevenDayStreamflowForecasts.jl

And load the package using the command:

using SevenDayStreamflowForecasts

Site Information

When you create an instance of the SDF structure, it downloads site information.

julia> sdf = SDF();

Once it is instantiated, the fields of sdf should be considered as read-only so don't try to change any values of the fields.

Site Information

sdf.sites has site information including ID, AWRC ID and description.

julia> sdf.sites
208×8 DataFrame. Omitted printing of 5 columns
│ Row │ station_name                                 │ bom_id │ awrc_id  │
│     │ String                                       │ String │ String   │
├─────┼──────────────────────────────────────────────┼────────┼──────────┤
│ 1   │ Timbarra River D/S Wilkinson Creek           │ 584008223212   │
│ 2   │ St. Pauls River above Avoca                  │ 59200318311    │
│ 3   │ Macquarie River D/S Elizabeth River Junction │ 09302618312    │
│ 4   │ Macquarie River at Fosterville               │ 09305918313...

Forecasts

get_forecasts() returns the most recent forecast data as DataFrames.DataFrame. The method needs a site ID. The returned data have precentiles of ensemble forecasts and historical reference (streamflow climatology) along with the recent observation data. The site ID of a station can be found in awrc_id columne of sdf.sites. A new column called DateTime is created from Time strings but without considering the time zone.

julia> using Dates
julia> site_id = "410730";
julia> data, header = get_forecasts(sdf, site_id);
julia> data
264×14 DataFrame. Omitted printing of 11 columns
│ Row │ DateTime            │ Time                  │ Observed Rainfall (mm/hour) │
│     │ DateTime            │ String                │ Union{Missing, Float64}     │
├─────┼─────────────────────┼───────────────────────┼─────────────────────────────┤
│ 12020-09-16T10:00:002020-09-16 10:00 AEST │ 0.0                         │
│ 22020-09-16T11:00:002020-09-16 11:00 AEST │ 0.0                         │
│ 32020-09-16T12:00:002020-09-16 12:00 AEST │ 0.0...

Disclaimer

This project is not related to or endorsed by the Australian Bureau of Meteorology.

The materials downloaded from the 7-Day Streamflow Forecast website are licensed under the Creative Commons Attribution Australia Licence.

Used By Packages

No packages found.