
Extract Weather From SILO Data Drill Using Australian GPS Coordinates
Source:R/extract_data_drill.R
extract_data_drill.RdA modified wrapper version of weatherOz::get_data_drill that allows for fetching many geophysical points or a single geophysical point. Extracts interpolated weather data from the SILO API from the gridded data, PatchedPointData, data set.
Usage
extract_data_drill(
xy,
locations = NULL,
lonlat = NULL,
start_date,
end_date,
values = "all",
api_key = weatherOz::get_key(service = "SILO")
)Arguments
- xy
A
listordata.frameobject with names containing pairings of longitude and latitude values expressed as decimal degree values in that order. Adata.framemay also be an sf points object. See Details for more.- locations
The column in which the location names are located as an
Integervalue. Defaults to1.- lonlat
A
vectorofintegervalues indicating the column index in which the longitude and latitude values are contained. Defaults to2:3.- start_date
A
characterstring orDateobject representing the beginning of the range to query in the format “yyyy-mm-dd” (ISO8601). Data returned is inclusive of this date.- end_date
A
characterstring orDateobject 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.- values
A
characterstring with the type of weather data to return. See Available Values for a full list of valid values. Defaults toallwith all available values being returned.- api_key
A
characterstring specifying a valid email address to use for the request. The query will return an error if a valid email address is not provided.
Value
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)
Available Values
- all
Which will return all of the following values
- rain (mm)
Rainfall
- max_temp (degrees C)
Maximum temperature
- min_temp (degrees C)
Minimum temperature
- vp (hPa)
Vapour pressure
- vp_deficit (hPa)
Vapour pressure deficit
- evap_pan (mm)
Class A pan evaporation
- evap_syn (mm)
Synthetic estimate1
- evap_comb (mm)
Combination (synthetic estimate pre-1970, class A pan 1970 onwards)
- evap_morton_lake (mm)
Morton's shallow lake evaporation
- radiation (Mj/m2)
Solar exposure, consisting of both direct and diffuse components
- rh_tmax (%)
Relative humidity at the time of maximum temperature
- rh_tmin (%)
Relative humidity at the time of minimum temperature
- et_short_crop (mm)
FAO564 short crop
- et_tall_crop (mm)
ASCE5 tall crop6
- et_morton_actual (mm)
Morton's areal actual evapotranspiration
- et_morton_potential (mm)
Morton's point potential evapotranspiration
- et_morton_wet (mm)
Morton's wet-environment areal potential evapotranspiration over land
- mslp (hPa)
Mean sea level pressure
Value information
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
Data codes Where possible (depending on the file format), the data are supplied with codes indicating how each datum was obtained.
- 0
Official observation as supplied by the Bureau of Meteorology
- 15
Deaccumulated rainfall (original observation was recorded over a period exceeding the standard 24 hour observation period)
- 25
Interpolated from daily observations for that date
- 26
Synthetic Class A pan evaporation, calculated from temperatures, radiation and vapour pressure
- 35
Interpolated from daily observations using an anomaly interpolation method
- 75
Interpolated from the long term averages of daily observations for that day of year
xy
xy as a List Object
If xy is a list object, each individual vector's items should be named
“x” (longitude) and “y” (latitude), respectively. The list
item names should be descriptive of the individual vectors and will be
included in a “location” column of the output.
xy as a Data Frame Object
If xy is a data.frame, it should be a three column object with the first
column being the location name, the second longitude and the third,
latitude both as decimal degrees in numeric format.
xy as an sf Object
If xy is an sf object, it should only be point geometry. If the
data are projected, they will be reprojected to "EPSG:4326", Geographic
Coordinate System WGS 84 before the extraction.
References
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: 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: doi:10.1016/S1364-8152(01)00008-1 .
See also
Other weather data:
extract_patched_point()
Other SILO:
extract_patched_point()
Author
Adam H. Sparks, adamhsparks@gmail.com
Examples
if (FALSE) { # \dontrun{
# Source data from a list of latitude and longitude coordinates in NSW
# and WA
locs <- list(
"Merredin" = c(x = 118.28, y = -31.48),
"Corrigin" = c(x = 117.87, y = -32.33),
"Tamworth" = c(x = 150.84, y = -31.07)
)
wd <- extract_data_drill(
xy = locs,
start_date = "20211001",
end_date = "20211201",
values = "all",
api_key = "your_api_key"
)
} # }