library(myClim)
library(dplyr)
library(purrr)
tms <- mc_read_files("data.csv", dataformat_name = "TOMST", silent = TRUE)
cat("Cleaning data...\n")
tms_clean <- mc_prep_clean(tms, silent = TRUE)
available_soils <- myClim::mc_data_vwc_parameters$soiltype
cat("Available soil types in myClim:\n")
print(available_soils)
cat("\n")
for (soil in available_soils) {
cat("Processing soil type:", soil, "\n")
tms_vwc <- mc_calc_vwc(tms_clean, soiltype = soil, frozen2NA = FALSE)
df <- tms_vwc$localities %>%
map_df(function(loc) {
loc$loggers %>% map_df(function(logger) {
tibble(
datetime = logger$datetime,
raw = logger$sensors$TMS_moist$values,
temp = logger$sensors$TMS_T1$values,
VWC_moisture = logger$sensors$VWC_moisture$values
)
})
})
safe_soil_name <- gsub("[^A-Za-z0-9]", "_", soil)
output_file <- paste0("output_", safe_soil_name, ".csv")
df$datetime <- format(df$datetime, "%Y-%m-%d %H:%M:%S")
write.csv(df,
file = output_file,
row.names = FALSE)
cat("Wrote", nrow(df), "records to", output_file, "\n")
}
cat("\n=== Soil Type Coefficients (from myClim) ===\n")
print(myClim::mc_data_vwc_parameters[c("soiltype", "a", "b", "c")])
cat("\n=== Temperature Correction Constants ===\n")
cat("ref_t =", myClim::mc_const_CALIB_MOIST_REF_T, "\n")
cat("acor_t =", myClim::mc_const_CALIB_MOIST_ACOR_T, "\n")
cat("wcor_t =", myClim::mc_const_CALIB_MOIST_WCOR_T, "\n")
cat("\nProcessing complete! Generated", length(available_soils), "soil type outputs.\n")