@@ -77,6 +77,7 @@ CASE("test interpolator") {
77
77
eckit::LocalConfiguration interp_conf;
78
78
interp_conf.set (" type" , " unstructured-bilinear-lonlat" );
79
79
interp_conf.set (" non_linear" , " missing-if-all-missing-real32" );
80
+ interp_conf.set (" adjoint" , true );
80
81
settings_map[" ORCA2_T" ].interpolator_config .set (" atlas-interpolator" , interp_conf);
81
82
82
83
std::vector<std::string> state_variables {
@@ -130,6 +131,7 @@ CASE("test interpolator") {
130
131
eckit::LocalConfiguration interp_conf;
131
132
interp_conf.set (" type" , " unstructured-bilinear-lonlat" );
132
133
interp_conf.set (" non_linear" , " missing-if-all-missing-real32" );
134
+ interp_conf.set (" adjoint" , true );
133
135
settings_map[" AMM1" ].interpolator_config .set (" atlas-interpolator" , interp_conf);
134
136
135
137
std::vector<std::string> state_variables {
@@ -233,23 +235,22 @@ CASE("test interpolator") {
233
235
// increment -> observation space
234
236
interpolator.apply (settings.surf_vars , increment, mask, vals);
235
237
238
+ double kgo_value=1 ;
239
+
236
240
for (size_t i=0 ; i < settings.surf_values .size (); ++i) {
237
241
std::cout << " vals[" << i << " ] " << std::setprecision (12 ) << vals[i]
238
- << " kgo_values[" << i << " ] " << settings.surf_values [i] << std::endl;
242
+ << " kgo_values[" << i << " ] " << kgo_value << std::endl;
243
+ }
244
+ for (size_t i=0 ; i < settings.surf_values .size (); ++i) {
245
+ EXPECT (std::abs (vals[i] - kgo_value) < ATOL);
239
246
}
240
- // for (size_t i=0; i < settings.surf_values.size(); ++i) {
241
- // EXPECT(std::abs(vals[i] - settings.surf_values[i]) < ATOL);
242
- // }
243
247
244
248
Increment incrementout (geometry, settings.surf_vars , incrementParams.date );
245
249
// observation space -> increment
246
250
interpolator.applyAD (settings.surf_vars , incrementout, mask, vals);
247
251
248
- incrementout.write (incrementParams);
249
-
252
+ incrementout.write (incrementParams);
250
253
}
251
-
252
-
253
254
}
254
255
}
255
256
0 commit comments