View source: R/geopressure_timeseries.R
geopressure_timeseries | R Documentation |
This function returns the surface atmospheric pressure time series from ERA5 at any requested location.
If the location queried is over water, the location will be moved to the closest onshore location.
The ERA5 pressure time series of the response P_{ERA}
will be provided on a hourly basis
between start_time
and end_time
or the same as pressure$date
if pressure
is supplied.
If you supply the pressure
of the geolocator P_{gl}
, the function will
additionally return the altitude of the geolocator above sea level z_{gl}
using the
barometric equation,
z_{{gl}}(x)=z_{ERA5}(x) + \frac{T_{ERA5}(x)}{L_b} \left( \frac{P_{gl}}{P_{ERA5}(x)}
\right)^{\frac{RL_b}{g M}-1},
where z_{ERA}
, T_{ERA}
, and P_{ERA}
respectively correspond to the ground level
elevation, temperature at 2m, and ground level pressure of ERA5, L_b
is the standard
temperature lapse rate, R
is the universal gas constant, g
is the gravity constant
and M
is the molar mass of air. See more information at
the GeoPressureAPI documentation.
To be able to compare the temporal variation of the retrieved pressure of ERA5 P_{ERA}
to
the geolocator pressure P_{gl}
, the function also returns the ERA pressure normalized with
the geolocator mean pressure measurement as surface_pressure_norm
.
P_{ERA5,0}(\boldsymbol{x})[t] = \left( P_{ERA5}(\boldsymbol{x})[t]-P_{gl}[t]\right) -
\left( \frac{1}{n}\sum_{i=1}^{n} P_{ERA5}(\boldsymbol{x})[i]-P_{gl}[i] \right).
geopressure_timeseries(
lat,
lon,
pressure = NULL,
start_time = NULL,
end_time = NULL,
timeout = 60 * 5,
quiet = FALSE,
debug = FALSE
)
lat |
Latitude to query (0° to 90°). |
lon |
Longitude to query (-180° to 180°). |
pressure |
A data.frame of pressure time series, containing at least a |
start_time |
If |
end_time |
If |
timeout |
duration before the code is interrupted both for the request on
GeoPressureAPI and on GEE (in seconds, see |
quiet |
logical to hide messages about the progress |
debug |
logical to display additional information to debug a request |
A data.frame containing
date
POSIXct date time
surface_pressure
pressure (hPa)
lon
same as input lon
except if over water
lat
same as input lat
except if over water.
surface_pressure_norm
only if pressure
is provided as input
altitude
only if pressure
is provided as input
Nussbaumer, Raphaël, Mathieu Gravey, Martins Briedis, and Felix Liechti. 2023. Global Positioning with Animal‐borne Pressure Sensors. Methods in Ecology and Evolution, 14, 1118–1129 https://doi.org/10.1111/2041-210X.14043.
Other pressurepath:
plot_pressurepath()
,
pressurepath_create()
# Request pressure at a given location
pressurepath <- geopressure_timeseries(
lat = 46, lon = 6,
start_time = "2017-01-01 00:00",
end_time = "2017-01-02 00:00",
quiet = TRUE
)
str(pressurepath)
plot(pressurepath$date, pressurepath$surface_pressure,
type = "b", ylab = "Pressure (hPa)", xlab = "Datetime"
)
# Retrieve the altitude of a bird being at this location adding random noise on the sensor.
pressurepath <- geopressure_timeseries(
lat = 46, lon = 6,
pressure = data.frame(
data.frame(
date = pressurepath$date,
value = pressurepath$surface_pressure + rnorm(nrow(pressurepath))
)
),
quiet = TRUE
)
str(pressurepath)
plot(pressurepath$date, pressurepath$altitude,
type = "b", ylab = "Altitude (m)", xlab = "Datetime"
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.