OOPS
LocalizationMatrixL95.h
Go to the documentation of this file.
1
/*
2
* (C) Copyright 2009-2016 ECMWF.
3
* (C) Copyright 2020-2020 UCAR
4
*
5
* This software is licensed under the terms of the Apache Licence Version 2.0
6
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
7
* In applying this licence, ECMWF does not waive the privileges and immunities
8
* granted to it by virtue of its status as an intergovernmental organisation nor
9
* does it submit to any jurisdiction.
10
*/
11
12
#ifndef LORENZ95_LOCALIZATIONMATRIXL95_H_
13
#define LORENZ95_LOCALIZATIONMATRIXL95_H_
14
15
#include <ostream>
16
#include <string>
17
#include <vector>
18
#include <boost/noncopyable.hpp>
19
20
#include "eckit/config/Configuration.h"
21
#include "oops/util/DateTime.h"
22
#include "oops/util/ObjectCounter.h"
23
#include "oops/util/Printable.h"
24
25
#include "
lorenz95/L95Traits.h
"
26
27
// Forward declarations
28
namespace
lorenz95
{
29
class
IncrementL95;
30
31
/// Localization matrix for Lorenz 95 model.
32
33
// -----------------------------------------------------------------------------
34
class
LocalizationMatrixL95
:
public
util::Printable,
35
private
util::ObjectCounter<LocalizationMatrixL95> {
36
public
:
37
static
const
std::string
classname
() {
return
"lorenz95::LocalizationMatrixL95"
;}
38
39
LocalizationMatrixL95
(
const
Resolution
&,
const
eckit::Configuration &);
40
void
multiply
(
IncrementL95
&)
const
;
41
42
private
:
43
void
print
(std::ostream &)
const override
;
44
const
unsigned
int
resol_
;
45
const
double
rscale_
;
46
std::vector<double>
coefs_
;
47
};
48
// -----------------------------------------------------------------------------
49
}
// namespace lorenz95
50
51
#endif // LORENZ95_LOCALIZATIONMATRIXL95_H_
lorenz95::LocalizationMatrixL95::coefs_
std::vector< double > coefs_
Definition:
LocalizationMatrixL95.h:46
lorenz95::Resolution
Handles resolution.
Definition:
Resolution.h:42
lorenz95::LocalizationMatrixL95::classname
static const std::string classname()
Definition:
LocalizationMatrixL95.h:37
lorenz95::LocalizationMatrixL95::resol_
const unsigned int resol_
Definition:
LocalizationMatrixL95.h:44
lorenz95::IncrementL95
Increment Class: Difference between two states.
Definition:
IncrementL95.h:60
lorenz95::LocalizationMatrixL95
Localization matrix for Lorenz 95 model.
Definition:
LocalizationMatrixL95.h:35
L95Traits.h
lorenz95::LocalizationMatrixL95::rscale_
const double rscale_
Definition:
LocalizationMatrixL95.h:45
lorenz95::LocalizationMatrixL95::print
void print(std::ostream &) const override
Definition:
LocalizationMatrixL95.cc:66
lorenz95
The namespace for the L95 model.
Definition:
l95/src/lorenz95/AnalyticInit.cc:17
lorenz95::LocalizationMatrixL95::multiply
void multiply(IncrementL95 &) const
Definition:
LocalizationMatrixL95.cc:53
lorenz95::LocalizationMatrixL95::LocalizationMatrixL95
LocalizationMatrixL95(const Resolution &, const eckit::Configuration &)
Definition:
LocalizationMatrixL95.cc:28
fv3-bundle
oops
l95
src
lorenz95
LocalizationMatrixL95.h
Generated on Sun Oct 25 2020 12:42:57 for OOPS by
1.8.18