Function to generate base climate data using Gaussian simulations with a Spherical model. The temperature data adheres to a normal distribution, while precipitation follows a lognormal distribution with user-defined parameters, and both variables are treated as independent. Daily precipitation amplitude covaries with latitude and temperature data. Temperature annual range and precipitation annual variation are determined by the latitudinal gradient with the addition of a normal error.

generateClim(nrow = 101, ncol = 101, Tmean = 15, Tsd = 4, Trange = 45, 
             Tamp_max = 10, Tamp_min = 1, Tar_max = 10, Tar_min = 5, 
             Pmean = 500, Psd = 300, Prange = 45, Pav_max = 50, Pav_min = 10)

Arguments

nrow

Row number of the grid to be created.

ncol

Column number of the grid to be created.

Tmean

Mean temperature of the distribution.

Tsd

Standard deviation for temperature distribution.

Trange

Range for the spatial autocorrelation spherical model.

Tamp_max

Maximum daily amplitude for temperature.

Tamp_min

Minimum daily amplitude for temperature.

Tar_max

Maximum value for temperature annual range.

Tar_min

Minimum value for temperature annual range.

Pmean

Mean value for precipitation distribution.

Psd

Standard deviation value for precipitation distribution.

Prange

Range for the spatial autocorrelation model.

Pav_max

Maximum value for precipitation annual variation.

Pav_min

Minimum value for precipitation annual variation.

Details

Value

Returns a list with generated grid coordinates and temperature, precipitation, daily temperature amplitude and temperature annual range and precipitation annual variation for each cell. Coordinates are always in the range [0,1].

References

Author

Note

See also

Examples

set.seed(1234)

# With default parameters
clim <- generateClim()
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]

clim.rst <- rast(clim)
plot(clim.rst)


# Higher temperature, low precipitation
clim2 <- generateClim(Tmean=24, Pmean=25, Psd=50)
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
clim2.rst <- rast(clim2)
plot(clim2.rst)


# Higher spatial resolution
clim3 <- generateClim(200, 200)
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
#> [using unconditional Gaussian simulation]
clim3.rst <- rast(clim3)
plot(clim3.rst)