16 #include "eckit/config/Configuration.h"
20 #include "oops/util/Logger.h"
33 sigmab_(params.standardDeviation),
34 rscale_(1.0/params.lengthScale)
39 std::vector<double> structFct(
resol_);
40 for (
unsigned int jj = 0; jj <
resol_; ++jj) {
42 structFct[jj] = std::exp(-0.5*zz*zz);
45 std::vector<std::complex<double> > coefs(
size_);
46 fft_.fwd(coefs, structFct);
49 for (
unsigned int jj = 0; jj <
size_; ++jj) {
50 bcoefs_[jj] = std::real(coefs[jj]);
58 std::vector<std::complex<double> > coefs(
resol_);
60 for (
unsigned int jj = 0; jj <
size_; ++jj) {
70 std::vector<std::complex<double> > coefs(
resol_);
72 for (
unsigned int jj = 0; jj <
size_; ++jj) {
82 std::vector<std::complex<double> > coefs(
resol_);
84 for (
unsigned int jj = 0; jj <
size_; ++jj) {
85 coefs[jj] *= std::sqrt(
bcoefs_[jj]);
92 os <<
"ErrorCovarianceL95: time = " <<
time_ <<
", std dev = " <<
sigmab_
93 <<
", length scale = " << 1.0/
rscale_ << std::endl;