view run.r @ 4:a069fc43b0b1 draft

"planemo upload for repository https://forgemia.inra.fr/carboseq/record-projet-carboseq/-/tree/ed5816b24b0c91099c78cbb5bbbe835ae5c74cd7/toos/CarboSeqSimulator commit ed5816b24b0c91099c78cbb5bbbe835ae5c74cd7-dirty"
author siwaa
date Fri, 23 Aug 2024 13:19:04 +0000
parents 89c69fcbf561
children 366449cab681
line wrap: on
line source

# help : Rscript % --url=https://coby.infosol.inrae.fr:7777/semantify --srcDir=~/CSCL/src/csoprapreprocessor/inst/extdata/carboseq/set001/

# Function to parse command-line arguments
parse_args <- function() {
    args <- commandArgs(trailingOnly = TRUE)
    
    # Default values for optional parameters
	url <- "https://coby.infosol.inrae.fr:8080/semantify/"
	srcDir <- NULL
	part <- "modeltoolbox"
	DS <- T
	NBCores <- 1
    # Parse arguments
    for (arg in args) {
        if (grepl("^--url=", arg)) {
            url <- sub("^--url=", "", arg)
        }

	if (grepl("^--srcDir=", arg)) {
            srcDir <- sub("^--srcDir=", "", arg)
        }

	if (grepl("^--part=", arg)) {
            part <- sub("^--part=", "", arg)
        }

	if (grepl("^--DS=", arg)) {
            DS <- ifelse(sub("^--DS=", "", arg) == "TRUE", TRUE, FALSE)
        }

	if (grepl("^--NBCores=", arg)) {
            NBCores <- as.numeric(sub("^--NBCores=", "", arg))
        }
        
	if (grepl("^--srcOut=", arg)) {
            srcOut <- sub("^--srcOut=", "", arg)
        }

    }
    
    list(url = url, srcDir = srcDir, part = part, DS = DS, NBCores = NBCores, srcOut = srcOut)
}

argus <- parse_args()
url <- argus[["url"]]
srcDir <- argus[["srcDir"]]
part <- argus[["part"]]
DS <- argus[["DS"]]
NBCores <- argus[["NBCores"]]

srcOut <- argus[["srcOut"]]

if (!endsWith(srcOut, "/")) {
  srcOut <- paste0(srcOut, "/")
}

# url="https://147.100.203.110/semantify "
# srcDir="~/tmp/testFiles/400Sites/"
# part="modeltoolbox"
# part="csoprapreprocessor"
# DS=TRUE
# NBCores=10

ppi <- list(
					weatherRetrievalMethod = "service",
		    			srcDir = srcDir,
					doSemantify = DS,
			 	        weatherRetrievalURL = "https://147.100.203.110/climate",
					semantifierServiceURL = url
	    )


# MTB{{{
if (part == "modeltoolbox") {
f0 <- function(){
	modeltoolbox::loadCSVs(maxCores = NBCores, cinputCalculator = "cinest", 
	       preprocessorInputs = ppi)
	modeltoolbox::runSims(maxCores = NBCores)
	res <- modeltoolbox::readSocForcingsResults()
	fileName <- "resRun.RData"
	filePath <- file.path(srcOut, fileName)
	save(res, file = filePath)
}
}
#}}}

# prepro{{
if (part == "csoprapreprocessor") {
f0 <- function(){
	path <- this.path::this.dir()
	print(path)
	setwd(path)
	setwd("../..")
	source("src/csoprapreprocessor/src-utils.r")
	CsopPre$Tool$sourceCodeFiles()
	CsopPre$runPreprocessor(name = "carboseq", maxCores = NBCores, preprocessorInputs = ppi)
}
}
#}}}

print(url)
print(srcDir)
print(srcOut)
print(DS)
print(NBCores)
print(f0)
f0()