24 #include <queso/Environment.h>
25 #include <queso/SharedPtr.h>
27 #ifndef QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
28 #include <queso/BoostInputOptionsParser.h>
29 #include <queso/ScopedPtr.h>
30 #endif // QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
32 #ifndef UQ_GPMSA_OPTIONS_H
33 #define UQ_GPMSA_OPTIONS_H
67 void print(std::ostream& os)
const;
170 template <
typename V>
181 double physical_param)
const;
186 double physical_param)
const;
239 #ifndef QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
241 #endif // QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
300 #endif // UQ_GPMSA_OPTIONS_H
std::shared_ptr< T > Type
std::string m_option_observationalPrecisionShape
std::string m_option_discrepancyPrecisionShape
std::unique_ptr< T > Type
void print(std::ostream &os) const
Prints this to os.
void set_autoscale_meanvar_scenario_parameter(unsigned int i)
Do automatic normalization, using mean and variance of the.
std::string m_option_emulatorDataPrecisionShape
double m_emulatorDataPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator data precision.
double m_emulatorCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the emulator correlation strength.
double normalized_uncertain_parameter(unsigned int i, double physical_param) const
Calculate a normalized value from a physical value for the.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
std::vector< double > m_uncertainScaleMin
double m_emulatorPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator precision.
std::string m_option_emulatorBasisVarianceToCapture
std::vector< double > m_scenarioScaleMin
std::string m_option_discrepancyPrecisionScale
void set_autoscale_meanvar_uncertain_parameter(unsigned int i)
Do automatic normalization, using mean and variance of the.
std::string m_option_observationalPrecisionScale
std::string m_option_autoscaleMeanVarAll
void set_output_scaling(unsigned int i, double range_min, double range_max)
Set a value, for output value i in simulation and.
std::string m_option_discrepancyCorrelationStrengthBeta
void set_uncertain_parameter_scaling(unsigned int i, double range_min, double range_max)
Set a value, for uncertain parameter i in simulation inputs, of.
void set_prefix(const char *prefix)
Set parameter option names to begin with prefix.
virtual ~GPMSAOptions()
Destructor.
int m_maxEmulatorBasisVectors
The maximum number of basis vectors to use for approximating.
double m_discrepancyCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the discrepancy correlation strength.
std::string m_option_discrepancyCorrelationStrengthAlpha
std::string m_option_emulatorDataPrecisionScale
std::string m_prefix
The prefix to look for in the input file.
std::string m_option_calibrateObservationalPrecision
QUESO::ScopedPtr< BoostInputOptionsParser >::Type m_parser
const BaseEnvironment * m_env
bool m_autoscaleMinMaxAll
bool m_autoscaleMeanVarAll
std::string m_help
If this string is non-empty, print the options object to the output file.
double m_emulatorCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the emulator correlation strength. ...
void set_scenario_parameter_scaling(unsigned int i, double range_min, double range_max)
Set a value, for scenario parameter i in simulation and.
std::string m_option_emulatorPrecisionShape
std::vector< double > m_scenarioScaleRange
double m_discrepancyPrecisionScale
The scale parameter for the Gamma hyperprior for the discrepancy precision.
double m_emulatorPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator precision.
void parse(const BaseEnvironment &env, const char *prefix)
Given prefix, read the input file for parameters named "prefix"+*.
double normalized_scenario_parameter(unsigned int i, double physical_param) const
Calculate a normalized value from a physical value for the.
std::string m_option_emulatorCorrelationStrengthAlpha
double m_discrepancyPrecisionShape
The shape parameter for the Gamma hyperprior for the discrepancy precision.
std::string m_option_help
double m_emulatorDataPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator data precision.
bool m_calibrateObservationalPrecision
Whether to use an observational error precision hyperparameter.
GPMSAOptions()
Construct with default parameters.
void set_autoscale_minmax_uncertain_parameter(unsigned int i)
Do automatic normalization, using minimum and maximum values in.
std::set< unsigned int > m_autoscaleMinMaxScenario
std::set< unsigned int > m_autoscaleMinMaxUncertain
void set_final_scaling(const std::vector< typename SharedPtr< V >::Type > &m_simulationScenarios, const std::vector< typename SharedPtr< V >::Type > &m_simulationParameters, const std::vector< typename SharedPtr< V >::Type > &m_simulationOutputs, const std::vector< typename SharedPtr< V >::Type > &m_experimentScenarios, const std::vector< typename SharedPtr< V >::Type > &m_experimentOutputs)
Determine the physical parameter ranges (range_min, range_max)
std::set< unsigned int > m_autoscaleMeanVarUncertain
double m_discrepancyCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the discrepancy correlation strength.
friend std::ostream & operator<<(std::ostream &os, const GPMSAOptions &obj)
const BaseEnvironment & env() const
Returns the QUESO environment.
double m_emulatorBasisVarianceToCapture
The minimum fraction of the variance in simulation output to.
std::string m_option_maxEmulatorBasisVectors
void set_defaults()
Set default values for parameter options.
double m_observationalPrecisionScale
The scale parameter for the Gamma hyperprior for the observational precision.
void set_autoscale_minmax_scenario_parameter(unsigned int i)
Do automatic normalization, using minimum and maximum values in.
std::string m_option_emulatorPrecisionScale
std::string m_option_autoscaleMinMaxAll
void set_autoscale_minmax()
Do automatic normalization, using minimum and maximum values in.
double m_observationalPrecisionShape
The shape parameter for the Gamma hyperprior for the observational precision.
This class defines the options that specify the behaviour of the Gaussian process emulator...
std::string m_option_emulatorCorrelationStrengthBeta
void set_autoscale_meanvar()
Do automatic normalization, using mean and variance of the.
std::set< unsigned int > m_autoscaleMeanVarScenario
std::vector< double > m_uncertainScaleRange