示例#1
0
def test_wconinje():
    """Test WCONINJE parsing and column names"""
    wconstr = """
WCONINJE
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wconinje_df = wcon.df(deck)
    pd.testing.assert_frame_equal(
        wconinje_df,
        pd.DataFrame([{
            "WELL": "FOO",
            "TYPE": "0",
            "STATUS": "1",
            "CMODE": None,
            "RATE": None,
            "RESV": None,
            "BHP": 6895,
            "THP": None,
            "VFP_TABLE": 0,
            "VAPOIL_C": 0,
            "GAS_STEAM_RATIO": 0,
            "SURFACE_OIL_FRACTION": 0,
            "SURFACE_WATER_FRACTION": 0,
            "SURFACE_GAS_FRACTION": 0,
            "OIL_STEAM_RATIO": 0,
            "DATE": None,
            "KEYWORD": "WCONINJE",
        }]),
    )
示例#2
0
def test_wconhist():
    """Test WCONHIST parsing and column names"""
    wconstr = """
WCONHIST
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wconhist_df = wcon.df(deck)
    pd.testing.assert_frame_equal(
        wconhist_df,
        pd.DataFrame([{
            "WELL": "FOO",
            "STATUS": "0",
            "CMODE": "1",
            "ORAT": 0,
            "WRAT": 0,
            "GRAT": 0,
            "VFP_TABLE": 0,
            "ALQ": 0,
            "THP": 0,
            "BHP": 0,
            "NGLRAT": 0,
            "DATE": None,
            "KEYWORD": "WCONHIST",
        }]),
    )
示例#3
0
def test_tstep():
    """Test that we support the TSTEP keyword"""
    schstr = """
DATES
   1 MAY 2001 /
/

WCONHIST
 'OP1' 1000  /
/

TSTEP
  1 /

WCONHIST
 'OP1' 2000 /
/

TSTEP
  2 3 /

WCONHIST
  'OP1' 3000 /
/
"""
    deck = EclFiles.str2deck(schstr)
    wcondf = wcon.df(deck)
    dates = [str(x) for x in wcondf["DATE"].unique()]
    assert len(dates) == 3
    assert "2001-05-01" in dates
    assert "2001-05-02" in dates
    assert "2001-05-07" in dates
示例#4
0
def test_wcon2df():
    """Test that dataframes are produced"""
    eclfiles = EclFiles(DATAFILE)
    wcondf = wcon.df(eclfiles.get_ecldeck())

    assert not wcondf.empty
    assert "DATE" in wcondf  # for all data
    assert "KEYWORD" in wcondf
    for col in wcondf.columns:
        assert col == col.upper()
示例#5
0
def test_str2df():
    """Test dataframe extraction from strings"""
    wconstr = """
WCONHIST
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wcondf = wcon.df(deck)
    assert len(wcondf) == 1

    wconstr = """
WCONINJH
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wcondf = wcon.df(deck)
    assert len(wcondf) == 1

    wconstr = """
WCONINJE
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wcondf = wcon.df(deck)
    assert len(wcondf) == 1

    wconstr = """
WCONPROD
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wcondf = wcon.df(deck)
    assert len(wcondf) == 1
示例#6
0
def test_wconprod():
    """Test WCONPROD parsing and column names"""
    wconstr = """
WCONPROD
  'FOO' 0 1 /
 /
"""
    deck = EclFiles.str2deck(wconstr)
    wconprod_df = wcon.df(deck)
    pd.testing.assert_frame_equal(
        wconprod_df,
        pd.DataFrame(
            [
                {
                    "WELL": "FOO",
                    "STATUS": "0",
                    "CMODE": "1",
                    "ORAT": 0,
                    "WRAT": 0,
                    "GRAT": 0,
                    "LRAT": 0,
                    "RESV": 0,
                    "BHP": 1.01325,
                    "THP": 0,
                    "VFP_TABLE": 0,
                    "ALQ": 0,
                    # These E300 columns should not
                    # be regarded critical for API.
                    "E300_ITEM13": None,
                    "E300_ITEM14": None,
                    "E300_ITEM15": None,
                    "E300_ITEM16": None,
                    "E300_ITEM17": None,
                    "E300_ITEM18": None,
                    "E300_ITEM19": None,
                    "E300_ITEM20": None,
                    "DATE": None,
                    "KEYWORD": "WCONPROD",
                }
            ]
        ),
    )