Type: | Package |
Title: | Climate Modeling with Point Data from Climate Stations |
Version: | 1.0.0 |
Author: | Alexander Klug [aut, cre, cph], Luise Wraase [aut], Seda Bekar [ctb], Dirk Zeuss [aut] |
Maintainer: | Alexander Klug <kluga@students.uni-marburg.de> |
Description: | An automated and streamlined workflow for predictive climate mapping using climate station data. Works within an environment the user provides a destined path to - otherwise it's tempdir(). Quick and relatively easy creation of resilient and reproducible climate models, predictions and climate maps, shortening the usually long and complicated work of predictive modelling. For more information, please find the provided URL. Many methods in this package are new, but the main method is based on a workflow from Meyer (2019) <doi:10.1016/j.ecolmodel.2019.108815> and Meyer (2022) <doi:10.1038/s41467-022-29838-9> , however, it was generalized and adjusted in the context of this package. |
License: | GPL (≥ 3) |
Encoding: | UTF-8 |
LazyData: | true |
Imports: | caret, CAST, corrplot, doParallel, dplyr, grDevices, lares, magrittr, parallel, rlang, stats, stringr, terra, tidyr, utils |
Depends: | R (≥ 2.10) |
Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0), pls, randomForest, sp |
VignetteBuilder: | knitr |
RoxygenNote: | 7.3.2 |
Config/testthat/edition: | 3 |
URL: | https://envima.github.io/climodr/ |
BugReports: | https://github.com/envima/climodr/issues |
NeedsCompilation: | no |
Packaged: | 2025-06-10 08:11:00 UTC; Alexander |
Repository: | CRAN |
Date/Publication: | 2025-06-12 14:20:06 UTC |
Station File (G06)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_G06
Format
## 'Station_G06' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (G17)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_G17
Format
## 'Station_G17' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (G20)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_G20
Format
## 'Station_G20' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (G21)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_G21
Format
## 'Station_G21' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (G25)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_G25
Format
## 'Station_G25' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (G48)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_G48
Format
## 'Station_G48' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (W10)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_W10
Format
## 'Station_W10' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (W11)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_W11
Format
## 'Station_W11' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (W19)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_W19
Format
## 'Station_W19' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Station File (W20)
Description
Contains made up climate data for imaginary climate stations for education purposes.
Usage
Station_W20
Format
## 'Station_W20' A data frame with 10 rows and 5 columns
- plotID
Plot ID of imaginary climate station
- datetime
Timestamp of record for station
- Ta_200
Imaginary air temperature at 200 cm above ground
Source
Randomly created climate data at random created stations extracted from a random climate map made by climodr.
Autocorrelation
Description
Tests the final.csv created with 'fin.csv' on autocorrelation to produce reliable models.
Usage
autocorr(
envrmt = .GlobalEnv$envrmt,
method = "monthly",
resp,
pred,
plot.corrplot = TRUE,
corrplot = "coef"
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. Choose the time scale your data is preserved in. Either "annual", "monthly" or "daily". |
resp |
numerical. Vector or single input of the columns in the final.csv that contain your sensor data ("response variables"). The function will create one file per variable. |
pred |
numerical. Vector or single input. The columns of your predictor variables, that you want to test for autocorrelation with the response variables. |
plot.corrplot |
logical. Should correlation matrices be plotted? |
corrplot |
character. Vector or single input. If plot.corrplot is true, you can choose the design of the correlation plot. You can choose from "coef", "crossout", "blank". Default is "coef". |
Value
One .csv file per response variable. These will later be used when 'autocorrelation' is set 'TRUE' during 'calc.model'.
See Also
'calc.model'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
# Calculate Indices from cropped raster bands
calc.indices(envrmt = envrmt,
vi = "all",
bands = c("blue", "green", "red",
"nir", "nirb",
"re1", "re2", "re3",
"swir1", "swir2"),
overwrite = TRUE)
#extract station coordinates
csv_spat <- spat.csv(envrmt = envrmt,
method = "monthly",
des_file = "plot_description.csv",
save_output = TRUE)
#extract predictor values from raster files
csv_fin <- fin.csv(envrmt = envrmt,
method = "monthly",
save_output = TRUE)
# Test data for autocorrelation after running fin.csv
autocorr(envrmt = envrmt,
method = "monthly",
resp = 5,
pred = c(8:23),
plot.corrplot = FALSE)
Calculate spectral indices
Description
Calculates a set of spectral indices to have more predictor variables available when further modeling.
Usage
calc.indices(
envrmt = .GlobalEnv$envrmt,
vi = "all",
bands = c("blue", "green", "red", "nir", "nirb", "re1", "re2", "re3", "swir1", "swir2"),
overwrite = FALSE
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
vi |
Character. Either "all" or vector containing the preferred spectral indices. See 'Details' for more information. |
bands |
Character. Vector with lenght(bands) = 10. Contains the names of the bands in the Raster Stack. If bands from the *Usage* example vector dont exist, use "NA" in their position. See 'Details' for more information. |
overwrite |
logical. Argument passed down from 'terra'-package. Overwrite existing files? |
Value
SpatRaster-Stack
See Also
'crop.all', 'fin.csv'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
# Calculate Indices from cropped raster bands
calc.indices(envrmt = envrmt,
vi = "all",
bands = c("blue", "green", "red",
"nir", "nirb",
"re1", "re2", "re3",
"swir1", "swir2"),
overwrite = TRUE)
Modelling
Description
Creates Models for each climate value
Usage
calc.model(
envrmt = .GlobalEnv$envrmt,
method = "monthly",
timespan,
climresp,
classifier = c("rf", "pls", "lm", "glm"),
seed = NULL,
p = 0.8,
folds = "all",
predrows,
mnote = NULL,
k = NULL,
tc_method = "cv",
metric = "RMSE",
doParallel = FALSE,
autocorrelation = FALSE,
...
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. Time period of your desired model. Default: "monthly" |
timespan |
numeric. Vector or single input. Should contain all years to be modeled. The years have to be the same format as in the tabular data. |
climresp |
numeric. Vector or single input. Should contain all column's in the tabular data that contain response variables. |
classifier |
vector or character. Model variants to be used. Supported models: Random Forest = "rf", Partial-Least-Squares = "pls", Neural Networks = "nnet", Linear Regression = "lm" or generalized boosted regression = "gbm". |
seed |
integer. Seed to reproduce the same model over and over. |
p |
numeric. Between 0 and 1. Percentage of data used for cross validation. Default = 0.8 |
folds |
character. Vector or single input. Either folding over location only "LLO", over time only "LTO", or over both "LLTO". Use "all" to use all possibilitys. |
predrows |
numeric. Vector or single input. Should contain the rows where all the predictor values are stored in. |
mnote |
character. Model note for special modifications used. Default: "normal" |
k |
integer. When 'fold' = "LLO" or "LTO". Set k to the number of unique spatial or temporal units. Leave out to use preset values. |
tc_method |
character. Method for train control function from caret package. Default = "cv". |
metric |
character. See 'train'. |
doParallel |
logical. Parallelization accelerates the modelling process. Warning: Your PC will slow down drastically. Make sure to not run any other heavy processes during this. |
autocorrelation |
logical. Should autocorrelating data in the predictor variables be excluded from the model run? Only works if 'autocorr' has been executed beforehand. |
... |
arguments passed down from other functions. |
Value
data frame.
See Also
'autocorr'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
# Calculate Indices from cropped raster bands
calc.indices(envrmt = envrmt,
vi = "all",
bands = c("blue", "green", "red",
"nir", "nirb",
"re1", "re2", "re3",
"swir1", "swir2"),
overwrite = TRUE)
#extract station coordinates
csv_spat <- spat.csv(envrmt = envrmt,
method = "monthly",
des_file = "plot_description.csv",
save_output = TRUE)
#extract predictor values from raster files
csv_fin <- fin.csv(envrmt = envrmt,
method = "monthly",
save_output = TRUE)
# Test data for autocorrelation after running fin.csv
autocorr(envrmt = envrmt,
method = "monthly",
resp = 5,
pred = c(8:23),
plot.corrplot = FALSE)
# Create 36 different models (12 months x 3 classifiers) for every month in 2017
calc.model(envrmt = envrmt,
method = "monthly",
timespan = c(2017),
climresp = 5,
classifier = c("rf",
"pls",
"lm"),
seed = 707,
p = 0.8,
folds = "LLO",
mnote = "normal",
predrows = c(8:23),
tc_method = "cv",
metric = "RMSE",
autocorrelation = TRUE,
doParallel = FALSE)
Load in Example Data
Description
Climodr comes with a full set of example data. But since this package runs primarily with data, that is not linked to the global environment, but saved in local folders build via 'envi.create', one can't just load example data. This function will load all the example data used in the vignette into your climodr environment. This way you can run all the code from the vignette.
Usage
clim.sample(envrmt = .GlobalEnv$envrmt)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
Value
Multiple files used by the climodr vignette
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
Create Maps using the 'terra' package graphic parameters
Description
Plot results of climodr into maps. Right now maps are created using the terra package. The maps created are very basic. Will be updated to run with tidyterra in future.
Usage
climplot(
envrmt = .GlobalEnv$envrmt,
mnote,
sensor,
aoa = FALSE,
mapcolors = rev(grDevices::terrain.colors(50)),
scale_position = "bottomleft",
north_position = "topright"
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
mnote |
character. The modelnote you want to create maps of. |
sensor |
character. The sensor you want to create maps for. |
aoa |
logical. Do you want the area of applicability to be added to your map? |
mapcolors |
The color pallete you want to use for the map. Default is 'rev(grDevices::terrain.colors(50))' |
scale_position |
character. Graphical parameter. The relative positiion of the Scale for the map. See 'terra::plot' for more details. |
north_position |
character. Graphical parameter. The relative positiion of the Scale for the map. See 'terra::plot' for more details. |
Value
Maps in PNG-Format to your harddrive.
See Also
'terra::plot'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
# Calculate Indices from cropped raster bands
calc.indices(envrmt = envrmt,
vi = "all",
bands = c("blue", "green", "red",
"nir", "nirb",
"re1", "re2", "re3",
"swir1", "swir2"),
overwrite = TRUE)
#extract station coordinates
csv_spat <- spat.csv(envrmt = envrmt,
method = "monthly",
des_file = "plot_description.csv",
save_output = TRUE)
#extract predictor values from raster files
csv_fin <- fin.csv(envrmt = envrmt,
method = "monthly",
save_output = TRUE)
# Test data for autocorrelation after running fin.csv
autocorr(envrmt = envrmt,
method = "monthly",
resp = 5,
pred = c(8:23),
plot.corrplot = FALSE)
# Create 36 different models (12 months x 3 classifiers) for every month in 2017
calc.model(envrmt = envrmt,
method = "monthly",
timespan = c(2017),
climresp = 5,
classifier = c("rf",
"pls",
"lm"),
seed = 707,
p = 0.8,
folds = "LLO",
mnote = "normal",
predrows = c(8:23),
tc_method = "cv",
metric = "RMSE",
autocorrelation = TRUE,
doParallel = FALSE)
# Make predictions
climpred(envrmt = envrmt,
method = "monthly",
mnote = "normal",
AOA = TRUE)
# Create a Temperature Map from the vignette model
climplot(envrmt = envrmt,
mnote = "normal",
sensor = "Ta_200",
aoa = TRUE,
mapcolors = rev(heat.colors(50)),
scale_position = "bottomleft",
north_position = "topright")
Predict sensor data area wide
Description
Use the models created using 'calc.model' to predict the modeled data onto a full spatial raster scene.
Usage
climpred(envrmt = .GlobalEnv$envrmt, method = "monthly", mnote, AOA = TRUE)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
Character. Either "daily", monthly" or "annual". Also depends on the available data. |
mnote |
Character. Model note to filter models for the fitting model run. |
AOA |
Logical. Should the Area of Applicability be calculated additional to the models? |
Value
Multiple models.rds stored in the /workflow/models folder.
See Also
'autocorr', 'predict'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
# Calculate Indices from cropped raster bands
calc.indices(envrmt = envrmt,
vi = "all",
bands = c("blue", "green", "red",
"nir", "nirb",
"re1", "re2", "re3",
"swir1", "swir2"),
overwrite = TRUE)
#extract station coordinates
csv_spat <- spat.csv(envrmt = envrmt,
method = "monthly",
des_file = "plot_description.csv",
save_output = TRUE)
#extract predictor values from raster files
csv_fin <- fin.csv(envrmt = envrmt,
method = "monthly",
save_output = TRUE)
# Test data for autocorrelation after running fin.csv
autocorr(envrmt = envrmt,
method = "monthly",
resp = 5,
pred = c(8:23),
plot.corrplot = FALSE)
# Create 36 different models (12 months x 3 classifiers) for every month in 2017
calc.model(envrmt = envrmt,
method = "monthly",
timespan = c(2017),
climresp = 5,
classifier = c("rf",
"pls",
"lm"),
seed = 707,
p = 0.8,
folds = "LLO",
mnote = "normal",
predrows = c(8:23),
tc_method = "cv",
metric = "RMSE",
autocorrelation = TRUE,
doParallel = FALSE)
# Make predictions
climpred(envrmt = envrmt,
method = "monthly",
mnote = "normal",
AOA = TRUE)
predlist <- list.files(envrmt$path_predictions,
pattern = ".tif")
head(predlist)
Cropping tiff data
Description
Crops input data to the extent size and reprojects them into project Coordinate reference system.
Usage
crop.all(
envrmt = .GlobalEnv$envrmt,
method = "MB_Timeseries",
crs = NULL,
ext = NULL,
overwrite = FALSE,
...
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. Use "MB_Timeseries" for now. More methods are planned and will be added in future. |
crs |
Coordinate reference system Used to crop all images in folder_path. If crs it will automatically reprojected into this one. Default: crs of smallest Extent. |
ext |
SpatRaster, SpatVector or SpatExtent. Extent all data is cropped into. Default: Smallest Extent in folder_path. |
overwrite |
logical. Should existing files with the same filename be overwritten? Default = FALSE |
... |
arguments passed down from other functions. |
Value
SpatRaster-Stack. Also saved to /workflow/rworkflow
See Also
'fin.csv', 'calc.indices'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
Create climodr environment
Description
Creates an environment climodr will use during the calculation process. A list is returned with all paths to all folders. After creating the environment, all necessary data should be stored into the depending Input sub-folders. There is also an additional temp-folder, where temporary data is stored, which can be deleted after not being used anymore.
Usage
envi.create(proj_path = tempdir(), memfrac = NULL, ...)
Arguments
proj_path |
character. Path to project directory. Climodr will work exclusively in this folder and create all project folders in here. |
memfrac |
numeric. Value between 0 and 0.9. The fraction of RAM that may be used by the terra package |
... |
arguments passed down from other functions. |
Value
list. Contains all paths to each folder in the project directory. Necessary for climodr to operate its functions.
Examples
# create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
Extent file for vignette
Description
A vector file containing the shape and extent of the Area used in the vignette
Usage
ext_vignette
Format
## 'ext_vignette'
- class
SpatVector
- geometry
polygons
- dimensions
1, 1 (geometries, attributes)
- extent
805737, 812824, 5890352, 5896005 (xmin, xmax, ymin, ymax)
- coord. ref.
WGS 84 / UTM zone 32N (EPSG:32632)
- values
1
Spat Vector
Source
Randomly created in (QGIS)[https://www.qgis.org/download/thank-you/].
Final aggregation for CSV-Data
Description
Extract the raster values of all raster layers from a scene at the station coordinates at each time stamp. The extracted data will be attached to the station data so there is a .csv-file with coordinates, sensor data (response values) and extracted raster data (predictor values). The data is ready to be used for modelling.
Usage
fin.csv(
envrmt = .GlobalEnv$envrmt,
method = "monthly",
crs = NULL,
save_output = TRUE,
...
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. Either "daily", monthly" or "annual". Also depends on the available data. |
crs |
character. If null, coordinate reference system from project files will be taken. Otherwise data will be reprojected into this crs. |
save_output |
logical. If cleaned data should be saved permanently in the Environment put save_output = TRUE. Otherwise the output will be saved in the temporary directory. Default: FALSE. |
... |
arguments passed down from other functions. |
Value
List
See Also
'prep.csv', 'proc.csv', 'spat.csv', 'calc.indices'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
# Crop all raster bands
crop.all(envrmt = envrmt,
method = "MB_Timeseries",
overwrite = TRUE)
# Calculate Indices from cropped raster bands
calc.indices(envrmt = envrmt,
vi = "all",
bands = c("blue", "green", "red",
"nir", "nirb",
"re1", "re2", "re3",
"swir1", "swir2"),
overwrite = TRUE)
#extract station coordinates
csv_spat <- spat.csv(envrmt = envrmt,
method = "monthly",
des_file = "plot_description.csv",
save_output = TRUE)
#extract predictor values from raster files
csv_fin <- fin.csv(envrmt = envrmt,
method = "monthly",
save_output = TRUE)
head(csv_fin)
Plot description file
Description
Contains made up coordinates for imaginary climate stations for education purposes.
Usage
plot_description
Format
## 'plot_description' A data frame with 10 rows and 5 columns
- plot
imaginary station name and code
- general
imaginary category of climate station
- region
location name of climate station
- lat
Latitude Coordinate of climate station
- lon
Longitude Coordinate of climate station
- elevation
elevation of climate station
Source
Randomly created coordinates and stations extracted from a random climate map.
Preparing CSV-Data
Description
Crops input data to the extent size and removes NA-Values
Usage
prep.csv(envrmt = .GlobalEnv$envrmt, method = "proc", save_output = TRUE, ...)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. "proc" for ready-to-use data in separate .csv-files. "tube" for raw-data from the Tube Data Base. Default "proc"-Method. |
save_output |
logical. If cleaned data should be saved permanently in the Environment put save_output = TRUE. Otherwise the output will be saved in the temporary directory. Default: FALSE. |
... |
arguments passed down from other functions. |
Value
List
See Also
'proc.csv', 'spat.csv', 'fin.csv'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#check the created csv files
csv_files <- grep("_no_NAs.csv$",
list.files(envrmt$path_tworkflow),
value=TRUE)
csv_files
Processing CSV-Data
Description
Calculate averaged sensor values aggregated to a given time interval.
Usage
proc.csv(
envrmt = .GlobalEnv$envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE,
...
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. Either "daily", monthly" or "annual". Also depends on the available data. |
rbind |
logical. Create a single file with all climate stations. If FALSE, every station will be saved in a seperate file. |
save_output |
logical. If data should be saved permanently in the Environment put save_output = TRUE. Otherwise the output will be saved in the temporary directory. Default: TRUE. |
... |
arguments passed down from other functions. |
Value
List
See Also
'prep.csv', 'spat.csv', 'fin.csv'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
head(csv_data)
Resolution and Area
Description
This raster contains the area of interest as well as the desired model resolution (100 m * 100 m) and the project extent.
Usage
res_area
Format
## 'res_area' A binary Raster of pixels with value 1 in extent that belong to example area
- class
SpatRaster
- dimensions
57, 71, 1 (nrow, ncol, nlyr)
- resolution
100, 100 (x, y)
- extent
805732, 812832, 5890310, 5896010 (xmin, xmax, ymin, ymax)
- coord. ref.
WGS 84 / UTM zone 32N (EPSG:32632)
- name
res_area
- min/max
0/1
Source
Randomly created binary Spat Raster file with the project resolution of 100 m per pixel. Created in (QGIS)[https://www.qgis.org/download/thank-you/].
Spatial Raster File for Vignette
Description
A spatial Raster file from a random area choose for the Vignette or as dummy data.
Usage
sch_201707
Format
## 'sch_201707' A Spat Raster with 8 spectral bands
- class
SpatRaster
- dimensions
86, 151, 10 (nrow, ncol, nlyr)
- resolution
100, 100 (x, y)
- extent
801522.5, 816622.5, 5888973, 5897573 (xmin, xmax, ymin, ymax)
- coord. ref.
WGS 84 / UTM zone 32N (EPSG:32632)
- names
blue, green, red, nir, nirb, re1, re2, re3, swir1, swir2
- min/max
33.90298/5479.6602
Source
Randomly created Spat Raster file from (Sentinel-2 Data)[https://browser.dataspace.copernicus.eu/?zoom=10&lat=52.96601&lng=13.86818&themeId=DEFAULT-THEME&visualizationUrl=U2FsdGVkX1
Digital Ground Model for Vignette
Description
A Digital Ground Model file from a random area choose for the Vignette or as dummy data.
Usage
sch_dgm
Format
## 'sch_dgm' A Digital Ground Model
- class
SpatRaster
- dimensions
86, 151, 10 (nrow, ncol, nlyr)
- resolution
100, 100 (x, y)
- extent
801522.5, 816622.5, 5888973, 5897573 (xmin, xmax, ymin, ymax)
- coord. ref.
WGS 84 / UTM zone 32N (EPSG:32632)
- names
elevation
- min/max
48.75315/94.67307
Source
Randomly extracted Digital Ground Model.
Spatial aggregation for CSV-Data
Description
Extract station coordinates from meta-data and reproject the coordinates to the project coordinate reference system.
Usage
spat.csv(
envrmt = .GlobalEnv$envrmt,
method = "monthly",
des_file,
crs = NULL,
save_output = TRUE,
...
)
Arguments
envrmt |
variable name of your envrmt list created using climodr's 'envi.create' function. Default = envrmt. |
method |
character. Either "daily", monthly" or "annual". Also depends on the available data. |
des_file |
character. The filename and data type of the meta-data. (Only reads .csv) |
crs |
character. EPSG of the Coordinate Reference System, if no **res_area.tif** file is provided. |
save_output |
logical. If cleaned data should be saved permanently in the Environment put save_output = TRUE. Otherwise the output will be saved in the temporary directory. Default: TRUE |
... |
arguments passed down from other functions. |
Value
Data Frame
See Also
'prep.csv', 'proc.csv', 'fin.csv'
Examples
#create climodr environment and allow terra-functions to use 70% of RAM
envrmt <- envi.create(proj_path = tempdir(),
memfrac = 0.7)
# Load the climodr example data into the current climodr environment
clim.sample(envrmt = envrmt)
#prepare csv-files
prep.csv(envrmt = envrmt,
method = "proc",
save_output = TRUE)
#process csv-files
csv_data <- proc.csv(envrmt = envrmt,
method = "monthly",
rbind = TRUE,
save_output = TRUE)
#extract station coordinates
csv_spat <- spat.csv(envrmt = envrmt,
method = "monthly",
des_file = "plot_description.csv",
save_output = TRUE)
head(csv_spat)