UFO
SymmCldImpactIR.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2020 UCAR
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_OBSFUNCTIONS_SYMMCLDIMPACTIR_H_
9 #define UFO_FILTERS_OBSFUNCTIONS_SYMMCLDIMPACTIR_H_
10 
11 #include <string>
12 #include <vector>
13 
14 #include "oops/util/parameters/Parameters.h"
15 #include "oops/util/parameters/RequiredParameter.h"
18 #include "ufo/filters/Variables.h"
19 
20 namespace ufo {
21 
22 // -----------------------------------------------------------------------------
23 
24 /// \brief Options controlling Symmetric Cloud Impact for IR instruments
25 class SymmCldImpactIRParameters : public oops::Parameters {
26  OOPS_CONCRETE_PARAMETERS(SymmCldImpactIRParameters, Parameters)
27 
28  public:
29  /// channels for which SCI will be calculated
30  oops::RequiredParameter<std::string> chlist{"channels", this};
31 };
32 
33 // -----------------------------------------------------------------------------
34 
35 /// \brief Okamoto et al. symmetric cloud impact (SCI) function
36 ///
37 /// Okamoto, K., McNally, A.P. and Bell, W. (2014), Progress towards the
38 /// assimilation of all‐sky infrared radiances: an evaluation of cloud
39 /// effects. Q.J.R. Meteorol. Soc., 140: 1603-1614. doi:10.1002/qj.2242
40 class SymmCldImpactIR : public ObsFunctionBase<float> {
41  public:
42  explicit SymmCldImpactIR(const eckit::LocalConfiguration);
44 
45  void compute(const ObsFilterData &,
47  const ufo::Variables & requiredVariables() const;
48  private:
51  std::vector<int> channels_;
52 };
53 
54 // -----------------------------------------------------------------------------
55 
56 } // namespace ufo
57 
58 #endif // UFO_FILTERS_OBSFUNCTIONS_SYMMCLDIMPACTIR_H_
ObsFilterData provides access to all data related to an ObsFilter.
Okamoto et al. symmetric cloud impact (SCI) function.
SymmCldImpactIR(const eckit::LocalConfiguration)
SymmCldImpactIRParameters options_
const ufo::Variables & requiredVariables() const
geovals required to compute the function
void compute(const ObsFilterData &, ioda::ObsDataVector< float > &) const
compute the result of the function
std::vector< int > channels_
ufo::Variables invars_
Options controlling Symmetric Cloud Impact for IR instruments.
oops::RequiredParameter< std::string > chlist
channels for which SCI will be calculated
Definition: RunCRTM.h:27