def test_volumetric_rates(): """Test computation of cumulative compatible rates """ if "__file__" in globals(): # Easen up copying test code into interactive sessions testdir = os.path.dirname(os.path.abspath(__file__)) else: testdir = os.path.abspath(".") ens = ScratchEnsemble( "reektest", testdir + "/data/testensemble-reek001/" + "realization-*/iter-0") cum_df = ens.get_smry(column_keys=["F*T", "W*T*"], time_index="yearly") vol_rate_df = ens.get_volumetric_rates(column_keys=["F*T", "W*T*"], time_index="yearly") assert "DATE" in vol_rate_df assert "FWCR" not in vol_rate_df assert "FOPR" in vol_rate_df assert "FWPR" in vol_rate_df # Test each realization individually for realidx in vol_rate_df["REAL"].unique(): vol_rate_real = vol_rate_df.set_index("REAL").loc[realidx] cum_real = cum_df.set_index("REAL").loc[realidx] assert len(vol_rate_real) == 5 assert vol_rate_real["FOPR"].sum() == cum_real["FOPT"].iloc[-1]
def test_emptyens(): """Check that we can initialize an empty ensemble""" ens = ScratchEnsemble("emptyens") assert not ens if "__file__" in globals(): # Easen up copying test code into interactive sessions testdir = os.path.dirname(os.path.abspath(__file__)) else: testdir = os.path.abspath(".") emptydf = ens.get_smry() assert isinstance(emptydf, pd.DataFrame) assert emptydf.empty emptydatelist = ens.get_smry_dates() assert isinstance(emptydatelist, list) assert not emptydatelist emptykeys = ens.get_smrykeys() assert isinstance(emptykeys, list) assert not emptykeys emptyrates = ens.get_volumetric_rates() assert isinstance(emptyrates, pd.DataFrame) assert emptyrates.empty emptystats = ens.get_smry_stats() assert isinstance(emptystats, pd.DataFrame) assert emptystats.empty emptywells = ens.get_wellnames() assert isinstance(emptywells, list) assert not emptywells emptygroups = ens.get_groupnames() assert isinstance(emptygroups, list) assert not emptygroups emptymeta = ens.get_smry_meta() assert isinstance(emptymeta, dict) assert not emptymeta emptymeta = ens.get_smry_meta("*") assert isinstance(emptymeta, dict) assert not emptymeta emptymeta = ens.get_smry_meta("FOPT") assert isinstance(emptymeta, dict) assert not emptymeta emptymeta = ens.get_smry_meta(["FOPT"]) assert isinstance(emptymeta, dict) assert not emptymeta # Add a realization manually: ens.add_realizations( testdir + "/data/testensemble-reek001/" + "realization-0/iter-0" ) assert len(ens) == 1