diff --git a/base/workflow/R/do_conversions.R b/base/workflow/R/do_conversions.R index 4a380b88bc6..823e51cf497 100644 --- a/base/workflow/R/do_conversions.R +++ b/base/workflow/R/do_conversions.R @@ -28,7 +28,7 @@ do_conversions <- function(settings, overwrite.met = FALSE, overwrite.fia = FALS next } - input.tag <- names(settings$run$input)[i] + input.tag <- names(settings$run$inputs)[i] PEcAn.logger::logger.info("PROCESSING: ",input.tag) # Check for existing file paths , skips if the file exists diff --git a/modules/data.land/R/soil_process.R b/modules/data.land/R/soil_process.R index 5e8e744ebf4..3df445aa32c 100644 --- a/modules/data.land/R/soil_process.R +++ b/modules/data.land/R/soil_process.R @@ -62,10 +62,10 @@ soil_process <- function(settings, input, dbfiles, overwrite = FALSE, run.local if (length(newfile) == 0) { # No files exist yet — extract from gSSURGO - radius <- ifelse(is.null(settings$run$input$soil$radius), 100, - as.numeric(settings$run$input$soil$radius)) - grid_size <- max(3, ifelse(is.null(settings$run$input$soil$grid_size), 3, - as.numeric(settings$run$input$soil$grid_size))) + radius <- ifelse(is.null(settings$run$inputs$soil$radius), 100, + as.numeric(settings$run$inputs$soil$radius)) + grid_size <- max(3, ifelse(is.null(settings$run$inputs$soil$grid_size), 3, + as.numeric(settings$run$inputs$soil$grid_size))) grid_extent <- radius * sqrt(pi) grid_spacing <- grid_extent / (grid_size - 1) diff --git a/modules/data.land/tests/testthat/.Rapp.history b/modules/data.land/tests/testthat/.Rapp.history new file mode 100644 index 00000000000..e69de29bb2d diff --git a/modules/meta.analysis/R/run.meta.analysis.R b/modules/meta.analysis/R/run.meta.analysis.R index 2b1a58dbccb..aec9d27679b 100644 --- a/modules/meta.analysis/R/run.meta.analysis.R +++ b/modules/meta.analysis/R/run.meta.analysis.R @@ -32,13 +32,18 @@ meta_analysis_standalone <- function( random = TRUE, threshold = 1.2, use_ghs = TRUE, - gamma_tau = 0.01 + prior_n = 0.02, + prior_cv = sqrt(0.001), + tauA = NULL, + tauB = NULL ) { stopifnot( is.list(trait_data), is.logical(use_ghs), - is.numeric(gamma_tau), - gamma_tau > 0 + is.numeric(prior_n), prior_n > 0, + is.numeric(prior_cv), prior_cv > 0, + is.null(tauA) || (is.numeric(tauA) && tauA > 0), + is.null(tauB) || is.numeric(tauB) ) # Create output directory if it doesn't already exist @@ -101,14 +106,19 @@ meta_analysis_standalone <- function( ) ## Set gamma distribution prior + resolved_tauA <- if (!is.null(tauA)) tauA else prior_n / 2 + prior_variances <- as.data.frame(rep(1, nrow(priors))) row.names(prior_variances) <- row.names(priors) - prior_variances[names(trait_average), ] <- 0.001 * trait_average ^ 2 - prior_variances["seedling_mortality", 1] <- 1 - taupriors <- list( - tauA = gamma_tau, - tauB = apply(prior_variances, 1, function(x) min(gamma_tau, x)) - ) + prior_variances[names(trait_average), ] <- prior_cv ^ 2 * trait_average ^ 2 + + resolved_tauB <- if (!is.null(tauB)) { + tauB + } else { + apply(prior_variances, 1, function(x) resolved_tauA * x) + } + + taupriors <- list(tauA = resolved_tauA, tauB = resolved_tauB) ### Run the meta-analysis trait_mcmc <- pecan.ma(jagged_data, diff --git a/scripts/workflow.bm.R b/scripts/workflow.bm.R index 6f90dc6f1e0..3cec6eb2a00 100644 --- a/scripts/workflow.bm.R +++ b/scripts/workflow.bm.R @@ -100,7 +100,7 @@ for (i in seq_along(settings$run$inputs)) { next } - input.tag <- names(settings$run$input)[i] + input.tag <- names(settings$run$inputs)[i] # fia database if ((input["input"] == "fia") && (status.check("FIA2ED") == 0)) { diff --git a/scripts/workflow.pda.R b/scripts/workflow.pda.R index e782d900301..0d5115bcc48 100755 --- a/scripts/workflow.pda.R +++ b/scripts/workflow.pda.R @@ -63,7 +63,7 @@ if (length(which(commandArgs() == "--continue")) == 0) { next } - input.tag <- names(settings$run$input)[i] + input.tag <- names(settings$run$inputs)[i] # fia database if (input["input"] == "fia") {