def test_EGRID( self ): grid = EclGrid(self.egrid_file()) self.assertTrue(grid) dims = grid.getDims() self.assertEqual(dims[0] , grid.getNX()) self.assertEqual(dims[1] , grid.getNY()) self.assertEqual(dims[2] , grid.getNZ())
def test_heidrun(self): root = self.createTestPath("Statoil/ECLIPSE/Heidrun") grid = EclGrid("%s/FF12_2013B2_AMAP_AOP-J15_NO62_MOVEX.EGRID" % root) polygon = [] with open("%s/polygon.ply" % root) as fileH: for line in fileH.readlines(): tmp = line.split() polygon.append((float(tmp[0]), float(tmp[1]))) self.assertEqual(len(polygon), 11) reg = EclRegion(grid, False) reg.select_inside_polygon(polygon) self.assertEqual(0, len(reg.getGlobalList()) % grid.getNZ())
def test_corner(self): grid = EclGrid(self.egrid_file()) nx = grid.getNX() ny = grid.getNY() nz = grid.getNZ() (x1,y1,z1) = grid.getCellCorner( 0 , ijk = (0,0,0)) (x2,y2,z2) = grid.getLayerXYZ( 0 , 0 ) self.assertEqual(x1,x2) self.assertEqual(y1,y2) self.assertEqual(z1,z2) (x1,y1,z1) = grid.getCellCorner( 0 , ijk = (0,1,0)) (x2,y2,z2) = grid.getLayerXYZ( (nx + 1) , 0 ) self.assertEqual(x1,x2) self.assertEqual(y1,y2) self.assertEqual(z1,z2) (x1,y1,z1) = grid.getCellCorner( 1 , ijk = (nx - 1,0,0)) (x2,y2,z2) = grid.getLayerXYZ( nx , 0 ) self.assertEqual(x1,x2) self.assertEqual(y1,y2) self.assertEqual(z1,z2) (x1,y1,z1) = grid.getCellCorner( 4 , ijk = (0,0,nz-1)) (x2,y2,z2) = grid.getLayerXYZ( 0 , nz ) self.assertEqual(x1,x2) self.assertEqual(y1,y2) self.assertEqual(z1,z2) (x1,y1,z1) = grid.getCellCorner( 7 , ijk = (nx-1,ny-1,nz-1)) (x2,y2,z2) = grid.getLayerXYZ( (nx + 1)*(ny + 1) - 1 , nz ) self.assertEqual(x1,x2) self.assertEqual(y1,y2) self.assertEqual(z1,z2) with self.assertRaises(IndexError): grid.getLayerXYZ( -1 , 0 ) with self.assertRaises(IndexError): grid.getLayerXYZ( (nx + 1)*(ny + 1) , 0 ) with self.assertRaises(IndexError): grid.getLayerXYZ( 0 , -1 ) with self.assertRaises(IndexError): grid.getLayerXYZ( 0 , nz + 1 )
class FaultBlockTest(ExtendedTestCase): def setUp(self): self.grid = EclGrid( self.createTestPath("Statoil/ECLIPSE/Mariner/MARINER.EGRID")) fileH = open( self.createTestPath("Statoil/ECLIPSE/Mariner/faultblock.grdecl")) self.kw = EclKW.read_grdecl(fileH, "FAULTBLK", ecl_type=EclDataType.ECL_INT) def test_load(self): for k in range(self.grid.getNZ()): faultBlocks = FaultBlockLayer(self.grid, k) faultBlocks.scanKeyword(self.kw) for block in faultBlocks: centroid = block.getCentroid()