diff --git a/src/dev/ParallelChecker.hpp b/src/dev/ParallelChecker.hpp index 97729f38a9f5d31356919bcb757b4e120accc38d..ab9f092fbca41fdc52a978172fba6b83a7ac1568 100644 --- a/src/dev/ParallelChecker.hpp +++ b/src/dev/ParallelChecker.hpp @@ -461,7 +461,10 @@ class ParallelChecker << rang::fg::reset << ")\n"; is_comparable = false; } - std::vector reference_data_shape = group.getDataSet(reference_name).getSpace().getDimensions(); + + auto data_group = group.getGroup("data"); + + std::vector reference_data_shape = data_group.getDataSet(reference_name).getSpace().getDimensions(); if (reference_data_shape.size() != data_shape.size()) { std::cout << rang::fg::cyan << " | " << rang::fgB::red << "different data shape kind: reference (" << rang::fgB::yellow << reference_data_shape.size() << "d array" << rang::fgB::red << ") / target (" @@ -583,7 +586,9 @@ class ParallelChecker group.createAttribute("item_type", std::string{itemName(item_type)}); group.createAttribute("data_type", demangle<DataType>()); - this->_writeArray(group, name, item_value.arrayView()); + auto data_group = group.createGroup("data"); + + this->_writeArray(data_group, name, item_value.arrayView()); this->_writeItemNumbers<item_type>(i_connectivity, file, group); @@ -622,7 +627,8 @@ class ParallelChecker group.createAttribute("item_type", std::string{itemName(item_type)}); group.createAttribute("data_type", demangle<DataType>()); - this->_writeTable(group, name, item_array.tableView()); + auto data_group = group.createGroup("data"); + this->_writeTable(data_group, name, item_array.tableView()); this->_writeItemNumbers<item_type>(i_connectivity, file, group); @@ -666,7 +672,8 @@ class ParallelChecker group.createAttribute("data_type", demangle<DataType>()); - this->_writeArray(group, name, subitem_value_per_item.arrayView()); + auto data_group = group.createGroup("data"); + this->_writeArray(data_group, name, subitem_value_per_item.arrayView()); this->_writeItemNumbers<item_type>(i_connectivity, file, group); this->_writeItemNumbers<sub_item_type>(i_connectivity, file, group); @@ -712,7 +719,8 @@ class ParallelChecker group.createAttribute("data_type", demangle<DataType>()); - this->_writeTable(group, name, subitem_value_per_item.tableView()); + auto data_group = group.createGroup("data"); + this->_writeTable(data_group, name, subitem_value_per_item.tableView()); this->_writeItemNumbers<item_type>(i_connectivity, file, group); this->_writeItemNumbers<sub_item_type>(i_connectivity, file, group); @@ -753,7 +761,10 @@ class ParallelChecker Array<const int> reference_item_numbers = this->_readArray<int>(group, std::string{itemName(item_type)} + "_numbers"); - Array<const DataType> reference_item_value = this->_readArray<DataType>(group, reference_name); + + auto data_group = group.getGroup("data"); + + Array<const DataType> reference_item_value = this->_readArray<DataType>(data_group, reference_name); Array<const int> item_numbers = this->_getItemNumber<item_type>(i_connectivity); @@ -880,7 +891,10 @@ class ParallelChecker Array<const int> reference_item_numbers = this->_readArray<int>(group, std::string{itemName(item_type)} + "_numbers"); - Table<const DataType> reference_item_array = this->_readTable<DataType>(group, reference_name); + + auto data_group = group.getGroup("data"); + + Table<const DataType> reference_item_array = this->_readTable<DataType>(data_group, reference_name); Array<const int> item_numbers = this->_getItemNumber<item_type>(i_connectivity); @@ -1020,7 +1034,9 @@ class ParallelChecker Array<const IndexType> reference_subitem_rows_map = this->_readArray<IndexType>(group, "rows_map"); Array<const IndexType> reference_subitem_index = this->_readArray<IndexType>(group, "sub_item_index"); - Array<const DataType> reference_subitem_value_per_item = this->_readArray<DataType>(group, reference_name); + auto data_group = group.getGroup("data"); + + Array<const DataType> reference_subitem_value_per_item = this->_readArray<DataType>(data_group, reference_name); Array<const int> item_numbers = this->_getItemNumber<item_type>(i_connectivity); Array<const int> sub_item_numbers = this->_getItemNumber<sub_item_type>(i_connectivity); @@ -1211,7 +1227,9 @@ class ParallelChecker Array<const IndexType> reference_subitem_rows_map = this->_readArray<IndexType>(group, "rows_map"); Array<const IndexType> reference_subitem_index = this->_readArray<IndexType>(group, "sub_item_index"); - Table<const DataType> reference_subitem_array_per_item = this->_readTable<DataType>(group, reference_name); + auto data_group = group.getGroup("data"); + + Table<const DataType> reference_subitem_array_per_item = this->_readTable<DataType>(data_group, reference_name); Array<const int> item_numbers = this->_getItemNumber<item_type>(i_connectivity); Array<const int> sub_item_numbers = this->_getItemNumber<sub_item_type>(i_connectivity); diff --git a/tests/test_ParallelChecker_read.cpp b/tests/test_ParallelChecker_read.cpp index 40628382f6336517a9e2636d5e65fbe90cb774ab..0bb1d5566e3754aa6969ce956fba4d1398059fcd 100644 --- a/tests/test_ParallelChecker_read.cpp +++ b/tests/test_ParallelChecker_read.cpp @@ -331,7 +331,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") for (size_t i = 0; i < cell_numbers.size(); ++i) { values[i] = std::sin(cell_numbers[i]); } - group.createDataSet<double>(name, HighFive::DataSpace{std::vector<size_t>{cell_numbers.size()}}) + group.createDataSet<double>("data/" + name, HighFive::DataSpace{std::vector<size_t>{cell_numbers.size()}}) .write_raw<double>(&(values[0])); group.createAttribute("filename", source_location.filename()); @@ -512,8 +512,9 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet<double>(name, HighFive::DataSpace{std::vector<size_t>{double_table.numberOfRows(), - double_table.numberOfColumns()}}) + .createDataSet<double>("data/" + name, + HighFive::DataSpace{ + std::vector<size_t>{double_table.numberOfRows(), double_table.numberOfColumns()}}) .write_raw<double>(&(double_table(0, 0))); group.createAttribute("filename", source_location.filename()); @@ -654,7 +655,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet(name, HighFive::DataSpace{std::vector<size_t>{node_numbers.size()}}, + .createDataSet("data/" + name, HighFive::DataSpace{std::vector<size_t>{node_numbers.size()}}, test_TinyVectorDataType<DataType>{}) .template write_raw<double>(&(values[0][0]), test_TinyVectorDataType<DataType>{}); @@ -751,7 +752,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet(name, + .createDataSet("data/" + name, HighFive::DataSpace{std::vector<size_t>{dt_table.numberOfRows(), dt_table.numberOfColumns()}}, test_TinyMatrixDataType<DataType>{}) .template write_raw<double>(&(dt_table[0][0](0, 0)), test_TinyMatrixDataType<DataType>{}); @@ -900,7 +901,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet(name, HighFive::DataSpace{std::vector<size_t>{node_numbers.size()}}, + .createDataSet("data/" + name, HighFive::DataSpace{std::vector<size_t>{node_numbers.size()}}, test_TinyMatrixDataType<DataType>{}) .template write_raw<double>(&(values[0](0, 0)), test_TinyMatrixDataType<DataType>{}); @@ -997,7 +998,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet(name, + .createDataSet("data/" + name, HighFive::DataSpace{std::vector<size_t>{dt_table.numberOfRows(), dt_table.numberOfColumns()}}, test_TinyVectorDataType<DataType>{}) .template write_raw<double>(&(dt_table[0][0][0]), test_TinyVectorDataType<DataType>{}); @@ -1158,7 +1159,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } - group.createDataSet<double>(name, HighFive::DataSpace{std::vector<size_t>{values.size()}}) + group.createDataSet<double>("data/" + name, HighFive::DataSpace{std::vector<size_t>{values.size()}}) .write_raw<double>(&(values[0])); group.createAttribute("filename", source_location.filename()); @@ -1376,8 +1377,9 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet<double>(name, HighFive::DataSpace{std::vector<size_t>{double_table.numberOfRows(), - double_table.numberOfColumns()}}) + .createDataSet<double>("data/" + name, + HighFive::DataSpace{ + std::vector<size_t>{double_table.numberOfRows(), double_table.numberOfColumns()}}) .write_raw<double>(&(double_table(0, 0))); group.createAttribute("filename", source_location.filename()); @@ -1527,7 +1529,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet(name, + .createDataSet("data/" + name, HighFive::DataSpace{std::vector<size_t>{dt_table.numberOfRows(), dt_table.numberOfColumns()}}, test_TinyMatrixDataType<DataType>{}) .template write_raw<double>(&(dt_table[0][0](0, 0)), test_TinyMatrixDataType<DataType>{}); @@ -1688,7 +1690,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } - group.createDataSet<double>(name, HighFive::DataSpace{std::vector<size_t>{values.size()}}) + group.createDataSet<double>("data/" + name, HighFive::DataSpace{std::vector<size_t>{values.size()}}) .write_raw<double>(&(values[0])); group.createAttribute("filename", source_location.filename()); @@ -1891,7 +1893,7 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet(name, + .createDataSet("data/" + name, HighFive::DataSpace{std::vector<size_t>{dt_table.numberOfRows(), dt_table.numberOfColumns()}}, test_TinyVectorDataType<DataType>{}) .template write_raw<double>(&(dt_table[0][0][0]), test_TinyVectorDataType<DataType>{}); @@ -2052,8 +2054,9 @@ TEST_CASE("ParallelChecker_read", "[dev]") } } group - .createDataSet<double>(name, HighFive::DataSpace{std::vector<size_t>{double_table.numberOfRows(), - double_table.numberOfColumns()}}) + .createDataSet<double>("data/" + name, + HighFive::DataSpace{ + std::vector<size_t>{double_table.numberOfRows(), double_table.numberOfColumns()}}) .write_raw<double>(&(double_table(0, 0))); group.createAttribute("filename", source_location.filename()); diff --git a/tests/test_ParallelChecker_write.cpp b/tests/test_ParallelChecker_write.cpp index 460d77dadf6f0519c0f0d808071b3933a8d6df33..e1463d00b1b1469db4a5ecdb595f559de4af3b6f 100644 --- a/tests/test_ParallelChecker_write.cpp +++ b/tests/test_ParallelChecker_write.cpp @@ -109,7 +109,7 @@ TEST_CASE("ParallelChecker_write", "[dev]") REQUIRE(group_var0.getNumberObjects() == 2); REQUIRE(group_var0.exist(std::string{itemName(item_type)} + "_numbers")); - REQUIRE(group_var0.exist(var_name)); + REQUIRE(group_var0.exist("data/" + var_name)); REQUIRE(group_var0.getNumberAttributes() == 7); REQUIRE(group_var0.hasAttribute("filename")); @@ -372,7 +372,7 @@ TEST_CASE("ParallelChecker_write", "[dev]") REQUIRE(group_var0.exist(std::string{itemName(sub_item_type)} + "_numbers")); REQUIRE(group_var0.exist("sub_item_index")); REQUIRE(group_var0.exist("rows_map")); - REQUIRE(group_var0.exist(var_name)); + REQUIRE(group_var0.exist("data/" + var_name)); REQUIRE(group_var0.getNumberAttributes() == 8); REQUIRE(group_var0.hasAttribute("filename"));