예제 #1
0
    def test_Load(self):
        kw = EclKW.read_grdecl(copen(self.src_file, "r"), "PERMX")
        self.assertTrue(kw)

        grid = EclGrid(self.createTestPath("Statoil/ECLIPSE/Gurbat/ECLIPSE"))
        kw = Ecl3DKW.read_grdecl(grid, copen(self.src_file, "r"), "PERMX")
        self.assertTrue(isinstance(kw, Ecl3DKW))
예제 #2
0
    def test_Load( self ):
        kw = EclKW.read_grdecl(copen(self.src_file, "r"), "PERMX")
        self.assertTrue(kw)

        grid = EclGrid( self.createTestPath("Statoil/ECLIPSE/Gurbat/ECLIPSE" ))
        kw = Ecl3DKW.read_grdecl(grid , copen(self.src_file, "r"), "PERMX")
        self.assertTrue( isinstance( kw , Ecl3DKW ))
예제 #3
0
    def test_fseek( self ):
        file = copen(self.src_file, "r")
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX"))
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMY"))
        file.close()

        file = copen(self.src_file, "r")
        kw1 = EclKW.read_grdecl(file, "PERMX")
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMX"))
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX", rewind=True))
        file.close()
예제 #4
0
    def test_fseek(self):
        file = copen(self.src_file, "r")
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX"))
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMY"))
        file.close()

        file = copen(self.src_file, "r")
        kw1 = EclKW.read_grdecl(file, "PERMX")
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMX"))
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX", rewind=True))
        file.close()
예제 #5
0
    def test_grdecl_load(self):
        with self.assertRaises(IOError):
            grid = EclGrid.loadFromGrdecl("/file/does/not/exists")

        with TestAreaContext("python/grid-test/grdeclLoad"):
            with open("grid.grdecl","w") as f:
                f.write("Hei ...")

            with self.assertRaises(ValueError):
                grid = EclGrid.loadFromGrdecl("grid.grdecl")

            actnum = IntVector(default_value = 1 , initial_size = 1000)
            actnum[0] = 0
            g1 = EclGrid.createRectangular((10,10,10) , (1,1,1) , actnum = actnum )
            self.assertEqual( g1.getNumActive() , actnum.elementSum() )
            g1.save_EGRID("G.EGRID")

            with open("grid.grdecl" , "w") as f2:
                f2.write("SPECGRID\n")
                f2.write("  10  10  10  \'F\' /\n")

            with openEclFile("G.EGRID") as f:
                with copen("grid.grdecl" , "a") as f2:

                    coord_kw = f["COORD"][0]
                    coord_kw.write_grdecl( f2 )

                    zcorn_kw = f["ZCORN"][0]
                    zcorn_kw.write_grdecl( f2 )

                    actnum_kw = f["ACTNUM"][0]
                    actnum_kw.write_grdecl( f2 )

            g2 = EclGrid.loadFromGrdecl("grid.grdecl")
            self.assertTrue( g1.equal( g2 ))
예제 #6
0
    def test_grdecl_load(self):
        with self.assertRaises(IOError):
            grid = EclGrid.loadFromGrdecl("/file/does/not/exists")

        with TestAreaContext("python/grid-test/grdeclLoad"):
            with open("grid.grdecl","w") as f:
                f.write("Hei ...")

            with self.assertRaises(ValueError):
                grid = EclGrid.loadFromGrdecl("grid.grdecl")

            actnum = IntVector(default_value = 1 , initial_size = 1000)
            actnum[0] = 0
            g1 = EclGrid.createRectangular((10,10,10) , (1,1,1) , actnum = actnum )
            self.assertEqual( g1.getNumActive() , actnum.elementSum() )
            g1.save_EGRID("G.EGRID")

            with open("grid.grdecl" , "w") as f2:
                f2.write("SPECGRID\n")
                f2.write("  10  10  10  \'F\' /\n")

            with openEclFile("G.EGRID") as f:
                with copen("grid.grdecl" , "a") as f2:

                    coord_kw = f["COORD"][0]
                    coord_kw.write_grdecl( f2 )

                    zcorn_kw = f["ZCORN"][0]
                    zcorn_kw.write_grdecl( f2 )

                    actnum_kw = f["ACTNUM"][0]
                    actnum_kw.write_grdecl( f2 )

            g2 = EclGrid.loadFromGrdecl("grid.grdecl")
            self.assertTrue( g1.equal( g2 ))
예제 #7
0
 def setUp(self):
     self.grid = EclGrid(
         self.createTestPath("Statoil/ECLIPSE/Mariner/MARINER.EGRID"))
     fileH = copen(
         self.createTestPath("Statoil/ECLIPSE/Mariner/faultblock.grdecl"))
     self.kw = EclKW.read_grdecl(fileH,
                                 "FAULTBLK",
                                 ecl_type=EclDataType.ECL_INT)
예제 #8
0
    def test_reload( self ):
        kw = EclKW.read_grdecl(copen(self.src_file, "r"), "PERMX")
        tmp_file1 = "/tmp/permx1.grdecl"
        tmp_file2 = "/tmp/permx2.grdecl"
        self.addFile(tmp_file1)
        self.addFile(tmp_file2)

        fileH = copen(tmp_file1, "w")
        kw.write_grdecl(fileH)
        fileH.close()

        kw1 = EclKW.read_grdecl(copen(tmp_file1, "r"), "PERMX")

        fileH = copen(tmp_file2, "w")
        kw1.write_grdecl(fileH)
        fileH.close()

        self.assertFilesAreEqual(tmp_file1, tmp_file2)
예제 #9
0
    def test_reload(self):
        kw = EclKW.read_grdecl(copen(self.src_file, "r"), "PERMX")
        tmp_file1 = "/tmp/permx1.grdecl"
        tmp_file2 = "/tmp/permx2.grdecl"
        self.addFile(tmp_file1)
        self.addFile(tmp_file2)

        fileH = copen(tmp_file1, "w")
        kw.write_grdecl(fileH)
        fileH.close()

        kw1 = EclKW.read_grdecl(copen(tmp_file1, "r"), "PERMX")

        fileH = copen(tmp_file2, "w")
        kw1.write_grdecl(fileH)
        fileH.close()

        self.assertFilesAreEqual(tmp_file1, tmp_file2)
예제 #10
0
    def loadGrid(self):
        grid_file   = self.createTestPath("Statoil/ECLIPSE/Faults/grid.grdecl")
        fileH = copen(grid_file, "r")
        specgrid = EclKW.read_grdecl(fileH, "SPECGRID", ecl_type=EclDataType.ECL_INT, strict=False)
        zcorn = EclKW.read_grdecl(fileH, "ZCORN")
        coord = EclKW.read_grdecl(fileH, "COORD")
        actnum = EclKW.read_grdecl(fileH, "ACTNUM", ecl_type=EclDataType.ECL_INT)

        return EclGrid.create(specgrid, zcorn, coord, actnum)
예제 #11
0
    def test_dump_csv_line(self):
        ecl_sum_vector = EclSumKeyWordVector(self.ecl_sum)
        ecl_sum_vector.addKeywords("F*")

        with self.assertRaises(KeyError):
            ecl_sum_vector.addKeyword("MISSING")

        dtime = datetime.datetime(2002, 1, 1, 0, 0, 0)
        with TestAreaContext("EclSum/csv_dump"):
            test_file_name = self.createTestPath("dump.csv")
            outputH = copen(test_file_name, "w")
            self.ecl_sum.dumpCSVLine(dtime, ecl_sum_vector, outputH)
            assert os.path.isfile(test_file_name)
예제 #12
0
    def create(self, filename, load_actnum=True):
        fileH = copen(filename, "r")
        specgrid = EclKW.read_grdecl(fileH, "SPECGRID", ecl_type=EclDataType.ECL_INT, strict=False)
        zcorn = EclKW.read_grdecl(fileH, "ZCORN")
        coord = EclKW.read_grdecl(fileH, "COORD")
        if load_actnum:
            actnum = EclKW.read_grdecl(fileH, "ACTNUM", ecl_type=EclDataType.ECL_INT)
        else:
            actnum = None

        mapaxes = EclKW.read_grdecl(fileH, "MAPAXES")
        grid = EclGrid.create(specgrid, zcorn, coord, actnum, mapaxes=mapaxes)
        return grid
예제 #13
0
    def create(self, filename, load_actnum=True):
        fileH = copen(filename, "r")
        specgrid = EclKW.read_grdecl(fileH, "SPECGRID", ecl_type=EclDataType.ECL_INT, strict=False)
        zcorn = EclKW.read_grdecl(fileH, "ZCORN")
        coord = EclKW.read_grdecl(fileH, "COORD")
        if load_actnum:
            actnum = EclKW.read_grdecl(fileH, "ACTNUM", ecl_type=EclDataType.ECL_INT)
        else:
            actnum = None

        mapaxes = EclKW.read_grdecl(fileH, "MAPAXES")
        grid = EclGrid.create(specgrid, zcorn, coord, actnum, mapaxes=mapaxes)
        return grid
예제 #14
0
    def test_dump_csv_line(self):
        ecl_sum_vector = EclSumKeyWordVector(self.ecl_sum)
        ecl_sum_vector.addKeywords("F*")

        with self.assertRaises(KeyError):
            ecl_sum_vector.addKeyword("MISSING")

        dtime = datetime.datetime(2002, 1, 1, 0, 0, 0)
        with TestAreaContext("EclSum/csv_dump"):
            test_file_name = self.createTestPath("dump.csv")
            outputH = copen(test_file_name, "w")
            self.ecl_sum.dumpCSVLine(dtime, ecl_sum_vector, outputH)
            assert os.path.isfile(test_file_name)
예제 #15
0
파일: test_cfile.py 프로젝트: Statoil/cwrap
    def test_cfile(self):
        cwd = os.getcwd()
        d = tempfile.mkdtemp( )
        os.chdir( d )

        with open("test", "w") as f:
            f.write("some content")

        with copen("test", "r") as f:
            cfile = CFILE(f)
            self.assertTrue(fileno(cfile))

        os.chdir(cwd)
        shutil.rmtree( d )
예제 #16
0
파일: test_cfile.py 프로젝트: xclmj/cwrap
    def test_cfile(self):
        cwd = os.getcwd()
        d = tempfile.mkdtemp()
        os.chdir(d)

        with open("test", "w") as f:
            f.write("some content")

        with copen("test", "r") as f:
            cfile = CFILE(f)
            self.assertTrue(fileno(cfile))

        os.chdir(cwd)
        shutil.rmtree(d)
예제 #17
0
    def test_save(self):
        with TestAreaContext("python/grid-test/testSave"):
            g1 = EclGrid(self.egrid_file())

            g1.save_EGRID("test.EGRID")
            g2 = EclGrid("test.EGRID")
            self.assertTrue(g1.equal(g2))

            g1.save_GRID("test.GRID")
            g2 = EclGrid("test.GRID")
            self.assertTrue(g1.equal(g2))

            fileH = copen("test.grdecl", "w")
            g1.save_grdecl(fileH)
            fileH.close()
            g2 = self.create("test.grdecl")
            self.assertTrue(g1.equal(g2))
예제 #18
0
    def test_save(self):
        with TestAreaContext("python/grid-test/testSave"):
            g1 = EclGrid(self.egrid_file())

            g1.save_EGRID("test.EGRID")
            g2 = EclGrid("test.EGRID")
            self.assertTrue(g1.equal(g2))

            g1.save_GRID("test.GRID")
            g2 = EclGrid("test.GRID")
            self.assertTrue(g1.equal(g2))

            fileH = copen("test.grdecl", "w")
            g1.save_grdecl(fileH)
            fileH.close()
            g2 = self.create("test.grdecl")
            self.assertTrue(g1.equal(g2))
예제 #19
0
    def test_fseek2(self):
        test_src = self.createTestPath("local/ECLIPSE/grdecl-test/test.grdecl")
        # Test kw at the the very start
        file = copen(test_src, "r")
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX"))

        # Test commented out kw:
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMY"))
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMZ"))

        # Test ignore not start of line:
        self.assertTrue(EclKW.fseek_grdecl(file, "MARKER"))
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMXYZ"))

        # Test rewind
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMX", rewind=False))
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX", rewind=True))

        # Test multiline comments + blanks
        self.assertTrue(EclKW.fseek_grdecl(file, "LASTKW"))
예제 #20
0
    def test_fseek2(self):
        test_src = self.createTestPath("local/ECLIPSE/grdecl-test/test.grdecl")
        # Test kw at the the very start
        file = copen(test_src, "r")
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX"))

        # Test commented out kw:
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMY"))
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMZ"))

        # Test ignore not start of line:
        self.assertTrue(EclKW.fseek_grdecl(file, "MARKER"))
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMXYZ"))

        # Test rewind
        self.assertFalse(EclKW.fseek_grdecl(file, "PERMX", rewind=False))
        self.assertTrue(EclKW.fseek_grdecl(file, "PERMX", rewind=True))

        # Test multiline comments + blanks
        self.assertTrue(EclKW.fseek_grdecl(file, "LASTKW"))
예제 #21
0
파일: test_matrix.py 프로젝트: ManInFez/ert
    def test_str(self):
        m = Matrix(2, 2)
        s = "%s" % m

        m[0, 0] = 0
        m[0, 1] = 1
        m[1, 0] = 2
        m[1, 1] = 3

        with TestAreaContext("matrix_fprint"):
            with copen("matrix.txt", "w") as f:
                m.fprint(f)

            with open("matrix.txt") as f:
                l1 = [float(x) for x in f.readline().split()]
                l2 = [float(x) for x in f.readline().split()]

            self.assertEqual(l1[0], m[0, 0])
            self.assertEqual(l1[1], m[0, 1])
            self.assertEqual(l2[0], m[1, 0])
            self.assertEqual(l2[1], m[1, 1])