def test_kw_write(self): with TestAreaContext("python/ecl_kw/writing"): data = [random.random() for i in range(10000)] kw = EclKW("TEST", len(data), EclTypeEnum.ECL_DOUBLE_TYPE) i = 0 for d in data: kw[i] = d i += 1 pfx = 'EclKW(' self.assertEqual(pfx, repr(kw)[:len(pfx)]) fortio = FortIO("ECL_KW_TEST", FortIO.WRITE_MODE) kw.fwrite(fortio) fortio.close() fortio = FortIO("ECL_KW_TEST") kw2 = EclKW.fread(fortio) self.assertTrue(kw.equal(kw2)) ecl_file = EclFile("ECL_KW_TEST", flags=EclFileFlagEnum.ECL_FILE_WRITABLE) kw3 = ecl_file["TEST"][0] self.assertTrue(kw.equal(kw3)) ecl_file.save_kw(kw3) ecl_file.close() fortio = FortIO("ECL_KW_TEST", FortIO.READ_AND_WRITE_MODE) kw4 = EclKW.fread(fortio) self.assertTrue(kw.equal(kw4)) fortio.seek(0) kw4.fwrite(fortio) fortio.close() ecl_file = EclFile("ECL_KW_TEST") kw5 = ecl_file["TEST"][0] self.assertTrue(kw.equal(kw5))
def test_kw_write(self): with TestAreaContext("python/ecl_kw/writing"): data = [random.random() for i in range(10000)] kw = EclKW("TEST", len(data), EclTypeEnum.ECL_DOUBLE_TYPE) i = 0 for d in data: kw[i] = d i += 1 fortio = FortIO("ECL_KW_TEST", FortIO.WRITE_MODE) kw.fwrite(fortio) fortio.close() fortio = FortIO("ECL_KW_TEST") kw2 = EclKW.fread(fortio) self.assertTrue(kw.equal(kw2)) ecl_file = EclFile("ECL_KW_TEST", flags=EclFileFlagEnum.ECL_FILE_WRITABLE) kw3 = ecl_file["TEST"][0] self.assertTrue(kw.equal(kw3)) ecl_file.save_kw(kw3) ecl_file.close() fortio = FortIO("ECL_KW_TEST", FortIO.READ_AND_WRITE_MODE) kw4 = EclKW.fread(fortio) self.assertTrue(kw.equal(kw4)) fortio.seek(0) kw4.fwrite(fortio) fortio.close() ecl_file = EclFile("ECL_KW_TEST") kw5 = ecl_file["TEST"][0] self.assertTrue(kw.equal(kw5))
def test_equal(self): kw1 = EclKW("TEST", 3, EclTypeEnum.ECL_CHAR_TYPE) kw1[0] = "Test1" kw1[1] = "Test13" kw1[2] = "Test15" kw2 = EclKW("TEST", 3, EclTypeEnum.ECL_CHAR_TYPE) kw2[0] = "Test1" kw2[1] = "Test13" kw2[2] = "Test15" self.assertTrue(kw1.equal(kw2)) self.assertTrue(kw1.equal_numeric(kw2)) kw2[2] = "Test15X" self.assertFalse(kw1.equal(kw2)) self.assertFalse(kw1.equal_numeric(kw2)) unrst_file_path = self.createTestPath( "Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST") unrst_file = EclFile(unrst_file_path) kw1 = unrst_file["PRESSURE"][0] kw2 = kw1.deep_copy() self.assertTrue(kw1.equal(kw2)) self.assertTrue(kw1.equal_numeric(kw2)) kw2 *= 1.00001 self.assertFalse(kw1.equal(kw2)) self.assertFalse(kw1.equal_numeric(kw2, epsilon=1e-8)) self.assertTrue(kw1.equal_numeric(kw2, epsilon=1e-2)) kw1 = unrst_file["ICON"][10] kw2 = kw1.deep_copy() self.assertTrue(kw1.equal(kw2)) self.assertTrue(kw1.equal_numeric(kw2)) kw1[-1] += 1 self.assertFalse(kw1.equal(kw2)) self.assertFalse(kw1.equal_numeric(kw2))
def test_equal(self): kw1 = EclKW("TEST", 3, EclTypeEnum.ECL_CHAR_TYPE) kw1[0] = "Test1" kw1[1] = "Test13" kw1[2] = "Test15" kw2 = EclKW("TEST", 3, EclTypeEnum.ECL_CHAR_TYPE) kw2[0] = "Test1" kw2[1] = "Test13" kw2[2] = "Test15" self.assertTrue(kw1.equal(kw2)) self.assertTrue(kw1.equal_numeric(kw2)) kw2[2] = "Test15X" self.assertFalse(kw1.equal(kw2)) self.assertFalse(kw1.equal_numeric(kw2)) unrst_file_path = self.createTestPath("Statoil/ECLIPSE/Gurbat/ECLIPSE.UNRST") unrst_file = EclFile(unrst_file_path) kw1 = unrst_file["PRESSURE"][0] kw2 = kw1.deep_copy() self.assertTrue(kw1.equal(kw2)) self.assertTrue(kw1.equal_numeric(kw2)) kw2 *= 1.00001 self.assertFalse(kw1.equal(kw2)) self.assertFalse(kw1.equal_numeric(kw2, epsilon=1e-8)) self.assertTrue(kw1.equal_numeric(kw2, epsilon=1e-2)) kw1 = unrst_file["ICON"][10] kw2 = kw1.deep_copy() self.assertTrue(kw1.equal(kw2)) self.assertTrue(kw1.equal_numeric(kw2)) kw1[-1] += 1 self.assertFalse(kw1.equal(kw2)) self.assertFalse(kw1.equal_numeric(kw2))