Skip to content
Snippets Groups Projects
Commit 4a3554a1 authored by Volker Neff's avatar Volker Neff
Browse files

update to new field

parent 17b62cc1
No related branches found
No related tags found
1 merge request!6Draft: [WIP] New Field Architekture
......@@ -147,26 +147,26 @@ remap_dist_wgt(size_t numNeighbors, RemapSearch &rsearch, const Varray<T> &srcAr
void
remap_dist_wgt(size_t numNeighbors, RemapSearch &rsearch, const Field_t &field1, Field_t &field2)
{
if (field1.memType != field2.memType) cdo_abort("Interal error, memType of field1 and field2 differ!");
if (field1.memType == MemType::Float)
remap_dist_wgt(numNeighbors, rsearch, field1.vec_f, field2.vec_f, (float) field1.missval);
else
remap_dist_wgt(numNeighbors, rsearch, field1.vec_d, field2.vec_d, field1.missval);
const auto func = [](LambdaField_T_ field1, LambdaField_T_ field2, size_t numNeighbors, RemapSearch &rsearch) {
remap_dist_wgt(numNeighbors, rsearch, field1.vec, field2.vec, field1.getMissValue());
};
field_operation2(func, field1, field2, numNeighbors, rsearch);
}
void remapInit(RemapType &remap);
template<typename T>
void
intgriddis(Field_t &field1, Field_t &field2, size_t numNeighbors)
intgriddis(Field<T> &field1, Field<T> &field2, size_t numNeighbors)
{
auto mapType = RemapMethod::DISTWGT;
auto gridID1 = field1.grid;
auto gridID2 = field2.grid;
auto src_missval = field1.missval;
auto tgt_missval = field2.missval;
auto srcArray = field1.vec_d.data();
auto tgtArray = field2.vec_d.data();
auto src_missval = field1.getMissValue();
auto tgt_missval = field2.getMissValue();
auto srcArray = field1.vec.data();
auto tgtArray = field2.vec.data();
if (Options::cdoVerbose) cdo_print("Called %s()", __func__);
......@@ -234,6 +234,11 @@ intgriddis(Field_t &field1, Field_t &field2, size_t numNeighbors)
if (Options::cdoVerbose) cdo_print("Point search nearest: %.2f seconds", cdo_get_wtime() - start);
} // intgriddis
void
intgriddis(Field_t &field1, Field_t &field2, size_t numNeighbors) {
field_operation2(&intgriddis<float>, &intgriddis<double>, field1, field2, numNeighbors);
}
void
intgridnn(Field_t &field1, Field_t &field2)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment