def test_insert_weighted(self): gs = self.fixture_grid_chunker() dst_master_path = self.get_temporary_file_path('out.nc') gs.dst_grid.parent.write(dst_master_path) dst_master = RequestDataset(dst_master_path).get() desired_sums = {} for data_variable in dst_master.data_variables: dv_sum = data_variable.get_value().sum() desired_sums[data_variable.name] = dv_sum self.assertNotEqual(dv_sum, 0) data_variable.get_value()[:] = 0 dst_master.write(dst_master_path, write_mode=MPIWriteMode.FILL) dst_master = RequestDataset(dst_master_path).get() for data_variable in dst_master.data_variables: self.assertEqual(data_variable.get_value().sum(), 0) gs.write_chunks() index_path = gs.create_full_path_from_template('index_file') gs.insert_weighted(index_path, self.current_dir_output, dst_master_path) actual_sums = {} dst_master_inserted = RequestDataset(dst_master_path).get() for data_variable in dst_master_inserted.data_variables: dv_value = data_variable.get_value() dv_sum = dv_value.sum() actual_sums[data_variable.name] = dv_sum for k, v in list(actual_sums.items()): self.assertAlmostEqual(v, desired_sums[k])
def test_insert_weighted(self): gs = self.get_grid_splitter() dst_master_path = self.get_temporary_file_path('out.nc') gs.dst_grid.parent.write(dst_master_path) dst_master = RequestDataset(dst_master_path).get() desired_sums = {} for data_variable in dst_master.data_variables: dv_sum = data_variable.get_value().sum() desired_sums[data_variable.name] = dv_sum self.assertNotEqual(dv_sum, 0) data_variable.get_value()[:] = 0 dst_master.write(dst_master_path, write_mode=MPIWriteMode.FILL) dst_master = RequestDataset(dst_master_path).get() for data_variable in dst_master.data_variables: self.assertEqual(data_variable.get_value().sum(), 0) gs.write_subsets() index_path = gs.create_full_path_from_template('index_file') gs.insert_weighted(index_path, self.current_dir_output, dst_master_path) actual_sums = {} dst_master_inserted = RequestDataset(dst_master_path).get() for data_variable in dst_master_inserted.data_variables: dv_value = data_variable.get_value() dv_sum = dv_value.sum() actual_sums[data_variable.name] = dv_sum for k, v in list(actual_sums.items()): self.assertAlmostEqual(v, desired_sums[k])