|
OOPS
|
#include <VariableChangeBase.h>


Public Member Functions | |
| GenericVariableChangeBase ()=default | |
| virtual | ~GenericVariableChangeBase ()=default |
| virtual void | changeVar (const State_ &xin, State_ &xout) const =0 |
change variables from state xin to xout More... | |
| virtual void | changeVarInverse (const State_ &xout, State_ &xin) const =0 |
inverse of changeVar, change variables back from xout to xin More... | |
Private Types | |
| typedef State< MODEL > | State_ |
Private Member Functions | |
| virtual void | print (std::ostream &) const =0 |
| Print, used for logging. More... | |
Base class for a variable transforms, defining the interfaces. Use this class as a base class for generic implementations, and VariableChangeBase as a base class for MODEL-specific implementations.
Note: subclasses can opt to extract their settings either from a Configuration object or from a subclass of Parameters.
In the former case, they should provide a constructor with the following signature:
VariableChange(const Geometry_ &, const eckit::Configuration &);
In the latter case, the implementer should first define a subclass of VariableChangeParametersBase holding the settings of the variable change in question. The implementation of the VariableChange interface should then typedef Parameters_ to the name of that subclass and provide a constructor with the following signature:
VariableChange(const Geometry_ &, const Parameters_ &);
Definition at line 55 of file VariableChangeBase.h.
|
private |
Definition at line 57 of file VariableChangeBase.h.
|
default |
|
virtualdefault |
|
pure virtual |
change variables from state xin to xout
Implemented in oops::VariableChangeBase< QgTraits >, oops::VariableChangeBase< MODEL >, oops::IdVariableChange< MODEL >, and oops::VariableChangeBase< MODEL >.
|
pure virtual |
inverse of changeVar, change variables back from xout to xin
Implemented in oops::VariableChangeBase< QgTraits >, oops::VariableChangeBase< MODEL >, oops::IdVariableChange< MODEL >, and oops::VariableChangeBase< MODEL >.
|
privatepure virtual |
Print, used for logging.
Implemented in oops::IdVariableChange< MODEL >, and qg::ChangeVarQG.