def main():
    """ Compile metadata for all timelapse maps """
    parser = argparse.ArgumentParser(description="Compile metadata for all maps")
    parser.add_argument(
        "config_file", help="Enter path to the WebViz-4D configuration file"
    )

    args = parser.parse_args()
    config_file = args.config_file
    config = common.read_config(config_file)
    shared_settings = config["shared_settings"]
    fmu_directory = shared_settings["fmu_directory"]

    surface_metadata = common.get_config_item(config, "surface_metadata")
    metadata_file = os.path.join(fmu_directory, surface_metadata)
    print("Maps metadata file: ", metadata_file)

    if os.path.isfile(metadata_file):
        os.remove(metadata_file)
        print("  - file removed")

    map_suffix = common.get_config_item(config, "map_suffix")
    delimiter = common.get_config_item(config, "delimiter")
    metadata_file = common.get_config_item(config, "surface_metadata")

    metadata = get_metadata(shared_settings, map_suffix, delimiter, metadata_file)
    print(metadata)
def main():
    """ Import and convert DSG colormaps """
    parser = argparse.ArgumentParser(
        description="Import and convert DSG colormaps")
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")

    args = parser.parse_args()
    config_file = args.config_file
    config = common.read_config(config_file)

    settings_file = common.get_config_item(config, "settings")
    settings_file = common.get_full_path(settings_file)
    settings = common.read_config(settings_file)

    folder = settings["map_settings"]["colormaps_folder"]

    SUFFIX = ".clx"

    import_colormaps(folder, SUFFIX)
示例#3
0
def main():
    """ Display the tooltip info found in all well list (pickle) files found in a folder
    
    Parameters
    ----------
    configuration_file : str
        The name of WebViz-4D configuration file

    Returns
    -------
    """
    description = "Check well list files"
    parser = argparse.ArgumentParser(description=description)
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")

    args = parser.parse_args()
    print(description)
    print(args)

    config_file = args.config_file
    config = common.read_config(config_file)

    wellfolder = common.get_config_item(config, "wellfolder")
    wellfolder = common.get_full_path(wellfolder)
    print("Reading well lists in", wellfolder)

    pickle_files = glob.glob(wellfolder + "/*.pkl")

    for pickle_file in pickle_files:
        file_object = open(pickle_file, "rb")
        info = pickle.load(file_object)

        print(pickle_file)
        data = info["data"]

        if len(data) > 0:
            for item in data:
                print(item["tooltip"])

        print("")
def main():
    """ Create production data tables """
    description = "Create production data tables"
    parser = argparse.ArgumentParser(description=description)
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")

    args = parser.parse_args()
    print(description)
    print(args)

    config_file = args.config_file
    config_file = common.read_config(config_file)

    production_directory = common.get_config_item(config_file,
                                                  "production_data")
    production_directory = common.get_full_path(production_directory)

    production_table_file = os.path.join(production_directory,
                                         "production_fluid_table.csv")
    injection_table_file = os.path.join(production_directory,
                                        "injection_fluid_table.csv")

    bore_oil_file = os.path.join(production_directory, "BORE_OIL_VOL.csv")
    bore_gas_file = os.path.join(production_directory, "BORE_GAS_VOL.csv")
    bore_water_file = os.path.join(production_directory, "BORE_WAT_VOL.csv")

    print("Loading oil volumes from file", bore_oil_file)
    bore_oil = pd.read_csv(bore_oil_file)

    print("Loading gas volumes from file", bore_gas_file)
    bore_gas = pd.read_csv(bore_gas_file)

    print("Loading water volumes from file", bore_water_file)
    bore_water = pd.read_csv(bore_water_file)

    with open(production_table_file, "w") as file_object:
        file_object.write("Well_name,4D_interval,Volumes,Fluid\n")
        fluid = "Oil_[Sm3]"
        write_data(bore_oil, fluid, 1, file_object)

        fluid = "Gas_[kSm3]"
        write_data(bore_gas, fluid, 1000, file_object)

        fluid = "Water_[Sm3]"
        write_data(bore_water, fluid, 1, file_object)

    print("Production volumes table stored to file", production_table_file)

    inject_gas_file = os.path.join(production_directory, "BORE_GI_VOL.csv")
    inject_water_file = os.path.join(production_directory, "BORE_WI_VOL.csv")

    print("Loading injected gas volumes from file", inject_gas_file)
    inject_gas = pd.read_csv(inject_gas_file)

    print("Loading injected water volumes from file", inject_water_file)
    inject_water = pd.read_csv(inject_water_file)

    with open(injection_table_file, "w") as file_object:
        file_object.write("Well_name,4D_interval,Volumes,Fluid\n")
        fluid = "Injected_Gas_[kSm3]"
        write_data(inject_gas, fluid, 1000, file_object)

        fluid = "Injected_Water_[Sm3]"
        write_data(inject_water, fluid, 1, file_object)

    print("Injection volumes table stored to file", injection_table_file)
示例#5
0
def main():
    # Main
    description = "Create well lists based on production data"
    parser = argparse.ArgumentParser(description=description)
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")

    args = parser.parse_args()
    print(description)
    print(args)

    config_file = args.config_file
    config = common.read_config(config_file)

    # Well and production data
    well_suffix = common.get_config_item(config, "well_suffix")
    map_suffix = common.get_config_item(config, "map_suffix")
    delimiter = common.get_config_item(config, "delimiter")
    metadata_file = common.get_config_item(config, "surface_metadata")

    well_directory = common.get_config_item(config, "wellfolder")
    well_directory = common.get_full_path(well_directory)

    prod_info_dir = common.get_config_item(config, "production_data")
    prod_info_dir = common.get_full_path(prod_info_dir)
    update_metadata_file = os.path.join(prod_info_dir,
                                        ".production_update.yaml")

    update_dates = common.get_update_dates(well_directory)
    production_update = update_dates["production_last_date"]
    print("Production data update", production_update)

    try:
        settings_file = common.get_config_item(config, "settings")
        settings_file = common.get_full_path(settings_file)
        settings = common.read_config(settings_file)
        interval = common.get_config_item(config, "default_interval")
    except:
        settings_file = None
        settings = None
        interval = None

    shared_settings = config["shared_settings"]

    print("Extracting 4D intervals ...")
    metadata_file = common.get_config_item(config, "surface_metadata")
    metadata = get_metadata(shared_settings, delimiter, map_suffix,
                            metadata_file)
    intervals_4d, incremental = get_all_intervals(metadata, "reverse")
    colors = common.get_well_colors(settings)

    prod_info_files = [os.path.join(prod_info_dir, OIL_PRODUCTION_FILE)]
    prod_info_files.append(os.path.join(prod_info_dir, GAS_INJECTION_FILE))
    prod_info_files.append(os.path.join(prod_info_dir, WATER_INJECTION_FILE))

    prod_info_list = []
    for prod_info_file in prod_info_files:
        print("Reading production info from file " + str(prod_info_file))
        prod_info = pd.read_csv(prod_info_file)
        prod_info.name = os.path.basename(str(prod_info_file))

        prod_info_list.append(prod_info)

    drilled_well_df, drilled_well_info, interval_df = well.load_all_wells(
        well_directory, well_suffix)

    drilled_well_info = add_production_volumes(drilled_well_info,
                                               prod_info_list)
    #well_info = WellDataFrame(drilled_well_info)

    wellbores = drilled_well_info["wellbore.name"].unique()

    # print("well_info.data_frame")

    print("Last production update", production_update)
    print("Looping through all 4D intervals ...")
    for interval_4d in intervals_4d:
        print("4D interval:", interval_4d)

        if interval_4d[0:10] <= production_update:
            well_layer = make_new_well_layer(
                interval_4d,
                drilled_well_df,
                drilled_well_info,
                interval_df,
                prod_info_list,
                colors,
                selection="production",
                label="Producers",
            )
            label = "production_well_layer_"
            store_well_layer(well_layer, well_directory, label, interval_4d)

            well_layer = make_new_well_layer(
                interval_4d,
                drilled_well_df,
                drilled_well_info,
                interval_df,
                prod_info_list,
                colors,
                selection="production_start",
                label="Producers - started",
            )
            label = "production_start_well_layer_"
            store_well_layer(well_layer, well_directory, label, interval_4d)

            well_layer = make_new_well_layer(
                interval_4d,
                drilled_well_df,
                drilled_well_info,
                interval_df,
                prod_info_list,
                colors,
                selection="production_completed",
                label="Producers - completed",
            )
            label = "production_completed_well_layer_"
            store_well_layer(well_layer, well_directory, label, interval_4d)

            well_layer = make_new_well_layer(
                interval_4d,
                drilled_well_df,
                drilled_well_info,
                interval_df,
                prod_info_list,
                colors,
                selection="injection",
                label="Injectors",
            )

            label = "injection_well_layer_"
            store_well_layer(well_layer, well_directory, label, interval_4d)

            well_layer = make_new_well_layer(
                interval_4d,
                drilled_well_df,
                drilled_well_info,
                interval_df,
                prod_info_list,
                colors,
                selection="injection_start",
                label="Injectors - started",
            )
            label = "injection_start_well_layer_"
            store_well_layer(well_layer, well_directory, label, interval_4d)

            well_layer = make_new_well_layer(
                interval_4d,
                drilled_well_df,
                drilled_well_info,
                interval_df,
                prod_info_list,
                colors,
                selection="injection_completed",
                label="Injectors - completed",
            )
            label = "injection_completed_well_layer_"
            store_well_layer(well_layer, well_directory, label, interval_4d)
        else:
            print("  - no production data for this time interval")

    prod_headers = prod_info.columns
    last_header = prod_headers[-1]
    interval_4d = last_header

    well_layer = make_new_well_layer(
        interval_4d,
        drilled_well_df,
        drilled_well_info,
        interval_df,
        prod_info_list,
        colors,
        selection="active",
        label="Active wells",
    )

    if well_layer:
        label = "active_well_layer_"
        store_well_layer(well_layer, well_directory, label, interval_4d)
示例#6
0
def main():
    """ Compile metadata from all wells and extract top reservoir depths """
    description = "Compile metadata from all wells and extract top reservoir depths"
    parser = argparse.ArgumentParser(description=description)
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")
    args = parser.parse_args()

    print(description)
    print(args)

    config_file = args.config_file
    config = common.read_config(config_file)

    try:
        well_directory = common.get_config_item(config, "wellfolder")
        well_directory = common.get_full_path(well_directory)
    except:
        well_directory = None
        print("ERROR: Well directory", well_directory, "not found")
        print("Execution stopped")

    print("Well directory", well_directory)

    if well_directory:
        try:
            settings_file = common.get_config_item(config, "settings")
            settings_file = common.get_full_path(settings_file)
            settings = common.read_config(settings_file)

            surface_file = settings["depth_maps"]["top_reservoir"]
            surface = load_surface(surface_file)
        except:
            surface_file = None
            surface = None
    else:
        print("ERROR: Well data not found in", well_directory)
        exit()

    print("Surface file", surface_file)

    WELLBORE_INFO_FILE = "wellbore_info.csv"
    INTERVALS_FILE = "intervals.csv"
    WELL_SUFFIX = ".w"

    wellbore_info, intervals = extract_metadata(well_directory)
    pd.set_option("display.max_rows", None)
    print(wellbore_info)

    wellbore_info = compile_data(surface, well_directory, wellbore_info,
                                 WELL_SUFFIX)

    wellbore_info.to_csv(os.path.join(well_directory, WELLBORE_INFO_FILE))
    intervals.to_csv(os.path.join(well_directory, INTERVALS_FILE))

    # print(intervals)

    print("Metadata stored to " +
          os.path.join(well_directory, WELLBORE_INFO_FILE))
    print("Completion intervals stored to " +
          os.path.join(well_directory, INTERVALS_FILE))

    planned_wells_dir = [
        f.path for f in os.scandir(well_directory) if f.is_dir()
    ]

    for folder in planned_wells_dir:
        wellbore_info = pd.DataFrame()
        wellbore_info = compile_data(surface, folder, wellbore_info,
                                     WELL_SUFFIX)

        wellbore_info.to_csv(os.path.join(folder, WELLBORE_INFO_FILE))
        print(wellbore_info)
        print("Metadata stored to " + os.path.join(folder, WELLBORE_INFO_FILE))
示例#7
0
def test_read_config():
    well_folder = common.get_config_item(config, "wellfolder")

    assert well_folder == "./well_data"
示例#8
0
import os
import pytest

import webviz_4d._datainput.common as common


config_file = "./tests/data/example_config.yaml"
config = common.read_config(config_file)
config_folder = os.path.dirname(config_file)

settings_file = common.get_config_item(config, "settings")
settings_file = os.path.join(config_folder, settings_file)
settings = common.read_config(settings_file)


def test_read_config():
    well_folder = common.get_config_item(config, "wellfolder")

    assert well_folder == "./well_data"


def test_get_well_colors():
    colors = common.get_well_colors(settings)

    default = colors["default"]
    oil = colors["oil_production"]

    assert default == "black"
    assert oil == "green"

示例#9
0
def main():
    # Reek data
    print("Reek")
    config_file = "./examples/reek_4d.yaml"
    config = common.read_config(config_file)

    print(config_file)
    print(config)

    wellfolder = common.get_config_item(config, "wellfolder")
    print("wellfolder", wellfolder)

    settings_file = common.get_config_item(config, "settings_file")
    print("settings_file", settings_file)
    settings_file = common.get_full_path(settings_file)
    print("settings_file", settings_file)
    print("")

    # Johan Sverdrup (Eli/Tonje)
    print("Johan Sverdrup - synthetic 4D maps")
    config_file = "configurations/js_test_eli_v2.yaml"
    config = common.read_config(config_file)
    shared_settings = config["shared_settings"]
    print(config_file)
    print(config)

    map_suffix = common.get_config_item(config, "map_suffix")
    delimiter = common.get_config_item(config, "delimiter")
    metadata_file = common.get_config_item(config, "surface_metadata")

    metadata = get_metadata(shared_settings, map_suffix, delimiter, metadata_file)
    print(metadata)

    all_intervals, incremental_intervals = get_all_intervals(metadata, "reverse")
    print("incremental_intervals")
    print(incremental_intervals)
    print("all_intervals")
    print(all_intervals)
    print("")

    # Johan Sverdrup (Simulation model)
    print("Johan Sverdrup - simulation model")
    config_file = "configurations/js_test.yaml"
    config = common.read_config(config_file)
    shared_settings = config["shared_settings"]
    print(config_file)
    print(config)

    map_suffix = common.get_config_item(config, "map_suffix")
    delimiter = common.get_config_item(config, "delimiter")
    metadata_file = common.get_config_item(config, "surface_metadata")

    metadata = get_metadata(shared_settings, map_suffix, delimiter, metadata_file)
    print(metadata)

    all_intervals, incremental_intervals = get_all_intervals(metadata, "reverse")
    print("incremental_intervals")
    print(incremental_intervals)
    print("all_intervals")
    print(all_intervals)
    print("")

    # Grane
    print("Grane")
    config_file = "configurations/config_template.yaml"
    print(config_file)
    config = common.read_config(config_file)
    shared_settings = config["shared_settings"]

    map_suffix = common.get_config_item(config, "map_suffix")
    print("map_suffix", map_suffix)

    delimiter = common.get_config_item(config, "delimiter")
    print("delimiter", delimiter)

    metadata_file = common.get_config_item(config, "surface_metadata")
    print("metadata_file", metadata_file)

    metadata = get_metadata(shared_settings, map_suffix, delimiter, metadata_file)
    print(metadata)

    all_intervals, incremental_intervals = get_all_intervals(metadata, "normal")
    print("incremental_intervals")
    print(incremental_intervals)
    print("all_intervals")
    print(all_intervals)
示例#10
0
    read_config,
    get_config_item,
)

from webviz_4d._datainput._polygons import (
    load_polygons,
    load_zone_polygons,
    make_new_polyline_layer,
    get_zone_layer,
)

config_file = "./tests/data/example_config.yaml"
config = read_config(config_file)
config_folder = os.path.dirname(config_file)

settings_file = get_config_item(config, "settings")
settings_file = os.path.join(config_folder, settings_file)
settings_folder = os.path.dirname(settings_file)
settings = read_config(settings_file)

polygon_folder = settings["polygon_data"]
polygon_folder = Path(os.path.join(settings_folder, polygon_folder))
polygon_colors = settings.get("polygon_colors")

fault_layer = {
    "name": "Faults",
    "checked": True,
    "base_layer": False,
}
owc_layer = {
    "name": "Initial OWC",
示例#11
0
def main():
    # Main
    description = "Create a well overview file (.csv) with relevant metadata"
    parser = argparse.ArgumentParser(description=description)
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")

    args = parser.parse_args()
    print(description)
    print(args)

    config_file = args.config_file
    config = common.read_config(config_file)

    # Well and production data
    well_suffix = common.get_config_item(config, "well_suffix")
    map_suffix = common.get_config_item(config, "map_suffix")
    delimiter = common.get_config_item(config, "delimiter")
    metadata_file = common.get_config_item(config, "surface_metadata")

    well_directory = common.get_config_item(config, "wellfolder")
    well_directory = common.get_full_path(well_directory)

    prod_info_dir = common.get_config_item(config, "production_data")
    prod_info_dir = common.get_full_path(prod_info_dir)
    update_metadata_file = os.path.join(prod_info_dir,
                                        ".production_update.yaml")

    prod_info_files = [os.path.join(prod_info_dir, OIL_PRODUCTION_FILE)]
    prod_info_files.append(os.path.join(prod_info_dir, GAS_INJECTION_FILE))
    prod_info_files.append(os.path.join(prod_info_dir, WATER_INJECTION_FILE))

    prod_info_list = []
    for prod_info_file in prod_info_files:
        print("Reading production info from file " + str(prod_info_file))
        prod_info = pd.read_csv(prod_info_file)
        prod_info.name = os.path.basename(str(prod_info_file))

        prod_info_list.append(prod_info)

    _drilled_well_df, drilled_well_info, interval_df = well.load_all_wells(
        well_directory, well_suffix)
    print(interval_df)

    drilled_well_info = add_production_volumes(drilled_well_info,
                                               prod_info_list)

    wellbore_overview = drilled_well_info[[
        "wellbore.name",
        "wellbore.well_name",
        "BORE_OIL_VOL.csv_PDM well name",
        "wellbore.drilling_end_date",
        "wellbore.type",
        "wellbore.fluids",
        "BORE_OIL_VOL.csv_Start date",
        "BORE_OIL_VOL.csv_Stop date",
        "BORE_GI_VOL.csv_Start date",
        "BORE_GI_VOL.csv_Stop date",
        "BORE_WI_VOL.csv_Start date",
        "BORE_WI_VOL.csv_Stop date",
    ]]

    print(wellbore_overview)

    wellbores = wellbore_overview["wellbore.name"].unique()

    top_completion = []
    end_completion = []

    for wellbore in wellbores:
        try:
            top_md = interval_df[interval_df["interval.wellbore"] ==
                                 wellbore]["interval.mdTop"].values[0]
        except:
            top_md = None

        top_completion.append(top_md)

        try:
            base_md = interval_df[interval_df["interval.wellbore"] ==
                                  wellbore]["interval.mdBottom"].values[-1]
        except:
            base_md = None
        print(wellbore, top_md, base_md)
        end_completion.append(base_md)

    wellbore_overview.insert(6, "Top Screen", top_completion)
    wellbore_overview.insert(7, "Base Screen", end_completion)

    wellbore_overview.rename(columns={
        "wellbore.name": "Wellbore",
        "wellbore.well_name": "Well",
        "wellbore.drilling_end_date": "Drilling ended",
        "wellbore.type": "Type",
        "wellbore.fluids": "Fluid(s)",
        "BORE_OIL_VOL.csv_PDM well name": "PDM Well",
        "BORE_OIL_VOL.csv_Start date": "Start oil prod.",
        "BORE_OIL_VOL.csv_Stop date": "End oil prod.",
        "BORE_GI_VOL.csv_Start date": "Start gas inj.",
        "BORE_GI_VOL.csv_Stop date": "End gas inj.",
        "BORE_WI_VOL.csv_Start date": "Start water inj.",
        "BORE_WI_VOL.csv_Stop date": "End water inj.",
    },
                             inplace=True)

    wellbore_overview.sort_values("Wellbore", inplace=True)
    print(wellbore_overview)

    csv_file = os.path.join(well_directory, "wellbore_overview.csv")
    wellbore_overview.to_csv(csv_file, index=False, float_format='%.1f')
    print("Wellbore overview saved to:", csv_file)
def main():
    """ Extract min-/max-values for all maps """
    parser = argparse.ArgumentParser(
        description="Extract min-/max-values for all maps")
    parser.add_argument("config_file",
                        help="Enter path to the WebViz-4D configuration file")
    parser.add_argument(
        "--mode",
        help=
        "Full=> all maps, Standard (default)=> only one realization and iteration",
        default="Standard",
    )

    args = parser.parse_args()
    config_file = args.config_file
    mode = args.mode

    config = common.read_config(config_file)
    shared_settings = config["shared_settings"]
    map_suffix = common.get_config_item(config, "map_suffix")
    delimiter = common.get_config_item(config, "delimiter")
    metadata_file = common.get_config_item(config, "surface_metadata")
    settings_file = common.get_config_item(config, "settings")
    settings_file = common.get_full_path(settings_file)
    settings = common.read_config(settings_file)
    csv_file = settings["map_settings"]["colormaps_settings"]
    csv_file = common.get_full_path(csv_file)
    print(csv_file)

    if csv_file is not None and os.path.isfile(csv_file):
        old_map_df = pd.read_csv(csv_file)
        print(" - file loaded")
        print(old_map_df)
    else:
        old_map_df = None

    csv_file = settings["map_settings"]["colormaps_settings"]

    surface_metadata = _metadata.get_metadata(shared_settings, map_suffix,
                                              delimiter, metadata_file)
    print("surface_metadata")
    print(surface_metadata)

    surface_types = ["observations", "results"]
    mapping_dict = {"observations": "observed", "results": "simulated"}

    results_map_dir = mapping_dict["results"] + "_maps"

    if results_map_dir is not None:
        map_settings = shared_settings[results_map_dir]
        realization_names = map_settings["realization_names"]
        iteration_names = map_settings["ensemble_names"]
        selected_realization = realization_names[0].replace("*", "0")
        selected_iteration = iteration_names[0].replace("*", "0")

    map_types = []
    surface_names = []
    attributes = []
    intervals = []
    map_files = []
    min_values = []
    max_values = []
    lower_limits = []
    upper_limits = []

    headers = [
        "map type",
        "name",
        "attribute",
        "interval",
        "minimum value",
        "maximum value",
        "lower_limit",
        "upper_limit",
        "file_path",
    ]
    map_df = pd.DataFrame()

    surface_files = surface_metadata["filename"]
    surface_files = surface_files.replace("/.", "/").replace(".yaml", "")

    for _index, row in surface_metadata.iterrows():
        #print(row)
        map_type = row["map_type"]
        surface_name = row["data.name"]
        attribute = row["data.content"]
        interval = (row["data.time.t2"].replace("-", "") + "_" +
                    row["data.time.t1"].replace("-", ""))
        surface_file = row["filename"]
        surface_file = surface_file.replace("/.", "/").replace(".yaml", "")
        # print(surface_file)
        print(map_type, surface_name, attribute, interval)

        if not mode == "Full":
            realization = row["fmu_id.realization"]
            iteration = row["fmu_id.ensemble"]
            # print(realization, iteration)

            if map_type == "results":
                if (realization == selected_realization
                        and iteration == selected_iteration):
                    surface = load_surface(surface_file)

                    map_types.append(map_type)
                    surface_names.append(surface_name)
                    attributes.append(attribute)
                    intervals.append(interval)

                    zvalues = get_surface_arr(surface)[2]
                    min_val = np.nanmin(zvalues)
                    max_val = np.nanmax(zvalues)

                    min_values.append(min_val)
                    max_values.append(max_val)
                    map_files.append(surface_file)

                    lower_limit, upper_limit = get_plot_limits(
                        old_map_df, map_type, surface_name, attribute,
                        interval)

                    lower_limits.append(lower_limit)
                    upper_limits.append(upper_limit)
            else:
                surface = load_surface(surface_file)

                map_types.append(map_type)
                surface_names.append(surface_name)
                attributes.append(attribute)
                intervals.append(interval)

                zvalues = get_surface_arr(surface)[2]
                min_val = np.nanmin(zvalues)
                max_val = np.nanmax(zvalues)

                min_values.append(min_val)
                max_values.append(max_val)
                map_files.append(surface_file)

                lower_limit, upper_limit = get_plot_limits(
                    old_map_df, map_type, surface_name, attribute, interval)

                lower_limits.append(lower_limit)
                upper_limits.append(upper_limit)

        else:
            surface = load_surface(surface_file)

            map_types.append(map_type)
            surface_names.append(surface_name)
            attributes.append(attribute)
            intervals.append(interval)

            zvalues = get_surface_arr(surface)[2]
            min_val = np.nanmin(zvalues)
            max_val = np.nanmax(zvalues)

            min_values.append(min_val)
            max_values.append(max_val)
            map_files.append(surface_file)

            lower_limit, upper_limit = get_plot_limits(old_map_df, map_type,
                                                       surface_name, attribute,
                                                       interval)

            lower_limits.append(lower_limit)
            upper_limits.append(upper_limit)

    map_df[headers[0]] = map_types
    map_df[headers[1]] = surface_names
    map_df[headers[2]] = attributes
    map_df[headers[3]] = intervals
    map_df[headers[4]] = min_values
    map_df[headers[5]] = max_values
    map_df[headers[6]] = lower_limits
    map_df[headers[7]] = upper_limits
    map_df[headers[8]] = map_files

    print(map_df)
    map_df.to_csv(csv_file, index=False)
    print("Data saved to ", csv_file)
示例#13
0
def test_get_config_item():
    config_file = "../../reek_4d.yaml"
    config = read_config(config_file)
    print(get_config_item(config, "fmu_directory"))

    assert get_config_item(config, "fmu_directory") == FMU_DIRECTORY