Exemple #1
0
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())
Exemple #2
0
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)
Exemple #3
0
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
Exemple #5
0
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()
Exemple #6
0
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)