def test_create(self): grid = EclGrid.createRectangular( (10,20,5) , (1,1,1) ) field_config = FieldConfig("PRESSURE" , grid) block_obs = BlockObservation("P-CONFIG" , field_config , grid) self.assertEqual( len(block_obs) , 0 ) block_obs.addPoint(1,2,3,100,25) self.assertEqual( len(block_obs) , 1 ) self.assertEqual( block_obs.getValue(0) , 100 ) self.assertEqual( block_obs.getStd(0) , 25 ) self.assertEqual( block_obs.getStdScaling(0) , 1 ) block_obs.addPoint(1,2,4,200,50) self.assertEqual( len(block_obs) , 2 ) self.assertEqual( block_obs.getValue(1) , 200 ) self.assertEqual( block_obs.getStd(1) , 50 ) self.assertEqual( block_obs.getStdScaling(1) , 1 ) active_list = ActiveList( ) block_obs.updateStdScaling( 0.50 , active_list ) self.assertEqual( block_obs.getStdScaling(0) , 0.50 ) self.assertEqual( block_obs.getStdScaling(1) , 0.50 ) active_list.addActiveIndex( 1 ) block_obs.updateStdScaling( 2.00 , active_list ) self.assertEqual( block_obs.getStdScaling(0) , 0.50 ) self.assertEqual( block_obs.getStdScaling(1) , 2.00 )
def test_repr(self): al = ActiveList() rep = repr(al) self.assertFalse('PARTLY_ACTIVE' in rep) self.assertFalse('INACTIVE' in rep) self.assertTrue('ALL_ACTIVE' in rep) pfx = 'ActiveList(' self.assertEqual(pfx, rep[:len(pfx)]) for i in range(150): al.addActiveIndex(3 * i) rep = repr(al) self.assertTrue('150' in rep) self.assertTrue('PARTLY_ACTIVE' in rep) self.assertFalse('INACTIVE' in rep) self.assertFalse('ALL_ACTIVE' in rep)
def test_std_scaling(self): sum_obs = SummaryObservation("WWCT:OP_X", "WWCT:OP_X", 0.25, 0.12) active_list = ActiveList() sum_obs.updateStdScaling(0.50, active_list) sum_obs.updateStdScaling(0.125, active_list) self.assertEqual(sum_obs.getStdScaling(), 0.125)
def test_create(self): data_config = GenDataConfig("KEY") with self.assertRaises(ValueError): gen_obs = GenObservation("KEY", data_config) with TestAreaContext("gen_obs/create"): with open("obs1.txt", "w") as f: f.write("10 5 12 6\n") with self.assertRaises(ValueError): gen_obs = GenObservation("KEY", data_config, scalar_value=(1, 2), obs_file="obs1.txt") with self.assertRaises(TypeError): gen_obs = GenObservation("KEY", data_config, scalar_value=1) with self.assertRaises(IOError): gen_obs = GenObservation("KEY", data_config, obs_file="does/not/exist") gen_obs = GenObservation("KEY", data_config, obs_file="obs1.txt", data_index="10,20") self.assertEqual(len(gen_obs), 2) self.assertEqual(gen_obs[0], (10, 5)) self.assertEqual(gen_obs[1], (12, 6)) self.assertEqual(gen_obs.getValue(0), 10) self.assertEqual(gen_obs.getDataIndex(1), 20) self.assertEqual(gen_obs.getStdScaling(0), 1) self.assertEqual(gen_obs.getStdScaling(1), 1) active_list = ActiveList() gen_obs.updateStdScaling(0.25, active_list) self.assertEqual(gen_obs.getStdScaling(0), 0.25) self.assertEqual(gen_obs.getStdScaling(1), 0.25) active_list.addActiveIndex(1) gen_obs.updateStdScaling(2.00, active_list) self.assertEqual(gen_obs.getStdScaling(0), 0.25) self.assertEqual(gen_obs.getStdScaling(1), 2.00)
def test_create(self): data_config = GenDataConfig("KEY") with self.assertRaises(ValueError): gen_obs = GenObservation("KEY" , data_config ) with TestAreaContext("gen_obs/create"): with open("obs1.txt","w") as f: f.write("10 5 12 6\n") with self.assertRaises(ValueError): gen_obs = GenObservation("KEY" , data_config , scalar_value = (1,2) , obs_file = "obs1.txt") with self.assertRaises(TypeError): gen_obs = GenObservation("KEY" , data_config , scalar_value = 1 ) with self.assertRaises(IOError): gen_obs = GenObservation("KEY" , data_config , obs_file = "does/not/exist" ) gen_obs = GenObservation("KEY" , data_config , obs_file = "obs1.txt" , data_index = "10,20") self.assertEqual( len(gen_obs) , 2 ) self.assertEqual( gen_obs[0] , (10,5) ) self.assertEqual( gen_obs[1] , (12,6) ) self.assertEqual( gen_obs.getValue(0) , 10 ) self.assertEqual( gen_obs.getDataIndex(1) , 20 ) self.assertEqual( gen_obs.getStdScaling(0) , 1 ) self.assertEqual( gen_obs.getStdScaling(1) , 1 ) active_list = ActiveList( ) gen_obs.updateStdScaling( 0.25 , active_list ) self.assertEqual( gen_obs.getStdScaling(0) , 0.25 ) self.assertEqual( gen_obs.getStdScaling(1) , 0.25 ) active_list.addActiveIndex( 1 ) gen_obs.updateStdScaling( 2.00 , active_list ) self.assertEqual( gen_obs.getStdScaling(0) , 0.25 ) self.assertEqual( gen_obs.getStdScaling(1) , 2.00 )
def test_scale_obs(self): with ErtTestContext("obs_test", self.config_file) as test_context: ert = test_context.getErt() obs = ert.getObservations() obs1 = obs["WWCT:OP_1"].getNode(50) obs2 = obs["WWCT:OP_1_50"].getNode(50) self.assertEqual(obs1.getStandardDeviation(), obs2.getStandardDeviation()) std0 = obs1.getStandardDeviation() local_obsdata = LocalObsdata("obs", obs) node1 = local_obsdata.addNode("WWCT:OP_1") node2 = local_obsdata.addNode("WWCT:OP_1_50") node1.addTimeStep(50) node2.addTimeStep(50) mask = BoolVector(default_value=True) mask[2] = True meas_data = MeasData(mask) obs_data = ObsData() fs = ert.getEnkfFsManager().getCurrentFileSystem() active_list = IntVector() active_list.initRange(0, 2, 1) obs.getObservationAndMeasureData(fs, local_obsdata, EnkfStateType.FORECAST, active_list, meas_data, obs_data) self.assertEqual(2, len(obs_data)) v1 = obs_data[0] v2 = obs_data[1] self.assertEqual(v1[1], std0) self.assertEqual(v2[1], std0) meas_data = MeasData(mask) obs_data = ObsData(10) obs.getObservationAndMeasureData(fs, local_obsdata, EnkfStateType.FORECAST, active_list, meas_data, obs_data) self.assertEqual(2, len(obs_data)) v1 = obs_data[0] v2 = obs_data[1] self.assertEqual(v1[1], std0 * 10) self.assertEqual(v2[1], std0 * 10) actl = ActiveList() obs1.updateStdScaling(10, actl) obs2.updateStdScaling(20, actl) meas_data = MeasData(mask) obs_data = ObsData() obs.getObservationAndMeasureData(fs, local_obsdata, EnkfStateType.FORECAST, active_list, meas_data, obs_data) self.assertEqual(2, len(obs_data)) v1 = obs_data[0] v2 = obs_data[1] self.assertEqual(v1[1], std0 * 10) self.assertEqual(v2[1], std0 * 20)
def test_create(self): active_list = ActiveList() self.assertEqual(active_list.getMode(), ActiveMode.ALL_ACTIVE) active_list.addActiveIndex(10)
def test_create(self): active_list = ActiveList() self.assertEqual( active_list.getMode() , ActiveMode.ALL_ACTIVE ) active_list.addActiveIndex( 10 )
def test_active_size(self): al = ActiveList() self.assertEqual(None, al.getActiveSize(None)) self.assertEqual(7, al.getActiveSize(7)) self.assertEqual(-1, al.getActiveSize(-1)) al.addActiveIndex(10) self.assertEqual(1, al.getActiveSize(7)) al.addActiveIndex(10) self.assertEqual(1, al.getActiveSize(7)) al.addActiveIndex(100) self.assertEqual(2, al.getActiveSize(7))