- from_reporterThe name(s) of the Reporter(s) on the sub-app to transfer from.
C++ Type:std::vector<ReporterName>
Description:The name(s) of the Reporter(s) on the sub-app to transfer from.
 - multi_appThe name of the MultiApp to use.
C++ Type:MultiAppName
Description:The name of the MultiApp to use.
 - stochastic_reporterThe name of the StochasticReporter object to transfer values to.
C++ Type:std::string
Description:The name of the StochasticReporter object to transfer values to.
 
SamplerReporterTransfer
Transfers data from Reporters on the sub-application to a StochasticReporter on the main application.
Overview
This object is designed to transfer data from postprocessors, vectorpostprocessors, and reporters on the sub-application to the main application. This object must transfer data to a StochasticReporter object.
How It Works
This transfer works similar to MultiAppCloneReporterTransfer whereby creating vector reporter values whose type is based on the type of value being transferred. The name of the reporter values are <stochastic_reporter name>/<transfer name or prefix>:<sub-app reporter object name>:<sub-app reporter value name>. In parallel, the vector that the values are being transferred into are distributed. For instance, main_out.json is the output in serial showing all the transferred data; while main_parallel.json, main_parallel.json.1, main_parallel.json.2, and main_parallel.json.3 are the combined data from running on 4 processors. If some samples use more than one processor, like when there is more processes than samples, there will be outputs that do not contain any data, see main_small_out.json.3 for example.
Dealing with Failed Solves
When performing stochastic analysis with many perturbations of a sub-application, it is sometimes the case where the app receives a set of parameters that makes the solve difficult to converge. With the default configuration of this object, if one of sub-applications' solve fails, the main application will abort. If it is expected that some solves might not converge and aborting the main application is not the desired behavior, the parameter "ignore_solve_not_converge" must be set to true in the MultiApps block (see SamplerFullSolveMultiApp for more details). With this parameter set to true in the multiapp, this object will transfer whatever the last compute values are. To keep track of whether the solve converged or not, the reporter value <stochastic_reporter name>/multiapp_converged is created. See main_out.json as an example.
Example Syntax
[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'
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)Input Parameters
- check_multiapp_execute_onFalseWhen false the check between the multiapp and transfer execute on flags is not preformed.
Default:False
C++ Type:bool
Options:
Description:When false the check between the multiapp and transfer execute on flags is not preformed.
 - displaced_source_meshFalseWhether or not to use the displaced mesh for the source mesh.
Default:False
C++ Type:bool
Options:
Description:Whether or not to use the displaced mesh for the source mesh.
 - displaced_target_meshFalseWhether or not to use the displaced mesh for the target mesh.
Default:False
C++ Type:bool
Options:
Description:Whether or not to use the displaced mesh for the target mesh.
 - execute_onSAME_AS_MULTIAPPThe 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, SAME_AS_MULTIAPP.
Default:SAME_AS_MULTIAPP
C++ Type:ExecFlagEnum
Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP
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, SAME_AS_MULTIAPP.
 - prefixUse the supplied string as the prefix for reporter name rather than the transfer name.
C++ Type:std::string
Options:
Description:Use the supplied string as the prefix for reporter name rather than the transfer name.
 - samplerA the Sampler object that Transfer is associated..
C++ Type:SamplerName
Options:
Description:A the Sampler object that Transfer is associated..
 
Optional Parameters
- 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.
 - 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/doc/sampler_reporter/gold/main_out.json)
{
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1,
                                1,
                                1,
                                2,
                                2,
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1,
                                0.0,
                                0.2,
                                0.0,
                                0.1,
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true,
                                false,
                                true,
                                false,
                                true,
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1,
                                1,
                                1,
                                2,
                                2,
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1,
                                0.0,
                                0.2,
                                0.0,
                                0.1,
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true,
                                false,
                                true,
                                false,
                                true,
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.01,
            "time_step": 1
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1,
                                1,
                                1,
                                2,
                                2,
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1,
                                0.0,
                                0.2,
                                0.0,
                                0.1,
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true,
                                false,
                                true,
                                false,
                                true,
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.02,
            "time_step": 2
        }
    ]
}
(modules/doc/sampler_reporter/gold/main_parallel.json)
{
    "number_of_parts": 4,
    "part": 0,
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.01,
            "time_step": 1
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.02,
            "time_step": 2
        }
    ]
}
(modules/doc/sampler_reporter/gold/main_parallel.json.1)
{
    "number_of_parts": 4,
    "part": 1,
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.01,
            "time_step": 1
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.02,
            "time_step": 2
        }
    ]
}
(modules/doc/sampler_reporter/gold/main_parallel.json.2)
{
    "number_of_parts": 4,
    "part": 2,
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.01,
            "time_step": 1
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.02,
            "time_step": 2
        }
    ]
}
(modules/doc/sampler_reporter/gold/main_parallel.json.3)
{
    "number_of_parts": 4,
    "part": 3,
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.01,
            "time_step": 1
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.02,
            "time_step": 2
        }
    ]
}
(modules/doc/sampler_reporter/gold/main_small_out.json.3)
{
    "number_of_parts": 4,
    "part": 3,
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": []
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": []
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                2.0
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 1.0,
            "time_step": 1
        }
    ]
}
ignore_solve_not_converge
Default:False
C++ Type:bool
Options:
Description:True to continue main app even if a sub app's solve does not converge.
(modules/doc/sampler_reporter/gold/main_out.json)
{
    "time_steps": [
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1,
                                1,
                                1,
                                2,
                                2,
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1,
                                0.0,
                                0.2,
                                0.0,
                                0.1,
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true,
                                false,
                                true,
                                false,
                                true,
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.0,
            "time_step": 0
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1,
                                1,
                                1,
                                2,
                                2,
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1,
                                0.0,
                                0.2,
                                0.0,
                                0.1,
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true,
                                false,
                                true,
                                false,
                                true,
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.01,
            "time_step": 1
        },
        {
            "reporters": {
                "storage": {
                    "info": {
                        "name": "storage",
                        "type": "StochasticReporter"
                    },
                    "values": [
                        {
                            "name": "data:constant:int",
                            "type": "std::vector<int>",
                            "value": [
                                1,
                                1,
                                1,
                                1,
                                2,
                                2,
                                2,
                                2
                            ]
                        },
                        {
                            "name": "data:constant:str",
                            "type": "std::vector<std::string>",
                            "value": [
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value",
                                "this_value"
                            ]
                        },
                        {
                            "name": "data:mesh:sidesets",
                            "type": "std::vector<std::map<short, MeshInfo::SidesetInfo, std::less<short>, std::allocator<std::pair<short const, MeshInfo::SidesetInfo> > >>",
                            "value": [
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ],
                                null,
                                [
                                    {
                                        "id": 0,
                                        "name": "left"
                                    },
                                    {
                                        "id": 1,
                                        "name": "right"
                                    }
                                ]
                            ]
                        },
                        {
                            "name": "data:pp:value",
                            "type": "std::vector<double>",
                            "value": [
                                0.0,
                                0.1,
                                0.0,
                                0.2,
                                0.0,
                                0.1,
                                0.0,
                                0.2
                            ]
                        },
                        {
                            "name": "data:vpp:vec",
                            "type": "std::vector<std::vector<double>>",
                            "value": [
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    1.0,
                                    10.0,
                                    100.0,
                                    1000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ],
                                [
                                    2.0,
                                    20.0,
                                    200.0,
                                    2000.0
                                ]
                            ]
                        },
                        {
                            "name": "multiapp_converged",
                            "type": "std::vector<bool>",
                            "value": [
                                false,
                                true,
                                false,
                                true,
                                false,
                                true,
                                false,
                                true
                            ]
                        }
                    ]
                }
            },
            "time": 0.02,
            "time_step": 2
        }
    ]
}
(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/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
  []
[]