예제 #1
0
    def test_gen_data_collector(self):
        config = self.createTestPath("local/snake_oil/snake_oil.ert")
        with ErtTestContext("python/enkf/export/gen_data_collector", config) as context:
            ert = context.getErt()

            with self.assertRaises(KeyError):
                data = GenDataCollector.loadGenData(ert, "default_0", "RFT_XX", 199)

            with self.assertRaises(ValueError):
                data = GenDataCollector.loadGenData(ert, "default_0", "SNAKE_OIL_OPR_DIFF", 198)

            data1 = GenDataCollector.loadGenData(ert, "default_0", "SNAKE_OIL_OPR_DIFF", 199)

            self.assertFloatEqual(data1[0][0], -0.008206)
            self.assertFloatEqual(data1[24][1], -0.119255)
            self.assertFloatEqual(data1[24][1000], -0.258516)
예제 #2
0
    def gatherGenDataData(ert, case, key):
        """ :rtype: pandas.DataFrame """
        key, report_step = key.split("@", 1)
        report_step = int(report_step)
        try:
            data = GenDataCollector.loadGenData(ert, case, key, report_step)
        except ValueError:
            data = DataFrame()

        return data.dropna() # removes all rows that has a NaN
예제 #3
0
    def test_gen_data_collector(self):
        config = self.createTestPath("local/snake_oil/snake_oil.ert")
        with ErtTestContext("python/enkf/export/gen_data_collector",
                            config) as context:
            ert = context.getErt()

            with self.assertRaises(KeyError):
                data = GenDataCollector.loadGenData(ert, "default_0", "RFT_XX",
                                                    199)

            with self.assertRaises(ValueError):
                data = GenDataCollector.loadGenData(ert, "default_0",
                                                    "SNAKE_OIL_OPR_DIFF", 198)

            data1 = GenDataCollector.loadGenData(ert, "default_0",
                                                 "SNAKE_OIL_OPR_DIFF", 199)

            self.assertFloatEqual(data1[0][0], -0.008206)
            self.assertFloatEqual(data1[24][1], -0.119255)
            self.assertFloatEqual(data1[24][1000], -0.258516)

            realization_index = 10
            data1 = GenDataCollector.loadGenData(
                ert,
                "default_0",
                "SNAKE_OIL_OPR_DIFF",
                199,
                realization_index=realization_index,
            )

            assert len(data1.index) == 2000
            assert list(data1.columns) == [realization_index]

            realization_index = 150
            with pytest.raises(IndexError):
                data1 = GenDataCollector.loadGenData(
                    ert,
                    "default_0",
                    "SNAKE_OIL_OPR_DIFF",
                    199,
                    realization_index=realization_index,
                )
예제 #4
0
 def load_gen_data(self, case_name, key, report_step):
     return GenDataCollector.loadGenData(self._enkf_main, case_name, key,
                                         report_step)