def test_refine_vertically_per_zone(tmpdir): """Do a grid refinement vertically, via a dict per zone.""" logger.info("Read grid...") grd_orig = Grid(EMEGFILE2) grd = grd_orig.copy() logger.info("Read grid... done, NLAY is {}".format(grd.nlay)) grd.to_file(join(tmpdir, "test_refined_by_dict_initial.roff")) logger.info("Subgrids before: %s", grd.get_subgrids()) zone = GridProperty(EMEZFILE2, grid=grd, name="Zone") logger.info("Zone values min max: %s %s", zone.values.min(), zone.values.max()) logger.info("Subgrids list: %s", grd.subgrids) refinement = {1: 4, 2: 2} grd.refine_vertically(refinement, zoneprop=zone) grd1s = grd.get_subgrids() logger.info("Subgrids after: %s", grd1s) grd.to_file(join(tmpdir, "test_refined_by_dict.roff")) grd = grd_orig.copy() grd.refine_vertically(refinement) # no zoneprop grd2s = grd.get_subgrids() logger.info("Subgrids after: %s", grd2s) assert list(grd1s.values()) == list(grd2s.values())
def test_crop_grid_after_copy(): """Copy a grid, then crop and check number of active cells.""" logger.info("Read grid...") grd = Grid(EMEGFILE2) grd.describe() zprop = GridProperty(EMEZFILE2, name="Zone", grid=grd) grd.describe(details=True) logger.info(grd.dimensions) grd2 = grd.copy() grd2.describe(details=True) logger.info("GRD2 props: %s", grd2.props) assert grd.propnames == grd2.propnames logger.info("GRD2 number of active cells: %s", grd2.nactive) act = grd.get_actnum() logger.info(act.values.shape) logger.info("ZPROP: %s", zprop.values.shape) grd2.crop((1, 30), (40, 80), (23, 46)) grd2.describe(details=True)
def test_copy_grid(): """Copy a grid.""" grd = Grid(EMEGFILE2) grd2 = grd.copy() grd.to_file(join("TMP", "gcp1.roff")) grd2.to_file(join("TMP", "gcp2.roff")) assert cmp(join("TMP", "gcp1.roff"), join("TMP", "gcp2.roff")) is True
def test_copy_grid(): """Crop a grid.""" grd = Grid(EMEGFILE2) grd2 = grd.copy() grd.to_file(join('TMP', 'gcp1.roff')) grd2.to_file(join('TMP', 'gcp2.roff')) assert cmp(join('TMP', 'gcp1.roff'), join('TMP', 'gcp2.roff')) is True
def test_copy_grid(tmpdir): """Copy a grid.""" grd = Grid(EMEGFILE2) grd2 = grd.copy() grd.to_file(join(tmpdir, "gcp1.roff")) grd2.to_file(join(tmpdir, "gcp2.roff")) xx1 = Grid(join(tmpdir, "gcp1.roff")) xx2 = Grid(join(tmpdir, "gcp2.roff")) assert xx1._zcornsv.mean() == xx2._zcornsv.mean() assert xx1._actnumsv.mean() == xx2._actnumsv.mean()
def test_reverse_row_axis_eme(tmpdir): """Reverse axis for emerald grid""" grd1 = Grid(EMEGFILE) assert grd1.ijk_handedness == "left" grd1.to_file(join(tmpdir, "eme_left.roff"), fformat="roff") grd2 = grd1.copy() geom1 = grd1.get_geometrics(return_dict=True) grd2.reverse_row_axis() assert grd2.ijk_handedness == "right" grd2.to_file(join(tmpdir, "eme_right.roff"), fformat="roff") geom2 = grd2.get_geometrics(return_dict=True) tsetup.assert_almostequal(geom1["avg_rotation"], geom2["avg_rotation"], 0.01)