From af240c92001b69d01e8721ca632c5920fab2d3e4 Mon Sep 17 00:00:00 2001 From: hollorol Date: Thu, 7 Sep 2017 10:29:23 +0200 Subject: [PATCH] upload the executable --- RBBGCMuso/R/#rungetMuso.R# | 262 +++++++++++++++++++++++++++++++++++++ RBBGCMuso_0.3.1.0-1.tar.gz | Bin 0 -> 41283 bytes 2 files changed, 262 insertions(+) create mode 100644 RBBGCMuso/R/#rungetMuso.R# create mode 100644 RBBGCMuso_0.3.1.0-1.tar.gz diff --git a/RBBGCMuso/R/#rungetMuso.R# b/RBBGCMuso/R/#rungetMuso.R# new file mode 100644 index 0000000..67996a4 --- /dev/null +++ b/RBBGCMuso/R/#rungetMuso.R# @@ -0,0 +1,262 @@ +#'rungetMuso +#' +#' This function runs the BBGC-MuSo model and reads in its outputfile in a very structured way. +#' +#' @author Roland Hollos +#' @param settings You have to run the setupMuso function before rungetMuso. It is its output which contains all of the necessary system variables. It sets the whole environment +#' @param timee The required timesteps in the modell output. It can be "d", if it is daily, "m", if it's monthly, "y", it it is yearly +#' @param debugging If it is TRUE, it copies the log file to a Log directory to store it, if it is stamplog it contatenate a number before the logfile, which is one more than the maximum of the represented ones in the LOG directory. If it is true or stamplog it collects the "wrong" logfiles +#' @param keepEpc If TRUE, it keeps the epc file and stamp it, after these copies it to the EPCS directory. If debugging True or false, it copies the wrong epc files to the wrong epc directory. +#' @param export if it is yes or you give a filename here, it converts the output to the specific extension. For example, if you set export to "example.csv", it converts the output to "csv", if you set it to "example.xls" it converts to example.xls with the xlsx package. If it is not installed it gives back a warning message and converts it to csv. +#' @param silent If you set it TRUE all off the modells output to the screen will be suppressed. It can be usefull, because it increases the model-speed. +#' @param aggressive It deletes every possible modell-outputs from the previous modell runs. +#' @param leapYear Should the function do a leapyear correction on the outputdata? If TRUE, then the 31.12 day will be doubled. +#' @param logfilename If you want to set a specific name for your logfiles you can set this via logfile parameter +#' @return It depends on the export parameter. The function returns with a matrix with the modell output, or writes this in a file, which is given previously +#' @usage rungetMuso(settings, timee="d", debugging=FALSE, logfilename=NULL, +#' keepEpc=FALSE, export=FALSE, silent=FALSE, aggressive=FALSE, leapYear=FALSE) +#' @import utils +#' @export + + + +rungetMuso <- function(settings, timee="d", debugging=FALSE, logfilename=NULL, keepEpc=FALSE, export=FALSE, silent=FALSE, aggressive=FALSE, leapYear=FALSE){ + + + + +########################################################################## +###########################Set local variables######################## +######################################################################## + + Linuxp <-(Sys.info()[1]=="Linux") + ##Copy the variables from settings + inputloc <- settings$inputloc + outputloc <- settings$outputloc + executable <- settings$executable + ininput <- settings$ininput + epc <- settings$epcinput + calibrationpar <- settings$calibrationpar + whereAmI<-getwd() + +############################################################# +############################spinup run############################ +########################################################## + + + ##Sometimes a bug occure due to logfiles and controlfiles in the input loc directory + + + if(silent!=TRUE){ + if(length(grep("(dayout$)|(log$)",list.files(inputloc)))>0){ + cat(" \n \n WARMING: there is a log or dayout file nearby the ini files, that may cause problemes. \n \n If you want to avoid that possible problemes, please copy the log or dayout files into a save place, and after do a cleanupMuso(), or delete these manually, or run the rungetMuso(), with the agressive=TRUE parameter \n \n") + + } + + } + + if(aggressive==TRUE){ + cleanupMuso(location=outputloc) + } + + ##We change the working directory becase of the model, but we want to avoid sideeffects, so we save the current location and after that we will change everything to it. + + ## Set the working directory to the inputloc temporary. + setwd(inputloc) + + + ##Run the model for the spinup run. + + if(silent){#silenc mode + if(Linuxp){ + #In this case, in linux machines + system(paste(executable,ininput[1],"> /dev/null",sep=" ")) + } else { + #In windows machines there is a show.output.on.console option + system(paste(executable,ininput[1],sep=" "),show.output.on.console = FALSE) + } + + } else { + system(paste(executable,ininput[1],sep=" ")) + } + + + + logspinup<-list.files(outputloc)[grep("log$",list.files(outputloc))]#load the logfiles + if(length(logspinup)==0){ + return("Modell Failure")#in that case the modell did not create even a logfile + } + + spincrash<-tail(readLines(paste(outputloc,logspinup,sep="/"),-1),1)==0 #If the last line in the logfile is 0 There are mistakes so the spinup crashes + + if(!spincrash){##If spinup did not crashed, run the normal run. + +##################################################################### +###########################normal run######################### +################################################################# + + ##for the sake of safe we set the location again + setwd(inputloc) + + if(silent){ + if(Linuxp){ + system(paste(executable,ininput[2],"> /dev/null",sep=" ")) + } else { + system(paste(executable,ininput[2],sep=" "),show.output.on.console = FALSE) + } + + } else { + system(paste(executable,ininput[2],sep=" ")) + } + + + ##read the output + + switch(timee, + "d"=(Reva<-getdailyout(settings)), + "m"=(Reva<-getmonthlyout(settings)), + "y"=(Reva<-getyearlyout(settings)) + ) + } + + + logfiles <- list.files(outputloc)[grep("log$",list.files(outputloc))]#creating a vector for logfilenames + +############################################### +#############LOG SECTION####################### +############################################### + + perror<-as.numeric(as.vector(lapply(paste(outputloc,logfiles,sep="/"),function(x) tail(readLines(x,-1),1)))) #vector of spinup and normalrun error + + if((debugging=="stamplog")|(debugging==TRUE)){#If debugging option turned on + ##If log or ERROR directory does not exists create it! + dirName<-paste(inputloc,"LOG",sep="") + dirERROR<-paste(inputloc,"ERROR",sep="") + + if(!dir.exists(dirName)){ + dir.create(dirName) + } + + if(!dir.exists(dirERROR)){ + dir.create(dirERROR) + } + } + + ##if errorsign is 1 there is error, if it is 0 everything ok + if(length(perror)>sum(perror)){ + errorsign <- 1 + } else { + errorsign <- 0 + } + + + if(keepEpc){#if keepepc option tured on + + if(length(unique(dirname(epc)))>1){ + print("Why are you playing with my nervs? Seriously? You hold your epc-s in different folders?") + } else { + epcdir <- dirname(epc[1]) + + WRONGEPC<-paste(inputloc,"WRONGEPC",sep="") + EPCS<-paste(inputloc,"EPCS",sep="") + + if(!dir.exists(WRONGEPC)){ + dir.create(WRONGEPC) + } + + if(!dir.exists(EPCS)){ + dir.create(EPCS) + } + + epcfiles <- list.files(epcdir)[grep("epc$",list.files(epcdir))] + stampnum<-stamp(EPCS) + lapply(epcfiles,function (x) file.copy(from = paste(epcdir,"/",x,sep=""),to=paste(EPCS,"/",(stampnum+1),"-",x,sep=""))) + if(errorsign==1){ + lapply(epcfiles,function (x) file.copy(from = paste(EPCS,"/",(stampnum+1),"-",x,sep=""), to=WRONGEPC)) + } + + } + } + + + + + + if(debugging=="stamplog"){ + stampnum<-stamp(dirName) + if(inputloc==outputloc){ + lapply( logfiles, function (x) file.rename(from=paste(outputloc,x, sep=""), to=paste(dirName, "/",(stampnum+1),"-",x,sep=""))) + + } else { + lapply( logfiles, function (x) file.rename(from=paste(outputloc,x, sep="/"), to=paste(dirName, "/",(stampnum+1),"-",x,sep=""))) + } + + if(errorsign==1){ + lapply( logfiles, function (x) file.copy(from=paste(dirName, "/",(stampnum+1),"-",x,sep=""), to=dirERROR ))} + + } else { if(debugging){ + if(is.null(logfilename)){ + + if(inputloc==outputloc){ + lapply( logfiles, function (x) file.rename(from=paste(outputloc,x, sep=""), to=paste(dirName,"/", x, sep=""))) + } else { + lapply( logfiles, function (x) file.rename(from=paste(outputloc,x, sep="/"), to=paste(dirName,"/", x, sep=""))) + } + + if(errorsign==1){ + lapply( logfiles, function (x) file.rename(from=paste(dirName,"/", x, sep=""), to=dirERROR)) + } + + } else { + + if(inputloc==outputloc){#These are very ugly solutions for a string problem: inputloc: "./", if outputloc equalent of inputloc, it ends with "/", the string manipulation can not handle this. The better solution is easy, but I dont have enough time(Roland Hollo's) + lapply( logfiles, function (x) file.rename(from=paste(outputloc,x, sep=""), to=paste(dirName, "/",logfilename,"-",x,sep=""))) + } else { + lapply( logfiles, function (x) file.rename(from=paste(outputloc,x, sep="/"), to=paste(dirName, "/",logfilename,"-",x,sep=""))) + } + + if(errorsign==1){ + lapply( logfiles, function (x) file.rename(from=paste(dirName, "/",logfilename,"-",x,sep=""), to=dirERROR)) + } + } + + }} + + cleanupMuso(location=outputloc) + if(errorsign==1){ + return("Modell Failure") + } + + if(timee=="d"){ + colnames(Reva) <- unlist(settings$outputvars[[1]]) + } else { + if(timee=="y") + colnames(Reva) <- unlist(settings$outputvars[[2]]) + } + + if(leapYear){ + Reva <- corrigMuso(settings,Reva) + rownames(Reva) <- musoDate(settings) + } else { + rownames(Reva) <- musoDate(settings, corrigated=FALSE) + } + + if(export!=FALSE){ + setwd(whereAmI) + + ## switch(fextension(export), + ## "csv"=(write.csv(Reva,export)), + ## "xlsx"=(), + ## "odt"= + + + ## ) + write.csv(Reva,export) + + } else{ + setwd(whereAmI) + return(Reva)} +} + + + diff --git a/RBBGCMuso_0.3.1.0-1.tar.gz b/RBBGCMuso_0.3.1.0-1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5c35a9041d032929d00d3eb8956884b33f20ce7d GIT binary patch literal 41283 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 literal 0 HcmV?d00001