From 13b151a69514be80784eeca2f8c41ad88e672548 Mon Sep 17 00:00:00 2001 From: hollorol Date: Mon, 21 Aug 2017 18:27:59 +0200 Subject: [PATCH] setupMuso error --- RBBGCMuso/R/debugMuso.R | 68 ++++++++++ RBBGCMuso/R/debugMuso.R~ | 68 ++++++++++ RBBGCMuso/R/rungettanul.R | 240 +++++++++++++++++++++++++++++++++ RBBGCMuso/R/rungettanul.R~ | 262 +++++++++++++++++++++++++++++++++++++ RBBGCMuso/R/setupMuso.R | 8 +- RBBGCMuso_0.3.0.0-2.tar.gz | Bin 40972 -> 41779 bytes 6 files changed, 639 insertions(+), 7 deletions(-) create mode 100644 RBBGCMuso/R/debugMuso.R create mode 100644 RBBGCMuso/R/debugMuso.R~ create mode 100644 RBBGCMuso/R/rungettanul.R create mode 100644 RBBGCMuso/R/rungettanul.R~ diff --git a/RBBGCMuso/R/debugMuso.R b/RBBGCMuso/R/debugMuso.R new file mode 100644 index 0000000..312d5ad --- /dev/null +++ b/RBBGCMuso/R/debugMuso.R @@ -0,0 +1,68 @@ +#'rungetMuso +#' +#' This function runs the BBGC-MuSo model and reads in its outputfile in a very structured way. +#' +#' @author Roland Hollos +#' @keywords internal +#' +## degubMuso <- function(inputloc,outputloc,debugging,errorsign,){ + + +## 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(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)) +## } +## } + +## }} + + +## return(errorsign) + +## } diff --git a/RBBGCMuso/R/debugMuso.R~ b/RBBGCMuso/R/debugMuso.R~ new file mode 100644 index 0000000..8b5fedd --- /dev/null +++ b/RBBGCMuso/R/debugMuso.R~ @@ -0,0 +1,68 @@ +#'rungetMuso +#' +#' This function runs the BBGC-MuSo model and reads in its outputfile in a very structured way. +#' +#' @author Roland Hollos +#' @keywords internal +#' +degubMuso <- function(inputloc,outputloc,debugging,errorsign,){ + + + 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(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)) + } + } + + }} + + +return(errorsign) + +} diff --git a/RBBGCMuso/R/rungettanul.R b/RBBGCMuso/R/rungettanul.R new file mode 100644 index 0000000..51899e5 --- /dev/null +++ b/RBBGCMuso/R/rungettanul.R @@ -0,0 +1,240 @@ +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/R/rungettanul.R~ b/RBBGCMuso/R/rungettanul.R~ new file mode 100644 index 0000000..67996a4 --- /dev/null +++ b/RBBGCMuso/R/rungettanul.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/R/setupMuso.R b/RBBGCMuso/R/setupMuso.R index 41ca507..8a9c60f 100644 --- a/RBBGCMuso/R/setupMuso.R +++ b/RBBGCMuso/R/setupMuso.R @@ -243,14 +243,8 @@ setupMuso <- function(executable=NULL, } } else { file.copy(executable,inputloc) - if(Linuxp){ - executable<-paste(inputloc,"muso",sep="") - } else { - executable<-paste(inputloc,"muso.exe",sep="") - } - } -5+4 + outputname <- unlist(strsplit(grep("output",grep("prefix",inifiles[[2]],value=TRUE),value=TRUE),"[\ \t]"))[1] ##THIS IS AN UGLY SOLUTION, WHICH NEEDS AN UPGRADE!!! ## outputname <- unlist(strsplit(grep("prefix for output files",inifiles[[2]],value=TRUE),"[\ \t]"))[1] diff --git a/RBBGCMuso_0.3.0.0-2.tar.gz b/RBBGCMuso_0.3.0.0-2.tar.gz index 08cd6e5728b1ebf52d6986b76798824ade8e58c8..c76e21ca08d2bdac97de92a717c4020d4d821623 100644 GIT binary patch literal 41779 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%0A8GFS*@>8s$=*5T~K%)hH7$3RNQjY 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 A00000 literal 40972 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 z z6Qe+?%KSyLB^Ar70&yd6RLR%}_yQT0nXF&(V60$b_w25VXv#sGKX~K6XR2RggmTP% z!#sRDA?4orBsivIBn;vCvI;pS V0{+vCF7E(Tx~q60xF!U+{{dv$Kf3?`