Fetch nicely formatted weather data from the SILO API of spatially interpolated weather data (DataDrill). The daily climate surfaces have been derived either by splining or kriging the observational data. The returned values contain “source” columns, which denote how the observations were derived. The grid spans 112° to 154°, -10° to -44° with resolution 0.05° latitude by 0.05° longitude (approximately 5 km × 5 km).
get_data_drill(
longitude,
latitude,
start_date,
end_date = Sys.Date(),
values = "all",
api_key = get_key(service = "SILO")
)
a data.table::data.table()
with the weather data queried with
the weather variables in alphabetical order. The first eight columns will
always be:
longitude
,
latitude
,
elev_m
(elevation in metres),
date
(ISO8601 format, YYYYMMDD),
year
,
month
,
day
,
extracted
(the date on which the query was made)
A single numeric
value representing the longitude of the
point-of-interest to the hundredths (e.g., 0.05) of a degree.
A single numeric
value representing the latitude of the
point-of-interest to the hundredths (e.g.., 0.05) of a degree.
A character
string or Date
object representing the
beginning of the range to query in the format “yyyy-mm-dd”
(ISO8601). Data returned is inclusive of this date.
A character
string or Date
object representing the end of
the range query in the format “yyyy-mm-dd” (ISO8601). Data
returned is inclusive of this date. Defaults to the current system date.
A character
string with the type of weather data to
return. See Available Values for a full list of valid values.
Defaults to all
with all available values being returned.
A character
string containing your API key,
an e-mail address, for the request. Defaults to automatically detecting
your key from your local .Renviron, .Rprofile or similar. Alternatively,
you may directly provide your key as a string here. If nothing is
provided, you will be prompted on how to set up your R session so that it
is auto-detected.
Column names are converted from the default returns of the API to be
snake_case formatted and where appropriate, the names of the values that
are analogous between SILO and DPIRD data are named
using the same name for ease of interoperability, e.g., using
rbind()
to create a data.table
that contains data from both APIs.
Which will return all of the following values
Rainfall
Maximum temperature
Minimum temperature
Vapour pressure
Vapour pressure deficit
Class A pan evaporation
Synthetic estimate1
Combination (synthetic estimate pre-1970, class A pan 1970 onwards)
Morton's shallow lake evaporation
Solar exposure, consisting of both direct and diffuse components
Relative humidity at the time of maximum temperature
Relative humidity at the time of minimum temperature
FAO564 short crop
ASCE5 tall crop6
Morton's areal actual evapotranspiration
Morton's point potential evapotranspiration
Morton's wet-environment areal potential evapotranspiration over land
Mean sea level pressure
Solar radiation: total incoming downward shortwave radiation on a horizontal surface, derived from estimates of cloud oktas and sunshine duration3.
Relative humidity: calculated using the vapour pressure measured at 9am, and the saturation vapour pressure computed using either the maximum or minimum temperature6.
Evaporation and evapotranspiration: an overview of the variables provided by SILO is available here, https://data.longpaddock.qld.gov.au/static/publications/Evapotranspiration_overview.pdf.
Data codes Where possible (depending on the file format), the data are supplied with codes indicating how each datum was obtained.
Official observation as supplied by the Bureau of Meteorology
Deaccumulated rainfall (original observation was recorded over a period exceeding the standard 24 hour observation period)
Interpolated from daily observations for that date
Synthetic Class A pan evaporation, calculated from temperatures, radiation and vapour pressure
Interpolated from daily observations using an anomaly interpolation method
Interpolated from the long term averages of daily observations for that day of year
Rodrigo Pires, rodrigo.pires@dpird.wa.gov.au, and Adam H. Sparks, adamhsparks@gmail.com
Rayner, D. (2005). Australian synthetic daily Class A pan evaporation. Technical Report December 2005, Queensland Department of Natural Resources and Mines, Indooroopilly, Qld., Australia, 40 pp.
Morton, F. I. (1983). Operational estimates of areal evapotranspiration and their significance to the science and practice of hydrology, Journal of Hydrology, Volume 66, 1-76.
Zajaczkowski, J., Wong, K., & Carter, J. (2013). Improved historical solar radiation gridded data for Australia, Environmental Modelling & Software, Volume 49, 64–77. DOI: tools:::Rd_expr_doi("10.1016/j.envsoft.2013.06.013").
Food and Agriculture Organization of the United Nations, Irrigation and drainage paper 56: Crop evapotranspiration - Guidelines for computing crop water requirements, 1998.
ASCE’s Standardized Reference Evapotranspiration Equation, proceedings of the National Irrigation Symposium, Phoenix, Arizona, 2000.
For further details refer to 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, Volume 16/4, 309-330. DOI: tools:::Rd_expr_doi("10.1016/S1364-8152(01)00008-1").
Other SILO:
find_nearby_stations()
,
find_stations_in()
,
get_data_drill_apsim()
,
get_patched_point()
,
get_patched_point_apsim()
,
get_stations_metadata()
,
silo_daily_values
Other data fetching:
get_ag_bulletin()
,
get_coastal_forecast()
,
get_data_drill_apsim()
,
get_dpird_apsim()
,
get_dpird_extremes()
,
get_dpird_minute()
,
get_dpird_summaries()
,
get_patched_point()
,
get_patched_point_apsim()
,
get_precis_forecast()
,
get_radar_imagery()
,
get_satellite_imagery()
if (FALSE) {
# requires an API key as your email address
# Source data from latitude and longitude coordinates (gridded data) for
# max and minimum temperature and rainfall for Southwood, QLD.
wd <- get_data_drill(
latitude = -27.85,
longitude = 150.05,
start_date = "20221001",
end_date = "20221201",
values = c("max_temp", "min_temp", "rain"),
api_key = "your_api_key"
)
}
Run the code above in your browser using DataLab