UFO
VariableTransformsParameters.h
Go to the documentation of this file.
1 /*
2  * (C) Crown copyright 2020, 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_FILTERS_VARIABLETRANSFORMSPARAMETERS_H_
9 #define UFO_FILTERS_VARIABLETRANSFORMSPARAMETERS_H_
10 
11 #include <string>
12 #include <vector>
13 
14 #include "eckit/exception/Exceptions.h"
15 
16 #include "oops/util/parameters/OptionalParameter.h"
17 #include "oops/util/parameters/Parameter.h"
18 #include "oops/util/parameters/Parameters.h"
19 #include "oops/util/parameters/RequiredParameter.h"
20 
21 #include "ufo/utils/Constants.h"
23 
24 namespace eckit {
25 class Configuration;
26 }
27 
28 namespace ufo {
29 
30 /// \brief Options controlling the operation of the variablestansform filter.
31 class VariableTransformsParameters : public oops::Parameters {
32  OOPS_CONCRETE_PARAMETERS(VariableTransformsParameters, Parameters)
33 
34  public: // variables
35  //=== Generic parameters ===//
36 
37  /// List of possible transformatioins:
38  /// - Pressure from height:
39  /// - \e "PressureFromHeightForProfile":\n
40  /// Retrieve pressure from observation height.
41  /// This conversion require a vertical profile. See
42  /// Cal_PressureFromHeightForProfile for details.
43  /// - \e "PressureFromHeightForICAO": \n
44  /// Retrieve pressure from observation height using ICAO standard.
45  /// See Cal_PressureFromHeightForICAO for details.
46  /// - \e "WindSpeedAndDirection": \n
47  /// Retrieve wind speed and direction from the eastward(u), and
48  /// northward (v) wind components.
49  /// - \e "WindComponents": \n
50  /// Retrieve the eastward(u), and northward (v) wind components from
51  /// wind speed and direction
52  /// - \e "SpecificHumidity": \n
53  /// Retrieve the specific humidity from relative humidity
54  /// - \e "RelativeHumidity": \n
55  /// Retrieve the relative humidity from specific humidity
56  oops::RequiredParameter<std::vector<std::string>> Transform{"Transform",
57  this};
58 
59  /// Method used for calculation [Optional]:
60  /// Related to Met Center - See ReadTheDoc for more details.
61  oops::Parameter<std::string> Method{"Method", "default", this};
62 
63  /// Formulation possible [Optional]:
64  /// By default \e formulation is set to \e the Method.
65  /// See ReadTheDoc for more details
66  oops::Parameter<std::string> Formulation{"Formulation", "", this};
67 
68  /// Should we use only the valid data? [Optional]:
69  /// By default \e UseValidDataOnly is set to \e true.
70  /// See ReadTheDoc for more details
71  oops::Parameter<bool> UseValidDataOnly{"UseValidDataOnly", true, this};
72 
73  /// Should we allow super-saturated relative humidity? [Optional]:
74  /// By default \e AllowSuperSaturation is set to \e false.
75  /// See ReadTheDoc for more details
76  oops::Parameter<bool> AllowSuperSaturation{"AllowSuperSaturation", false, this};
77 };
78 } // namespace ufo
79 
80 #endif // UFO_FILTERS_VARIABLETRANSFORMSPARAMETERS_H_
81 
Options controlling the operation of the variablestansform filter.
oops::Parameter< std::string > Formulation
oops::RequiredParameter< std::vector< std::string > > Transform
Forward declarations.
Definition: ObsAodExt.h:21
Definition: RunCRTM.h:27