generateMonthlyTemp.RdGenerates monthly temperature data, including minimum, average, and maximum values. The data generation process involves hourly calculations across 12 months, incorporating a seasonality pattern derived from a simple cosine function, with a peak during summer (July-August), plus daily peaks (centered around 12:00), and a spatially independent normal error.
generateMonthlyTemp(x, daily_amp, annual_rng, err_sdev = 1, verbose = TRUE)A vector with average annual temperature data.
A vector with same length as 'x' with daily temperature amplitude.
A vector with same length as 'x' with temperature annual range.
Standard deviation for normal error associated with each hour "measurement".
Logic value for verbosity (default is TRUE).
Returns a list with tmin, tavg and tmax matrices with data for each cell (rows) and for each month (columns).
set.seed(1234)
# Generate base climate data
clim <- generateClim()
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
# Generate monthly precipitation for each cell
m_temp <- generateMonthlyTemp(clim$temp, clim$daily_amp, clim$annual_range)
#> Generating data for January
#> Generating data for February
#> Generating data for March
#> Generating data for April
#> Generating data for May
#> Generating data for June
#> Generating data for July
#> Generating data for August
#> Generating data for September
#> Generating data for October
#> Generating data for November
#> Generating data for December
# Average temperature per month across all cells
monthly_avg <- colMeans(m_temp$tavg)
barplot(monthly_avg, names.arg = month.abb,
xlab = "Month", ylab = "Temperature (ºC)",
main = "Average monthly temperature")