def test_create_from_arrow_unsmry_lazy(testdata_folder: Path, tmp_path: Path) -> None: ensemble_path = str(testdata_folder / "01_drogon_ahm/realization-*/iter-0") # Used to generate test results # _dump_smry_to_csv_using_fmu(ensemble_path, "monthly", "expected_smry.csv") factory = EnsembleSummaryProviderFactory(tmp_path, allow_storage_writes=True) provider = factory.create_from_arrow_unsmry_lazy( ens_path=ensemble_path, rel_file_pattern="share/results/unsmry/*.arrow") assert provider.supports_resampling() assert provider.vector_metadata("FOPT") is not None vecnames = provider.vector_names() assert len(vecnames) == 931 dates = provider.dates(Frequency.MONTHLY) assert len(dates) == 31 assert isinstance(dates[0], datetime.datetime) assert dates[0] == datetime.datetime(2018, 1, 1) assert dates[-1] == datetime.datetime(2020, 7, 1) realizations = provider.realizations() assert len(realizations) == 100 assert realizations[0] == 0 assert realizations[-1] == 99 vecdf = provider.get_vectors_df(["FOPR"], Frequency.MONTHLY) assert vecdf.shape == (3100, 3) assert vecdf.columns.tolist() == ["DATE", "REAL", "FOPR"] assert vecdf["DATE"].nunique() == 31 assert vecdf["REAL"].nunique() == 100 sampleddate = vecdf["DATE"][0] assert isinstance(sampleddate, datetime.datetime) vecdf = provider.get_vectors_df(["FOPR"], Frequency.MONTHLY, [5]) assert vecdf.shape == (31, 3) assert vecdf.columns.tolist() == ["DATE", "REAL", "FOPR"] assert vecdf["DATE"].nunique() == 31 assert vecdf["REAL"].nunique() == 1 assert vecdf["REAL"][0] == 5
def test_arrow_unsmry_lazy_vector_metadata(testdata_folder: Path, tmp_path: Path) -> None: ensemble_path = str(testdata_folder / "01_drogon_ahm/realization-*/iter-0") factory = EnsembleSummaryProviderFactory(tmp_path, allow_storage_writes=True) provider = factory.create_from_arrow_unsmry_lazy( ens_path=ensemble_path, rel_file_pattern="share/results/unsmry/*.arrow") meta: Optional[VectorMetadata] = provider.vector_metadata("FOPR") assert meta is not None assert meta.unit == "SM3/DAY" assert meta.is_total is False assert meta.is_rate is True assert meta.is_historical is False assert meta.keyword == "FOPR" assert meta.wgname is None assert meta.get_num == 0 meta = provider.vector_metadata("WOPTH:A6") assert meta is not None assert meta.unit == "SM3" assert meta.is_total is True assert meta.is_rate is False assert meta.is_historical is True assert meta.keyword == "WOPTH" assert meta.wgname == "A6" assert meta.get_num == 11 meta = provider.vector_metadata("FWCT") assert meta is not None assert meta.unit == "" assert meta.is_total is False assert meta.is_rate is True assert meta.is_historical is False assert meta.keyword == "FWCT" assert meta.wgname is None assert meta.get_num == 0