FV3 Bundle
ufo/src/ufo/ObsBiasIncrement.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2018 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_OBSBIASINCREMENT_H_
9 #define UFO_OBSBIASINCREMENT_H_
10 
11 #include <iostream>
12 
13 #include "oops/util/Logger.h"
14 #include "oops/util/Printable.h"
15 
16 namespace eckit {
17  class Configuration;
18 }
19 
20 namespace ufo {
21  class ObsBias;
22 
23 // -----------------------------------------------------------------------------
24 
25 class ObsBiasIncrement : public util::Printable {
26  public:
27 /// Constructor, destructor
29  explicit ObsBiasIncrement(const eckit::Configuration &) {}
30  ObsBiasIncrement(const ObsBiasIncrement &, const bool copy = true) {}
31  ObsBiasIncrement(const ObsBiasIncrement &, const eckit::Configuration &) {}
33 
34 /// Linear algebra operators
35  void diff(const ObsBias &, const ObsBias &) {}
36  void zero() {}
40  ObsBiasIncrement & operator*=(const double) {}
41  void axpy(const double, const ObsBiasIncrement &) {}
42  double dot_product_with(const ObsBiasIncrement &) const {
43  oops::Log::trace() << "ufo::ObsBiasIncrement dot product" << std::endl;
44  return 0;
45  }
46 
47 /// I/O and diagnostics
48  void read(const eckit::Configuration &) {}
49  void write(const eckit::Configuration &) const {}
50  double norm() const {return 0.0;}
51 
52  private:
53  void print(std::ostream &) const {}
54 };
55 
56 // -----------------------------------------------------------------------------
57 
58 } // namespace ufo
59 
60 #endif // UFO_OBSBIASINCREMENT_H_
void axpy(const double, const ObsBiasIncrement &)
void write(const eckit::Configuration &) const
subroutine, public copy(self, rhs)
ObsBiasIncrement & operator+=(const ObsBiasIncrement &)
ObsBiasIncrement()
Constructor, destructor.
void diff(const ObsBias &, const ObsBias &)
Linear algebra operators.
ObsBiasIncrement & operator=(const ObsBiasIncrement &)
double dot_product_with(const ObsBiasIncrement &) const
void print(std::ostream &) const
ObsBiasIncrement(const ObsBiasIncrement &, const bool copy=true)
Class to handle observation bias parameters.
ObsBiasIncrement(const ObsBiasIncrement &, const eckit::Configuration &)
void read(const eckit::Configuration &)
I/O and diagnostics.
ObsBiasIncrement(const eckit::Configuration &)
ObsBiasIncrement & operator*=(const double)
ObsBiasIncrement & operator-=(const ObsBiasIncrement &)