diff --git a/R/ogs6.R b/R/ogs6.R index aafbfe43392f3670c8627b7c78af603795c5d772..b119a9d537b55647f9c99b5e1f6891d9a1ffaddd 100644 --- a/R/ogs6.R +++ b/R/ogs6.R @@ -30,7 +30,25 @@ OGS6 <- R6::R6Class("OGS6", assertthat::assert_that(assertthat::is.string(ogs_bin_path)) if(!test_mode){ - validate_paths(sim_path, ogs_bin_path) + sim_path <- validate_is_dir_path(sim_path) + ogs_bin_path <- validate_is_dir_path(ogs_bin_path) + + if(!dir.exists(sim_path)){ + dir.create(sim_path) + }else{ + if(length(dir(sim_path, all.files = TRUE)) != 0){ + warning(paste0("The defined sim_path directory '", + sim_path, + "' is not empty. Files may be overwritten."), + call. = FALSE) + } + } + + if(!file.exists(paste0(ogs_bin_path, "generateStructuredMesh.exe"))) { + stop(paste("Could not find executable file", + "generateStructuredMesh.exe at location", + ogs_bin_path), call. = FALSE) + } } private$.sim_output <- list()