diff --git a/src/mcs/sobol.jl b/src/mcs/sobol.jl index f722f3569..e0664cd84 100644 --- a/src/mcs/sobol.jl +++ b/src/mcs/sobol.jl @@ -50,14 +50,15 @@ function sample!(sim_inst::SobolSimulationInstance, samplesize::Int) end end -function analyze(sim_inst::SobolSimulationInstance, model_output::AbstractArray{<:Number, N}) where N +function analyze(sim_inst::SobolSimulationInstance, model_output::AbstractArray{<:Number, N}; num_resamples::Union{Nothing, Int} = 10_000, conf_level::Union{Nothing, Number} = 0.95) where N if sim_inst.trials == 0 error("Cannot analyze simulation with 0 trials.") end payload = create_GSA_payload(sim_inst) - return GlobalSensitivityAnalysis.analyze(payload, model_output) + + return GlobalSensitivityAnalysis.analyze(payload, model_output; num_resamples = num_resamples, conf_level = conf_level) end function create_GSA_payload(sim_inst::SobolSimulationInstance) diff --git a/test/mcs/test_defmcs_sobol.jl b/test/mcs/test_defmcs_sobol.jl index 9e51ae124..950190057 100644 --- a/test/mcs/test_defmcs_sobol.jl +++ b/test/mcs/test_defmcs_sobol.jl @@ -68,7 +68,7 @@ results_disk[!,2] = Symbol.(results_disk[!,2]) # do some analysis E = CSVFiles.load(joinpath(output_dir, "emissions_E.csv")) |> DataFrame -results = analyze(si, E[1:60:end, 3]) +results = analyze(si, E[1:60:end, 3]; num_resamples = 10_000, conf_level = 0.95) function show_E_Region(year::Int; region = "Region1", bins=40) df = @from i in E begin