Skip to contents

This function calculates the Urban Heat Island (UHI) intensity based on air temperature measurements and Local Climate Zones (LCZ). More details: https://bymaxanjos.github.io/LCZ4r/articles/Introd_local_LCZ4r.html

Usage

lcz_uhi_intensity(
  x,
  data_frame = "",
  var = "",
  station_id = "",
  ...,
  time.freq = "hour",
  method = "LCZ",
  Turban = NULL,
  Trural = NULL,
  by = NULL,
  impute = NULL,
  group = FALSE,
  iplot = TRUE,
  isave = FALSE,
  ylab = "Air temperature [C]",
  xlab = "Time",
  ylab2 = "UHI",
  title = "",
  caption = "LCZ4r,2024"
)

Arguments

x

A SpatRaster object containing the LCZ map. The LCZ map can be obtained using the lcz_get_map() function.

data_frame

A data frame containing air temperature measurements and station IDs. The data frame should have a date field in hourly or higher resolution format.

var

The name of the variable in the data frame representing air temperature.

station_id

The name of the variable in the data frame representing station IDs.

...

Additional arguments for the selectBydata from openair package. These include:

  • A start date string in the form "1/2/1999" or in format "YYYY-mm-dd", e.g., "1999-02-01".

  • A year or years to select, e.g., year = 1998:2004 to select 1998-2004 inclusive, or year = c(1998, 2004) to select 1998 and 2004.

  • A month or months to select. Can either be numeric, e.g., month = 1:6 to select January to June, or by name, e.g., month = c("January", "December").

time.freq

The time period to average to. Default is “hour”, but can also be “day”, “week”, “month”, or “year”.

method

Method to calculate the UHI intensity. Options include "LCZ" and "manual".

Turban

Urban station references, if the method "manual" is selected.

Trural

Rural station references, if the method "manual" is selected.

by

The time-series split option. Options include “year”, “season”, “seasonyear”, “month”, “monthyear”, “weekday”, “weekend”, “site”, “daylight”, or “dst” (daylight saving time). See the type argument in the openair package: https://bookdown.org/david_carslaw/openair/sections/intro/openair-package.html#the-type-option.

impute

Method to impute missing values. Options include “mean”, “median”, “knn”, or “bag”.

group

If TRUE urban, rural and UHI - related temperatures are grouped in the same plot.

iplot

Set to TRUE to return a plot. If FALSE, a data frame is returned.

isave

Set to TRUE to save all results (plot, time-series, station references) into your directory.

ylab

The label for the y-axis.

xlab

The label for the x-axis. Default is “Time”.

ylab2

The label for the right y-axis.

title

The title of the plot. Default is an empty string.

caption

The source data caption.

Value

A visual representation of the time series of UHI in ggplot or data frame .csv format.

See also

See the documentation for lcz_get_map() to obtain an LCZ map.

Examples

if (FALSE) { # \dontrun{
# Calculate hourly UHI intensity for 2019 using the LCZ method
my_uhi <- lcz_uhi_intensity(lcz_map, data_frame = lcz_data, var = "airT",
                            station_id = "station", year = 2019,
                            time.freq = "hour", method = "LCZ")


} # }