A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

weatherOz

Aims to facilitate access and download weather and climate data for Australia from Australian data sources.
https://github.com/ropensci/weatheroz

Category: Climate Change
Sub Category: Climate Data Processing and Analysis

Keywords

api-client australia climate data r rainfall rstats weather weather-api weather-forecast

Keywords from Contributors

weather-data geocoding soil mocking

Last synced: about 15 hours ago
JSON representation

Repository metadata

An API Client for Australian Weather and Climate Data Resources

README.Rmd

          ---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# {weatherOz}: An API Client for Australian Weather and Climate Data Resources 



[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-green.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable) [![DOI](https://zenodo.org/badge/613750527.svg)](https://zenodo.org/badge/latestdoi/613750527) [![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/598_status.svg)](https://github.com/ropensci/software-review/issues/598) [![status](https://joss.theoj.org/papers/10.21105/joss.06717/status.svg)](https://joss.theoj.org/papers/10.21105/joss.06717) 
[![R-CMD-check](https://github.com/ropensci/weatherOz/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ropensci/weatherOz/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/ropensci/weatherOz/graph/badge.svg)](https://app.codecov.io/gh/ropensci/weatherOz)
[![CRAN status](https://www.r-pkg.org/badges/version/weatherOz)](https://CRAN.R-project.org/package=weatherOz)


{weatherOz} facilitates access to and download of weather and climate data for Australia from Australian data sources.
Data are sourced from from the [Western Australia Department of Primary Industries and Regional Development (DPIRD)](https://www.agric.wa.gov.au/weather-api-20) and the [Scientific Information for Land Owners (SILO) API](https://www.agric.wa.gov.au/weather-api-20) endpoints and the Australian Government Bureau of Meteorology’s (BOM) [FTP server](http://www.bom.gov.au/catalogue/anon-ftp.shtml).

The package queries the APIs or an FTP server and returns data as a data frame or radar and satellite imagery in your R session.
Observation data from DPIRD's weather station network are available via the [Weather 2.0](https://www.agric.wa.gov.au/weather-api-20) Open API initiative.
SILO data is available from Queensland's Long Paddock initiative (Jeffery *et al.* 2001) and are spatially and temporally complete, covering all Australia and few nearby islands (112 to 154 degrees longitude, -10 to -44 degrees latitude), with resolution 0.05° longitude by 0.05° latitude (approximately 5 km × 5 km).
Visit the [SILO website](https://www.longpaddock.qld.gov.au/silo/) for more details about how the data is prepared and which climate data are available.
Agriculture bulletins, radar imagery, satellite imagery and seven-day forecasts are available from the Bureau of Meteorology (BOM) via an anonymous FTP server.

Access to DPIRD API requires an API key.
Apply for an API key by submitting the [DPIRD API registration form](https://www.agric.wa.gov.au/form/dpird-api-registration).
Access to the SILO API is conditioned to supplying a valid email address with the user query.
Follow the API Terms and Conditions for the [DPIRD](https://www.agric.wa.gov.au/apis/api-terms-and-conditions) and [SILO](https://www.longpaddock.qld.gov.au/silo/api-documentation/) APIs.

Observation data from the DPIRD's weather station network is also available via a [web interface](https://weather.agric.wa.gov.au).
The data available is a mirror of the DPIRD Weather 2.0 API endpoints.
Rainfall estimates are also available at virtual stations (*i.e.*, where no observational data is present) and is sourced from the Doppler radar service provided by the Australian Government Bureau of Meteorology (BOM) under license.

## Installation instructions

You can install the stable version of {weatherOz} from [CRAN](https://cran.r-project.org/) like so:

``` r
install.packages("weatherOz")
```

You can install the development version of {weatherOz} like so:

``` r
install.packages("weatherOz", repos = "https://ropensci.r-universe.dev")
```

## A Note on API Keys

The examples in this README assume that you have stored your API key in your .Renviron file.
{weatherOz} will prompt you to set up your API keys automatically if you haven't.
For more information on the preferred method for setting up your API keys, see [Chapter 8](https://rstats.wtf/r-startup.html#renviron) in "What They Forgot to Teach You About R" by Bryan *et al.* for more on storing details in your .Renviron if you are unfamiliar.

To get a DPIRD API key, you can use `get_key()` and it will direct you to the form to request a key and provides instructions for setting it up so that it's available in your R session and {weatherOz} will automatically find it.
If you have already set up an API key, this will return that value for you.

```{r get-dpird-key, eval=FALSE}
get_key(service = "DPIRD")
```

You only need to provide an e-mail address for the SILO API.
Using `get_key()` will provide you with instructions on what format to use in your .Renviron so that {weatherOz} will auto-recognise it and if you have already set up an API key, this will return that value for you.

```{r get-silo-key, eval=FALSE}
get_key(service = "SILO")
```

Note that you do not need to do this separately, any function requiring an API key will prompt you if you don't have one set.

## Example 1

Source wind and erosion conditions for daily time interval from the DPIRD Weather 2.0 API.

```{r summaries, message=FALSE}
library(weatherOz)

wd <- get_dpird_summaries(
  station_code = "BI",
  start_date = "20220501",
  end_date = "20220502",
  interval = "daily",
  values = c(
    "wind",
    "erosionCondition",
    "erosionConditionMinutes",
    "erosionConditionStartTime"
  )
)

wd
```

## Example 2

Source data from latitude and longitude coordinates anywhere in Australia (interpolated/gridded data - SILO API) for Southwood, QLD for max and min temperature and rainfall.

```{r data_drill}
library(weatherOz)

wd <- get_data_drill(
  latitude = -27.85,
  longitude = 150.05,
  start_date = "20221001",
  end_date = "20221201",
  values = c(
    "max_temp",
    "min_temp",
    "rain"
  )
)

head(wd)
```

## Notes on Data and API Endpoints

Note that most of the data are not static and may be replaced with improved data.
Also please note that SILO may be unavailable between 11am and 1pm (Brisbane time) each Wednesday and Thursday to allow for essential system maintenance.

Please also note that not all exposed endpoints of the DPIRD APIs have associated functions.
Development is ongoing.
While we are responsive to user requests, we don't make any commitments about speed of delivery.

## References

Jeffrey, S.J., Carter, J.O., Moodie, K.B. and Beswick, A.R. (2001). Using spatial interpolation to construct a comprehensive archive of Australian climate data, _Environmental Modelling and Software_, Vol 16/4, pp 309-330. .

## Code of Conduct

Please note that this package is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). 
By contributing to this project, you agree to abide by its terms.


        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 1,401
Total Committers: 9
Avg Commits per committer: 155.667
Development Distribution Score (DDS): 0.111

Commits in past year: 175
Committers in past year: 3
Avg Commits per committer in past year: 58.333
Development Distribution Score (DDS) in past year: 0.074

Name Email Commits
Adam H. Sparks a****s@i****m 1245
Rodrigo Pires r****s@d****u 92
Anna Hepworth a****h@a****u 56
Adam Sparks A****s@d****u 3
Maëlle Salmon m****n@y****e 1
John 8****s 1
Hepworth, Anna a****h@d****u 1
Rebecca O'Leary R****y@a****u 1
Adam Sparks a****s@a****u 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 66
Total pull requests: 37
Average time to close issues: 20 days
Average time to close pull requests: 2 days
Total issue authors: 13
Total pull request authors: 7
Average comments per issue: 1.74
Average comments per pull request: 0.54
Merged pull request: 36
Bot issues: 0
Bot pull requests: 0

Past year issues: 15
Past year pull requests: 12
Past year average time to close issues: 24 days
Past year average time to close pull requests: 7 days
Past year issue authors: 7
Past year pull request authors: 4
Past year average comments per issue: 2.27
Past year average comments per pull request: 1.0
Past year merged pull request: 11
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/ropensci/weatheroz

Top Issue Authors

  • adamhsparks (43)
  • bozaah (7)
  • alycest (2)
  • PaulMelloy (2)
  • rogerssam (2)
  • max578 (2)
  • dicook (2)
  • 16-inch-carp (1)
  • nwbort (1)
  • maelle (1)
  • deanmarchiori (1)
  • MilesMcBain (1)
  • arhepworth (1)

Top Pull Request Authors

  • adamhsparks (27)
  • bozaah (3)
  • deanmarchiori (2)
  • mpadge (2)
  • maelle (1)
  • johnbaums (1)
  • arfon (1)

Top Issue Labels

  • bug (16)
  • enhancement (12)
  • question (2)

Top Pull Request Labels

  • enhancement (2)
  • bug (1)

Package metadata

cran.r-project.org: weatherOz

An API Client for Australian Weather and Climate Data Resources

  • Homepage: https://github.com/ropensci/weatherOz/
  • Documentation: http://cran.r-project.org/web/packages/weatherOz/weatherOz.pdf
  • Licenses: GPL (≥ 3)
  • Latest release: 2.0.1 (published 11 days ago)
  • Last Synced: 2025-04-25T10:30:31.833Z (1 day ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 427 Last month
  • Rankings:
    • Forks count: 9.952%
    • Stargazers count: 13.035%
    • Dependent packages count: 28.496%
    • Average: 34.668%
    • Dependent repos count: 35.118%
    • Downloads: 86.738%
  • Maintainers (1)

Dependencies

.github/workflows/tic.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • pat-s/always-upload-cache v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-tinytex v2 composite
.github/workflows/update-tic.yml actions
  • actions/checkout v3 composite
  • peter-evans/create-pull-request v4 composite
  • r-lib/actions/setup-r v2 composite
DESCRIPTION cran
  • R >= 4.1.0 depends
  • apsimx * imports
  • clock * imports
  • crayon * imports
  • crul * imports
  • curl * imports
  • data.table * imports
  • foreign * imports
  • grDevices * imports
  • jsonlite * imports
  • knitr * imports
  • lubridate * imports
  • magick * imports
  • methods * imports
  • readr >= 1.1.1 imports
  • stars * imports
  • stats * imports
  • stringi * imports
  • terra * imports
  • utils * imports
  • xml2 * imports
  • covr * suggests
  • dplyr * suggests
  • ggplot2 * suggests
  • ggthemes * suggests
  • grid * suggests
  • gridExtra * suggests
  • mailR * suggests
  • mapproj * suggests
  • maps * suggests
  • rmarkdown * suggests
  • spelling * suggests
  • testthat >= 3.0.0 suggests
  • vcr >= 0.6.0 suggests
  • vdiffr * suggests
  • withr * suggests

Score: 11.752855334384495