- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
 
StochasticReporter
Storage container for stochastic simulation results coming from Reporters.
Description
This object is intended to be used directly with SamplerReporterTransfer, see this object for more details.
Input Parameters
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Options:
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
 - control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
 - enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
 - force_preauxFalseForces the GeneralUserObject to be executed in PREAUX
Default:False
C++ Type:bool
Options:
Description:Forces the GeneralUserObject to be executed in PREAUX
 - force_preicFalseForces the GeneralUserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Options:
Description:Forces the GeneralUserObject to be executed in PREIC during initial setup
 - outputsVector of output names were you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Options:
Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object
 - use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Options:
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
 
Advanced Parameters
Input Files
- (modules/stochastic_tools/examples/surrogates/nearest_point_training.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
 - (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D_tuned.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad.i)
 - (modules/combined/examples/stochastic/poly_chaos_train_uniform.i)
 - (modules/stochastic_tools/examples/surrogates/poly_chaos_normal_mc.i)
 - (modules/stochastic_tools/examples/surrogates/gaussian_process/GP_normal_mc.i)
 - (modules/stochastic_tools/test/tests/multiapps/partitioning/main_transient.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_mc.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_batch.i)
 - (modules/stochastic_tools/test/tests/reporters/stochastic_reporter/stats.i)
 - (modules/stochastic_tools/examples/surrogates/polynomial_regression/uniform_train.i)
 - (modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_trainer.i)
 - (modules/stochastic_tools/test/tests/multiapps/partitioning/main.i)
 - (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D.i)
 - (modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_quad.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_small.i)
 - (modules/stochastic_tools/examples/surrogates/poly_chaos_normal_quad.i)
 - (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D_tuned.i)
 - (modules/stochastic_tools/examples/surrogates/polynomial_regression/normal_train.i)
 - (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D.i)
 - (modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_mc.i)
 
(modules/stochastic_tools/examples/surrogates/nearest_point_training.i)
[StochasticTools]
[]
[Samplers]
  [grid]
    type = CartesianProduct
    execute_on = PRE_MULTIAPP_SETUP
    # Grid spacing:
    # k:    1.45  2.35  3.25  4.15  5.05  5.95  6.85  7.75  8.65  9.55
    # q:    9100  9300  9500  9700  9900  10100 10300 10500 10700 10900
    # L:    0.012 0.016 0.020 0.024 0.028 0.032 0.036 0.040 0.044 0.048
    # Tinf: 291   293   295   297   299   301   303   305   307   309
    linear_space_items = '1.45  0.9   10
                          9100  200   10
                          0.012 0.004 10
                          291   2     10'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = grid
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = grid
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = grid
    stochastic_reporter = results
    from_reporter = 'avg/value max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
    outputs = none
  []
[]
[VectorPostprocessors]
  [sampler_data]
    type = SamplerData
    sampler = grid
    parallel_type = DISTRIBUTED
  []
[]
[Trainers]
  [nearest_point_avg]
    type = NearestPointTrainer
    execute_on = timestep_end
    sampler = grid
    predictors = 'sampler_data/grid_0'
    predictor_cols = '1 2 3'
    response = results/data:avg:value
  []
  [nearest_point_max]
    type = NearestPointTrainer
    execute_on = timestep_end
    sampler = grid
    response = results/data:max:value
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'nearest_point_avg nearest_point_max'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Samplers]
  [sample]
    type = CartesianProduct
    execute_on = PRE_MULTIAPP_SETUP
    linear_space_items = '1 1 2
                          0.1 0.1 2
                          0 1e-8 2'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'INITIAL TIMESTEP_BEGIN'
    ignore_solve_not_converge = true
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = 'pp/value vpp/vec constant/str constant/int mesh/sidesets'
  []
[]
[Controls]
  [runner]
    type = MultiAppCommandLineControl
    multi_app = sub
    param_names = 'Reporters/constant/integer_values
                   real_val
                   Executioner/nl_rel_tol'
    sampler = sample
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[Executioner]
  type = Transient
  num_steps = 2
  dt = 0.01
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = none
  []
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D_tuned.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
[]
[Samplers]
  [train_sample]
    type = MonteCarlo
    num_rows = 50
    distributions = 'k_dist q_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
  [cart_sample]
    type = CartesianProduct
    linear_space_items = '1 0.09 100
                          9000 20 100 '
    execute_on = initial
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = train_sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = train_sample
    stochastic_reporter = results
    from_reporter = 'avg/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [GP_avg_trainer]
    type = GaussianProcessTrainer
    execute_on = timestep_end
    covariance_function = 'rbf'
    standardize_params = 'true'               #Center and scale the training params
    standardize_data = 'true'                 #Center and scale the training data
    tao_options = '-tao_bncg_type kd'
    sampler = train_sample
    response = results/data:avg:value
    tune_parameters = ' signal_variance length_factor'
    tuning_min = ' 1e-9 1e-9'
    tuning_max = ' 1e16  1e16'
  []
[]
[Covariance]
  [rbf]
    type=SquaredExponentialCovariance
    signal_variance = 1                       #Use a signal variance of 1 in the kernel
    noise_variance = 1e-3                     #A small amount of noise can help with numerical stability
    length_factor = '0.38971 0.38971'         #Select a length factor for each parameter (k and q)
  []
[]
[Surrogates]
  [GP_avg]
    type = GaussianProcess
    trainer = 'GP_avg_trainer'
  []
[]
[VectorPostprocessors]
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [cart_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = cart_sample
    output_samples = true
    execute_on = final
  []
  [hyperparams]
    type = GaussianProcessData
    gp_name = 'GP_avg'
    execute_on = final
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad.i)
[StochasticTools]
[]
[Distributions]
  [D_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [S_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 100
    distributions = 'D_dist S_dist'
    execute_on = timestep_end
  []
  [quadrature]
    type = Quadrature
    distributions = 'D_dist S_dist'
    execute_on = INITIAL
    order = 5
  []
[]
[MultiApps]
  [quad_sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = quadrature
    mode = batch-restore
  []
[]
[Transfers]
  [quad]
    type = SamplerParameterTransfer
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerReporterTransfer
    multi_app = quad_sub
    sampler = quadrature
    stochastic_reporter = storage
    from_reporter = avg/value
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[VectorPostprocessors]
  [pc_coeff]
    type = PolynomialChaosData
    pc_name = poly_chaos
    execute_on = final
  []
  [pc_samp]
    type = EvaluateSurrogate
    model = poly_chaos
    sampler = sample
    output_samples = true
    execute_on = final
  []
[]
[Surrogates]
  [poly_chaos]
    type = PolynomialChaos
    trainer = poly_chaos
  []
[]
[Trainers]
  [poly_chaos]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 5
    distributions = 'D_dist S_dist'
    sampler = quadrature
    response = storage/data:avg:value
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/combined/examples/stochastic/poly_chaos_train_uniform.i)
[StochasticTools]
[]
[Distributions]
  [cond_inner]
    type = Uniform
    lower_bound = 20
    upper_bound = 30
  []
  [cond_outer]
    type = Uniform
    lower_bound = 90
    upper_bound = 110
  []
  [heat_source]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
  [alpha_inner]
    type = Uniform
    lower_bound = 1e-6
    upper_bound = 3e-6
  []
  [alpha_outer]
    type = Uniform
    lower_bound = 5e-7
    upper_bound = 1.5e-6
  []
  [ymod_inner]
    type = Uniform
    lower_bound = 2e5
    upper_bound = 2.2e5
  []
  [ymod_outer]
    type = Uniform
    lower_bound = 3e5
    upper_bound = 3.2e5
  []
  [prat_inner]
    type = Uniform
    lower_bound = 0.29
    upper_bound = 0.31
  []
  [prat_outer]
    type = Uniform
    lower_bound = 0.19
    upper_bound = 0.21
  []
[]
[GlobalParams]
  distributions = 'cond_inner cond_outer heat_source alpha_inner alpha_outer ymod_inner ymod_outer prat_inner prat_outer'
[]
[Samplers]
  [sample]
    type = Quadrature
    sparse_grid = smolyak
    order = 5
    execute_on = INITIAL
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = graphite_ring_thermomechanics.i
    sampler = sample
    mode = batch-reset
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/cond_inner/prop_values Materials/cond_outer/prop_values
                  Postprocessors/heat_source/scale_factor
                  Materials/thermal_strain_inner/thermal_expansion_coeff Materials/thermal_strain_outer/thermal_expansion_coeff
                  Materials/elasticity_tensor_inner/youngs_modulus Materials/elasticity_tensor_outer/youngs_modulus
                  Materials/elasticity_tensor_inner/poissons_ratio Materials/elasticity_tensor_outer/poissons_ratio'
    to_control = 'stochastic'
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = 'temp_center_inner/value  temp_center_outer/value  temp_end_inner/value  temp_end_outer/value
                     dispx_center_inner/value dispx_center_outer/value dispx_end_inner/value dispx_end_outer/value
                     dispz_inner/value dispz_outer/value'
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[Trainers]
  [temp_center_inner]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:temp_center_inner:value
  []
  [temp_center_outer]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:temp_center_outer:value
  []
  [temp_end_inner]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:temp_end_inner:value
  []
  [temp_end_outer]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:temp_end_outer:value
  []
  [dispx_center_inner]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:dispx_center_inner:value
  []
  [dispx_center_outer]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:dispx_center_outer:value
  []
  [dispx_end_inner]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:dispx_end_inner:value
  []
  [dispx_end_outer]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:dispx_end_outer:value
  []
  [dispz_inner]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:dispz_inner:value
  []
  [dispz_outer]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 4
    sampler = sample
    response = storage/data:dispz_outer:value
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'temp_center_inner  temp_center_outer  temp_end_inner  temp_end_outer
                dispx_center_inner dispx_center_outer dispx_end_inner dispx_end_outer
                dispz_inner dispz_outer'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_normal_mc.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Normal
    mean = 5
    standard_deviation = 2
  []
  [q_dist]
    type = Normal
    mean = 10000
    standard_deviation = 500
  []
  [L_dist]
    type = Normal
    mean = 0.03
    standard_deviation = 0.01
  []
  [Tinf_dist]
    type = Normal
    mean = 300
    standard_deviation = 10
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 10000
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = results
    from_reporter = 'avg/value max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [poly_chaos_avg]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:avg:value
  []
  [poly_chaos_max]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:max:value
  []
[]
[Outputs]
  file_base = poly_chaos_training
  [out]
    type = SurrogateTrainerOutput
    trainers = 'poly_chaos_avg poly_chaos_max'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/GP_normal_mc.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 0
    upper_bound = 20
  []
  [q_dist]
    type = Uniform
    lower_bound = 7000
    upper_bound = 13000
  []
  [L_dist]
    type = Uniform
    lower_bound = 0.0
    upper_bound = 0.1
  []
  [Tinf_dist]
    type = Uniform
    lower_bound = 270
    upper_bound = 330
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 500
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = results
    from_reporter = 'avg/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [GP_avg]
    type = GaussianProcessTrainer
    execute_on = timestep_end
    covariance_function = 'rbf'
    standardize_params = 'true'               #Center and scale the training params
    standardize_data = 'true'                 #Center and scale the training data
    sampler = sample
    response = results/data:avg:value
    tao_options = '-tao_bncg_type gd'
    tune_parameters = ' signal_variance length_factor'
    tuning_min = ' 1e-9 1e-3'
    tuning_max = ' 100  100'
  []
[]
[Covariance]
  [rbf]
    type=SquaredExponentialCovariance
    noise_variance = 1e-3                     #A small amount of noise can help with numerical stability
    signal_variance = 1
    length_factor = '0.038971 0.038971 0.038971 0.038971' #Select a length factor for each parameter (k and q)
  []
[]
[Outputs]
  file_base = GP_training_normal
  [out]
    type = SurrogateTrainerOutput
    trainers = 'GP_avg'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/multiapps/partitioning/main_transient.i)
[StochasticTools]
[]
[Samplers/sample]
  type = CartesianProduct
  linear_space_items = '0 1 5'
  execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
  sampler = sample
[]
[MultiApps/sub]
  type = SamplerTransientMultiApp
  input_files = sub_transient.i
[]
[Controls/cli]
  type = MultiAppCommandLineControl
  multi_app = sub
  param_names = 'Postprocessors/pp1/scale_factor'
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    to_control = receiver
    parameters = 'Postprocessors/pp2/scale_factor'
  []
  [rep]
    type = SamplerReporterTransfer
    multi_app = sub
    stochastic_reporter = reporter
    from_reporter = 'pp1/value'
  []
  [pp]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    to_vector_postprocessor = vpp
    from_postprocessor = 'pp2'
  []
[]
[VectorPostprocessors/vpp]
  type = StochasticResults
[]
[Reporters]
  [reporter]
    type = StochasticReporter
    outputs = none
  []
  [check]
    type = TestReporterPartitioning
    sampler = sample
    reporters = 'reporter/rep:pp1:value vpp/pp:pp2'
  []
[]
[Executioner]
  type = Transient
  num_steps = 3
[]
[Outputs]
  csv = true
  execute_on = timestep_end
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_mc.i)
[StochasticTools]
[]
[Distributions]
  [D_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [S_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 100
    distributions = 'D_dist S_dist'
    execute_on = initial
  []
[]
[MultiApps]
  [quad_sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    mode = batch-restore
  []
[]
[Transfers]
  [quad]
    type = SamplerParameterTransfer
    multi_app = quad_sub
    sampler = sample
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerReporterTransfer
    multi_app = quad_sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = avg/value
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[VectorPostprocessors]
  [pc_coeff]
    type = PolynomialChaosData
    pc_name = poly_chaos
    execute_on = final
  []
  [pc_samp]
    type = EvaluateSurrogate
    model = poly_chaos
    sampler = sample
    output_samples = true
    execute_on = final
  []
[]
[Surrogates]
  [poly_chaos]
    type = PolynomialChaos
    trainer = poly_chaos
  []
[]
[Trainers]
  [poly_chaos]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 5
    distributions = 'D_dist S_dist'
    sampler = sample
    response = storage/data:avg:value
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_batch.i)
[StochasticTools]
[]
[Samplers]
  [sample]
    type = CartesianProduct
    linear_space_items = '0.0 0.1 10'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    mode = batch-restore
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = 'pp/value constant/str mesh/sidesets'
  []
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value'
    to_control = stm
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = none
  []
[]
(modules/stochastic_tools/test/tests/reporters/stochastic_reporter/stats.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Samplers]
  [sample]
    type = CartesianProduct
    execute_on = PRE_MULTIAPP_SETUP
    linear_space_items = '0 1 3
                          0.0 0.1 5'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = 'pp/value constant/int'
  []
[]
[Controls]
  [runner]
    type = MultiAppCommandLineControl
    multi_app = sub
    param_names = 'Reporters/constant/integer_values
                   Postprocessors/pp/default'
    sampler = sample
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
    outputs = "none"
  []
  [stats]
    type = StatisticsReporter
    reporters = 'storage/data:pp:value storage/data:constant:int'
    compute = mean
  []
[]
[Executioner]
  type = Transient
  num_steps = 2
  dt = 0.01
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = none
  []
[]
(modules/stochastic_tools/examples/surrogates/polynomial_regression/uniform_train.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
  [L_dist]
    type = Uniform
    lower_bound = 0.01
    upper_bound = 0.05
  []
  [Tinf_dist]
    type = Uniform
    lower_bound = 290
    upper_bound = 310
  []
[]
[Samplers]
  [pc_sampler]
    type = Quadrature
    order = 8
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
  [pr_sampler]
    type = LatinHypercube
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    num_rows = 6560
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [pc_sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = pc_sampler
  []
  [pr_sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = pr_sampler
  []
[]
[Controls]
  [pc_cmdline]
    type = MultiAppCommandLineControl
    multi_app = pc_sub
    sampler = pc_sampler
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
  [pr_cmdline]
    type = MultiAppCommandLineControl
    multi_app = pr_sub
    sampler = pr_sampler
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [pc_data]
    type = SamplerReporterTransfer
    multi_app = pc_sub
    sampler = pc_sampler
    stochastic_reporter = results
    from_reporter = 'max/value'
  []
  [pr_data]
    type = SamplerReporterTransfer
    multi_app = pr_sub
    sampler = pr_sampler
    stochastic_reporter = results
    from_reporter = 'max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [pc_max]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 8
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = pc_sampler
    response = results/pc_data:max:value
  []
  [pr_max]
    type = PolynomialRegressionTrainer
    regression_type = "ols"
    execute_on = timestep_end
    max_degree = 4
    sampler = pr_sampler
    response = results/pr_data:max:value
  []
[]
[Outputs]
  [pc_out]
    type = SurrogateTrainerOutput
    trainers = 'pc_max'
    execute_on = FINAL
  []
  [pr_out]
    type = SurrogateTrainerOutput
    trainers = 'pr_max'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_trainer.i)
[StochasticTools]
[]
[Distributions]
  [C_dist]
    type = Uniform
    lower_bound = 0.01
    upper_bound = 0.02
  []
  [f_dist]
    type = Uniform
    lower_bound = 15
    upper_bound = 25
  []
  [init_dist]
    type = Uniform
    lower_bound = 270
    upper_bound = 330
  []
[]
[Samplers]
  [sample]
    type = Quadrature
    order = 5
    distributions = 'C_dist f_dist init_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    input_files = 'trans_diff_sub.i'
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = runner
    sampler = sample
    param_names = 'Materials/diff_coeff/constant_expressions Functions/src_func/vals Variables/T/initial_condition'
  []
[]
[Transfers]
  [results]
    type = SamplerReporterTransfer
    multi_app = runner
    sampler = sample
    stochastic_reporter = trainer_results
    from_reporter = 'time_max/value time_min/value'
  []
[]
[Reporters]
  [trainer_results]
    type = StochasticReporter
  []
[]
[Trainers]
  [pc_max]
    type = PolynomialChaosTrainer
    execute_on = final
    order = 5
    distributions = 'C_dist f_dist init_dist'
    sampler = sample
    response = trainer_results/results:time_max:value
  []
  [pc_min]
    type = PolynomialChaosTrainer
    execute_on = final
    order = 5
    distributions = 'C_dist f_dist init_dist'
    sampler = sample
    response = trainer_results/results:time_min:value
  []
  [np_max]
    type = NearestPointTrainer
    execute_on = final
    sampler = sample
    response = trainer_results/results:time_max:value
  []
  [np_min]
    type = NearestPointTrainer
    execute_on = final
    sampler = sample
    response = trainer_results/results:time_min:value
  []
  [pr_max]
    type = PolynomialRegressionTrainer
    regression_type = "ols"
    execute_on = final
    max_degree = 4
    sampler = sample
    response = trainer_results/results:time_max:value
  []
  [pr_min]
    type = PolynomialRegressionTrainer
    regression_type = "ols"
    execute_on = final
    max_degree = 4
    sampler = sample
    response = trainer_results/results:time_min:value
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'pc_max pc_min np_max np_min pr_max pr_min'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/multiapps/partitioning/main.i)
[StochasticTools]
[]
[Samplers/sample]
  type = CartesianProduct
  linear_space_items = '0 1 5'
  execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
  sampler = sample
[]
[MultiApps/sub]
  type = SamplerFullSolveMultiApp
  input_files = sub.i
[]
[Controls/cli]
  type = MultiAppCommandLineControl
  multi_app = sub
  param_names = 'Postprocessors/pp1/scale_factor'
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    to_control = receiver
    parameters = 'Postprocessors/pp2/scale_factor'
  []
  [rep]
    type = SamplerReporterTransfer
    multi_app = sub
    stochastic_reporter = reporter
    from_reporter = 'pp1/value'
  []
  [pp]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    to_vector_postprocessor = vpp
    from_postprocessor = 'pp2'
  []
[]
[VectorPostprocessors/vpp]
  type = StochasticResults
[]
[Reporters]
  [reporter]
    type = StochasticReporter
    outputs = none
  []
  [check]
    type = TestReporterPartitioning
    sampler = sample
    reporters = 'reporter/rep:pp1:value vpp/pp:pp2'
  []
[]
[Outputs]
  csv = true
  execute_on = timestep_end
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
[]
[Samplers]
  [train_sample]
    type = MonteCarlo
    num_rows = 50
    distributions = 'k_dist q_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
  [cart_sample]
    type = CartesianProduct
    linear_space_items = '1 0.09 100
                          9000 20 100 '
    execute_on = initial
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = train_sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = train_sample
    stochastic_reporter = results
    from_reporter = 'avg/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [GP_avg_trainer]
    type = GaussianProcessTrainer
    execute_on = timestep_end
    covariance_function = 'rbf'
    standardize_params = 'true'               #Center and scale the training params
    standardize_data = 'true'                 #Center and scale the training data
    sampler = train_sample
    response = results/data:avg:value
  []
[]
[Covariance]
  [rbf]
    type=SquaredExponentialCovariance
    signal_variance = 1                       #Use a signal variance of 1 in the kernel
    noise_variance = 1e-6                     #A small amount of noise can help with numerical stability
    length_factor = '0.38971 0.38971'         #Select a length factor for each parameter (k and q)
  []
[]
[Surrogates]
  [GP_avg]
    type = GaussianProcess
    trainer = 'GP_avg_trainer'
  []
[]
[VectorPostprocessors]
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [cart_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = cart_sample
    output_samples = true
    execute_on = final
  []
  [hyperparams]
    type = GaussianProcessData
    gp_name = 'GP_avg'
    execute_on = final
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_quad.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
  [L_dist]
    type = Uniform
    lower_bound = 0.01
    upper_bound = 0.05
  []
  [Tinf_dist]
    type = Uniform
    lower_bound = 290
    upper_bound = 310
  []
[]
[Samplers]
  [sample]
    type = Quadrature
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = results
    from_reporter = 'avg/value max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [poly_chaos_avg]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:avg:value
  []
  [poly_chaos_max]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:max:value
  []
[]
[Outputs]
  file_base = poly_chaos_training
  [out]
    type = SurrogateTrainerOutput
    trainers = 'poly_chaos_avg poly_chaos_max'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_small.i)
[StochasticTools]
[]
[Samplers]
  [sample]
    type = CartesianProduct
    execute_on = PRE_MULTIAPP_SETUP
    linear_space_items = '0 1 3'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    ignore_solve_not_converge = true
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = 'pp/value'
  []
[]
[Controls]
  [runner]
    type = MultiAppCommandLineControl
    multi_app = sub
    param_names = 'BCs/left/value'
    sampler = sample
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = none
  []
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_normal_quad.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Normal
    mean = 5
    standard_deviation = 2
  []
  [q_dist]
    type = Normal
    mean = 10000
    standard_deviation = 500
  []
  [L_dist]
    type = Normal
    mean = 0.03
    standard_deviation = 0.01
  []
  [Tinf_dist]
    type = Normal
    mean = 300
    standard_deviation = 10
  []
[]
[Samplers]
  [sample]
    type = Quadrature
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = results
    from_reporter = 'avg/value max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [poly_chaos_avg]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:avg:value
  []
  [poly_chaos_max]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:max:value
  []
[]
[Outputs]
  file_base = poly_chaos_training
  [out]
    type = SurrogateTrainerOutput
    trainers = 'poly_chaos_avg poly_chaos_max'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D_tuned.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
  [L_dist]
    type = Uniform
    lower_bound = 0.01
    upper_bound = 0.05
  []
  [Tinf_dist]
    type = Uniform
    lower_bound = 290
    upper_bound = 310
  []
[]
[Samplers]
  [train_sample]
    type = MonteCarlo
    num_rows = 6
    distributions = 'q_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
  [cart_sample]
    type = CartesianProduct
    linear_space_items = '9000 20 100'
    execute_on = initial
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = train_sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = train_sample
    stochastic_reporter = results
    from_reporter = 'avg/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [GP_avg_trainer]
    type = GaussianProcessTrainer
    execute_on = timestep_end
    covariance_function = 'rbf'
    standardize_params = 'true'               #Center and scale the training params
    standardize_data = 'true'                 #Center and scale the training data
    sampler = train_sample
    response = results/data:avg:value
    tao_options = '-tao_bncg_type kd'
    tune_parameters = ' signal_variance length_factor'
    tuning_min = ' 1e-9 1e-9'
    tuning_max = ' 1e16  1e16'
  []
[]
[Covariance]
  [rbf]
    type=SquaredExponentialCovariance
    signal_variance = 1                       #Use a signal variance of 1 in the kernel
    noise_variance = 1e-3                     #A small amount of noise can help with numerical stability
    length_factor = '0.38971'         #Select a length factor for each parameter (k and q)
  []
[]
[Surrogates]
  [gauss_process_avg]
    type = GaussianProcess
    trainer = 'GP_avg_trainer'
  []
[]
# # Computing statistics
[VectorPostprocessors]
  [hyperparams]
    type = GaussianProcessData
    gp_name = 'gauss_process_avg'
    execute_on = final
  []
  [cart_avg]
    type = EvaluateGaussianProcess
    model = gauss_process_avg
    sampler = cart_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = gauss_process_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
[]
[Outputs]
  csv = true
  execute_on = FINAL
[]
(modules/stochastic_tools/examples/surrogates/polynomial_regression/normal_train.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Normal
    mean = 5
    standard_deviation = 2
  []
  [q_dist]
    type = Normal
    mean = 10000
    standard_deviation = 500
  []
  [L_dist]
    type = Normal
    mean = 0.03
    standard_deviation = 0.01
  []
  [Tinf_dist]
    type = Normal
    mean = 300
    standard_deviation = 10
  []
[]
[Samplers]
  [pc_sampler]
    type = Quadrature
    order = 8
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
  [pr_sampler]
    type = LatinHypercube
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    num_rows = 6560
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [pc_sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = pc_sampler
  []
  [pr_sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = pr_sampler
  []
[]
[Controls]
  [pc_cmdline]
    type = MultiAppCommandLineControl
    multi_app = pc_sub
    sampler = pc_sampler
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
  [pr_cmdline]
    type = MultiAppCommandLineControl
    multi_app = pr_sub
    sampler = pr_sampler
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [pc_data]
    type = SamplerReporterTransfer
    multi_app = pc_sub
    sampler = pc_sampler
    stochastic_reporter = results
    from_reporter = 'max/value'
  []
  [pr_data]
    type = SamplerReporterTransfer
    multi_app = pr_sub
    sampler = pr_sampler
    stochastic_reporter = results
    from_reporter = 'max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [pc_max]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 8
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = pc_sampler
    response = results/pc_data:max:value
  []
  [pr_max]
    type = PolynomialRegressionTrainer
    execute_on = timestep_end
    regression_type = "ols"
    max_degree = 4
    sampler = pr_sampler
    response = results/pr_data:max:value
    []
[]
[Outputs]
  [pc_out]
    type = SurrogateTrainerOutput
    trainers = 'pc_max'
    execute_on = FINAL
  []
  [pr_out]
    type = SurrogateTrainerOutput
    trainers = 'pr_max'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
  [L_dist]
    type = Uniform
    lower_bound = 0.01
    upper_bound = 0.05
  []
  [Tinf_dist]
    type = Uniform
    lower_bound = 290
    upper_bound = 310
  []
[]
[Samplers]
  [train_sample]
    type = MonteCarlo
    num_rows = 6
    distributions = 'q_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
  [cart_sample]
    type = CartesianProduct
    linear_space_items = '9000 20 100'
    execute_on = initial
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = train_sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = train_sample
    stochastic_reporter = results
    from_reporter = 'avg/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [GP_avg_trainer]
    type = GaussianProcessTrainer
    execute_on = timestep_end
    sampler = train_sample
    response = results/data:avg:value
    covariance_function = 'rbf'
    standardize_params = 'true'               #Center and scale the training params
    standardize_data = 'true'                 #Center and scale the training data
  []
[]
[Covariance]
  [rbf]
    type=SquaredExponentialCovariance
    signal_variance = 1                       #Use a signal variance of 1 in the kernel
    noise_variance = 1e-3                     #A small amount of noise can help with numerical stability
    length_factor = '0.38971'         #Select a length factor for each parameter (k and q)
  []
[]
[Surrogates]
  [gauss_process_avg]
    type = GaussianProcess
    trainer = 'GP_avg_trainer'
  []
[]
# # Computing statistics
[VectorPostprocessors]
  [cart_avg]
    type = EvaluateGaussianProcess
    model = gauss_process_avg
    sampler = cart_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = gauss_process_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
[]
[Outputs]
  csv = true
  execute_on = FINAL
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_mc.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
  [q_dist]
    type = Uniform
    lower_bound = 9000
    upper_bound = 11000
  []
  [L_dist]
    type = Uniform
    lower_bound = 0.01
    upper_bound = 0.05
  []
  [Tinf_dist]
    type = Uniform
    lower_bound = 290
    upper_bound = 310
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 10000
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
  []
[]
[Transfers]
  [data]
    type = SamplerReporterTransfer
    multi_app = sub
    sampler = sample
    stochastic_reporter = results
    from_reporter = 'avg/value max/value'
  []
[]
[Reporters]
  [results]
    type = StochasticReporter
  []
[]
[Trainers]
  [poly_chaos_avg]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:avg:value
  []
  [poly_chaos_max]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 10
    distributions = 'k_dist q_dist L_dist Tinf_dist'
    sampler = sample
    response = results/data:max:value
  []
[]
[Outputs]
  file_base = poly_chaos_training
  [out]
    type = SurrogateTrainerOutput
    trainers = 'poly_chaos_avg poly_chaos_max'
    execute_on = FINAL
  []
[]