scripts/nature_ml.R

args <- commandArgs(trailingOnly = TRUE)

library(DAISIE)
library(islandpaleoarea)

array_index <- as.numeric(args[1])
methode <- args[2]
optimmethod <- args[3]

model_vec <- sort(rep(1:28, 15))
model <- model_vec[array_index]
parallel <- "local"
data_name <- data(archipelagos41)

seed <- as.integer(Sys.time()) %% 10000L * array_index
set.seed(
  seed,
  kind = "Mersenne-Twister",
  normal.kind = "Inversion",
  sample.kind = "Rejection"
)

DAISIEutils::print_metadata(
  data_name = data_name,
  array_index = array_index,
  model = model,
  seed = seed,
  methode = methode,
  optimmethod = optimmethod
)

output_folder_path <- DAISIEutils::create_output_folder(
  data_name = data_name,
  results_dir = NULL
)

datalist <- archipelagos41

model_args <- setup_mw_model(model)
initparsopt <- model_args$initparsopt
idparsopt <- model_args$idparsopt
parsfix <- model_args$parsfix
idparsfix <- model_args$idparsfix
res <- model_args$res
ddmodel <- model_args$ddmodel
cpus <- model_args$cpus
tol <- model_args$tol
distance_type <- model_args$distance_type
distance_dep <- model_args$distance_dep


lik_res <- DAISIE::DAISIE_MW_ML(
  datalist = datalist,
  initparsopt = initparsopt,
  idparsopt = idparsopt,
  parsfix = parsfix,
  idparsfix = idparsfix,
  res = res,
  ddmodel = ddmodel,
  methode = methode,
  cpus = cpus,
  parallel = parallel,
  optimmethod = optimmethod,
  tol = tol,
  distance_type = distance_type,
  distance_dep = distance_dep
)

file_name <- paste0(
  "results_",
  data_name,
  "_",
  model,
  "_",
  1,
  "_",
  array_index,
  ".txt"
)
output_path <- file.path(
  output_folder_path,
  paste0(
    data_name,
    "_",
    model,
    "_",
    time_slice,
    "_",
    array_index,
    ".rds"
  )
)
saveRDS(lik_res, file = output_path
)
if (!file.exists(output_path)) {
  message("Error writing RDS file.")
}
to_write <- c(
  array_index,
  seed,
  model,
  distance_dep,
  distance_type,
  as.matrix(lik_res),
  initparsopt,
  "\n"
)

file_name <- paste0("results_", array_index, ".txt")
cat(to_write, file = file.path(output_folder_path, file_name), append = TRUE)
Neves-P/islandpaleoarea documentation built on Feb. 10, 2024, 8:46 a.m.