def test_plot_block_data_vector(self): grid = EclGrid.create_rectangular((10, 10, 10), (1, 1, 1)) config_node = EnkfConfigNode.createFieldConfigNode("FIELD", grid) config_node.updateStateField(EnkfTruncationType.TRUNCATE_NONE, 0, 0) obs_vector = ObsVector(EnkfObservationImplementationType.BLOCK_OBS, "OBS", config_node, 100) pbv = PlotBlockVector(obs_vector, 0) self.assertEqual(len(pbv), 0)
def test_observations(self): with TestAreaContext("enkf_test") as work_area: work_area.copy_directory(self.case_directory) main = EnKFMain("simple_config/minimum_config") count = 10 summary_key = "test_key" observation_key = "test_obs_key" summary_observation_node = EnkfConfigNode.createSummaryConfigNode( summary_key, LoadFailTypeEnum.LOAD_FAIL_EXIT) observation_vector = ObsVector( EnkfObservationImplementationType.SUMMARY_OBS, observation_key, summary_observation_node, count) main.getObservations().addObservationVector(observation_vector) values = [] for index in range(0, count): value = index * 10.5 std = index / 10.0 summary_observation_node = SummaryObservation( summary_key, observation_key, value, std) observation_vector.installNode(index, summary_observation_node) self.assertEqual(observation_vector.getNode(index), summary_observation_node) self.assertEqual(value, summary_observation_node.getValue()) values.append((index, value, std)) observations = main.getObservations() test_vector = observations[observation_key] index = 0 for node in test_vector: self.assertTrue(isinstance(node, SummaryObservation)) self.assertEqual(node.getValue(), index * 10.5) index += 1 self.assertEqual(observation_vector, test_vector) for index, value, std in values: self.assertTrue(test_vector.isActive(index)) summary_observation_node = test_vector.getNode(index) """@type: SummaryObservation""" self.assertEqual(value, summary_observation_node.getValue()) self.assertEqual( std, summary_observation_node.getStandardDeviation()) self.assertEqual(summary_key, summary_observation_node.getSummaryKey()) main.free()
def test_observations(self): with TestAreaContext("enkf_test") as work_area: work_area.copy_directory(self.case_directory) main = EnKFMain("simple_config/minimum_config", self.site_config_file) count = 10 summary_key = "test_key" observation_key = "test_obs_key" summary_observation_node = EnkfConfigNode.createSummaryConfigNode(summary_key, LoadFailTypeEnum.LOAD_FAIL_EXIT) observation_vector = ObsVector(EnkfObservationImplementationType.SUMMARY_OBS, observation_key, summary_observation_node, count) main.getObservations().addObservationVector(observation_key, observation_vector) values = [] for index in range(0, count): value = index * 10.5 std = index / 10.0 summary_observation_node = SummaryObservation(summary_key, observation_key, value, std) observation_vector.installNode(index, summary_observation_node) self.assertEqual(observation_vector.getNode(index), summary_observation_node) self.assertEqual(value, summary_observation_node.getValue()) values.append((index, value, std)) observations = main.getObservations() test_vector = observations.getObservationsVector(observation_key) self.assertListEqual(range(10), [report_step for report_step in test_vector]) self.assertEqual(observation_vector, test_vector) for index, value, std in values: self.assertTrue(test_vector.isActive(index)) summary_observation_node = test_vector.getNode(index) """@type: SummaryObservation""" self.assertEqual(value, summary_observation_node.getValue()) self.assertEqual(std, summary_observation_node.getStandardDeviation()) self.assertEqual(summary_key, summary_observation_node.getSummaryKey()) main.free()