From 49afb724a35aee278dec23e1ca84c011f6df8a42 Mon Sep 17 00:00:00 2001 From: hollorol Date: Fri, 8 Dec 2017 11:52:14 +0100 Subject: [PATCH] New modul for change met data, and outputmapper --- RBBGCMuso/R/getOutput.R | 2 +- RBBGCMuso/R/musoMethChanger.R | 49 ++++++++++++++++++ RBBGCMuso/R/outputMapping.R | 8 +++ .../RBBGCMuso_0.3.1.0-1.tar.gz | Bin .../RBBGCMuso_0.3.2.0-0.tar.gz | Bin .../RBBGCMuso_0.3.2.0-0.tar.gz-bck | Bin 6 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 RBBGCMuso/R/musoMethChanger.R rename RBBGCMuso_0.3.1.0-1.tar.gz => RBBGCMuso_archive/RBBGCMuso_0.3.1.0-1.tar.gz (100%) rename RBBGCMuso_0.3.2.0-0.tar.gz => RBBGCMuso_archive/RBBGCMuso_0.3.2.0-0.tar.gz (100%) rename RBBGCMuso_0.3.2.0-0.tar.gz-bck => RBBGCMuso_archive/RBBGCMuso_0.3.2.0-0.tar.gz-bck (100%) diff --git a/RBBGCMuso/R/getOutput.R b/RBBGCMuso/R/getOutput.R index 2be4ff5..9436a82 100644 --- a/RBBGCMuso/R/getOutput.R +++ b/RBBGCMuso/R/getOutput.R @@ -15,7 +15,7 @@ getdailyout<-function(settings){ binaryname<-paste(settings$inputloc,settings$outputnames,".dayout",sep="") d<-file(binaryname,"rb") dayoutput<-matrix(readBin(d,"double",size=8,n=(settings$numdata[1])),(settings$numyears*365),byrow=TRUE) - close(d) + close(d) return(dayoutput) } diff --git a/RBBGCMuso/R/musoMethChanger.R b/RBBGCMuso/R/musoMethChanger.R new file mode 100644 index 0000000..b854e35 --- /dev/null +++ b/RBBGCMuso/R/musoMethChanger.R @@ -0,0 +1,49 @@ +library(RBBGCMuso) +library(BayesianTools) +library(sensitivity) + +metMusoGet <- function(metFile,skip=4,namerow=3,saveBackup=TRUE, revert=FALSE){ + + + + metData<-read.table(file = metFile,skip=skip) + namesMet <- unlist(read.table(file=metFile,skip = namerow-1,nrows = 1)) + colnames(metData)<-namesMet + + if(revert){ + file.copy(grep(basename(metFile),grep("mbck$",list.files(dirname(metFile)),value=TRUE),value = TRUE), metFile,overwrite = TRUE) + return(cat("Meteorological data is succesfully reverted to backup data")) + } + + if(saveBackup){ + file.copy(metFile,paste(metFile,"mbck",sep = "-")) + } +return(metData) +} + +metMusoSet <- function(metFile,skip=4,namerow=3,saveBackup=TRUE, revert=FALSE,index, changedData){ + + + + metData<-read.table(file = metFile,skip=skip) + namesMet <- unlist(read.table(file=metFile,skip = namerow-1,nrows = 1)) + colnames(metData)<-namesMet + + if(revert){ + file.copy(grep("mbck$",list.files(),value=TRUE), metFile) + } + + if(saveBackup){ + file.copy(metFile,paste(metFile,"mbck",sep = "-")) + } + + if(is.vector(changedData)&(length(metData[,index])==length(changedData))){ + metData[,index]<-changedData + + changedMet<- c(readLines(metFile,-1)[1:skip],apply(metData,1, function (x) paste(x,collapse = " "))) + return(writeLines(changedMet,metFile)) + + }else { + return(cat("\n\tThe changedData is not a vector or not in a same length")) + } +} diff --git a/RBBGCMuso/R/outputMapping.R b/RBBGCMuso/R/outputMapping.R index 7793801..6abb859 100644 --- a/RBBGCMuso/R/outputMapping.R +++ b/RBBGCMuso/R/outputMapping.R @@ -36,3 +36,11 @@ musoMapping <- function(code, mapData=NULL){ return(unlist(mapData[which(mapData[,1]==650),2])) } } + +musoMappingFind <- function(variable=NULL){ + if(is.null(variable)){ + return(mMapping) + } else { + mMapping[grep(variable,mMapping[,2]),] + } +} diff --git a/RBBGCMuso_0.3.1.0-1.tar.gz b/RBBGCMuso_archive/RBBGCMuso_0.3.1.0-1.tar.gz similarity index 100% rename from RBBGCMuso_0.3.1.0-1.tar.gz rename to RBBGCMuso_archive/RBBGCMuso_0.3.1.0-1.tar.gz diff --git a/RBBGCMuso_0.3.2.0-0.tar.gz b/RBBGCMuso_archive/RBBGCMuso_0.3.2.0-0.tar.gz similarity index 100% rename from RBBGCMuso_0.3.2.0-0.tar.gz rename to RBBGCMuso_archive/RBBGCMuso_0.3.2.0-0.tar.gz diff --git a/RBBGCMuso_0.3.2.0-0.tar.gz-bck b/RBBGCMuso_archive/RBBGCMuso_0.3.2.0-0.tar.gz-bck similarity index 100% rename from RBBGCMuso_0.3.2.0-0.tar.gz-bck rename to RBBGCMuso_archive/RBBGCMuso_0.3.2.0-0.tar.gz-bck