From 9a1bc5442eac9177c8e28354d58c70b0979e7b8f Mon Sep 17 00:00:00 2001 From: Hollos Roland Date: Wed, 12 Feb 2020 19:37:41 +0100 Subject: [PATCH] fix missing documentation --- RBBGCMuso/DESCRIPTION | 1 + RBBGCMuso/NAMESPACE | 2 ++ RBBGCMuso/R/outputMapping.R | 9 +++++---- RBBGCMuso/man/alignData.Rd | 13 ++++++++++--- RBBGCMuso/man/changemulline.Rd | 10 ++++++++-- RBBGCMuso/man/checkMeteoBGC.Rd | 8 ++++++-- RBBGCMuso/man/compareMuso.Rd | 12 +++++++++--- RBBGCMuso/man/getMeteoData1BGC.Rd | 17 +++++++++++++---- RBBGCMuso/man/musoDate.Rd | 10 ++++++++-- RBBGCMuso/man/musoMonte.Rd | 26 ++++++++++++++++++++------ RBBGCMuso/man/musoQuickEffect.Rd | 13 ++++++++++--- RBBGCMuso/man/musoRand.Rd | 3 +-- RBBGCMuso/man/musoSensi.Rd | 27 ++++++++++++++++++++------- RBBGCMuso/man/optiMuso.Rd | 29 +++++++++++++++++++++-------- RBBGCMuso/man/paramSweep.Rd | 11 ++++++++--- RBBGCMuso/man/randEpc.Rd | 9 +++++++-- RBBGCMuso/man/readObservedData.Rd | 16 ++++++++++++---- RBBGCMuso/man/saveAllMusoPlots.Rd | 12 +++++++++--- RBBGCMuso/man/stampAndDir.Rd | 11 +++++++++-- RBBGCMuso/man/updateMusoMapping.Rd | 4 ++-- 20 files changed, 181 insertions(+), 62 deletions(-) diff --git a/RBBGCMuso/DESCRIPTION b/RBBGCMuso/DESCRIPTION index cea6216..ab96d06 100644 --- a/RBBGCMuso/DESCRIPTION +++ b/RBBGCMuso/DESCRIPTION @@ -29,6 +29,7 @@ Imports: gridExtra, lubridate, ecmwfr, + openxlsx, ncdf4, tcltk LinkingTo: Rcpp diff --git a/RBBGCMuso/NAMESPACE b/RBBGCMuso/NAMESPACE index 0ee63c3..295055f 100644 --- a/RBBGCMuso/NAMESPACE +++ b/RBBGCMuso/NAMESPACE @@ -69,6 +69,7 @@ importFrom(ggplot2,theme_classic) importFrom(ggplot2,xlab) importFrom(ggplot2,ylab) importFrom(gridExtra,grid.arrange) +importFrom(jsonlite,write_json) importFrom(limSolve,xsample) importFrom(lubridate,leap_year) importFrom(magrittr,'%<>%') @@ -80,6 +81,7 @@ importFrom(ncdf4,ncdim_def) importFrom(ncdf4,ncvar_def) importFrom(ncdf4,ncvar_get) importFrom(ncdf4,ncvar_put) +importFrom(openxlsx,read.xlsx) importFrom(rmarkdown,pandoc_version) importFrom(rmarkdown,render) importFrom(scales,percent) diff --git a/RBBGCMuso/R/outputMapping.R b/RBBGCMuso/R/outputMapping.R index 7e15377..4c3bbc6 100644 --- a/RBBGCMuso/R/outputMapping.R +++ b/RBBGCMuso/R/outputMapping.R @@ -3,12 +3,15 @@ #' This function updates the Biome-BGCMuSo output code-variable matrix. Within Biome-BGCMuSo the state variables and fluxes are marked by integer numbers. In order to provide meaningful variable names (e.g. 3009 means Gross Primary Production in Biome-BGCMuSo v5) a conversion table is needed which is handled by this function. #' @author Roland HOLLOS #' @param excelName Name of the excelfile which contains the parameters +#' @importFrom openxlsx read.xlsx +#' @importFrom jsonlite write_json #' @return The output code-variable matrix, and also the function changes the global variable #' @export -updateMusoMapping<-function(excelName, dest="./", version=getOption("RMuso_version")){ +updateMusoMapping <- function(excelName, dest="./", version=getOption("RMuso_version")){ expandRangeRows <- function (ind) { + toExpand <- excelDF[ind,] rangeString <- gsub(".*?(\\d*\\-\\d*).*","\\1",toExpand[2]) interval <- as.numeric(strsplit(rangeString,split="-")[[1]]) result <- do.call(rbind,lapply(interval[1]:interval[2],function(x){ @@ -34,12 +37,10 @@ updateMusoMapping<-function(excelName, dest="./", version=getOption("RMuso_versi nonRangeMatrix[,1] <- trimws(nonRangeMatrix[,1]) names(nonRangeMatrix) <- c("names","codes","units","descriptions") outMatrix <- rbind.data.frame(do.call(rbind.data.frame,lapply(rangeRows,expandRangeRows)), - nonRangeMatrix[,c(2,1,3,4)] - ) + nonRangeMatrix[,c(2,1,3,4)]) outMatrix <- outMatrix[order(outMatrix[,1]),] rownames(outMatrix)<- NULL write_json(outMatrix, file.path(dest,sprintf("varTable%s.json",version)), pretty=TRUE) - } #' musoMapping diff --git a/RBBGCMuso/man/alignData.Rd b/RBBGCMuso/man/alignData.Rd index 3ba4f7f..0200b96 100644 --- a/RBBGCMuso/man/alignData.Rd +++ b/RBBGCMuso/man/alignData.Rd @@ -4,9 +4,16 @@ \alias{alignData} \title{alignData} \usage{ -alignData(mdata, dataCol, modellSettings = NULL, startDate = NULL, - endDate = NULL, formatString = "\%Y-\%m-\%d", leapYear = TRUE, - continious = FALSE) +alignData( + mdata, + dataCol, + modellSettings = NULL, + startDate = NULL, + endDate = NULL, + formatString = "\%Y-\%m-\%d", + leapYear = TRUE, + continious = FALSE +) } \description{ This function align the data to the model and the model to the data diff --git a/RBBGCMuso/man/changemulline.Rd b/RBBGCMuso/man/changemulline.Rd index 7acf438..e7ec966 100644 --- a/RBBGCMuso/man/changemulline.Rd +++ b/RBBGCMuso/man/changemulline.Rd @@ -4,8 +4,14 @@ \alias{changemulline} \title{This is the function which is capable to change multiple specific lines to others using their row numbers.} \usage{ -changemulline(filePaths, calibrationPar, contents, fileOut, fileToChange, - modifyOriginal = FALSE) +changemulline( + filePaths, + calibrationPar, + contents, + fileOut, + fileToChange, + modifyOriginal = FALSE +) } \description{ The function uses the previous changspecline function to operate. diff --git a/RBBGCMuso/man/checkMeteoBGC.Rd b/RBBGCMuso/man/checkMeteoBGC.Rd index 9d19096..02bdcfa 100644 --- a/RBBGCMuso/man/checkMeteoBGC.Rd +++ b/RBBGCMuso/man/checkMeteoBGC.Rd @@ -4,8 +4,12 @@ \alias{checkMeteoBGC} \title{checkMeteoBGC} \usage{ -checkMeteoBGC(settings = NULL, skip = 4, numericReport = FALSE, - type = "normal") +checkMeteoBGC( + settings = NULL, + skip = 4, + numericReport = FALSE, + type = "normal" +) } \arguments{ \item{settings}{The output of setupMuso} diff --git a/RBBGCMuso/man/compareMuso.Rd b/RBBGCMuso/man/compareMuso.Rd index 4890945..b4c6380 100644 --- a/RBBGCMuso/man/compareMuso.Rd +++ b/RBBGCMuso/man/compareMuso.Rd @@ -4,9 +4,15 @@ \alias{compareMuso} \title{compareMuso} \usage{ -compareMuso(settings = NULL, parameters, variable = 1, - calibrationPar = NULL, fileToChange = "epc", skipSpinup = TRUE, - timeFrame = "day") +compareMuso( + settings = NULL, + parameters, + variable = 1, + calibrationPar = NULL, + fileToChange = "epc", + skipSpinup = TRUE, + timeFrame = "day" +) } \arguments{ \item{settings}{RBBGCMuso uses variables that define the entire simulation environment. Those environment variables include the name of the INI files, the name of the meteorology files, the path to the model executable and its file name, the entire output list, the entire output variable matrix, the dependency rules for the EPC parameters etc. Using the runMuso function RBBGCMuso can automatically create those environment variables by inspecting the files in the working directory (this happens through the setupMuso function). It means that by default model setup is performed automatically in the background and the user has nothing to do. With this settings parameter we can force runMuso to skip automatic environment setup as we provide the environment settings to runMuso. In a typical situation the user can skip this option.} diff --git a/RBBGCMuso/man/getMeteoData1BGC.Rd b/RBBGCMuso/man/getMeteoData1BGC.Rd index 3ab9c9f..823eecf 100644 --- a/RBBGCMuso/man/getMeteoData1BGC.Rd +++ b/RBBGCMuso/man/getMeteoData1BGC.Rd @@ -4,10 +4,19 @@ \alias{getMeteoData1BGC} \title{getMeteoData1BGC} \usage{ -getMeteoData1BGC(startYear = 2017, endYear = 2017, lon = 18.8, - lat = 47.3, timeOut = 7200, monthList = sprintf("\%02d", 1:12), - dayList = sprintf("\%02d", 1:31), hourList = sprintf("\%02d:00", - 0:23), destDir = NULL, apiFile = NULL, fileDir = NULL) +getMeteoData1BGC( + startYear = 2017, + endYear = 2017, + lon = 18.8, + lat = 47.3, + timeOut = 7200, + monthList = sprintf("\%02d", 1:12), + dayList = sprintf("\%02d", 1:31), + hourList = sprintf("\%02d:00", 0:23), + destDir = NULL, + apiFile = NULL, + fileDir = NULL +) } \arguments{ \item{startYear}{Start year of the downloading data. It shall be greater than 1978.} diff --git a/RBBGCMuso/man/musoDate.Rd b/RBBGCMuso/man/musoDate.Rd index d8096e7..d2d47f6 100644 --- a/RBBGCMuso/man/musoDate.Rd +++ b/RBBGCMuso/man/musoDate.Rd @@ -4,8 +4,14 @@ \alias{musoDate} \title{musoDate} \usage{ -musoDate(startYear, endYears = NULL, numYears, combined = TRUE, - leapYearHandling = FALSE, prettyOut = FALSE) +musoDate( + startYear, + endYears = NULL, + numYears, + combined = TRUE, + leapYearHandling = FALSE, + prettyOut = FALSE +) } \description{ This function generates MuSo compatibla dates for the data diff --git a/RBBGCMuso/man/musoMonte.Rd b/RBBGCMuso/man/musoMonte.Rd index cffa6ee..47b59a2 100644 --- a/RBBGCMuso/man/musoMonte.Rd +++ b/RBBGCMuso/man/musoMonte.Rd @@ -4,12 +4,26 @@ \alias{musoMonte} \title{musoMonte} \usage{ -musoMonte(settings = NULL, parameters = NULL, inputDir = "./", - outLoc = "./calib", iterations = 10, preTag = "mont-", - outputType = "moreCsv", fun = mean, varIndex = 1, outVars = NULL, - silent = TRUE, skipSpinup = TRUE, debugging = FALSE, - keepEpc = FALSE, constrains = NULL, skipZero = TRUE, - postProcString = NULL, ...) +musoMonte( + settings = NULL, + parameters = NULL, + inputDir = "./", + outLoc = "./calib", + iterations = 10, + preTag = "mont-", + outputType = "moreCsv", + fun = mean, + varIndex = 1, + outVars = NULL, + silent = TRUE, + skipSpinup = TRUE, + debugging = FALSE, + keepEpc = FALSE, + constrains = NULL, + skipZero = TRUE, + postProcString = NULL, + ... +) } \arguments{ \item{settings}{A list of environmental variables for the Monte Carlo experiment. These settings are generated by the setupMuso function. By default the settings parameter is generated automatically.} diff --git a/RBBGCMuso/man/musoQuickEffect.Rd b/RBBGCMuso/man/musoQuickEffect.Rd index 1676a4e..a6a7bef 100644 --- a/RBBGCMuso/man/musoQuickEffect.Rd +++ b/RBBGCMuso/man/musoQuickEffect.Rd @@ -4,9 +4,16 @@ \alias{musoQuickEffect} \title{musoQuickEffect} \usage{ -musoQuickEffect(settings = NULL, calibrationPar = NULL, startVal, - endVal, nSteps = 1, fileToChange = "epc", outVar, - parName = "parVal") +musoQuickEffect( + settings = NULL, + calibrationPar = NULL, + startVal, + endVal, + nSteps = 1, + fileToChange = "epc", + outVar, + parName = "parVal" +) } \arguments{ \item{settings}{RBBGCMuso uses variables that define the entire simulation environment. Those environment variables include the name of the INI files, the name of the meteorology files, the path to the model executable and its file name, the entire output list, the entire output variable matrix, the dependency rules for the EPC parameters etc. Using the runMuso function RBBGCMuso can automatically create those environment variables by inspecting the files in the working directory (this happens through the setupMuso function). It means that by default model setup is performed automatically in the background and the user has nothing to do. With this settings parameter we can force runMuso to skip automatic environment setup as we provide the environment settings to runMuso. In a typical situation the user can skip this option.} diff --git a/RBBGCMuso/man/musoRand.Rd b/RBBGCMuso/man/musoRand.Rd index 208748b..d512ce1 100644 --- a/RBBGCMuso/man/musoRand.Rd +++ b/RBBGCMuso/man/musoRand.Rd @@ -4,8 +4,7 @@ \alias{musoRand} \title{musoRand} \usage{ -musoRand(parameters, iterations = 3000, fileType = "epc", - constrains = NULL) +musoRand(parameters, iterations = 3000, fileType = "epc", constrains = NULL) } \arguments{ \item{parameters}{This is a dataframe (heterogeneous data-matrix), where the first column is the name of the parameter, the second is a numeric vector of the rownumbers of the given variable in the input EPC file, and the last two columns describe the minimum and the maximum of the parameter (i.e. the parameter ranges), defining the interval for the randomization.} diff --git a/RBBGCMuso/man/musoSensi.Rd b/RBBGCMuso/man/musoSensi.Rd index b291be2..db8a583 100644 --- a/RBBGCMuso/man/musoSensi.Rd +++ b/RBBGCMuso/man/musoSensi.Rd @@ -4,13 +4,26 @@ \alias{musoSensi} \title{musoSensi} \usage{ -musoSensi(monteCarloFile = NULL, parameters = NULL, settings = NULL, - inputDir = "./", outLoc = "./calib", outVars = NULL, - iterations = 30, preTag = "mont-", outputType = "moreCsv", - fun = mean, varIndex = 1, outputFile = "sensitivity.csv", - plotName = "sensitivity.png", plotTitle = "Sensitivity", - skipSpinup = TRUE, skipZero = TRUE, postProcString = NULL, - dpi = 300) +musoSensi( + monteCarloFile = NULL, + parameters = NULL, + settings = NULL, + inputDir = "./", + outLoc = "./calib", + outVars = NULL, + iterations = 30, + preTag = "mont-", + outputType = "moreCsv", + fun = mean, + varIndex = 1, + outputFile = "sensitivity.csv", + plotName = "sensitivity.png", + plotTitle = "Sensitivity", + skipSpinup = TRUE, + skipZero = TRUE, + postProcString = NULL, + dpi = 300 +) } \arguments{ \item{parameters}{This is a dataframe (heterogen data-matrix), which first column is the name of the parameters, the second is a numeric vector of the rownumbers of the given variable in the epc-fie, the last two column consist the endpont of the parameter-ranges, where the parameters will be randomized.} diff --git a/RBBGCMuso/man/optiMuso.Rd b/RBBGCMuso/man/optiMuso.Rd index 4e4a64d..d37f76e 100644 --- a/RBBGCMuso/man/optiMuso.Rd +++ b/RBBGCMuso/man/optiMuso.Rd @@ -4,14 +4,27 @@ \alias{optiMuso} \title{optiMuso} \usage{ -optiMuso(measuredData, parameters = NULL, startDate = NULL, - endDate = NULL, formatString = "\%Y-\%m-\%d", - leapYearHandling = TRUE, dataVar, outLoc = "./calib", - preTag = "cal-", settings = NULL, outVars = NULL, - iterations = 30, skipSpinup = TRUE, constrains = NULL, - plotName = "calib.jpg", likelihood = function(x, y) { - exp(-sqrt(mean((x - y)^2))) }, continious, modelVar = 3009, - postProcString = NULL) +optiMuso( + measuredData, + parameters = NULL, + startDate = NULL, + endDate = NULL, + formatString = "\%Y-\%m-\%d", + leapYearHandling = TRUE, + dataVar, + outLoc = "./calib", + preTag = "cal-", + settings = NULL, + outVars = NULL, + iterations = 30, + skipSpinup = TRUE, + constrains = NULL, + plotName = "calib.jpg", + likelihood = function(x, y) { exp(-sqrt(mean((x - y)^2))) }, + continious, + modelVar = 3009, + postProcString = NULL +) } \arguments{ \item{parameters}{b} diff --git a/RBBGCMuso/man/paramSweep.Rd b/RBBGCMuso/man/paramSweep.Rd index 39d435a..8933dce 100644 --- a/RBBGCMuso/man/paramSweep.Rd +++ b/RBBGCMuso/man/paramSweep.Rd @@ -4,9 +4,14 @@ \alias{paramSweep} \title{paramSweep} \usage{ -paramSweep(inputDir = "./", parameters = NULL, outputDir = NULL, - iterations = 10, outVar = "daily_gpp", - htmlOutName = "paramsweep.html") +paramSweep( + inputDir = "./", + parameters = NULL, + outputDir = NULL, + iterations = 10, + outVar = "daily_gpp", + htmlOutName = "paramsweep.html" +) } \arguments{ \item{inputDir}{The directory which contains the MuSo model's ini files} diff --git a/RBBGCMuso/man/randEpc.Rd b/RBBGCMuso/man/randEpc.Rd index 6087be7..4a83540 100644 --- a/RBBGCMuso/man/randEpc.Rd +++ b/RBBGCMuso/man/randEpc.Rd @@ -4,8 +4,13 @@ \alias{randEpc} \title{randEpc} \usage{ -randEpc(parameterFile = "parameters.csv", location = "./epcDir", - sourceEpc = "maize.epc", iterations = 1000, constrains = NULL) +randEpc( + parameterFile = "parameters.csv", + location = "./epcDir", + sourceEpc = "maize.epc", + iterations = 1000, + constrains = NULL +) } \arguments{ \item{parameterFile}{parameters.csv file location} diff --git a/RBBGCMuso/man/readObservedData.Rd b/RBBGCMuso/man/readObservedData.Rd index 622b4a3..e079014 100644 --- a/RBBGCMuso/man/readObservedData.Rd +++ b/RBBGCMuso/man/readObservedData.Rd @@ -4,11 +4,19 @@ \alias{readObservedData} \title{readMeasuredMuso} \usage{ -readObservedData(inFile, naString = NULL, sep = ",", - leapYearHandling = TRUE, convert.var = NULL, convert.scalar = 1, +readObservedData( + inFile, + naString = NULL, + sep = ",", + leapYearHandling = TRUE, + convert.var = NULL, + convert.scalar = 1, convert.fun = (function(x) { x * convert.scalar }), - convert.file = NULL, filterCol = NULL, filterVal = 1, - selVar = NULL) + convert.file = NULL, + filterCol = NULL, + filterVal = 1, + selVar = NULL +) } \description{ MuSo data reader diff --git a/RBBGCMuso/man/saveAllMusoPlots.Rd b/RBBGCMuso/man/saveAllMusoPlots.Rd index 79b184b..ec4c9d8 100644 --- a/RBBGCMuso/man/saveAllMusoPlots.Rd +++ b/RBBGCMuso/man/saveAllMusoPlots.Rd @@ -4,9 +4,15 @@ \alias{saveAllMusoPlots} \title{saveAllMusoPlots} \usage{ -saveAllMusoPlots(settings = NULL, plotName = ".png", silent = TRUE, - type = "line", outFile = "annual.csv", colour = NULL, - skipSpinup = FALSE) +saveAllMusoPlots( + settings = NULL, + plotName = ".png", + silent = TRUE, + type = "line", + outFile = "annual.csv", + colour = NULL, + skipSpinup = FALSE +) } \arguments{ \item{settings}{RBBGCMuso uses variables that define the entire simulation environment. Those environment variables include the name of the INI files, the name of the meteorology files, the path to the model executable and its file name, the entire output list, the entire output variable matrix, the dependency rules for the EPC parameters etc. Using the runMuso function RBBGCMuso can automatically create those environment variables by inspecting the files in the working directory (this happens through the setupMuso function). It means that by default model setup is performed automatically in the background and the user has nothing to do. With this settings parameter we can force runMuso to skip automatic environment setup as we provide the environment settings to runMuso. In a typical situation the user can skip this option.} diff --git a/RBBGCMuso/man/stampAndDir.Rd b/RBBGCMuso/man/stampAndDir.Rd index c1d2843..c30516e 100644 --- a/RBBGCMuso/man/stampAndDir.Rd +++ b/RBBGCMuso/man/stampAndDir.Rd @@ -4,8 +4,15 @@ \alias{stampAndDir} \title{stampAndCopy} \usage{ -stampAndDir(outputLoc, names, stampDir, wrongDir, type = "output", - errorsign, logfiles) +stampAndDir( + outputLoc, + names, + stampDir, + wrongDir, + type = "output", + errorsign, + logfiles +) } \arguments{ \item{outputLoc}{This is the location of the output files.} diff --git a/RBBGCMuso/man/updateMusoMapping.Rd b/RBBGCMuso/man/updateMusoMapping.Rd index 9a2752e..bbf40b9 100644 --- a/RBBGCMuso/man/updateMusoMapping.Rd +++ b/RBBGCMuso/man/updateMusoMapping.Rd @@ -4,10 +4,10 @@ \alias{updateMusoMapping} \title{updateMusoMapping} \usage{ -updateMusoMapping(output_map_init="output_map_init.c") +updateMusoMapping(excelName, dest = "./", version = getOption("RMuso_version")) } \arguments{ -\item{output_map_init}{The output code-variable bindings are described in output_map_init.c file that is part of the Biome-BGCMuSo source code. Using this function the user can read the output_map_init.c file and pass it to RBBGCMuso for further work.} +\item{excelName}{Name of the excelfile which contains the parameters} } \value{ The output code-variable matrix, and also the function changes the global variable