Example #1
0
    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 )
Example #2
0
 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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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 )
Example #6
0
    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)
Example #7
0
 def test_create(self):
     active_list = ActiveList()
     self.assertEqual(active_list.getMode(), ActiveMode.ALL_ACTIVE)
     active_list.addActiveIndex(10)
Example #8
0
 def test_create(self):
     active_list = ActiveList()
     self.assertEqual( active_list.getMode() , ActiveMode.ALL_ACTIVE )
     active_list.addActiveIndex( 10 )
Example #9
0
    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))