8 #ifndef TEST_ASSIMILATION_SPECTRALLMP_H_
9 #define TEST_ASSIMILATION_SPECTRALLMP_H_
14 #include <boost/ptr_container/ptr_vector.hpp>
16 #define ECKIT_TESTING_SELF_REGISTER_CASES 0
18 #include "eckit/config/LocalConfiguration.h"
19 #include "eckit/testing/Test.h"
24 #include "oops/util/Expect.h"
25 #include "oops/util/FloatCompare.h"
36 boost::ptr_vector<Vector3D> hvecs;
37 boost::ptr_vector<Vector3D> vvecs;
38 boost::ptr_vector<Vector3D> zvecs;
39 std::vector<double> alphas;
40 std::vector<double> betas;
43 hvecs.push_back(
new Vector3D(1, 1, 1));
44 hvecs.push_back(
new Vector3D(1, 1, 1));
45 hvecs.push_back(
new Vector3D(1, 1, 1));
46 vvecs.push_back(
new Vector3D(1, 1, 1));
47 vvecs.push_back(
new Vector3D(1, 1, 1));
48 vvecs.push_back(
new Vector3D(1, 1, 1));
49 zvecs.push_back(
new Vector3D(1, 1, 1));
50 zvecs.push_back(
new Vector3D(1, 1, 1));
51 zvecs.push_back(
new Vector3D(1, 1, 1));
53 alphas.push_back(1.0);
54 alphas.push_back(1.0);
58 spectralLMP.
update(vvecs, hvecs, zvecs, alphas, betas);
71 hvecs.push_back(
new Vector3D(10, 1, -10));
72 hvecs.push_back(
new Vector3D(1, 10, 100));
73 hvecs.push_back(
new Vector3D(-5, 5, 20));
74 vvecs.push_back(
new Vector3D(1, 3, 11));
75 vvecs.push_back(
new Vector3D(-1, 2, 100));
76 vvecs.push_back(
new Vector3D(6, 77, 7));
77 zvecs.push_back(
new Vector3D(1, 10, 1));
78 zvecs.push_back(
new Vector3D(1, 21, 21));
79 zvecs.push_back(
new Vector3D(100, 3, 70));
81 alphas.push_back(1000.0);
82 alphas.push_back(33.0);
83 betas.push_back(93.0);
86 spectralLMP.
update(vvecs, hvecs, zvecs, alphas, betas);
96 std::string
testid()
const override {
return "test::SpectralLMP";}
99 std::vector<eckit::testing::Test>& ts = eckit::testing::specification();
102 for (
const std::string & testCaseName : conf.keys())
106 ts.emplace_back(
CASE(
"SpectralLMP/" + testCaseName, testCaseConf)
118 #endif // TEST_ASSIMILATION_SPECTRALLMP_H_