queso-0.53.0
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
QUESO::GPMSAOptions Class Reference

This class defines the options that specify the behaviour of the Gaussian process emulator. More...

#include <GPMSAOptions.h>

Collaboration diagram for QUESO::GPMSAOptions:
Collaboration graph
[legend]

Public Member Functions

 GPMSAOptions (const BaseEnvironment &env, const char *prefix)
 Given prefix, read the input file for parameters named prefix_*. More...
 
virtual ~GPMSAOptions ()
 Destructor. More...
 
void print (std::ostream &os) const
 Prints this to os. More...
 
const BaseEnvironmentenv () const
 Returns the QUESO environment. More...
 

Public Attributes

std::string m_prefix
 The prefix to look for in the input file. More...
 
std::string m_help
 If this string is non-empty, print the options object to the output file. More...
 
double m_emulatorPrecisionShape
 The shape parameter for the Gamma hyperprior for the emulator precision. More...
 
double m_emulatorPrecisionScale
 The scale parameter for the Gamma hyperprior for the emulator precision. More...
 
double m_emulatorCorrelationStrengthAlpha
 The alpha paramter for the Beta hyperprior for the emulator correlation strength. More...
 
double m_emulatorCorrelationStrengthBeta
 The beta paramter for the Beta hyperprior for the emulator correlation strength. More...
 
double m_discrepancyPrecisionShape
 The shape parameter for the Gamma hyperprior for the discrepancy precision. More...
 
double m_discrepancyPrecisionScale
 The scale parameter for the Gamma hyperprior for the discrepancy precision. More...
 
double m_discrepancyCorrelationStrengthAlpha
 The alpha paramter for the Beta hyperprior for the discrepancy correlation strength. More...
 
double m_discrepancyCorrelationStrengthBeta
 The beta paramter for the Beta hyperprior for the discrepancy correlation strength. More...
 
double m_emulatorDataPrecisionShape
 The shape parameter for the Gamma hyperprior for the emulator data precision. More...
 
double m_emulatorDataPrecisionScale
 The scale parameter for the Gamma hyperprior for the emulator data precision. More...
 

Private Member Functions

void checkOptions ()
 

Private Attributes

const BaseEnvironmentm_env
 
BoostInputOptionsParserm_parser
 
std::string m_option_help
 
std::string m_option_emulatorPrecisionShape
 
std::string m_option_emulatorPrecisionScale
 
std::string m_option_emulatorCorrelationStrengthAlpha
 
std::string m_option_emulatorCorrelationStrengthBeta
 
std::string m_option_discrepancyPrecisionShape
 
std::string m_option_discrepancyPrecisionScale
 
std::string m_option_discrepancyCorrelationStrengthAlpha
 
std::string m_option_discrepancyCorrelationStrengthBeta
 
std::string m_option_emulatorDataPrecisionShape
 
std::string m_option_emulatorDataPrecisionScale
 

Friends

std::ostream & operator<< (std::ostream &os, const GPMSAOptions &obj)
 

Detailed Description

This class defines the options that specify the behaviour of the Gaussian process emulator.

Definition at line 40 of file GPMSAOptions.h.

Constructor & Destructor Documentation

QUESO::GPMSAOptions::GPMSAOptions ( const BaseEnvironment env,
const char *  prefix 
)

Given prefix, read the input file for parameters named prefix_*.

Definition at line 44 of file GPMSAOptions.C.

References checkOptions(), QUESO::BoostInputOptionsParser::getOption(), m_discrepancyCorrelationStrengthAlpha, m_discrepancyCorrelationStrengthBeta, m_discrepancyPrecisionScale, m_discrepancyPrecisionShape, m_emulatorCorrelationStrengthAlpha, m_emulatorCorrelationStrengthBeta, m_emulatorDataPrecisionScale, m_emulatorDataPrecisionShape, m_emulatorPrecisionScale, m_emulatorPrecisionShape, m_env, m_help, m_option_discrepancyCorrelationStrengthAlpha, m_option_discrepancyCorrelationStrengthBeta, m_option_discrepancyPrecisionScale, m_option_discrepancyPrecisionShape, m_option_emulatorCorrelationStrengthAlpha, m_option_emulatorCorrelationStrengthBeta, m_option_emulatorDataPrecisionScale, m_option_emulatorDataPrecisionShape, m_option_emulatorPrecisionScale, m_option_emulatorPrecisionShape, m_option_help, m_parser, QUESO::BaseEnvironment::optionsInputFileName(), queso_error_msg, QUESO::BoostInputOptionsParser::registerOption(), QUESO::BoostInputOptionsParser::scanInputFile(), UQ_GPMSA_DISCREPANCY_CORRELATION_STRENGTH_ALPHA_ODV, UQ_GPMSA_DISCREPANCY_CORRELATION_STRENGTH_BETA_ODV, UQ_GPMSA_DISCREPANCY_PRECISION_SCALE_ODV, UQ_GPMSA_DISCREPANCY_PRECISION_SHAPE_ODV, UQ_GPMSA_EMULATOR_CORRELATION_STRENGTH_ALPHA_ODV, UQ_GPMSA_EMULATOR_CORRELATION_STRENGTH_BETA_ODV, UQ_GPMSA_EMULATOR_DATA_PRECISION_SCALE_ODV, UQ_GPMSA_EMULATOR_DATA_PRECISION_SHAPE_ODV, UQ_GPMSA_EMULATOR_PRECISION_SCALE_ODV, UQ_GPMSA_EMULATOR_PRECISION_SHAPE_ODV, and UQ_GPMSA_HELP.

47  :
48  m_prefix((std::string)(prefix) + "gpmsa_"),
60  m_env(env),
61  m_parser(new BoostInputOptionsParser(env.optionsInputFileName())),
62  m_option_help(m_prefix + "help"),
63  m_option_emulatorPrecisionShape(m_prefix + "emulator_precision_shape"),
64  m_option_emulatorPrecisionScale(m_prefix + "emulator_precision_scale"),
65  m_option_emulatorCorrelationStrengthAlpha(m_prefix + "emulator_correlation_strength_alpha"),
66  m_option_emulatorCorrelationStrengthBeta(m_prefix + "emulator_correlation_strength_beta"),
67  m_option_discrepancyPrecisionShape(m_prefix + "discrepancy_precision_shape"),
68  m_option_discrepancyPrecisionScale(m_prefix + "discrepancy_precision_scale"),
69  m_option_discrepancyCorrelationStrengthAlpha(m_prefix + "discrepancy_correlation_strength_alpha"),
70  m_option_discrepancyCorrelationStrengthBeta(m_prefix + "discrepancy_correlation_strength_beta"),
71  m_option_emulatorDataPrecisionShape(m_prefix + "emulator_data_precision_shape"),
72  m_option_emulatorDataPrecisionScale(m_prefix + "emulator_data_precision_scale")
73 {
74  if (m_env.optionsInputFileName() == "") {
75  queso_error_msg("Missing input file is required");
76  }
77 
78  m_parser->registerOption<std::string>(m_option_help, UQ_GPMSA_HELP, "produce help message Gaussian process emulator");
79  m_parser->registerOption<double>(m_option_emulatorPrecisionShape, UQ_GPMSA_EMULATOR_PRECISION_SHAPE_ODV, "shape hyperprior (Gamma) parameter for emulator precision");
80  m_parser->registerOption<double>(m_option_emulatorPrecisionScale, UQ_GPMSA_EMULATOR_PRECISION_SCALE_ODV, "scale hyperprior (Gamma) parameter for emulator precision");
81  m_parser->registerOption<double>(m_option_emulatorCorrelationStrengthAlpha, UQ_GPMSA_EMULATOR_CORRELATION_STRENGTH_ALPHA_ODV, "alpha hyperprior (Beta) parameter for emulator correlation strength");
82  m_parser->registerOption<double>(m_option_emulatorCorrelationStrengthBeta, UQ_GPMSA_EMULATOR_CORRELATION_STRENGTH_BETA_ODV, "beta hyperprior (Beta) parameter for emulator correlation strength");
83  m_parser->registerOption<double>(m_option_discrepancyPrecisionShape, UQ_GPMSA_DISCREPANCY_PRECISION_SHAPE_ODV, "shape hyperprior (Gamma) parameter for discrepancy precision");
84  m_parser->registerOption<double>(m_option_discrepancyPrecisionScale, UQ_GPMSA_DISCREPANCY_PRECISION_SCALE_ODV, "scale hyperprior (Gamma) parameter for discrepancy precision");
85  m_parser->registerOption<double>(m_option_discrepancyCorrelationStrengthAlpha, UQ_GPMSA_DISCREPANCY_CORRELATION_STRENGTH_ALPHA_ODV, "alpha hyperprior (Beta) parameter for discrepancy correlation strength");
86  m_parser->registerOption<double>(m_option_discrepancyCorrelationStrengthBeta, UQ_GPMSA_DISCREPANCY_CORRELATION_STRENGTH_BETA_ODV, "beta hyperprior (Beta) parameter for discrepancy correlation strength");
87  m_parser->registerOption<double>(m_option_emulatorDataPrecisionShape, UQ_GPMSA_EMULATOR_DATA_PRECISION_SHAPE_ODV, "shape hyperprior (Gamma) parameter for emulator data precision");
88  m_parser->registerOption<double>(m_option_emulatorDataPrecisionScale, UQ_GPMSA_EMULATOR_DATA_PRECISION_SCALE_ODV, "scale hyperprior (Gamma) parameter for emulator data precision");
89 
91 
92  m_parser->getOption<std::string>(m_option_help, m_help);
103 
104  checkOptions();
105 }
const BaseEnvironment & m_env
Definition: GPMSAOptions.h:94
#define UQ_GPMSA_DISCREPANCY_CORRELATION_STRENGTH_ALPHA_ODV
Definition: GPMSAOptions.C:37
#define UQ_GPMSA_DISCREPANCY_PRECISION_SHAPE_ODV
Definition: GPMSAOptions.C:35
double m_discrepancyPrecisionShape
The shape parameter for the Gamma hyperprior for the discrepancy precision.
Definition: GPMSAOptions.h:71
std::string m_prefix
The prefix to look for in the input file.
Definition: GPMSAOptions.h:53
std::string m_option_emulatorCorrelationStrengthBeta
Definition: GPMSAOptions.h:102
double m_discrepancyCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the discrepancy correlation strength.
Definition: GPMSAOptions.h:80
std::string m_option_emulatorDataPrecisionShape
Definition: GPMSAOptions.h:107
std::string m_option_discrepancyCorrelationStrengthAlpha
Definition: GPMSAOptions.h:105
const BaseEnvironment & env() const
Returns the QUESO environment.
double m_emulatorPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator precision.
Definition: GPMSAOptions.h:62
std::string m_option_emulatorDataPrecisionScale
Definition: GPMSAOptions.h:108
#define queso_error_msg(msg)
Definition: asserts.h:47
double m_emulatorDataPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator data precision.
Definition: GPMSAOptions.h:89
#define UQ_GPMSA_EMULATOR_CORRELATION_STRENGTH_BETA_ODV
Definition: GPMSAOptions.C:34
double m_discrepancyCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the discrepancy correlation strength.
Definition: GPMSAOptions.h:77
double m_emulatorCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the emulator correlation strength. ...
Definition: GPMSAOptions.h:65
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
Definition: Environment.C:307
void scanInputFile()
This is the method that parses the input file.
std::string m_option_discrepancyCorrelationStrengthBeta
Definition: GPMSAOptions.h:106
std::string m_option_discrepancyPrecisionScale
Definition: GPMSAOptions.h:104
#define UQ_GPMSA_EMULATOR_DATA_PRECISION_SCALE_ODV
Definition: GPMSAOptions.C:40
#define UQ_GPMSA_HELP
Definition: GPMSAOptions.C:30
void registerOption(std::string name, T defaultValue, std::string description)
Call this to register an option with the parser.
std::string m_option_emulatorPrecisionShape
Definition: GPMSAOptions.h:99
std::string m_option_emulatorCorrelationStrengthAlpha
Definition: GPMSAOptions.h:101
#define UQ_GPMSA_EMULATOR_DATA_PRECISION_SHAPE_ODV
Definition: GPMSAOptions.C:39
double m_emulatorPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator precision.
Definition: GPMSAOptions.h:59
#define UQ_GPMSA_EMULATOR_CORRELATION_STRENGTH_ALPHA_ODV
Definition: GPMSAOptions.C:33
double m_emulatorDataPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator data precision.
Definition: GPMSAOptions.h:86
BoostInputOptionsParser * m_parser
Definition: GPMSAOptions.h:96
double m_discrepancyPrecisionScale
The scale parameter for the Gamma hyperprior for the discrepancy precision.
Definition: GPMSAOptions.h:74
#define UQ_GPMSA_EMULATOR_PRECISION_SHAPE_ODV
Definition: GPMSAOptions.C:31
#define UQ_GPMSA_DISCREPANCY_CORRELATION_STRENGTH_BETA_ODV
Definition: GPMSAOptions.C:38
std::string m_help
If this string is non-empty, print the options object to the output file.
Definition: GPMSAOptions.h:56
double m_emulatorCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the emulator correlation strength.
Definition: GPMSAOptions.h:68
std::string m_option_help
Definition: GPMSAOptions.h:98
#define UQ_GPMSA_DISCREPANCY_PRECISION_SCALE_ODV
Definition: GPMSAOptions.C:36
void getOption(std::string &name, T &value)
Get option name from the parser and set value to the parsed value.
#define UQ_GPMSA_EMULATOR_PRECISION_SCALE_ODV
Definition: GPMSAOptions.C:32
std::string m_option_discrepancyPrecisionShape
Definition: GPMSAOptions.h:103
std::string m_option_emulatorPrecisionScale
Definition: GPMSAOptions.h:100
QUESO::GPMSAOptions::~GPMSAOptions ( )
virtual

Destructor.

Definition at line 107 of file GPMSAOptions.C.

108 {
109 }

Member Function Documentation

void QUESO::GPMSAOptions::checkOptions ( )
private

Definition at line 112 of file GPMSAOptions.C.

References m_env, m_help, and QUESO::BaseEnvironment::subDisplayFile().

Referenced by GPMSAOptions().

113 {
114  if (m_help != "") {
115  if (m_env.subDisplayFile()) {
116  *m_env.subDisplayFile() << (*this) << std::endl;
117  }
118  }
119 }
const BaseEnvironment & m_env
Definition: GPMSAOptions.h:94
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:274
std::string m_help
If this string is non-empty, print the options object to the output file.
Definition: GPMSAOptions.h:56
const BaseEnvironment& QUESO::GPMSAOptions::env ( ) const

Returns the QUESO environment.

void QUESO::GPMSAOptions::print ( std::ostream &  os) const

Prints this to os.

Definition at line 122 of file GPMSAOptions.C.

References m_discrepancyCorrelationStrengthAlpha, m_discrepancyCorrelationStrengthBeta, m_discrepancyPrecisionScale, m_discrepancyPrecisionShape, m_emulatorCorrelationStrengthAlpha, m_emulatorCorrelationStrengthBeta, m_emulatorDataPrecisionScale, m_emulatorDataPrecisionShape, m_emulatorPrecisionScale, m_emulatorPrecisionShape, m_option_discrepancyCorrelationStrengthAlpha, m_option_discrepancyCorrelationStrengthBeta, m_option_discrepancyPrecisionScale, m_option_discrepancyPrecisionShape, m_option_emulatorCorrelationStrengthAlpha, m_option_emulatorCorrelationStrengthBeta, m_option_emulatorDataPrecisionScale, m_option_emulatorDataPrecisionShape, m_option_emulatorPrecisionScale, and m_option_emulatorPrecisionShape.

Referenced by QUESO::operator<<().

123 {
124  os << "\n" << m_option_emulatorPrecisionShape << " = " << this->m_emulatorPrecisionShape
125  << "\n" << m_option_emulatorPrecisionScale << " = " << this->m_emulatorPrecisionScale
134  << std::endl;
135 }
double m_discrepancyPrecisionShape
The shape parameter for the Gamma hyperprior for the discrepancy precision.
Definition: GPMSAOptions.h:71
std::string m_option_emulatorCorrelationStrengthBeta
Definition: GPMSAOptions.h:102
double m_discrepancyCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the discrepancy correlation strength.
Definition: GPMSAOptions.h:80
std::string m_option_emulatorDataPrecisionShape
Definition: GPMSAOptions.h:107
std::string m_option_discrepancyCorrelationStrengthAlpha
Definition: GPMSAOptions.h:105
double m_emulatorPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator precision.
Definition: GPMSAOptions.h:62
std::string m_option_emulatorDataPrecisionScale
Definition: GPMSAOptions.h:108
double m_emulatorDataPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator data precision.
Definition: GPMSAOptions.h:89
double m_discrepancyCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the discrepancy correlation strength.
Definition: GPMSAOptions.h:77
double m_emulatorCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the emulator correlation strength. ...
Definition: GPMSAOptions.h:65
std::string m_option_discrepancyCorrelationStrengthBeta
Definition: GPMSAOptions.h:106
std::string m_option_discrepancyPrecisionScale
Definition: GPMSAOptions.h:104
std::string m_option_emulatorPrecisionShape
Definition: GPMSAOptions.h:99
std::string m_option_emulatorCorrelationStrengthAlpha
Definition: GPMSAOptions.h:101
double m_emulatorPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator precision.
Definition: GPMSAOptions.h:59
double m_emulatorDataPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator data precision.
Definition: GPMSAOptions.h:86
double m_discrepancyPrecisionScale
The scale parameter for the Gamma hyperprior for the discrepancy precision.
Definition: GPMSAOptions.h:74
double m_emulatorCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the emulator correlation strength.
Definition: GPMSAOptions.h:68
std::string m_option_discrepancyPrecisionShape
Definition: GPMSAOptions.h:103
std::string m_option_emulatorPrecisionScale
Definition: GPMSAOptions.h:100

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const GPMSAOptions obj 
)
friend

Definition at line 138 of file GPMSAOptions.C.

139 {
140  os << (*(obj.m_parser)) << std::endl;
141  obj.print(os);
142  return os;
143 }

Member Data Documentation

double QUESO::GPMSAOptions::m_discrepancyCorrelationStrengthAlpha

The alpha paramter for the Beta hyperprior for the discrepancy correlation strength.

Definition at line 77 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_discrepancyCorrelationStrengthBeta

The beta paramter for the Beta hyperprior for the discrepancy correlation strength.

Definition at line 80 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_discrepancyPrecisionScale

The scale parameter for the Gamma hyperprior for the discrepancy precision.

Definition at line 74 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_discrepancyPrecisionShape

The shape parameter for the Gamma hyperprior for the discrepancy precision.

Definition at line 71 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_emulatorCorrelationStrengthAlpha

The alpha paramter for the Beta hyperprior for the emulator correlation strength.

Definition at line 65 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_emulatorCorrelationStrengthBeta

The beta paramter for the Beta hyperprior for the emulator correlation strength.

Definition at line 68 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_emulatorDataPrecisionScale

The scale parameter for the Gamma hyperprior for the emulator data precision.

Definition at line 89 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_emulatorDataPrecisionShape

The shape parameter for the Gamma hyperprior for the emulator data precision.

Definition at line 86 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_emulatorPrecisionScale

The scale parameter for the Gamma hyperprior for the emulator precision.

Definition at line 62 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

double QUESO::GPMSAOptions::m_emulatorPrecisionShape

The shape parameter for the Gamma hyperprior for the emulator precision.

Definition at line 59 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

const BaseEnvironment& QUESO::GPMSAOptions::m_env
private

Definition at line 94 of file GPMSAOptions.h.

Referenced by checkOptions(), and GPMSAOptions().

std::string QUESO::GPMSAOptions::m_help

If this string is non-empty, print the options object to the output file.

Definition at line 56 of file GPMSAOptions.h.

Referenced by checkOptions(), and GPMSAOptions().

std::string QUESO::GPMSAOptions::m_option_discrepancyCorrelationStrengthAlpha
private

Definition at line 105 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_discrepancyCorrelationStrengthBeta
private

Definition at line 106 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_discrepancyPrecisionScale
private

Definition at line 104 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_discrepancyPrecisionShape
private

Definition at line 103 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_emulatorCorrelationStrengthAlpha
private

Definition at line 101 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_emulatorCorrelationStrengthBeta
private

Definition at line 102 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_emulatorDataPrecisionScale
private

Definition at line 108 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_emulatorDataPrecisionShape
private

Definition at line 107 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_emulatorPrecisionScale
private

Definition at line 100 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_emulatorPrecisionShape
private

Definition at line 99 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and print().

std::string QUESO::GPMSAOptions::m_option_help
private

Definition at line 98 of file GPMSAOptions.h.

Referenced by GPMSAOptions().

BoostInputOptionsParser* QUESO::GPMSAOptions::m_parser
private

Definition at line 96 of file GPMSAOptions.h.

Referenced by GPMSAOptions(), and QUESO::operator<<().

std::string QUESO::GPMSAOptions::m_prefix

The prefix to look for in the input file.

Definition at line 53 of file GPMSAOptions.h.


The documentation for this class was generated from the following files:

Generated on Thu Jun 11 2015 13:52:35 for queso-0.53.0 by  doxygen 1.8.5