UFO
ObsProfileAverageParameters.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_PROFILE_OBSPROFILEAVERAGEPARAMETERS_H_
9 #define UFO_PROFILE_OBSPROFILEAVERAGEPARAMETERS_H_
10 
11 #include <string>
12 #include <vector>
13 
14 #include "oops/util/parameters/NumericConstraints.h"
15 #include "oops/util/parameters/OptionalParameter.h"
16 #include "oops/util/parameters/Parameters.h"
17 #include "oops/util/parameters/RequiredParameter.h"
18 
19 #include "ufo/filters/Variable.h"
21 
22 namespace ufo {
23 
24 /// Configuration options recognized by the average profile operator.
25 class ObsProfileAverageParameters : public oops::Parameters {
26  OOPS_CONCRETE_PARAMETERS(ObsProfileAverageParameters, Parameters)
27 
28  public:
29  /// Operator name. In future will be moved to a base class for parameters of all ObsOperators.
30  oops::OptionalParameter<std::string> name{"name", this};
31 
32  /// List of variables to be used by this operator.
33  oops::Parameter<std::vector<ufo::Variable>> variables{"variables", {}, this};
34 
35  /// Name of model vertical coordinate.
36  oops::RequiredParameter<std::string> modelVerticalCoordinate{"vertical coordinate", this};
37 
38  /// Number of iterations that are used to find the intersection between
39  /// the observed profile and each model level.
40  oops::Parameter<int> numIntersectionIterations
41  {"number of intersection iterations", 3, this, {oops::minConstraint(1)}};
42 
43  /// Perform comparisons of auxiliary variables with OPS?
44  oops::Parameter<bool> compareWithOPS{"compare with OPS", false, this};
45 };
46 
47 } // namespace ufo
48 #endif // UFO_PROFILE_OBSPROFILEAVERAGEPARAMETERS_H_
Configuration options recognized by the average profile operator.
oops::Parameter< bool > compareWithOPS
Perform comparisons of auxiliary variables with OPS?
oops::RequiredParameter< std::string > modelVerticalCoordinate
Name of model vertical coordinate.
oops::OptionalParameter< std::string > name
Operator name. In future will be moved to a base class for parameters of all ObsOperators.
oops::Parameter< std::vector< ufo::Variable > > variables
List of variables to be used by this operator.
Definition: RunCRTM.h:27