UFO
ObsGnssroBendMetOfficeParameters.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2021 UK Met Office
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef UFO_GNSSRO_BENDMETOFFICE_OBSGNSSROBENDMETOFFICEPARAMETERS_H_
9 #define UFO_GNSSRO_BENDMETOFFICE_OBSGNSSROBENDMETOFFICEPARAMETERS_H_
10 
11 #include <string>
12 #include <vector>
13 
14 #include "oops/util/parameters/OptionalParameter.h"
15 #include "oops/util/parameters/Parameters.h"
16 #include "oops/util/parameters/RequiredParameter.h"
17 
18 namespace ufo {
19 
20 /// Configuration options recognized by the bending angle operator.
21 class ObsGnssroBendMetOfficeOptions : public oops::Parameters {
22  OOPS_CONCRETE_PARAMETERS(ObsGnssroBendMetOfficeOptions, Parameters)
23 
24  public:
25  /// If true assume that pressure varies exponentially with height when
26  /// interpolating. Otherwise assume that exner varies linearly with height,
27  /// and derive pressure from this.
28  oops::Parameter<bool> vertInterpOPS{"vert_interp_ops", true, this};
29  /// Whether to use pseudo-levels in the calculation.
30  oops::Parameter<bool> pseudoLevels{"pseudo_ops", true, this};
31  /// The minimum temperature gradient permitted before a profile is considered
32  /// isothermal. Only used if pseudo-levels are also used.
33  oops::Parameter<float> minTempGrad{"min_temp_grad", 1.0e-6, this};
34 };
35 
36 /// Configuration options recognized by the bending angle operator.
37 class ObsGnssroBendMetOfficeParameters : public oops::Parameters {
38  OOPS_CONCRETE_PARAMETERS(ObsGnssroBendMetOfficeParameters, Parameters)
39 
40  public:
41  /// Operator name. In future will be moved to a base class for parameters of all ObsOperators.
42  oops::OptionalParameter<std::string> name{"name", this};
43  /// Obs Options - settings for the observation operator
44  oops::Parameter<ObsGnssroBendMetOfficeOptions> obsOptions{"obs options",
46 };
47 
48 } // namespace ufo
49 #endif // UFO_GNSSRO_BENDMETOFFICE_OBSGNSSROBENDMETOFFICEPARAMETERS_H_
Configuration options recognized by the bending angle operator.
oops::Parameter< bool > pseudoLevels
Whether to use pseudo-levels in the calculation.
Configuration options recognized by the bending angle operator.
oops::Parameter< ObsGnssroBendMetOfficeOptions > obsOptions
Obs Options - settings for the observation operator.
oops::OptionalParameter< std::string > name
Operator name. In future will be moved to a base class for parameters of all ObsOperators.
Definition: RunCRTM.h:27