From c0fb05c1b180a1b81b596a2880308f78363d66ef Mon Sep 17 00:00:00 2001 From: "Yngve S. Kristiansen" Date: Thu, 12 Sep 2024 08:35:03 +0200 Subject: [PATCH] Polars&parquet for responses and scaling factors * Datetime reading past 2263 should now work, added test asserting that it does work * Enforced f32 precision for observations & responses --- pyproject.toml | 1 + src/ert/analysis/_es_update.py | 123 ++--- src/ert/config/ert_config.py | 26 +- src/ert/config/gen_data_config.py | 34 +- src/ert/config/observation_vector.py | 53 ++- src/ert/config/observations.py | 38 +- src/ert/config/response_config.py | 15 +- src/ert/config/summary_config.py | 34 +- src/ert/dark_storage/common.py | 190 ++++---- src/ert/dark_storage/endpoints/records.py | 28 +- src/ert/data/_measured_data.py | 140 +++--- src/ert/gui/ertwidgets/models/ertsummary.py | 7 +- .../manage_experiments/storage_info_widget.py | 182 ++++---- .../manage_experiments/storage_widget.py | 2 +- .../jobs/internal-gui/scripts/csv_export.py | 2 +- .../scripts/gen_data_rft_export.py | 117 ++--- src/ert/run_models/base_run_model.py | 2 +- .../run_models/iterated_ensemble_smoother.py | 2 +- src/ert/simulator/batch_simulator_context.py | 2 +- src/ert/storage/local_ensemble.py | 93 ++-- src/ert/storage/local_experiment.py | 28 +- src/ert/storage/local_storage.py | 19 +- src/ert/storage/migration/to4.py | 3 +- src/ert/storage/migration/to7.py | 123 +++++ tests/ert/performance_tests/test_analysis.py | 35 +- .../test_dark_storage_performance.py | 7 +- .../performance_tests/test_memory_usage.py | 73 +-- .../analysis/test_adaptive_localization.py | 14 +- .../ui_tests/cli/analysis/test_es_update.py | 35 +- .../test_es_mda/es_mda_integration_snapshot | 30 +- tests/ert/ui_tests/gui/test_csv_export.py | 2 +- .../test_export_misfit/0/csv_data.csv | 10 +- .../0-misfit_preprocess0/update_log | 424 +++++++++--------- .../0-misfit_preprocess1/update_log | 424 +++++++++--------- .../0-misfit_preprocess2/update_log | 424 +++++++++--------- .../0-misfit_preprocess3/update_log | 424 +++++++++--------- .../0/error_event | 424 +++++++++--------- .../ert/unit_tests/analysis/test_es_update.py | 127 +++--- .../config/observations_generator.py | 3 + .../unit_tests/config/test_observations.py | 32 +- .../0/snake_oil_measured_output.csv | 19 +- .../unit_tests/data/test_integration_data.py | 46 +- .../scenarios/test_summary_response.py | 53 ++- .../0/misfit_collector.csv | 10 +- .../storage/migration/test_version_3.py | 7 +- .../observations/FWPR | 2 - .../observations/GEN | 2 - .../observations/gen_data | 2 + .../observations/summary | 2 + .../test_that_storage_matches/summary_data | 2 +- .../unit_tests/storage/test_local_storage.py | 38 +- .../storage/test_storage_migration.py | 8 +- .../ert/unit_tests/test_load_forward_model.py | 31 +- tests/ert/unit_tests/test_summary_response.py | 13 +- 54 files changed, 2221 insertions(+), 1766 deletions(-) delete mode 100644 tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/FWPR delete mode 100644 tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/GEN create mode 100644 tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/gen_data create mode 100644 tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/summary diff --git a/pyproject.toml b/pyproject.toml index 5c8b5d8a55d..155bb52ea46 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,7 @@ dependencies = [ "packaging", "pandas", "pluggy>=1.3.0", + "polars", "psutil", "pyarrow", # extra dependency for pandas (parquet) "pydantic > 2", diff --git a/src/ert/analysis/_es_update.py b/src/ert/analysis/_es_update.py index 4fd29651dec..a49e5c41c26 100644 --- a/src/ert/analysis/_es_update.py +++ b/src/ert/analysis/_es_update.py @@ -18,7 +18,7 @@ import iterative_ensemble_smoother as ies import numpy as np -import pandas as pd +import polars import psutil from iterative_ensemble_smoother.experimental import ( AdaptiveESMDA, @@ -153,56 +153,75 @@ def _get_observations_and_responses( observation_values = [] observation_errors = [] indexes = [] - observations = ensemble.experiment.observations - for obs in selected_observations: - observation = observations[obs] - group = observation.attrs["response"] - all_responses = ensemble.load_responses(group, tuple(iens_active_index)) - if "time" in observation.coords: - all_responses = all_responses.reindex( - time=observation.time, - method="nearest", + observations_by_type = ensemble.experiment.observations + for ( + response_type, + response_cls, + ) in ensemble.experiment.response_configuration.items(): + if response_type not in observations_by_type: + continue + + observations_for_type = observations_by_type[response_type].filter( + polars.col("observation_key").is_in(list(selected_observations)) + ) + responses_for_type = ensemble.load_responses( + response_type, realizations=tuple(iens_active_index) + ) + + # Note that if there are duplicate entries for one + # response at one index, they are aggregated together + # with "mean" by default + pivoted = responses_for_type.pivot( + on="realization", + index=["response_key", *response_cls.primary_key], + aggregate_function="mean", + ) + + # Note2reviewer: + # We need to either assume that if there is a time column + # we will approx-join that, or we could specify in response configs + # that there is a column that requires an approx "asof" join. + # Suggest we simplify and assume that there is always only + # one "time" column, which we will reindex towards the response dataset + # with a given resolution + if "time" in pivoted: + joined = observations_for_type.join_asof( + pivoted, + by=["response_key", *response_cls.primary_key], + on="time", tolerance="1s", ) - try: - observations_and_responses = observation.merge(all_responses, join="left") - except KeyError as e: - raise ErtAnalysisError( - f"Mismatched index for: " - f"Observation: {obs} attached to response: {group}" - ) from e - - observation_keys.append([obs] * observations_and_responses["observations"].size) - - if group == "summary": - indexes.append( - [ - np.datetime_as_string(e, unit="s") - for e in observations_and_responses["time"].data - ] - ) else: - indexes.append( - [ - f"{e[0]}, {e[1]}" - for e in zip( - list(observations_and_responses["report_step"].data) - * len(observations_and_responses["index"].data), - observations_and_responses["index"].data, - ) - ] + joined = observations_for_type.join( + pivoted, + how="left", + on=["response_key", *response_cls.primary_key], ) - observation_values.append( - observations_and_responses["observations"].data.ravel() - ) - observation_errors.append(observations_and_responses["std"].data.ravel()) + joined = joined.sort(by="observation_key") + + index_1d = joined.with_columns( + polars.concat_str(response_cls.primary_key, separator=", ").alias("index") + )["index"].to_numpy() + + obs_keys_1d = joined["observation_key"].to_numpy() + obs_values_1d = joined["observations"].to_numpy() + obs_errors_1d = joined["std"].to_numpy() + + # 4 columns are always there: + # [ response_key, observation_key, observations, std ] + # + one column per "primary key" column + num_non_response_value_columns = 4 + len(response_cls.primary_key) + responses = joined.select( + joined.columns[num_non_response_value_columns:] + ).to_numpy() + + filtered_responses.append(responses) + observation_keys.append(obs_keys_1d) + observation_values.append(obs_values_1d) + observation_errors.append(obs_errors_1d) + indexes.append(index_1d) - filtered_responses.append( - observations_and_responses["values"] - .transpose(..., "realization") - .values.reshape((-1, len(observations_and_responses.realization))) - ) ensemble.load_responses.cache_clear() return ( np.concatenate(filtered_responses), @@ -288,12 +307,14 @@ def _load_observations_and_responses( scaling[obs_group_mask] *= scaling_factors scaling_factors_dfs.append( - pd.DataFrame( - data={ + polars.DataFrame( + { "input_group": [", ".join(input_group)] * len(scaling_factors), "index": indexes[obs_group_mask], "obs_key": obs_keys[obs_group_mask], - "scaling_factor": scaling_factors, + "scaling_factor": polars.Series( + scaling_factors, dtype=polars.Float32 + ), } ) ) @@ -322,10 +343,8 @@ def _load_observations_and_responses( ) ) - scaling_factors_df = pd.concat(scaling_factors_dfs).set_index( - ["input_group", "obs_key", "index"], verify_integrity=True - ) - ensemble.save_observation_scaling_factors(scaling_factors_df.to_xarray()) + scaling_factors_df = polars.concat(scaling_factors_dfs) + ensemble.save_observation_scaling_factors(scaling_factors_df) # Recompute with updated scales scaled_errors = errors * scaling diff --git a/src/ert/config/ert_config.py b/src/ert/config/ert_config.py index 503b45383c6..6385e1a7176 100644 --- a/src/ert/config/ert_config.py +++ b/src/ert/config/ert_config.py @@ -22,7 +22,7 @@ overload, ) -import xarray as xr +import polars from pydantic import ValidationError as PydanticValidationError from typing_extensions import Self @@ -112,6 +112,28 @@ class ErtConfig: Tuple[str, Union[HistoryValues, SummaryValues, GenObsValues]] ] = field(default_factory=list) + def __eq__(self, other: object) -> bool: + if not isinstance(other, ErtConfig): + return False + + for attr in vars(self): + if attr == "observations": + if self.observations.keys() != other.observations.keys(): + return False + + if not all( + self.observations[k].equals(other.observations[k]) + for k in self.observations + ): + return False + + continue + + if getattr(self, attr) != getattr(other, attr): + return False + + return True + def __post_init__(self) -> None: self.config_path = ( path.dirname(path.abspath(self.user_config_file)) @@ -120,7 +142,7 @@ def __post_init__(self) -> None: ) self.enkf_obs: EnkfObs = self._create_observations(self.observation_config) - self.observations: Dict[str, xr.Dataset] = self.enkf_obs.datasets + self.observations: Dict[str, polars.DataFrame] = self.enkf_obs.datasets @staticmethod def with_plugins( diff --git a/src/ert/config/gen_data_config.py b/src/ert/config/gen_data_config.py index 3f2a860cb11..9c9e4093fd1 100644 --- a/src/ert/config/gen_data_config.py +++ b/src/ert/config/gen_data_config.py @@ -5,7 +5,7 @@ from typing import List, Optional, Tuple import numpy as np -import xarray as xr +import polars from typing_extensions import Self from ert.validation import rangestring_to_list @@ -107,8 +107,8 @@ def from_config_dict(cls, config_dict: ConfigDict) -> Optional[Self]: report_steps_list=report_steps, ) - def read_from_file(self, run_path: str, _: int) -> xr.Dataset: - def _read_file(filename: Path, report_step: int) -> xr.Dataset: + def read_from_file(self, run_path: str, _: int) -> polars.DataFrame: + def _read_file(filename: Path, report_step: int) -> polars.DataFrame: if not filename.exists(): raise ValueError(f"Missing output file: {filename}") data = np.loadtxt(_run_path / filename, ndmin=1) @@ -116,12 +116,14 @@ def _read_file(filename: Path, report_step: int) -> xr.Dataset: if active_information_file.exists(): active_list = np.loadtxt(active_information_file) data[active_list == 0] = np.nan - return xr.Dataset( - {"values": (["report_step", "index"], [data])}, - coords={ - "index": np.arange(len(data)), - "report_step": [report_step], - }, + return polars.DataFrame( + { + "report_step": polars.Series( + np.full(len(data), report_step), dtype=polars.UInt16 + ), + "index": polars.Series(np.arange(len(data)), dtype=polars.UInt16), + "values": polars.Series(data, dtype=polars.Float32), + } ) errors = [] @@ -150,16 +152,16 @@ def _read_file(filename: Path, report_step: int) -> xr.Dataset: except ValueError as err: errors.append(str(err)) - ds_all_report_steps = xr.concat( - datasets_per_report_step, dim="report_step" - ).expand_dims(name=[name]) + ds_all_report_steps = polars.concat(datasets_per_report_step) + ds_all_report_steps.insert_column( + 0, polars.Series("response_key", [name] * len(ds_all_report_steps)) + ) datasets_per_name.append(ds_all_report_steps) if errors: raise ValueError(f"Error reading GEN_DATA: {self.name}, errors: {errors}") - combined = xr.concat(datasets_per_name, dim="name") - combined.attrs["response"] = "gen_data" + combined = polars.concat(datasets_per_name) return combined def get_args_for_key(self, key: str) -> Tuple[Optional[str], Optional[List[int]]]: @@ -173,5 +175,9 @@ def get_args_for_key(self, key: str) -> Tuple[Optional[str], Optional[List[int]] def response_type(self) -> str: return "gen_data" + @property + def primary_key(self) -> List[str]: + return ["report_step", "index"] + responses_index.add_response_type(GenDataConfig) diff --git a/src/ert/config/observation_vector.py b/src/ert/config/observation_vector.py index f77364b0ade..9044ce116eb 100644 --- a/src/ert/config/observation_vector.py +++ b/src/ert/config/observation_vector.py @@ -3,7 +3,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, Iterable, List, Union -import xarray as xr +import numpy as np from .enkf_observation_implementation_type import EnkfObservationImplementationType from .general_observation import GenObservation @@ -12,6 +12,8 @@ if TYPE_CHECKING: from datetime import datetime +import polars + @dataclass class ObsVector: @@ -27,28 +29,38 @@ def __iter__(self) -> Iterable[Union[SummaryObservation, GenObservation]]: def __len__(self) -> int: return len(self.observations) - def to_dataset(self, active_list: List[int]) -> xr.Dataset: + def to_dataset(self, active_list: List[int]) -> polars.DataFrame: if self.observation_type == EnkfObservationImplementationType.GEN_OBS: - datasets = [] + dataframes = [] for time_step, node in self.observations.items(): if active_list and time_step not in active_list: continue assert isinstance(node, GenObservation) - datasets.append( - xr.Dataset( + dataframes.append( + polars.DataFrame( { - "observations": (["report_step", "index"], [node.values]), - "std": (["report_step", "index"], [node.stds]), - }, - coords={"index": node.indices, "report_step": [time_step]}, + "response_key": self.data_key, + "observation_key": self.observation_key, + "report_step": polars.Series( + np.full(len(node.indices), time_step), + dtype=polars.UInt16, + ), + "index": polars.Series(node.indices, dtype=polars.UInt16), + "observations": polars.Series( + node.values, dtype=polars.Float32 + ), + "std": polars.Series(node.stds, dtype=polars.Float32), + } ) ) - combined = xr.combine_by_coords(datasets) - combined.attrs["response"] = self.data_key - return combined # type: ignore + + combined = polars.concat(dataframes) + return combined elif self.observation_type == EnkfObservationImplementationType.SUMMARY_OBS: observations = [] + actual_response_key = self.observation_key + actual_observation_keys = [] errors = [] dates = list(self.observations.keys()) if active_list: @@ -57,15 +69,20 @@ def to_dataset(self, active_list: List[int]) -> xr.Dataset: for time_step in dates: n = self.observations[time_step] assert isinstance(n, SummaryObservation) + actual_observation_keys.append(n.observation_key) observations.append(n.value) errors.append(n.std) - return xr.Dataset( + + dates_series = polars.Series(dates).dt.cast_time_unit("ms") + + return polars.DataFrame( { - "observations": (["name", "time"], [observations]), - "std": (["name", "time"], [errors]), - }, - coords={"time": dates, "name": [self.observation_key]}, - attrs={"response": "summary"}, + "response_key": actual_response_key, + "observation_key": actual_observation_keys, + "time": dates_series, + "observations": polars.Series(observations, dtype=polars.Float32), + "std": polars.Series(errors, dtype=polars.Float32), + } ) else: raise ValueError(f"Unknown observation type {self.observation_type}") diff --git a/src/ert/config/observations.py b/src/ert/config/observations.py index a490a292140..e25c0f8c442 100644 --- a/src/ert/config/observations.py +++ b/src/ert/config/observations.py @@ -1,10 +1,11 @@ import os from dataclasses import dataclass from datetime import datetime, timedelta +from pathlib import Path from typing import TYPE_CHECKING, Dict, Iterator, List, Optional, Tuple, Union import numpy as np -import xarray as xr +import polars from ert.validation import rangestring_to_list @@ -42,9 +43,28 @@ class EnkfObs: obs_time: List[datetime] def __post_init__(self) -> None: - self.datasets: Dict[str, xr.Dataset] = { - name: obs.to_dataset([]) for name, obs in sorted(self.obs_vectors.items()) - } + grouped: Dict[str, List[polars.DataFrame]] = {} + for vec in self.obs_vectors.values(): + if vec.observation_type == EnkfObservationImplementationType.SUMMARY_OBS: + if "summary" not in grouped: + grouped["summary"] = [] + + grouped["summary"].append(vec.to_dataset([])) + + elif vec.observation_type == EnkfObservationImplementationType.GEN_OBS: + if "gen_data" not in grouped: + grouped["gen_data"] = [] + + grouped["gen_data"].append(vec.to_dataset([])) + + datasets: Dict[str, polars.DataFrame] = {} + + for name, dfs in grouped.items(): + non_empty_dfs = [df for df in dfs if not df.is_empty()] + if len(non_empty_dfs) > 0: + datasets[name] = polars.concat(non_empty_dfs).sort("observation_key") + + self.datasets = datasets def __len__(self) -> int: return len(self.obs_vectors) @@ -61,8 +81,12 @@ def __getitem__(self, key: str) -> ObsVector: def __eq__(self, other: object) -> bool: if not isinstance(other, EnkfObs): return False + + if self.datasets.keys() != other.datasets.keys(): + return False + # Datasets contains the full observations, so if they are equal, everything is - return self.datasets == other.datasets + return all(self.datasets[k].equals(other.datasets[k]) for k in self.datasets) def getTypedKeylist( self, observation_implementation_type: EnkfObservationImplementationType @@ -461,3 +485,7 @@ def _handle_general_observation( def __repr__(self) -> str: return f"EnkfObs({self.obs_vectors}, {self.obs_time})" + + def write_to_folder(self, dest: Path) -> None: + for name, dataset in self.datasets.items(): + dataset.write_parquet(dest / name) diff --git a/src/ert/config/response_config.py b/src/ert/config/response_config.py index d40f899ed87..e41bdfb3ff4 100644 --- a/src/ert/config/response_config.py +++ b/src/ert/config/response_config.py @@ -2,7 +2,7 @@ from abc import ABC, abstractmethod from typing import Any, Dict, List, Optional -import xarray as xr +import polars from typing_extensions import Self from ert.config.parameter_config import CustomDict @@ -16,7 +16,7 @@ class ResponseConfig(ABC): keys: List[str] = dataclasses.field(default_factory=list) @abstractmethod - def read_from_file(self, run_path: str, iens: int) -> xr.Dataset: ... + def read_from_file(self, run_path: str, iens: int) -> polars.DataFrame: ... def to_dict(self) -> Dict[str, Any]: data = dataclasses.asdict(self, dict_factory=CustomDict) @@ -35,9 +35,20 @@ def response_type(self) -> str: Must not overlap with that of other response configs.""" ... + @property + @abstractmethod + def primary_key(self) -> List[str]: + """Primary key of this response data. + For example 'time' for summary and ['index','report_step'] for gen data""" + @classmethod @abstractmethod def from_config_dict(cls, config_dict: ConfigDict) -> Optional[Self]: """Creates a config, given an ert config dict. A response config may depend on several config kws, such as REFCASE for summary.""" + + @classmethod + def display_column(cls, value: Any, column_name: str) -> str: + """Formats a value to a user-friendly displayable format.""" + return str(value) diff --git a/src/ert/config/summary_config.py b/src/ert/config/summary_config.py index 9aeb037dd30..8d2e2e9c425 100644 --- a/src/ert/config/summary_config.py +++ b/src/ert/config/summary_config.py @@ -3,9 +3,7 @@ import logging from dataclasses import dataclass from datetime import datetime -from typing import TYPE_CHECKING, Optional, Set, Union, no_type_check - -import xarray as xr +from typing import TYPE_CHECKING, Any, Optional, Set, Union, no_type_check from ._read_summary import read_summary from .ensemble_config import Refcase @@ -18,6 +16,7 @@ from typing import List logger = logging.getLogger(__name__) +import polars @dataclass @@ -37,7 +36,7 @@ def expected_input_files(self) -> List[str]: base = self.input_files[0] return [f"{base}.UNSMRY", f"{base}.SMSPEC"] - def read_from_file(self, run_path: str, iens: int) -> xr.Dataset: + def read_from_file(self, run_path: str, iens: int) -> polars.DataFrame: filename = self.input_files[0].replace("", str(iens)) _, keys, time_map, data = read_summary(f"{run_path}/{filename}", self.keys) if len(data) == 0 or len(keys) == 0: @@ -47,16 +46,28 @@ def read_from_file(self, run_path: str, iens: int) -> xr.Dataset: raise ValueError( f"Did not find any summary values matching {self.keys} in {filename}" ) - ds = xr.Dataset( - {"values": (["name", "time"], data)}, - coords={"time": time_map, "name": keys}, + + # Important: Pick lowest unit resolution to allow for using + # datetimes many years into the future + time_map_series = polars.Series(time_map).dt.cast_time_unit("ms") + df = polars.DataFrame( + { + "response_key": keys, + "time": [time_map_series for _ in data], + "values": [polars.Series(row, dtype=polars.Float32) for row in data], + } ) - return ds.drop_duplicates("time") + df = df.explode("values", "time") + return df @property def response_type(self) -> str: return "summary" + @property + def primary_key(self) -> List[str]: + return ["time"] + @no_type_check @classmethod def from_config_dict(cls, config_dict: ConfigDict) -> Optional[SummaryConfig]: @@ -87,5 +98,12 @@ def from_config_dict(cls, config_dict: ConfigDict) -> Optional[SummaryConfig]: return None + @classmethod + def display_column(cls, value: Any, column_name: str) -> str: + if column_name == "time": + return value.strftime("%Y-%m-%d") + + return str(value) + responses_index.add_response_type(SummaryConfig) diff --git a/src/ert/dark_storage/common.py b/src/ert/dark_storage/common.py index be63e5e1d8f..18402e7d76e 100644 --- a/src/ert/dark_storage/common.py +++ b/src/ert/dark_storage/common.py @@ -1,15 +1,41 @@ import contextlib -from typing import Any, Dict, Iterator, List, Sequence, Union +from typing import Any, Callable, Dict, Iterator, List, Optional, Sequence, Tuple, Union from uuid import UUID import numpy as np import pandas as pd +import polars import xarray as xr from ert.config import GenDataConfig, GenKwConfig from ert.config.field import Field from ert.storage import Ensemble, Experiment, Storage +response_key_to_displayed_key: Dict[str, Callable[[Tuple[Any, ...]], str]] = { + "summary": lambda t: t[0], + "gen_data": lambda t: f"{t[0]}@{t[1]}", +} + + +def _parse_gendata_response_key(display_key: str) -> Tuple[Any, ...]: + response_key, report_step = display_key.split("@") + return response_key, int(report_step) + + +displayed_key_to_response_key: Dict[str, Callable[[str], Tuple[Any, ...]]] = { + "summary": lambda key: (key,), + "gen_data": _parse_gendata_response_key, +} + +# indexing below is based on observation ds columns: +# [ "observation_key", "response_key", *primary_key ] +# for gen_data primary_key is ["report_step", "index"] +# for summary it is ["time"] +response_to_pandas_x_axis_fns: Dict[str, Callable[[Tuple[Any, ...]], Any]] = { + "summary": lambda t: pd.Timestamp(t[2]).isoformat(), + "gen_data": lambda t: str(t[3]), +} + def ensemble_parameters(storage: Storage, ensemble_id: UUID) -> List[Dict[str, Any]]: param_list = [] @@ -82,17 +108,19 @@ def data_for_key( summary_data = ensemble.load_responses( "summary", tuple(ensemble.get_realization_list_with_responses("summary")) ) - summary_keys = summary_data["name"].values + summary_keys = summary_data["response_key"].unique().to_list() except (ValueError, KeyError): - summary_data = xr.Dataset() - summary_keys = np.array([], dtype=str) + summary_data = polars.DataFrame() + summary_keys = [] if key in summary_keys: - df = summary_data.to_dataframe() - df = df.xs(key, level="name") - df.index = df.index.rename( - {"time": "Date", "realization": "Realization"} - ).reorder_levels(["Realization", "Date"]) + df = ( + summary_data.filter(polars.col("response_key").eq(key)) + .rename({"time": "Date", "realization": "Realization"}) + .drop("response_key") + .to_pandas() + ) + df = df.set_index(["Date", "Realization"]) data = df.unstack(level="Date") data.columns = data.columns.droplevel(0) try: @@ -138,26 +166,23 @@ def data_for_key( except ValueError: return data if key in gen_data_keys(ensemble): - key_parts = key.split("@") - key = key_parts[0] + response_key, report_step = displayed_key_to_response_key["gen_data"](key) try: - mask = ensemble.get_realization_mask_with_responses(key) + mask = ensemble.get_realization_mask_with_responses(response_key) realizations = np.where(mask)[0] - data = ensemble.load_responses(key, tuple(realizations)) + data = ensemble.load_responses(response_key, tuple(realizations)) except ValueError as err: print(f"Could not load response {key}: {err}") return pd.DataFrame() - report_step = int(key_parts[1]) if len(key_parts) > 1 else 0 - try: - vals = data.sel(report_step=report_step, drop=True) - index = pd.Index(vals.index.values, name="axis") - data = pd.DataFrame( - data=vals["values"].values.reshape(len(vals.realization), -1), - index=realizations, - columns=index, + vals = data.filter(polars.col("report_step").eq(report_step)) + pivoted = vals.drop("response_key", "report_step").pivot( + on="index", values="values" ) + data = pivoted.to_pandas().set_index("realization") + data.columns = data.columns.astype(int) + data.columns.name = "axis" try: return data.astype(float) except ValueError: @@ -168,78 +193,91 @@ def data_for_key( return pd.DataFrame() -def get_all_observations(experiment: Experiment) -> List[Dict[str, Any]]: +def _get_observations( + experiment: Experiment, observation_keys: Optional[List[str]] = None +) -> List[Dict[str, Any]]: observations = [] - for key, dataset in experiment.observations.items(): - observation = { - "name": key, - "values": list(dataset["observations"].values.flatten()), - "errors": list(dataset["std"].values.flatten()), - } - if "time" in dataset.coords: - observation["x_axis"] = _prepare_x_axis(dataset["time"].values.flatten()) # type: ignore - else: - observation["x_axis"] = _prepare_x_axis(dataset["index"].values.flatten()) # type: ignore - observations.append(observation) - - observations.sort(key=lambda x: x["x_axis"]) # type: ignore + + for response_type, df in experiment.observations.items(): + if observation_keys is not None: + df = df.filter(polars.col("observation_key").is_in(observation_keys)) + + if df.is_empty(): + continue + + x_axis_fn = response_to_pandas_x_axis_fns[response_type] + df = df.rename( + { + "observation_key": "name", + "std": "errors", + "observations": "values", + } + ) + df = df.with_columns( + polars.Series(name="x_axis", values=df.map_rows(x_axis_fn)) + ) + df = df.sort("x_axis") + + for obs_key, _obs_df in df.group_by("name"): + observations.append( + { + "name": obs_key[0], + "values": _obs_df["values"].to_list(), + "errors": _obs_df["errors"].to_list(), + "x_axis": _obs_df["x_axis"].to_list(), + } + ) + return observations +def get_all_observations(experiment: Experiment) -> List[Dict[str, Any]]: + return _get_observations(experiment) + + def get_observations_for_obs_keys( ensemble: Ensemble, observation_keys: List[str] ) -> List[Dict[str, Any]]: - observations = [] - experiment_observations = ensemble.experiment.observations - for key in observation_keys: - dataset = experiment_observations[key] - observation = { - "name": key, - "values": list(dataset["observations"].values.flatten()), - "errors": list(dataset["std"].values.flatten()), - } - if "time" in dataset.coords: - observation["x_axis"] = _prepare_x_axis(dataset["time"].values.flatten()) # type: ignore - else: - observation["x_axis"] = _prepare_x_axis(dataset["index"].values.flatten()) # type: ignore - observations.append(observation) - - observations.sort(key=lambda x: x["x_axis"]) # type: ignore - return observations + return _get_observations(ensemble.experiment, observation_keys) def get_observation_keys_for_response( - ensemble: Ensemble, response_key: str + ensemble: Ensemble, displayed_response_key: str ) -> List[str]: """ Get all observation keys for given response key """ - if response_key in gen_data_keys(ensemble): - response_key_parts = response_key.split("@") - data_key = response_key_parts[0] - data_report_step = ( - int(response_key_parts[1]) if len(response_key_parts) > 1 else 0 + if displayed_response_key in gen_data_keys(ensemble): + response_key, report_step = displayed_key_to_response_key["gen_data"]( + displayed_response_key ) - for observation_key, dataset in ensemble.experiment.observations.items(): - if ( - "report_step" in dataset.coords - and data_key == dataset.attrs["response"] - and data_report_step == min(dataset["report_step"].values) - ): - return [observation_key] - return [] - - elif response_key in ensemble.get_summary_keyset(): - observation_keys = [] - for observation_key, dataset in ensemble.experiment.observations.items(): - if ( - dataset.attrs["response"] == "summary" - and dataset.name.values.flatten()[0] == response_key - ): - observation_keys.append(observation_key) - return observation_keys + if "gen_data" in ensemble.experiment.observations: + observations = ensemble.experiment.observations["gen_data"] + filtered = observations.filter( + polars.col("response_key").eq(response_key) + & polars.col("report_step").eq(report_step) + ) + + if filtered.is_empty(): + return [] + + return filtered["observation_key"].unique().to_list() + + elif displayed_response_key in ensemble.get_summary_keyset(): + response_key = displayed_key_to_response_key["summary"](displayed_response_key)[ + 0 + ] + + if "summary" in ensemble.experiment.observations: + observations = ensemble.experiment.observations["summary"] + filtered = observations.filter(polars.col("response_key").eq(response_key)) + + if filtered.is_empty(): + return [] + + return filtered["observation_key"].unique().to_list() return [] diff --git a/src/ert/dark_storage/endpoints/records.py b/src/ert/dark_storage/endpoints/records.py index 8c1ca4aadfd..bb172237715 100644 --- a/src/ert/dark_storage/endpoints/records.py +++ b/src/ert/dark_storage/endpoints/records.py @@ -14,6 +14,7 @@ gen_data_keys, get_observation_keys_for_response, get_observations_for_obs_keys, + response_key_to_displayed_key, ) from ert.dark_storage.enkf import get_storage from ert.storage import Storage @@ -37,6 +38,7 @@ async def get_record_observations( obs_keys = get_observation_keys_for_response(ensemble, response_name) obss = get_observations_for_obs_keys(ensemble, obs_keys) + obss.sort(key=lambda x: x["name"]) if not obss: return [] @@ -110,15 +112,23 @@ def get_ensemble_responses( ensemble = storage.get_ensemble(ensemble_id) response_names_with_observations = set() - for dataset in ensemble.experiment.observations.values(): - if dataset.attrs["response"] == "summary" and "name" in dataset.coords: - response_name = dataset.name.values.flatten()[0] - response_names_with_observations.add(response_name) - else: - response_name = dataset.attrs["response"] - if "report_step" in dataset.coords: - report_step = dataset.report_step.values.flatten()[0] - response_names_with_observations.add(response_name + "@" + str(report_step)) + observations = ensemble.experiment.observations + + for ( + response_type, + response_config, + ) in ensemble.experiment.response_configuration.items(): + if response_type in observations: + obs_ds = observations[response_type] + display_key_fn = response_key_to_displayed_key[response_type] + obs_with_responses = ( + obs_ds.select(["response_key", *response_config.primary_key]) + .map_rows(display_key_fn) + .unique() + .to_series() + .to_list() + ) + response_names_with_observations.update(set(obs_with_responses)) for name in ensemble.get_summary_keyset(): response_map[str(name)] = js.RecordOut( diff --git a/src/ert/data/_measured_data.py b/src/ert/data/_measured_data.py index 4396b3780f4..c44745e60c4 100644 --- a/src/ert/data/_measured_data.py +++ b/src/ert/data/_measured_data.py @@ -12,6 +12,7 @@ import numpy as np import pandas as pd +import polars if TYPE_CHECKING: from ert.storage import Ensemble @@ -22,9 +23,13 @@ class ResponseError(Exception): class MeasuredData: - def __init__(self, ensemble: Ensemble, keys: Optional[List[str]] = None): + def __init__( + self, + ensemble: Ensemble, + keys: Optional[List[str]] = None, + ): if keys is None: - keys = sorted(ensemble.experiment.observations.keys()) + keys = sorted(ensemble.experiment.observation_keys) if not keys: raise ObservationError("No observation keys provided") @@ -86,75 +91,94 @@ def _get_data( observed standard deviation will be named STD. """ - measured_data = [] - observations = ensemble.experiment.observations + observations_by_type = ensemble.experiment.observations + + dfs = [] + for key in observation_keys: - obs = observations.get(key) - if not obs: + if key not in ensemble.experiment.observation_keys: raise ObservationError( f"No observation: {key} in ensemble: {ensemble.name}" ) - group = obs.attrs["response"] - try: - response = ensemble.load_responses( - group, - tuple(ensemble.get_realization_list_with_responses()), - ) - _msg = f"No response loaded for observation key: {key}" - if not response: - raise ResponseError(_msg) - except KeyError as e: - raise ResponseError(_msg) from e - ds = obs.merge( - response, - join="left", + + for ( + response_type, + response_cls, + ) in ensemble.experiment.response_configuration.items(): + observations_for_type = observations_by_type[response_type].filter( + polars.col("observation_key").is_in(observation_keys) ) - data = np.vstack( - [ - ds.observations.values.ravel(), - ds["std"].values.ravel(), - ds["values"].values.reshape(len(ds.realization), -1), - ] + responses_for_type = ensemble.load_responses( + response_type, + realizations=tuple( + ensemble.get_realization_list_with_responses(response_type) + ), ) - if "time" in ds.coords: - ds = ds.rename(time="key_index") - ds = ds.assign_coords({"name": [key]}) - - data_index = [] - for observation_date in obs.time.values: - if observation_date in response.indexes["time"]: - data_index.append( - response.indexes["time"].get_loc(observation_date) - ) - else: - data_index.append(np.nan) - - index_vals = ds.observations.coords.to_index( - ["name", "key_index"] - ).values + # Note that if there are duplicate entries for one + # response at one index, they are aggregated together + # with "mean" by default + pivoted = responses_for_type.pivot( + on="realization", + index=["response_key", *response_cls.primary_key], + aggregate_function="mean", + ) + if "time" in pivoted: + joined = observations_for_type.join_asof( + pivoted, + by=["response_key", *response_cls.primary_key], + on="time", + tolerance="1s", + ) else: - ds = ds.expand_dims({"name": [key]}) - ds = ds.rename(index="key_index") - data_index = ds.key_index.values - index_vals = ds.observations.coords.to_index().droplevel("report_step") + joined = observations_for_type.join( + pivoted, + how="left", + on=["response_key", *response_cls.primary_key], + ) - index_vals = [ - (name, data_i, i) for i, (name, data_i) in zip(data_index, index_vals) - ] - measured_data.append( - pd.DataFrame( - data, - index=("OBS", "STD", *ds.realization.values), - columns=pd.MultiIndex.from_tuples( - index_vals, - names=[None, "key_index", "data_index"], - ), + joined = joined.sort(by="observation_key").with_columns( + polars.concat_str(response_cls.primary_key, separator=", ").alias( + "key_index" ) ) - return pd.concat(measured_data, axis=1) + # Put key_index column 1st + joined = joined[["key_index", *joined.columns[:-1]]] + joined = joined.drop(*response_cls.primary_key) + + if not joined.is_empty(): + dfs.append(joined) + + df = polars.concat(dfs) + df = df.rename( + { + "observations": "OBS", + "std": "STD", + } + ) + + pddf = df.to_pandas()[ + [ + "observation_key", + "key_index", + "OBS", + "STD", + *df.columns[5:], + ] + ] + + # Pandas differentiates vs int and str keys. + # Legacy-wise we use int keys for realizations + pddf.rename( + columns={str(k): int(k) for k in range(ensemble.ensemble_size)}, + inplace=True, + ) + + pddf = pddf.set_index(["observation_key", "key_index"]).transpose() + + return pddf class ObservationError(Exception): diff --git a/src/ert/gui/ertwidgets/models/ertsummary.py b/src/ert/gui/ertwidgets/models/ertsummary.py index 4f37931f48f..f94bab61fdf 100644 --- a/src/ert/gui/ertwidgets/models/ertsummary.py +++ b/src/ert/gui/ertwidgets/models/ertsummary.py @@ -29,5 +29,8 @@ def getParameters(self) -> Tuple[List[str], int]: return sorted(parameters, key=lambda k: k.lower()), count def getObservations(self) -> List[str]: - obs_keys = self.ert_config.observations.keys() - return sorted(obs_keys, key=lambda k: k.lower()) + keys = [] + for df in self.ert_config.observations.values(): + keys.extend(df["observation_key"].unique().to_list()) + + return sorted(keys, key=lambda k: k.lower()) diff --git a/src/ert/gui/tools/manage_experiments/storage_info_widget.py b/src/ert/gui/tools/manage_experiments/storage_info_widget.py index c88b8be01c9..013877b5b59 100644 --- a/src/ert/gui/tools/manage_experiments/storage_info_widget.py +++ b/src/ert/gui/tools/manage_experiments/storage_info_widget.py @@ -1,9 +1,8 @@ import json from enum import IntEnum -from functools import reduce from typing import Optional -import numpy as np +import polars import seaborn as sns import yaml from matplotlib.backends.backend_qt5agg import FigureCanvas # type: ignore @@ -176,8 +175,8 @@ def _currentItemChanged( if not selected: return - observation_name = selected.data(1, Qt.ItemDataRole.DisplayRole) - if not observation_name: + observation_key = selected.data(1, Qt.ItemDataRole.DisplayRole) + if not observation_key: return observation_label = selected.data(0, Qt.ItemDataRole.DisplayRole) @@ -186,82 +185,91 @@ def _currentItemChanged( self._figure.clear() ax = self._figure.add_subplot(111) - ax.set_title(observation_name) + ax.set_title(observation_key) ax.grid(True) - observation_ds = observations_dict[observation_name] + response_type, obs_for_type = next( + ( + (response_type, _df) + for response_type, _df in observations_dict.items() + if observation_key in _df["observation_key"] + ), + (None, None), + ) + + assert response_type is not None + assert obs_for_type is not None + + response_config = self._ensemble.experiment.response_configuration[ + response_type + ] + x_axis_col = response_config.primary_key[-1] + + def _filter_on_observation_label(df: polars.DataFrame) -> polars.DataFrame: + # We add a column with the display name of the x axis column + # to correctly compare it to the observation_label + # (which is also such a display name) + return df.with_columns( + df[x_axis_col] + .map_elements( + lambda x: response_config.display_column(x, x_axis_col), + return_dtype=polars.String, + ) + .alias("temp") + ).filter(polars.col("temp").eq(observation_label))[ + [x for x in df.columns if x != "temp"] + ] - response_name = observation_ds.attrs["response"] + obs = obs_for_type.filter(polars.col("observation_key").eq(observation_key)) + obs = _filter_on_observation_label(obs) + + response_key = obs["response_key"].unique().to_list()[0] response_ds = self._ensemble.load_responses( - response_name, + response_key, tuple(self._ensemble.get_realization_list_with_responses()), ) - scaling_ds = self._ensemble.load_observation_scaling_factors() + scaling_df = self._ensemble.load_observation_scaling_factors() def _try_render_scaled_obs() -> None: - if scaling_ds is None: + if scaling_df is None: return None - _obs_df = observation_ds.to_dataframe().reset_index() - # Should store scaling by response type - # and use primary key for the response to - # create the index key. - index_cols = list( - set(observation_ds.to_dataframe().reset_index().columns) - - { - "observations", - "std", - } + index_col = polars.concat_str(response_config.primary_key, separator=", ") + joined = obs.with_columns(index_col.alias("_tmp_index")).join( + scaling_df, + how="left", + left_on=["observation_key", "_tmp_index"], + right_on=["obs_key", "index"], + )[["observations", "std", "scaling_factor"]] + + joined_small = joined[["observations", "std", "scaling_factor"]] + joined_small = joined_small.group_by(["observations", "std"]).agg( + [polars.col("scaling_factor").product()] ) - - # Just to ensure report step comes first as in _es_update - if "report_step" in index_cols: - index_cols = ["report_step", "index"] - - # for summary there is only "time" - index_key = ", ".join([str(_obs_df[x].values[0]) for x in index_cols]) - scaling_factors = ( - scaling_ds.sel(obs_key=observation_name, drop=True) - .sel(index=index_key, drop=True)["scaling_factor"] - .dropna(dim="input_group") - .values + joined_small = joined_small.with_columns( + (joined_small["std"] * joined_small["scaling_factor"]) ) - cumulative_scaling: float = ( - reduce(lambda x, y: x * y, scaling_factors) or 1.0 - ) - - original_std = observation_ds.get("std") - assert original_std ax.errorbar( x="Scaled observation", - y=observation_ds.get("observations"), # type: ignore - yerr=original_std * cumulative_scaling, + y=joined_small["observations"].to_list(), + yerr=joined_small["std"].to_list(), fmt=".", linewidth=1, capsize=4, color="black", ) - # check if the response is empty - if bool(response_ds.dims): - if response_name == "summary": - response_ds = response_ds.sel(name=str(observation_ds.name.data[0])) - - if "time" in observation_ds.coords: - observation_ds = observation_ds.sel(time=observation_label) - response_ds = response_ds.sel(time=observation_label) - elif "index" in observation_ds.coords: - observation_ds = observation_ds.sel(index=int(observation_label)) - response_ds = response_ds.drop(["index"]).sel( - index=int(observation_label) - ) + if not response_ds.is_empty(): + response_ds_for_label = _filter_on_observation_label(response_ds).rename( + {"values": "Responses"} + )[["response_key", "Responses"]] ax.errorbar( x="Observation", - y=observation_ds.get("observations"), # type: ignore - yerr=observation_ds.get("std"), + y=obs["observations"], + yerr=obs["std"], fmt=".", linewidth=1, capsize=4, @@ -269,20 +277,14 @@ def _try_render_scaled_obs() -> None: ) _try_render_scaled_obs() - response_ds = response_ds.rename_vars({"values": "Responses"}) - sns.boxplot(response_ds.to_dataframe(), ax=ax) - sns.stripplot(response_ds.to_dataframe(), ax=ax, size=4, color=".3") + sns.boxplot(response_ds_for_label.to_pandas(), ax=ax) + sns.stripplot(response_ds_for_label.to_pandas(), ax=ax, size=4, color=".3") else: - if "time" in observation_ds.coords: - observation_ds = observation_ds.sel(time=observation_label) - elif "index" in observation_ds.coords: - observation_ds = observation_ds.sel(index=int(observation_label)) - ax.errorbar( x="Observation", - y=observation_ds.get("observations"), # type: ignore - yerr=observation_ds.get("std"), + y=obs["observations"], + yerr=obs["std"], fmt=".", linewidth=1, capsize=4, @@ -310,32 +312,40 @@ def _currentTabChanged(self, index: int) -> None: assert self._ensemble is not None exp = self._ensemble.experiment - for obs_name, obs_ds in exp.observations.items(): - response_name = obs_ds.attrs["response"] - if response_name == "summary": - name = obs_ds.name.data[0] - else: - name = response_name - - match_list = self._observations_tree_widget.findItems( - name, Qt.MatchFlag.MatchExactly - ) - if len(match_list) == 0: - root = QTreeWidgetItem(self._observations_tree_widget, [name]) - else: - root = match_list[0] - if "time" in obs_ds.coords: - for t in obs_ds.time: + for response_type, obs_ds_for_type in exp.observations.items(): + for obs_key, response_key in ( + obs_ds_for_type.select(["observation_key", "response_key"]) + .unique() + .to_numpy() + ): + match_list = self._observations_tree_widget.findItems( + response_key, Qt.MatchFlag.MatchExactly + ) + if len(match_list) == 0: + root = QTreeWidgetItem( + self._observations_tree_widget, [response_key] + ) + else: + root = match_list[0] + + obs_ds = obs_ds_for_type.filter( + polars.col("observation_key").eq(obs_key) + ) + response_config = exp.response_configuration[response_type] + column_to_display = response_config.primary_key[-1] + for t in obs_ds[column_to_display].to_list(): QTreeWidgetItem( root, - [str(np.datetime_as_string(t.values, unit="D")), obs_name], + [ + response_config.display_column(t, column_to_display), + obs_key, + ], ) - elif "index" in obs_ds.coords: - for t in obs_ds.index: - QTreeWidgetItem(root, [str(t.data), obs_name]) - self._observations_tree_widget.sortItems(0, Qt.SortOrder.AscendingOrder) + self._observations_tree_widget.sortItems( + 0, Qt.SortOrder.AscendingOrder + ) for i in range(self._observations_tree_widget.topLevelItemCount()): item = self._observations_tree_widget.topLevelItem(i) diff --git a/src/ert/gui/tools/manage_experiments/storage_widget.py b/src/ert/gui/tools/manage_experiments/storage_widget.py index 1be6f6351c8..a13e9dcc45c 100644 --- a/src/ert/gui/tools/manage_experiments/storage_widget.py +++ b/src/ert/gui/tools/manage_experiments/storage_widget.py @@ -151,7 +151,7 @@ def _addItem(self) -> None: ensemble = self._notifier.storage.create_experiment( parameters=self._ert_config.ensemble_config.parameter_configuration, responses=self._ert_config.ensemble_config.response_configuration, - observations=self._ert_config.observations, + observations=self._ert_config.enkf_obs.datasets, name=create_experiment_dialog.experiment_name, ).create_ensemble( name=create_experiment_dialog.ensemble_name, diff --git a/src/ert/resources/workflows/jobs/internal-gui/scripts/csv_export.py b/src/ert/resources/workflows/jobs/internal-gui/scripts/csv_export.py index bb93b7508fa..a9f75831923 100644 --- a/src/ert/resources/workflows/jobs/internal-gui/scripts/csv_export.py +++ b/src/ert/resources/workflows/jobs/internal-gui/scripts/csv_export.py @@ -115,7 +115,7 @@ def run( if drop_const_cols: data = data.loc[:, (data != data.iloc[0]).any()] - data.to_csv(output_file) + data.to_csv(output_file, float_format="%.6f") export_info = ( f"Exported {len(data.index)} rows and {len(data.columns)} " diff --git a/src/ert/resources/workflows/jobs/internal-gui/scripts/gen_data_rft_export.py b/src/ert/resources/workflows/jobs/internal-gui/scripts/gen_data_rft_export.py index f985f5a19a4..6ad132d8a9f 100644 --- a/src/ert/resources/workflows/jobs/internal-gui/scripts/gen_data_rft_export.py +++ b/src/ert/resources/workflows/jobs/internal-gui/scripts/gen_data_rft_export.py @@ -4,6 +4,7 @@ import numpy import pandas as pd +import polars from qtpy.QtWidgets import QCheckBox from ert.config import CancelPluginException, ErtPlugin @@ -85,8 +86,6 @@ def run( ensemble_data_as_json = None if len(workflow_args) < 3 else workflow_args[2] drop_const_cols = False if len(workflow_args) < 4 else bool(workflow_args[3]) - wells = set() - ensemble_data_as_dict = ( json.loads(ensemble_data_as_json) if ensemble_data_as_json else {} ) @@ -110,82 +109,96 @@ def run( f"The ensemble '{ensemble_name}' does not have any data!" ) - obs = ensemble.experiment.observations + obs_df = ensemble.experiment.observations.get("gen_data") obs_keys = [] - for key, _ in obs.items(): + for key in ensemble.experiment.observation_keys: if key.startswith("RFT_"): obs_keys.append(key) - if len(obs_keys) == 0: + if len(obs_keys) == 0 or obs_df is None: raise UserWarning( "The config does not contain any" " GENERAL_OBSERVATIONS starting with RFT_*" ) - ensemble_data = [] for obs_key in obs_keys: - well = obs_key.replace("RFT_", "") - wells.add(well) - obs_vector = obs[obs_key] - data_key = obs_vector.attrs["response"] - if len(obs_vector.report_step) == 1: - report_step = obs_vector.report_step.values - obs_node = obs_vector.sel(report_step=report_step) - else: + well_key = obs_key.replace("RFT_", "") + + obs_df = obs_df.filter(polars.col("observation_key").eq(obs_key)) + response_key = obs_df["response_key"].unique().to_list()[0] + + if len(obs_df["report_step"].unique()) != 1: raise UserWarning( "GEN_DATA RFT CSV Export can only be used for observations " "active for exactly one report step" ) - realizations = ensemble.get_realization_list_with_responses(data_key) - vals = ensemble.load_responses(data_key, tuple(realizations)).sel( - report_step=report_step, drop=True - ) - index = pd.Index(vals.index.values, name="axis") - rft_data = pd.DataFrame( - data=vals["values"].values.reshape(len(vals.realization), -1).T, - index=index, - columns=realizations, + realizations = ensemble.get_realization_list_with_responses( + response_key ) + responses = ensemble.load_responses(response_key, tuple(realizations)) + joined = obs_df.join( + responses, + on=["response_key", "report_step", "index"], + how="left", + ).drop("index", "report_step") # Trajectory - trajectory_file = os.path.join(trajectory_path, f"{well}.txt") + trajectory_file = os.path.join(trajectory_path, f"{well_key}.txt") if not os.path.isfile(trajectory_file): - trajectory_file = os.path.join(trajectory_path, f"{well}_R.txt") + trajectory_file = os.path.join(trajectory_path, f"{well_key}_R.txt") arg = load_args( trajectory_file, column_names=["utm_x", "utm_y", "md", "tvd"] ) tvd_arg = arg["tvd"] - # Observations - for iens in realizations: - realization_frame = pd.DataFrame( - data={ - "TVD": tvd_arg, - "Pressure": rft_data[iens], - "ObsValue": obs_node["observations"].values[0], - "ObsStd": obs_node["std"].values[0], - }, - columns=["TVD", "Pressure", "ObsValue", "ObsStd"], - ) - - realization_frame["Realization"] = iens - realization_frame["Well"] = well - realization_frame["Ensemble"] = ensemble_name - realization_frame["Iteration"] = ensemble.iteration - - ensemble_data.append(realization_frame) - - data.append(pd.concat(ensemble_data)) - - frame = pd.concat(data) - frame.set_index(["Realization", "Well", "Ensemble", "Iteration"], inplace=True) - if drop_const_cols: - frame = frame.loc[:, (frame != frame.iloc[0]).any()] + all_realization_frames = joined.rename( + { + "realization": "Realization", + "values": "Pressure", + "observations": "ObsValue", + "std": "ObsStd", + } + ).with_columns( + [ + polars.lit(well_key).alias("Well").cast(polars.String), + polars.lit(ensemble.name).alias("Ensemble").cast(polars.String), + polars.lit(ensemble.iteration) + .alias("Iteration") + .cast(polars.UInt8), + polars.lit(tvd_arg).alias("TVD").cast(polars.Float32), + ] + ) - frame.to_csv(output_file) - well_list_str = ", ".join(list(wells)) + data.append(all_realization_frames) + + frame = polars.concat(data) + + cols_index = ["Well", "Ensemble", "Iteration"] + const_cols_right = ["ObsValue", "ObsStd"] + const_cols_left = [ + col + for col in frame.columns + if ( + col not in cols_index + and col not in const_cols_right + and frame[col].n_unique() == 1 + ) + ] + + columns_to_export = [ + "Realization", + *cols_index, + *(const_cols_left if not drop_const_cols else []), + *["Pressure"], + *(const_cols_right if not drop_const_cols else []), + ] + + to_export = frame.select(columns_to_export) + + to_export.write_csv(output_file, include_header=True) + well_list_str = ", ".join(to_export["Well"].unique().to_list()) export_info = ( f"Exported RFT information for wells: {well_list_str} to: {output_file}" ) diff --git a/src/ert/run_models/base_run_model.py b/src/ert/run_models/base_run_model.py index 4289501c9a4..188b0ad8c1f 100644 --- a/src/ert/run_models/base_run_model.py +++ b/src/ert/run_models/base_run_model.py @@ -767,7 +767,7 @@ def update( analysis_config=self.update_settings, es_settings=self.es_settings, parameters=prior.experiment.update_parameters, - observations=prior.experiment.observations.keys(), + observations=prior.experiment.observation_keys, global_scaling=weight, rng=self.rng, progress_callback=functools.partial( diff --git a/src/ert/run_models/iterated_ensemble_smoother.py b/src/ert/run_models/iterated_ensemble_smoother.py index c3a179f6830..2a674e062fd 100644 --- a/src/ert/run_models/iterated_ensemble_smoother.py +++ b/src/ert/run_models/iterated_ensemble_smoother.py @@ -101,7 +101,7 @@ def analyzeStep( posterior_storage, self.sies_smoother, parameters=prior_storage.experiment.update_parameters, - observations=prior_storage.experiment.observations.keys(), + observations=prior_storage.experiment.observation_keys, update_settings=self.update_settings, analysis_config=self.analysis_config, sies_step_length=self.sies_step_length, diff --git a/src/ert/simulator/batch_simulator_context.py b/src/ert/simulator/batch_simulator_context.py index 854c925e6a8..d9696d87044 100644 --- a/src/ert/simulator/batch_simulator_context.py +++ b/src/ert/simulator/batch_simulator_context.py @@ -251,7 +251,7 @@ def results(self) -> List[Optional[Dict[str, "npt.NDArray[np.float64]"]]]: d = {} for key in self.result_keys: data = self.ensemble.load_responses(key, (sim_id,)) - d[key] = data["values"].values.flatten() + d[key] = data["values"].to_numpy() res.append(d) return res diff --git a/src/ert/storage/local_ensemble.py b/src/ert/storage/local_ensemble.py index 7d354fdd82b..d9f65c6d915 100644 --- a/src/ert/storage/local_ensemble.py +++ b/src/ert/storage/local_ensemble.py @@ -28,6 +28,8 @@ logger = logging.getLogger(__name__) +import polars + class _Index(BaseModel): id: UUID @@ -301,9 +303,9 @@ def _responses_exist_for_realization( def _has_response(_key: str) -> bool: if _key in self.experiment.response_key_to_response_type: _response_type = self.experiment.response_key_to_response_type[_key] - return (path / f"{_response_type}.nc").exists() + return (path / f"{_response_type}.parquet").exists() - return (path / f"{_key}.nc").exists() + return (path / f"{_key}.parquet").exists() if key: return _has_response(key) @@ -351,7 +353,7 @@ def has_data(self) -> List[int]: i for i in range(self.ensemble_size) if all( - (self._realization_dir(i) / f"{response}.nc").exists() + (self._realization_dir(i) / f"{response}.parquet").exists() for response in self.experiment.response_configuration ) ] @@ -515,7 +517,8 @@ def get_summary_keyset(self) -> List[str]: "summary", tuple(self.get_realization_list_with_responses("summary")), ) - return sorted(summary_data["name"].values) + + return sorted(summary_data["response_key"].unique().to_list()) except (ValueError, KeyError): return [] @@ -590,19 +593,17 @@ def load_cross_correlations(self) -> xr.Dataset: return xr.open_dataset(input_path, engine="scipy") @require_write - def save_observation_scaling_factors(self, dataset: xr.Dataset) -> None: - self._storage._to_netcdf_transaction( - self.mount_point / "observation_scaling_factors.nc", dataset + def save_observation_scaling_factors(self, dataset: polars.DataFrame) -> None: + self._storage._to_parquet_transaction( + self.mount_point / "observation_scaling_factors.parquet", dataset ) def load_observation_scaling_factors( self, - ) -> Optional[xr.Dataset]: - ds_path = self.mount_point / "observation_scaling_factors.nc" + ) -> Optional[polars.DataFrame]: + ds_path = self.mount_point / "observation_scaling_factors.parquet" if ds_path.exists(): - return xr.load_dataset( - self.mount_point / "observation_scaling_factors.nc", engine="scipy" - ) + return polars.read_parquet(ds_path) return None @@ -625,7 +626,7 @@ def save_cross_correlations( self._storage._to_netcdf_transaction(file_path, dataset) @lru_cache # noqa: B019 - def load_responses(self, key: str, realizations: Tuple[int]) -> xr.Dataset: + def load_responses(self, key: str, realizations: Tuple[int]) -> polars.DataFrame: """Load responses for key and realizations into xarray Dataset. For each given realization, response data is loaded from the NetCDF @@ -640,8 +641,8 @@ def load_responses(self, key: str, realizations: Tuple[int]) -> xr.Dataset: Returns ------- - responses : Dataset - Loaded xarray Dataset with responses. + responses : DataFrame + Loaded polars DataFrame with responses. """ select_key = False @@ -655,16 +656,17 @@ def load_responses(self, key: str, realizations: Tuple[int]) -> xr.Dataset: loaded = [] for realization in realizations: - input_path = self._realization_dir(realization) / f"{response_type}.nc" + input_path = self._realization_dir(realization) / f"{response_type}.parquet" if not input_path.exists(): raise KeyError(f"No response for key {key}, realization: {realization}") - ds = xr.open_dataset(input_path, engine="scipy") + df = polars.read_parquet(input_path) if select_key: - ds = ds.sel(name=key, drop=True) + df = df.filter(polars.col("response_key") == key) - loaded.append(ds) - return xr.combine_nested(loaded, concat_dim="realization") + loaded.append(df) + + return polars.concat(loaded) if loaded else polars.DataFrame() @deprecated("Use load_responses") def load_all_summary_data( @@ -696,23 +698,28 @@ def load_all_summary_data( summary_keys = self.get_summary_keyset() try: - df = self.load_responses("summary", tuple(realizations)).to_dataframe( - dim_order=["time", "name", "realization"] - ) + df_pl = self.load_responses("summary", tuple(realizations)) + except (ValueError, KeyError): return pd.DataFrame() + df_pl = df_pl.pivot( + on="response_key", index=["realization", "time"], sort_columns=True + ) + df_pl = df_pl.rename({"time": "Date", "realization": "Realization"}) + + df_pandas = ( + df_pl.to_pandas() + .set_index(["Realization", "Date"]) + .sort_values(by=["Date", "Realization"]) + ) - df = df.unstack(level="name") - df.columns = [col[1] for col in df.columns.values] - df.index = df.index.rename( - {"time": "Date", "realization": "Realization"} - ).reorder_levels(["Realization", "Date"]) if keys: summary_keys = sorted( [key for key in keys if key in summary_keys] ) # ignore keys that doesn't exist - return df[summary_keys] - return df + return df_pandas[summary_keys] + + return df_pandas def load_all_gen_kw_data( self, @@ -828,7 +835,7 @@ def save_parameters( @require_write def save_response( - self, response_type: str, data: xr.Dataset, realization: int + self, response_type: str, data: polars.DataFrame, realization: int ) -> None: """ Save dataset as response under group and realization index. @@ -839,27 +846,35 @@ def save_response( A name for the type of response stored, e.g., "summary, or "gen_data". realization : int Realization index for saving group. - data : Dataset - Dataset to save. + data : polars DataFrame + polars DataFrame to save. """ - if "values" not in data.variables: + if "values" not in data.columns: raise ValueError( f"Dataset for response group '{response_type}' " f"must contain a 'values' variable" ) - if data["values"].size == 0: + if len(data) == 0: raise ValueError( f"Responses {response_type} are empty. Cannot proceed with saving to storage." ) - if "realization" not in data.dims: - data = data.expand_dims({"realization": [realization]}) + if "realization" not in data.columns: + data.insert_column( + 0, + polars.Series( + "realization", np.full(len(data), realization), dtype=polars.UInt16 + ), + ) + output_path = self._realization_dir(realization) Path.mkdir(output_path, parents=True, exist_ok=True) - self._storage._to_netcdf_transaction(output_path / f"{response_type}.nc", data) + self._storage._to_parquet_transaction( + output_path / f"{response_type}.parquet", data + ) def calculate_std_dev_for_parameter(self, parameter_group: str) -> xr.Dataset: if parameter_group not in self.experiment.parameter_configuration: @@ -885,7 +900,7 @@ def get_response_state( path = self._realization_dir(realization) return { e: RealizationStorageState.HAS_DATA - if (path / f"{e}.nc").exists() + if (path / f"{e}.parquet").exists() else RealizationStorageState.UNDEFINED for e in self.experiment.response_configuration } diff --git a/src/ert/storage/local_experiment.py b/src/ert/storage/local_experiment.py index 238aeeefbee..f4c350b9b15 100644 --- a/src/ert/storage/local_experiment.py +++ b/src/ert/storage/local_experiment.py @@ -8,7 +8,7 @@ from uuid import UUID import numpy as np -import xarray as xr +import polars import xtgeo from pydantic import BaseModel @@ -89,7 +89,7 @@ def create( *, parameters: Optional[List[ParameterConfig]] = None, responses: Optional[List[ResponseConfig]] = None, - observations: Optional[Dict[str, xr.Dataset]] = None, + observations: Optional[Dict[str, polars.DataFrame]] = None, simulation_arguments: Optional[Dict[Any, Any]] = None, name: Optional[str] = None, ) -> LocalExperiment: @@ -108,7 +108,7 @@ def create( List of parameter configurations. responses : list of ResponseConfig, optional List of response configurations. - observations : dict of str: xr.Dataset, optional + observations : dict of str: polars.DataFrame, optional Observations dictionary. simulation_arguments : SimulationArguments, optional Simulation arguments for the experiment. @@ -145,8 +145,10 @@ def create( if observations: output_path = path / "observations" output_path.mkdir() - for obs_name, dataset in observations.items(): - storage._to_netcdf_transaction(output_path / f"{obs_name}", dataset) + for response_type, dataset in observations.items(): + storage._to_parquet_transaction( + output_path / f"{response_type}", dataset + ) simulation_data = simulation_arguments if simulation_arguments else {} storage._write_transaction( @@ -309,13 +311,25 @@ def update_parameters(self) -> List[str]: return [p.name for p in self.parameter_configuration.values() if p.update] @cached_property - def observations(self) -> Dict[str, xr.Dataset]: + def observations(self) -> Dict[str, polars.DataFrame]: observations = sorted(self.mount_point.glob("observations/*")) return { - observation.name: xr.open_dataset(observation, engine="scipy") + observation.name: polars.read_parquet(f"{observation}") for observation in observations } + @cached_property + def observation_keys(self) -> List[str]: + """ + Gets all \"name\" values for all observations. I.e., + the summary keyword, the gen_data observation name etc. + """ + keys: List[str] = [] + for df in self.observations.values(): + keys.extend(df["observation_key"].unique()) + + return sorted(keys) + @cached_property def response_key_to_response_type(self) -> Dict[str, str]: mapping = {} diff --git a/src/ert/storage/local_storage.py b/src/ert/storage/local_storage.py index 2ad600e7f80..942a5321315 100644 --- a/src/ert/storage/local_storage.py +++ b/src/ert/storage/local_storage.py @@ -25,6 +25,7 @@ ) from uuid import UUID, uuid4 +import polars import xarray as xr from filelock import FileLock, Timeout from pydantic import BaseModel, Field @@ -314,7 +315,7 @@ def create_experiment( self, parameters: Optional[List[ParameterConfig]] = None, responses: Optional[List[ResponseConfig]] = None, - observations: Optional[Dict[str, xr.Dataset]] = None, + observations: Optional[Dict[str, polars.DataFrame]] = None, simulation_arguments: Optional[Dict[Any, Any]] = None, name: Optional[str] = None, ) -> LocalExperiment: @@ -327,7 +328,7 @@ def create_experiment( The parameters for the experiment. responses : list of ResponseConfig, optional The responses for the experiment. - observations : dict of str to Dataset, optional + observations : dict of str to DataFrame, optional The observations for the experiment. simulation_arguments : SimulationArguments, optional The simulation arguments for the experiment. @@ -581,6 +582,20 @@ def _to_netcdf_transaction( dataset.to_netcdf(f, engine="scipy") os.rename(f.name, filename) + def _to_parquet_transaction( + self, filename: str | os.PathLike[str], dataframe: polars.DataFrame + ) -> None: + """ + Writes the dataset to the filename as a transaction. + + Guarantees to not leave half-written or empty files on disk if the write + fails or the process is killed. + """ + self._swap_path.mkdir(parents=True, exist_ok=True) + with NamedTemporaryFile(dir=self._swap_path, delete=False) as f: + dataframe.write_parquet(f) + os.rename(f.name, filename) + def _storage_version(path: Path) -> int: if not path.exists(): diff --git a/src/ert/storage/migration/to4.py b/src/ert/storage/migration/to4.py index 41e9bc05f44..14e022dde2c 100644 --- a/src/ert/storage/migration/to4.py +++ b/src/ert/storage/migration/to4.py @@ -20,8 +20,7 @@ def migrate(path: Path) -> None: if observations: output_path = experiment / "observations" output_path.mkdir(parents=True, exist_ok=True) - for name, dataset in observations.items(): - dataset.to_netcdf(output_path / f"{name}", engine="scipy") + ert_config.enkf_obs.write_to_folder(dest=output_path) with open(experiment / "parameter.json", encoding="utf-8") as fin: parameters_json = json.load(fin) with open(experiment / "parameter.json", "w", encoding="utf-8") as fout: diff --git a/src/ert/storage/migration/to7.py b/src/ert/storage/migration/to7.py index 122648c1b04..a7a0b6569d0 100644 --- a/src/ert/storage/migration/to7.py +++ b/src/ert/storage/migration/to7.py @@ -1,8 +1,10 @@ +import dataclasses import json import os from pathlib import Path from typing import List, Optional +import polars import xarray as xr info = "Standardize response configs" @@ -133,6 +135,127 @@ def _migrate_response_datasets(path: Path) -> None: os.remove(p) +@dataclasses.dataclass +class ObservationDatasetInfo: + polars_df: polars.DataFrame + response_type: str + original_ds_path: Path + + @classmethod + def from_path(cls, path: Path) -> "ObservationDatasetInfo": + observation_key = os.path.basename(path) + ds = xr.open_dataset(path, engine="scipy") + response_key = ds.attrs["response"] + response_type = "summary" if response_key == "summary" else "gen_data" + + df = polars.from_pandas(ds.to_dataframe().dropna().reset_index()) + df = df.with_columns(observation_key=polars.lit(observation_key)) + + primary_key = ( + ["time"] if response_type == "summary" else ["report_step", "index"] + ) + if response_type == "summary": + df = df.rename({"name": "response_key"}) + df = df.with_columns(polars.col("time").dt.cast_time_unit("ms")) + + if response_type == "gen_data": + df = df.with_columns( + polars.col("report_step").cast(polars.UInt16), + polars.col("index").cast(polars.UInt16), + response_key=polars.lit(response_key), + ) + + df = df.with_columns( + [ + polars.col("std").cast(polars.Float32), + polars.col("observations").cast(polars.Float32), + ] + ) + + df = df[ + ["response_key", "observation_key", *primary_key, "observations", "std"] + ] + + return cls(df, response_type, path) + + +def _migrate_observations_to_grouped_parquet(path: Path) -> None: + for experiment in path.glob("experiments/*"): + if not os.path.exists(experiment / "observations"): + os.makedirs(experiment / "observations") + + _obs_keys = os.listdir(os.path.join(experiment, "observations")) + + if len(set(_obs_keys) - {"summary", "gen_data"}) == 0: + # Observations are already migrated, likely from .to4 migrations + continue + + obs_ds_infos = [ + ObservationDatasetInfo.from_path(experiment / "observations" / p) + for p in _obs_keys + ] + + for response_type in ["gen_data", "summary"]: + infos = [ + _info for _info in obs_ds_infos if _info.response_type == response_type + ] + if len(infos) > 0: + concatd_df = polars.concat([_info.polars_df for _info in infos]) + concatd_df.write_parquet(experiment / "observations" / response_type) + + for _info in infos: + os.remove(_info.original_ds_path) + + +def _migrate_responses_from_netcdf_to_parquet(path: Path) -> None: + for experiment in path.glob("experiments/*"): + ensembles = path.glob("ensembles/*") + + experiment_id = None + with open(experiment / "index.json", encoding="utf-8") as f: + exp_index = json.load(f) + experiment_id = exp_index["id"] + + for ens in ensembles: + with open(ens / "index.json", encoding="utf-8") as f: + ens_file = json.load(f) + if ens_file["experiment_id"] != experiment_id: + continue + + real_dirs = [*ens.glob("realization-*")] + + for real_dir in real_dirs: + for ds_name in ["gen_data", "summary"]: + if (real_dir / f"{ds_name}.nc").exists(): + gen_data_ds = xr.open_dataset( + real_dir / f"{ds_name}.nc", engine="scipy" + ) + + pandas_df = gen_data_ds.to_dataframe().dropna() + polars_df = polars.from_pandas(pandas_df.reset_index()) + polars_df = polars_df.rename({"name": "response_key"}) + + if "time" in polars_df: + polars_df = polars_df.with_columns( + polars.col("time").dt.cast_time_unit("ms") + ) + + # Ensure "response_key" is the first column + polars_df = polars_df.select( + ["response_key"] + + [ + col + for col in polars_df.columns + if col != "response_key" + ] + ) + polars_df.write_parquet(real_dir / f"{ds_name}.parquet") + + os.remove(real_dir / f"{ds_name}.nc") + + def migrate(path: Path) -> None: _migrate_response_datasets(path) _migrate_response_configs(path) + _migrate_responses_from_netcdf_to_parquet(path) + _migrate_observations_to_grouped_parquet(path) diff --git a/tests/ert/performance_tests/test_analysis.py b/tests/ert/performance_tests/test_analysis.py index 9945178840d..090ce65432e 100644 --- a/tests/ert/performance_tests/test_analysis.py +++ b/tests/ert/performance_tests/test_analysis.py @@ -1,6 +1,7 @@ from functools import partial import numpy as np +import polars import scipy as sp import xarray as xr import xtgeo @@ -77,19 +78,15 @@ def g(X): grid.to_file("MY_EGRID.EGRID", "egrid") resp = GenDataConfig(keys=["RESPONSE"]) - obs = xr.Dataset( + obs = polars.DataFrame( { - "observations": ( - ["report_step", "index"], - observations.reshape((1, num_observations)), - ), - "std": ( - ["report_step", "index"], - observation_noise.reshape(1, num_observations), - ), - }, - coords={"report_step": [0], "index": np.arange(len(observations))}, - attrs={"response": "RESPONSE"}, + "response_key": "RESPONSE", + "observation_key": "OBSERVATION", + "report_step": 0, + "index": np.arange(len(observations)), + "observations": observations, + "std": observation_noise, + } ) param_group = "PARAM_FIELD" @@ -109,7 +106,7 @@ def g(X): experiment = storage.create_experiment( parameters=[config], responses=[resp], - observations={"OBSERVATION": obs}, + observations={"gen_data": obs}, ) prior_ensemble = storage.create_ensemble( @@ -135,13 +132,13 @@ def g(X): prior_ensemble.save_response( "gen_data", - xr.Dataset( - {"values": (["name", "report_step", "index"], [[Y[:, iens]]])}, - coords={ - "name": ["RESPONSE"], + polars.DataFrame( + { + "response_key": "RESPONSE", + "report_step": 0, "index": range(len(Y[:, iens])), - "report_step": [0], - }, + "values": Y[:, iens], + } ), iens, ) diff --git a/tests/ert/performance_tests/test_dark_storage_performance.py b/tests/ert/performance_tests/test_dark_storage_performance.py index 644422a848a..4f5bb2e1026 100644 --- a/tests/ert/performance_tests/test_dark_storage_performance.py +++ b/tests/ert/performance_tests/test_dark_storage_performance.py @@ -2,6 +2,7 @@ from asyncio import get_event_loop from typing import Awaitable, TypeVar +import numpy as np import pandas as pd import pytest @@ -46,9 +47,9 @@ def get_record_observations(storage, ensemble_id, keyword: str, poly_ran): poly_ran["summary_data_entries"] // poly_ran["sum_obs_every"] ) assert len(obs) == num_summary_obs - assert obs[0].errors[0] == 0.1 - assert obs[0].x_axis[0] == "2010-01-02T00:00:00.000000000" - assert obs[0].values[0] == 2.6357 + assert np.isclose(obs[0].errors[0], 0.1) + assert obs[0].x_axis[0].startswith("2010-01-02T00:00:00") + assert np.isclose(obs[0].values[0], 2.6357) assert len(obs[0].errors) == 1 assert len(obs[0].x_axis) == 1 assert len(obs[0].values) == 1 diff --git a/tests/ert/performance_tests/test_memory_usage.py b/tests/ert/performance_tests/test_memory_usage.py index 6f1f396acb9..3015b81f71a 100644 --- a/tests/ert/performance_tests/test_memory_usage.py +++ b/tests/ert/performance_tests/test_memory_usage.py @@ -4,9 +4,9 @@ import memray import numpy as np +import polars import py import pytest -import xarray as xr from ert.analysis import smoother_update from ert.config import ErtConfig @@ -57,12 +57,12 @@ def test_memory_smoothing(poly_template): smoother_update( prior_ens, posterior_ens, - list(ert_config.observations.keys()), + list(experiment.observation_keys), list(ert_config.ensemble_config.parameters), ) stats = memray._memray.compute_statistics(str(poly_template / "memray.bin")) - assert stats.peak_memory_allocated < 1024**2 * 130 + assert stats.peak_memory_allocated < 1024**2 * 450 def fill_storage_with_data(poly_template: Path, ert_config: ErtConfig) -> None: @@ -80,26 +80,28 @@ def fill_storage_with_data(poly_template: Path, ert_config: ErtConfig) -> None: realizations = list(range(ert_config.model_config.num_realizations)) for real in realizations: gendatas = [] - for _, obs in ert_config.observations.items(): - data_key = obs.attrs["response"] - if data_key != "summary": - obs_highest_index_used = max(obs.index.values) - gendatas.append( - make_gen_data(int(obs_highest_index_used) + 1).expand_dims( - name=[data_key] - ) - ) - else: - obs_time_list = ens_config.refcase.all_dates - source.save_response( - data_key, - make_summary_data(["summary"], obs_time_list), - real, - ) + gen_obs = ert_config.observations["gen_data"] + for response_key, df in gen_obs.group_by("response_key"): + gendata_df = make_gen_data(df["index"].max() + 1) + gendata_df = gendata_df.insert_column( + 0, + polars.Series(np.full(len(gendata_df), response_key)).alias( + "response_key" + ), + ) + gendatas.append(gendata_df) + + source.save_response("gen_data", polars.concat(gendatas), real) + + obs_time_list = ens_config.refcase.all_dates + + summary_keys = ert_config.observations["summary"]["response_key"].unique( + maintain_order=True + ) source.save_response( - "gen_data", - xr.concat(gendatas, dim="name"), + "summary", + make_summary_data(summary_keys, obs_time_list), real, ) @@ -114,11 +116,14 @@ def fill_storage_with_data(poly_template: Path, ert_config: ErtConfig) -> None: ) -def make_gen_data(obs: int, min_val: float = 0, max_val: float = 5) -> xr.Dataset: +def make_gen_data(obs: int, min_val: float = 0, max_val: float = 5) -> polars.DataFrame: data = np.random.default_rng().uniform(min_val, max_val, obs) - return xr.Dataset( - {"values": (["report_step", "index"], [data])}, - coords={"index": range(len(data)), "report_step": [0]}, + return polars.DataFrame( + { + "report_step": polars.Series(np.full(len(data), 0), dtype=polars.UInt16), + "index": polars.Series(range(len(data)), dtype=polars.UInt16), + "values": data, + } ) @@ -127,11 +132,15 @@ def make_summary_data( dates, min_val: float = 0, max_val: float = 5, -) -> xr.Dataset: - data = np.random.default_rng().uniform( - min_val, max_val, (len(obs_keys), len(dates)) - ) - return xr.Dataset( - {"values": (["name", "time"], data)}, - coords={"time": dates, "name": obs_keys}, +) -> polars.DataFrame: + data = np.random.default_rng().uniform(min_val, max_val, len(obs_keys) * len(dates)) + + return polars.DataFrame( + { + "response_key": np.repeat(obs_keys, len(dates)), + "time": polars.Series( + np.tile(dates, len(obs_keys)).tolist() + ).dt.cast_time_unit("ms"), + "values": data, + } ) diff --git a/tests/ert/ui_tests/cli/analysis/test_adaptive_localization.py b/tests/ert/ui_tests/cli/analysis/test_adaptive_localization.py index 7de011df606..e720712627e 100644 --- a/tests/ert/ui_tests/cli/analysis/test_adaptive_localization.py +++ b/tests/ert/ui_tests/cli/analysis/test_adaptive_localization.py @@ -211,17 +211,9 @@ def _evaluate(coeffs, x): prior_ens, _ = run_cli_ES_with_case("poly_localization_0.ert") sf = prior_ens.load_observation_scaling_factors() - set_of_records_from_xr = { - x[:-1] - for x in sf.to_dataframe() - .reset_index() - .set_index(["input_group", "obs_key", "index"]) - .dropna() - .to_records() - .tolist() - } + records_from_pl = sf.select(["input_group", "obs_key", "index"]).to_numpy().tolist() - assert set_of_records_from_xr == expected_records + assert set(map(tuple, records_from_pl)) == expected_records @pytest.mark.usefixtures("copy_poly_case") @@ -258,7 +250,7 @@ def test_that_adaptive_localization_with_cutoff_0_equals_ESupdate(): ] # Check posterior sample without adaptive localization and with cut-off 0 are equal - assert np.allclose(posterior_sample_loc0, posterior_sample_noloc) + assert np.allclose(posterior_sample_loc0, posterior_sample_noloc, atol=1e-6) @pytest.mark.usefixtures("copy_poly_case") diff --git a/tests/ert/ui_tests/cli/analysis/test_es_update.py b/tests/ert/ui_tests/cli/analysis/test_es_update.py index 64ed32aa5e0..3a93f95aced 100644 --- a/tests/ert/ui_tests/cli/analysis/test_es_update.py +++ b/tests/ert/ui_tests/cli/analysis/test_es_update.py @@ -4,19 +4,50 @@ from textwrap import dedent import numpy as np +import polars import pytest from scipy.ndimage import gaussian_filter from xtgeo import RegularSurface, surface_from_file from ert import LibresFacade from ert.analysis._es_update import _all_parameters -from ert.config import ErtConfig +from ert.config import ErtConfig, GenKwConfig +from ert.config.gen_kw_config import TransformFunctionDefinition from ert.mode_definitions import ENSEMBLE_SMOOTHER_MODE from ert.storage import open_storage from ert.storage.realization_storage_state import RealizationStorageState from tests.ert.ui_tests.cli.run_cli import run_cli +@pytest.fixture +def uniform_parameter(): + return GenKwConfig( + name="PARAMETER", + forward_init=False, + template_file="", + transform_function_definitions=[ + TransformFunctionDefinition("KEY1", "UNIFORM", [0, 1]), + ], + output_file="kw.txt", + update=True, + ) + + +@pytest.fixture +def obs() -> polars.DataFrame: + return polars.DataFrame( + { + "response_key": "RESPONSE", + "observation_key": "OBSERVATION", + "report_step": polars.Series(np.full(3, 0), dtype=polars.UInt16), + "index": polars.Series([0, 1, 2], dtype=polars.UInt16), + "observations": polars.Series([1.0, 1.0, 1.0], dtype=polars.Float32), + "std": polars.Series([0.1, 1.0, 10.0], dtype=polars.Float32), + } + ) + + +@pytest.mark.integration_test @pytest.mark.usefixtures("copy_poly_case") def test_that_posterior_has_lower_variance_than_prior(): run_cli( @@ -52,6 +83,7 @@ def test_that_posterior_has_lower_variance_than_prior(): ) +@pytest.mark.integration_test @pytest.mark.usefixtures("copy_snake_oil_field") def test_that_surfaces_retain_their_order_when_loaded_and_saved_by_ert(): """This is a regression test to make sure ert does not use the wrong order @@ -127,6 +159,7 @@ def sample_prior(nx, ny): ) +@pytest.mark.integration_test @pytest.mark.usefixtures("copy_snake_oil_field") def test_update_multiple_param(): run_cli( diff --git a/tests/ert/ui_tests/cli/snapshots/test_cli/test_es_mda/es_mda_integration_snapshot b/tests/ert/ui_tests/cli/snapshots/test_cli/test_es_mda/es_mda_integration_snapshot index cb38a463014..586242edc61 100644 --- a/tests/ert/ui_tests/cli/snapshots/test_cli/test_es_mda/es_mda_integration_snapshot +++ b/tests/ert/ui_tests/cli/snapshots/test_cli/test_es_mda/es_mda_integration_snapshot @@ -4,18 +4,18 @@ iter-0,2,0.198965241239,0.881942229016,4.1521713031 iter-0,4,0.249105100695,1.28419800854,4.90535532003 iter-0,8,0.558106754935,0.819887823895,2.00307282443 iter-0,16,0.591623902385,1.7663810255,4.44242760126 -iter-1,1,0.528687318172,1.32403490437,3.69608391642 -iter-1,2,0.446754485528,1.14115565057,3.06814203437 -iter-1,4,0.483635549821,1.57544165709,4.7628689028 -iter-1,8,0.484429573005,0.672512465712,2.05458536861 -iter-1,16,0.389874371197,1.32924399914,4.19237881105 -iter-2,1,0.523645503842,1.19838581664,3.25086460774 -iter-2,2,0.43086689669,0.946942861008,2.36404806355 -iter-2,4,0.463046868611,1.02003340787,3.45834744009 -iter-2,8,0.509481840513,0.618716362006,1.7605474942 -iter-2,16,0.405495589342,0.898454980592,2.70541815914 -iter-3,1,0.533130473238,1.14367178973,2.99509799222 -iter-3,2,0.423337415775,0.964256985466,2.45442264577 -iter-3,4,0.498792171119,1.09932535439,3.54553895903 -iter-3,8,0.542240490526,0.756044439407,2.18736947131 -iter-3,16,0.426694705709,1.13572495324,3.4399530398 +iter-1,1,0.528687270561,1.32403519483,3.6960852237 +iter-1,2,0.446754485871,1.14115550633,3.06814143291 +iter-1,4,0.483635545409,1.57544163795,4.76286889089 +iter-1,8,0.48442958807,0.672512425507,2.05458508089 +iter-1,16,0.389874346756,1.32924416851,4.19237940072 +iter-2,1,0.523645455087,1.19838596924,3.25086562875 +iter-2,2,0.430866903161,0.946942808841,2.36404771413 +iter-2,4,0.463046895806,1.02003323126,3.4583464892 +iter-2,8,0.50948184828,0.618716316353,1.76054725052 +iter-2,16,0.405495566567,0.89845500159,2.70541851375 +iter-3,1,0.533130424111,1.14367179232,2.99509855973 +iter-3,2,0.423337424268,0.964256978676,2.45442237571 +iter-3,4,0.498792187683,1.09932530118,3.54553853502 +iter-3,8,0.542240490422,0.756044430204,2.18736937752 +iter-3,16,0.426694686552,1.1357249927,3.43995322819 diff --git a/tests/ert/ui_tests/gui/test_csv_export.py b/tests/ert/ui_tests/gui/test_csv_export.py index e7d523b4c9b..b40cbb0c2b1 100644 --- a/tests/ert/ui_tests/gui/test_csv_export.py +++ b/tests/ert/ui_tests/gui/test_csv_export.py @@ -73,7 +73,7 @@ def verify_exported_content(file_name, gui, ensemble_select): for i in range(ensemble.ensemble_size): assert ( - f",{name},{gen_kw_data.iloc[i]['COEFFS:a']},{gen_kw_data.iloc[i]['COEFFS:b']},{gen_kw_data.iloc[i]['COEFFS:c']},{misfit_data.iloc[i]['MISFIT:POLY_OBS']},{misfit_data.iloc[i]['MISFIT:TOTAL']}" + f",{name},{gen_kw_data.iloc[i]['COEFFS:a']:.6f},{gen_kw_data.iloc[i]['COEFFS:b']:.6f},{gen_kw_data.iloc[i]['COEFFS:c']:.6f},{misfit_data.iloc[i]['MISFIT:POLY_OBS']:.6f},{misfit_data.iloc[i]['MISFIT:TOTAL']:.6f}" in file_content ) diff --git a/tests/ert/unit_tests/all/plugins/snapshots/test_export_misfit/test_export_misfit/0/csv_data.csv b/tests/ert/unit_tests/all/plugins/snapshots/test_export_misfit/test_export_misfit/0/csv_data.csv index 5424ec92d24..41c2d92ab19 100644 --- a/tests/ert/unit_tests/all/plugins/snapshots/test_export_misfit/test_export_misfit/0/csv_data.csv +++ b/tests/ert/unit_tests/all/plugins/snapshots/test_export_misfit/test_export_misfit/0/csv_data.csv @@ -1,6 +1,6 @@ Realization,FOPR,WOPR_OP1_108,WOPR_OP1_144,WOPR_OP1_190,WOPR_OP1_36,WOPR_OP1_72,WOPR_OP1_9,WPR_DIFF_1 -0,1572.455126624968,4.663157777414048,1.2280040962512109,24.150873738474047,0.16579549917171352,16.6031985311065,0.5786173169058768,17.52338148044444 -1,564.7325372587165,4.368782497900839,32.6530612244898,2.25,7.513238617348759,7.502955389862009,4.0,3.917211792502779 -2,760.2134646694443,0.6758601761400266,0.0495481141274234,0.878978328860087,0.53148428819629,10.315068719501141,0.5691876200100965,21.326953031224996 -3,762.2886383355541,0.057372834892021204,2.003570229564708,89.39209245855437,1.0729962591656552,0.23633929814081966,1.963529806065796,4.454344394944445 -4,978.68543806519,0.6099979595035421,11.1651322515757,2.3617365751122437,0.5138762294603726,41.03398708587926,0.04177266072298375,27.46179846677778 +0,1572.4551,4.6631575,1.2280039,24.150873,0.16579537,16.603199,0.5786172,17.52338 +1,564.73254,4.3687825,32.65306,2.25,7.5132375,7.502955,4.0,3.917212 +2,760.21344,0.67585987,0.04954808,0.8789783,0.53148407,10.315068,0.56918764,21.326956 +3,762.2886,0.057372905,2.0035706,89.3921,1.0729967,0.2363393,1.9635296,4.454344 +4,978.6854,0.60999763,11.165132,2.3617368,0.51387596,41.033993,0.04177265,27.461798 diff --git a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess0/update_log b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess0/update_log index 9784d7423b2..410d07519a4 100644 --- a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess0/update_log +++ b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess0/update_log @@ -1,212 +1,212 @@ ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ -FOPR 2010-01-10T00:00:00 0.002 0.100 5.657 0.566 0.076 0.105 Active -FOPR 2010-01-20T00:00:00 0.008 0.100 5.657 0.566 0.079 0.107 Active -FOPR 2010-01-30T00:00:00 0.018 0.100 5.657 0.566 0.085 0.110 Active -FOPR 2010-02-09T00:00:00 0.032 0.100 5.657 0.566 0.092 0.114 Active -FOPR 2010-02-19T00:00:00 0.050 0.100 5.657 0.566 0.103 0.118 Active -FOPR 2010-03-01T00:00:00 0.071 0.100 5.657 0.566 0.117 0.122 Active -FOPR 2010-03-11T00:00:00 0.097 0.100 5.657 0.566 0.133 0.128 Active -FOPR 2010-03-21T00:00:00 0.126 0.100 5.657 0.566 0.151 0.134 Active -FOPR 2010-03-31T00:00:00 0.159 0.100 5.657 0.566 0.171 0.140 Active -FOPR 2010-04-10T00:00:00 0.194 0.100 5.657 0.566 0.193 0.148 Active -FOPR 2010-04-20T00:00:00 0.233 0.100 5.385 0.539 0.221 0.154 Active -FOPR 2010-04-30T00:00:00 0.274 0.100 5.385 0.539 0.251 0.161 Active -FOPR 2010-05-10T00:00:00 0.318 0.100 5.385 0.539 0.293 0.164 Active -FOPR 2010-05-20T00:00:00 0.363 0.100 5.385 0.539 0.340 0.163 Active -FOPR 2010-05-30T00:00:00 0.411 0.100 5.385 0.539 0.389 0.163 Active -FOPR 2010-06-09T00:00:00 0.460 0.100 5.385 0.539 0.439 0.163 Active -FOPR 2010-06-19T00:00:00 0.510 0.100 5.385 0.539 0.491 0.164 Active -FOPR 2010-06-29T00:00:00 0.561 0.100 5.657 0.566 0.544 0.164 Active -FOPR 2010-07-09T00:00:00 0.613 0.100 5.657 0.566 0.598 0.164 Active -FOPR 2010-07-19T00:00:00 0.666 0.100 5.657 0.566 0.652 0.163 Active -FOPR 2010-07-29T00:00:00 0.718 0.100 5.657 0.566 0.706 0.164 Active -FOPR 2010-08-08T00:00:00 0.770 0.100 3.317 0.332 0.760 0.164 Active -FOPR 2010-08-18T00:00:00 0.823 0.100 3.317 0.332 0.813 0.164 Active -FOPR 2010-08-28T00:00:00 0.875 0.100 3.317 0.332 0.864 0.164 Active -FOPR 2010-09-07T00:00:00 0.926 0.100 3.317 0.332 0.914 0.165 Active -FOPR 2010-09-17T00:00:00 0.977 0.100 3.317 0.332 0.963 0.165 Active -FOPR 2010-09-27T00:00:00 1.027 0.103 3.317 0.341 1.008 0.167 Active -FOPR 2010-10-07T00:00:00 1.075 0.108 3.317 0.357 1.049 0.169 Active -FOPR 2010-10-17T00:00:00 1.122 0.112 3.317 0.372 1.089 0.171 Active -FOPR 2010-10-27T00:00:00 1.166 0.117 3.317 0.387 1.126 0.172 Active -FOPR 2010-11-06T00:00:00 1.208 0.121 3.317 0.400 1.160 0.174 Active -FOPR 2010-11-16T00:00:00 1.247 0.125 3.317 0.414 1.192 0.175 Active -FOPR 2010-11-26T00:00:00 1.284 0.128 2.000 0.257 1.219 0.175 Active -FOPR 2010-12-06T00:00:00 1.317 0.132 2.000 0.263 1.243 0.175 Active -FOPR 2010-12-16T00:00:00 1.346 0.135 2.000 0.269 1.263 0.176 Active -FOPR 2010-12-26T00:00:00 1.371 0.137 2.000 0.274 1.279 0.176 Active -FOPR 2011-01-05T00:00:00 1.392 0.139 3.317 0.462 1.292 0.177 Active -FOPR 2011-01-15T00:00:00 1.407 0.141 3.317 0.467 1.300 0.179 Active -FOPR 2011-01-25T00:00:00 1.418 0.142 3.317 0.470 1.303 0.181 Active -FOPR 2011-02-04T00:00:00 1.422 0.142 3.317 0.472 1.303 0.183 Active -FOPR 2011-02-14T00:00:00 1.424 0.142 3.317 0.472 1.299 0.185 Active -FOPR 2011-02-24T00:00:00 1.425 0.143 3.317 0.473 1.294 0.187 Active -FOPR 2011-03-06T00:00:00 1.427 0.143 3.317 0.473 1.290 0.188 Active -FOPR 2011-03-16T00:00:00 1.430 0.143 3.317 0.474 1.283 0.189 Active -FOPR 2011-03-26T00:00:00 1.433 0.143 3.317 0.475 1.275 0.187 Active -FOPR 2011-04-05T00:00:00 1.438 0.144 3.317 0.477 1.263 0.186 Active -FOPR 2011-04-15T00:00:00 1.443 0.144 3.317 0.479 1.250 0.186 Active -FOPR 2011-04-25T00:00:00 1.449 0.145 3.000 0.435 1.237 0.186 Active -FOPR 2011-05-05T00:00:00 1.455 0.145 3.000 0.436 1.222 0.185 Active -FOPR 2011-05-15T00:00:00 1.460 0.146 3.000 0.438 1.207 0.184 Active -FOPR 2011-05-25T00:00:00 1.466 0.147 4.472 0.655 1.190 0.184 Active -FOPR 2011-06-04T00:00:00 1.470 0.147 4.472 0.658 1.170 0.183 Active -FOPR 2011-06-14T00:00:00 1.474 0.147 4.472 0.659 1.146 0.183 Active -FOPR 2011-06-24T00:00:00 1.475 0.148 4.472 0.660 1.122 0.184 Active -FOPR 2011-07-04T00:00:00 1.474 0.147 3.000 0.442 1.098 0.188 Active -FOPR 2011-07-14T00:00:00 1.469 0.147 4.472 0.657 1.077 0.192 Active -FOPR 2011-07-24T00:00:00 1.461 0.146 4.472 0.653 1.053 0.194 Active -FOPR 2011-08-03T00:00:00 1.449 0.145 3.000 0.435 1.027 0.196 Active -FOPR 2011-08-13T00:00:00 1.436 0.144 4.472 0.642 1.002 0.196 Active -FOPR 2011-08-23T00:00:00 1.421 0.142 4.472 0.636 0.975 0.197 Active -FOPR 2011-09-02T00:00:00 1.403 0.140 3.000 0.421 0.947 0.200 Active -FOPR 2011-09-12T00:00:00 1.379 0.138 4.472 0.617 0.928 0.200 Active -FOPR 2011-09-22T00:00:00 1.353 0.135 4.472 0.605 0.902 0.203 Active -FOPR 2011-10-02T00:00:00 1.324 0.132 4.472 0.592 0.878 0.206 Active -FOPR 2011-10-12T00:00:00 1.297 0.130 4.472 0.580 0.851 0.210 Active -FOPR 2011-10-22T00:00:00 1.270 0.127 3.000 0.381 0.824 0.213 Active -FOPR 2011-11-01T00:00:00 1.243 0.124 3.000 0.373 0.801 0.215 Active -FOPR 2011-11-11T00:00:00 1.216 0.122 3.000 0.365 0.781 0.216 Active -FOPR 2011-11-21T00:00:00 1.189 0.119 4.472 0.532 0.762 0.216 Active -FOPR 2011-12-01T00:00:00 1.161 0.116 4.472 0.519 0.744 0.215 Active -FOPR 2011-12-11T00:00:00 1.134 0.113 4.472 0.507 0.725 0.212 Active -FOPR 2011-12-21T00:00:00 1.112 0.111 4.472 0.497 0.704 0.206 Active -FOPR 2011-12-31T00:00:00 1.091 0.109 4.472 0.488 0.683 0.200 Active -FOPR 2012-01-10T00:00:00 1.072 0.107 4.472 0.479 0.661 0.194 Active -FOPR 2012-01-20T00:00:00 1.053 0.105 4.472 0.471 0.640 0.189 Active -FOPR 2012-01-30T00:00:00 1.033 0.103 4.472 0.462 0.619 0.185 Active -FOPR 2012-02-09T00:00:00 1.013 0.101 5.385 0.545 0.597 0.181 Active -FOPR 2012-02-19T00:00:00 0.995 0.100 5.385 0.539 0.576 0.176 Active -FOPR 2012-02-29T00:00:00 0.975 0.100 5.385 0.539 0.555 0.171 Active -FOPR 2012-03-10T00:00:00 0.956 0.100 5.385 0.539 0.533 0.171 Active -FOPR 2012-03-20T00:00:00 0.936 0.100 5.385 0.539 0.513 0.171 Active -FOPR 2012-03-30T00:00:00 0.916 0.100 5.385 0.539 0.494 0.170 Active -FOPR 2012-04-09T00:00:00 0.893 0.100 5.385 0.539 0.477 0.169 Active -FOPR 2012-04-19T00:00:00 0.869 0.100 5.385 0.539 0.462 0.169 Active -FOPR 2012-04-29T00:00:00 0.842 0.100 5.385 0.539 0.447 0.170 Active -FOPR 2012-05-09T00:00:00 0.812 0.100 5.385 0.539 0.432 0.170 Active -FOPR 2012-05-19T00:00:00 0.779 0.100 5.385 0.539 0.417 0.171 Active -FOPR 2012-05-29T00:00:00 0.742 0.100 5.385 0.539 0.403 0.170 Active -FOPR 2012-06-08T00:00:00 0.702 0.100 5.385 0.539 0.389 0.171 Active -FOPR 2012-06-18T00:00:00 0.661 0.100 5.385 0.539 0.379 0.171 Active -FOPR 2012-06-28T00:00:00 0.619 0.100 5.385 0.539 0.370 0.171 Active -FOPR 2012-07-08T00:00:00 0.578 0.100 5.385 0.539 0.361 0.169 Active -FOPR 2012-07-18T00:00:00 0.540 0.100 5.385 0.539 0.354 0.168 Active -FOPR 2012-07-28T00:00:00 0.505 0.100 5.385 0.539 0.349 0.166 Active -FOPR 2012-08-07T00:00:00 0.475 0.100 5.385 0.539 0.344 0.165 Active -FOPR 2012-08-17T00:00:00 0.450 0.100 5.385 0.539 0.340 0.165 Active -FOPR 2012-08-27T00:00:00 0.431 0.100 5.385 0.539 0.344 0.168 Active -FOPR 2012-09-06T00:00:00 0.419 0.100 5.385 0.539 0.350 0.171 Active -FOPR 2012-09-16T00:00:00 0.410 0.100 5.385 0.539 0.349 0.171 Active -FOPR 2012-09-26T00:00:00 0.406 0.100 5.385 0.539 0.350 0.173 Active -FOPR 2012-10-06T00:00:00 0.404 0.100 5.385 0.539 0.347 0.171 Active -FOPR 2012-10-16T00:00:00 0.399 0.100 5.385 0.539 0.344 0.168 Active -FOPR 2012-10-26T00:00:00 0.389 0.100 5.385 0.539 0.346 0.165 Active -FOPR 2012-11-05T00:00:00 0.374 0.100 5.385 0.539 0.348 0.162 Active -FOPR 2012-11-15T00:00:00 0.355 0.100 5.385 0.539 0.350 0.156 Active -FOPR 2012-11-25T00:00:00 0.332 0.100 1.732 0.173 0.350 0.148 Active -FOPR 2012-12-05T00:00:00 0.306 0.100 1.732 0.173 0.349 0.140 Active -FOPR 2012-12-15T00:00:00 0.282 0.100 1.732 0.173 0.348 0.133 Active -FOPR 2012-12-25T00:00:00 0.264 0.100 4.583 0.458 0.344 0.125 Active -FOPR 2013-01-04T00:00:00 0.248 0.100 4.583 0.458 0.340 0.118 Active -FOPR 2013-01-14T00:00:00 0.233 0.100 4.583 0.458 0.337 0.114 Active -FOPR 2013-01-24T00:00:00 0.219 0.100 4.583 0.458 0.335 0.112 Active -FOPR 2013-02-03T00:00:00 0.205 0.100 4.583 0.458 0.334 0.110 Active -FOPR 2013-02-13T00:00:00 0.192 0.100 4.583 0.458 0.333 0.110 Active -FOPR 2013-02-23T00:00:00 0.180 0.100 4.583 0.458 0.332 0.109 Active -FOPR 2013-03-05T00:00:00 0.169 0.100 4.583 0.458 0.330 0.107 Active -FOPR 2013-03-15T00:00:00 0.160 0.100 4.583 0.458 0.327 0.106 Active -FOPR 2013-03-25T00:00:00 0.152 0.100 4.583 0.458 0.323 0.105 Active -FOPR 2013-04-04T00:00:00 0.146 0.100 4.583 0.458 0.317 0.102 Active -FOPR 2013-04-14T00:00:00 0.141 0.100 4.583 0.458 0.310 0.100 Active -FOPR 2013-04-24T00:00:00 0.137 0.100 4.583 0.458 0.303 0.098 Active -FOPR 2013-05-04T00:00:00 0.134 0.100 4.583 0.458 0.296 0.096 Active -FOPR 2013-05-14T00:00:00 0.130 0.100 4.583 0.458 0.290 0.094 Active -FOPR 2013-05-24T00:00:00 0.127 0.100 4.583 0.458 0.284 0.092 Active -FOPR 2013-06-03T00:00:00 0.123 0.100 4.583 0.458 0.279 0.090 Active -FOPR 2013-06-13T00:00:00 0.119 0.100 4.583 0.458 0.275 0.088 Active -FOPR 2013-06-23T00:00:00 0.120 0.100 4.583 0.458 0.270 0.085 Active -FOPR 2013-07-03T00:00:00 0.128 0.100 4.583 0.458 0.266 0.081 Active -FOPR 2013-07-13T00:00:00 0.136 0.100 4.583 0.458 0.263 0.077 Active -FOPR 2013-07-23T00:00:00 0.143 0.100 1.000 0.100 0.261 0.073 Active -FOPR 2013-08-02T00:00:00 0.150 0.100 2.000 0.200 0.258 0.069 Active -FOPR 2013-08-12T00:00:00 0.155 0.100 2.000 0.200 0.256 0.066 Active -FOPR 2013-08-22T00:00:00 0.159 0.100 2.000 0.200 0.254 0.063 Active -FOPR 2013-09-01T00:00:00 0.163 0.100 2.000 0.200 0.251 0.061 Active -FOPR 2013-09-11T00:00:00 0.166 0.100 3.464 0.346 0.248 0.059 Active -FOPR 2013-09-21T00:00:00 0.167 0.100 3.464 0.346 0.247 0.058 Active -FOPR 2013-10-01T00:00:00 0.167 0.100 3.464 0.346 0.245 0.058 Active -FOPR 2013-10-11T00:00:00 0.166 0.100 3.464 0.346 0.243 0.058 Active -FOPR 2013-10-21T00:00:00 0.165 0.100 3.464 0.346 0.243 0.058 Active -FOPR 2013-10-31T00:00:00 0.164 0.100 3.464 0.346 0.242 0.059 Active -FOPR 2013-11-10T00:00:00 0.165 0.100 3.464 0.346 0.243 0.059 Active -FOPR 2013-11-20T00:00:00 0.169 0.100 3.464 0.346 0.243 0.059 Active -FOPR 2013-11-30T00:00:00 0.176 0.100 3.464 0.346 0.242 0.058 Active -FOPR 2013-12-10T00:00:00 0.186 0.100 3.464 0.346 0.242 0.057 Active -FOPR 2013-12-20T00:00:00 0.197 0.100 3.464 0.346 0.241 0.057 Active -FOPR 2013-12-30T00:00:00 0.211 0.100 3.464 0.346 0.239 0.058 Active -FOPR 2014-01-09T00:00:00 0.225 0.100 1.000 0.100 0.238 0.059 Active -FOPR 2014-01-19T00:00:00 0.239 0.100 1.414 0.141 0.238 0.061 Active -FOPR 2014-01-29T00:00:00 0.252 0.100 1.414 0.141 0.238 0.061 Active -FOPR 2014-02-08T00:00:00 0.264 0.100 2.236 0.224 0.237 0.061 Active -FOPR 2014-02-18T00:00:00 0.275 0.100 2.236 0.224 0.236 0.062 Active -FOPR 2014-02-28T00:00:00 0.285 0.100 2.236 0.224 0.236 0.064 Active -FOPR 2014-03-10T00:00:00 0.295 0.100 2.236 0.224 0.236 0.066 Active -FOPR 2014-03-20T00:00:00 0.303 0.100 2.236 0.224 0.235 0.069 Active -FOPR 2014-03-30T00:00:00 0.309 0.100 2.449 0.245 0.234 0.072 Active -FOPR 2014-04-09T00:00:00 0.312 0.100 2.449 0.245 0.231 0.074 Active -FOPR 2014-04-19T00:00:00 0.313 0.100 2.449 0.245 0.229 0.076 Active -FOPR 2014-04-29T00:00:00 0.310 0.100 2.449 0.245 0.225 0.077 Active -FOPR 2014-05-09T00:00:00 0.304 0.100 2.449 0.245 0.220 0.078 Active -FOPR 2014-05-19T00:00:00 0.296 0.100 2.449 0.245 0.215 0.078 Active -FOPR 2014-05-29T00:00:00 0.286 0.100 5.657 0.566 0.209 0.078 Active -FOPR 2014-06-08T00:00:00 0.275 0.100 5.657 0.566 0.202 0.078 Active -FOPR 2014-06-18T00:00:00 0.264 0.100 5.657 0.566 0.195 0.079 Active -FOPR 2014-06-28T00:00:00 0.253 0.100 5.657 0.566 0.188 0.079 Active -FOPR 2014-07-08T00:00:00 0.241 0.100 5.657 0.566 0.181 0.080 Active -FOPR 2014-07-18T00:00:00 0.230 0.100 5.657 0.566 0.173 0.082 Active -FOPR 2014-07-28T00:00:00 0.218 0.100 5.657 0.566 0.167 0.084 Active -FOPR 2014-08-07T00:00:00 0.207 0.100 5.657 0.566 0.161 0.086 Active -FOPR 2014-08-17T00:00:00 0.197 0.100 5.657 0.566 0.155 0.088 Active -FOPR 2014-08-27T00:00:00 0.187 0.100 5.657 0.566 0.149 0.090 Active -FOPR 2014-09-06T00:00:00 0.178 0.100 5.657 0.566 0.143 0.092 Active -FOPR 2014-09-16T00:00:00 0.168 0.100 5.385 0.539 0.138 0.094 Active -FOPR 2014-09-26T00:00:00 0.159 0.100 5.385 0.539 0.132 0.095 Active -FOPR 2014-10-06T00:00:00 0.150 0.100 5.385 0.539 0.128 0.096 Active -FOPR 2014-10-16T00:00:00 0.141 0.100 5.385 0.539 0.124 0.096 Active -FOPR 2014-10-26T00:00:00 0.134 0.100 5.385 0.539 0.120 0.096 Active -FOPR 2014-11-05T00:00:00 0.127 0.100 5.385 0.539 0.116 0.097 Active -FOPR 2014-11-15T00:00:00 0.120 0.100 5.385 0.539 0.113 0.097 Active -FOPR 2014-11-25T00:00:00 0.115 0.100 5.385 0.539 0.110 0.096 Active -FOPR 2014-12-05T00:00:00 0.111 0.100 5.385 0.539 0.107 0.096 Active -FOPR 2014-12-15T00:00:00 0.107 0.100 5.385 0.539 0.105 0.095 Active -FOPR 2014-12-25T00:00:00 0.101 0.100 5.385 0.539 0.102 0.095 Active -FOPR 2015-01-04T00:00:00 0.096 0.100 5.385 0.539 0.100 0.095 Active -FOPR 2015-01-14T00:00:00 0.089 0.100 5.385 0.539 0.097 0.096 Active -FOPR 2015-01-24T00:00:00 0.081 0.100 5.385 0.539 0.094 0.096 Active -FOPR 2015-02-03T00:00:00 0.073 0.100 5.385 0.539 0.092 0.098 Active -FOPR 2015-02-13T00:00:00 0.065 0.100 5.385 0.539 0.090 0.099 Active -FOPR 2015-02-23T00:00:00 0.058 0.100 5.385 0.539 0.088 0.101 Active -FOPR 2015-03-05T00:00:00 0.050 0.100 5.385 0.539 0.087 0.103 Active -FOPR 2015-03-15T00:00:00 0.044 0.100 5.385 0.539 0.086 0.104 Active -FOPR 2015-03-25T00:00:00 0.038 0.100 5.385 0.539 0.085 0.106 Active -FOPR 2015-04-04T00:00:00 0.033 0.100 5.385 0.539 0.084 0.107 Active -FOPR 2015-04-14T00:00:00 0.029 0.100 5.385 0.539 0.084 0.108 Active -FOPR 2015-04-24T00:00:00 0.026 0.100 5.657 0.566 0.084 0.108 Active -FOPR 2015-05-04T00:00:00 0.024 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-05-14T00:00:00 0.022 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-05-24T00:00:00 0.021 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-06-03T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -FOPR 2015-06-13T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -FOPR 2015-06-23T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -WOPR_OP1_108 2012-12-15T00:00:00 0.300 0.075 1.000 0.075 0.257 0.099 Active -WOPR_OP1_144 2013-12-10T00:00:00 0.200 0.035 1.000 0.035 0.183 0.106 Active -WOPR_OP1_190 2015-03-15T00:00:00 0.015 0.010 1.732 0.017 0.042 0.041 Active -WOPR_OP1_36 2010-12-26T00:00:00 0.700 0.070 1.732 0.121 0.650 0.084 Active -WOPR_OP1_72 2011-12-21T00:00:00 0.500 0.050 1.000 0.050 0.405 0.170 Active -WOPR_OP1_9 2010-03-31T00:00:00 0.100 0.050 1.732 0.087 0.096 0.060 Active -WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active -WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active -WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active -WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ +FOPR 2010-01-10 00:00:00.000 0.002 0.100 5.657 0.566 0.076 0.105 Active +FOPR 2010-01-20 00:00:00.000 0.008 0.100 5.657 0.566 0.079 0.107 Active +FOPR 2010-01-30 00:00:00.000 0.018 0.100 5.657 0.566 0.085 0.110 Active +FOPR 2010-02-09 00:00:00.000 0.032 0.100 5.657 0.566 0.092 0.114 Active +FOPR 2010-02-19 00:00:00.000 0.050 0.100 5.657 0.566 0.103 0.118 Active +FOPR 2010-03-01 00:00:00.000 0.071 0.100 5.657 0.566 0.117 0.122 Active +FOPR 2010-03-11 00:00:00.000 0.097 0.100 5.657 0.566 0.133 0.128 Active +FOPR 2010-03-21 00:00:00.000 0.126 0.100 5.657 0.566 0.151 0.134 Active +FOPR 2010-03-31 00:00:00.000 0.159 0.100 5.657 0.566 0.171 0.140 Active +FOPR 2010-04-10 00:00:00.000 0.194 0.100 5.657 0.566 0.193 0.148 Active +FOPR 2010-04-20 00:00:00.000 0.233 0.100 5.385 0.539 0.221 0.154 Active +FOPR 2010-04-30 00:00:00.000 0.274 0.100 5.385 0.539 0.251 0.161 Active +FOPR 2010-05-10 00:00:00.000 0.318 0.100 5.385 0.539 0.293 0.164 Active +FOPR 2010-05-20 00:00:00.000 0.363 0.100 5.385 0.539 0.340 0.163 Active +FOPR 2010-05-30 00:00:00.000 0.411 0.100 5.385 0.539 0.389 0.163 Active +FOPR 2010-06-09 00:00:00.000 0.460 0.100 5.385 0.539 0.439 0.163 Active +FOPR 2010-06-19 00:00:00.000 0.510 0.100 5.385 0.539 0.491 0.164 Active +FOPR 2010-06-29 00:00:00.000 0.561 0.100 5.657 0.566 0.544 0.164 Active +FOPR 2010-07-09 00:00:00.000 0.613 0.100 5.657 0.566 0.598 0.164 Active +FOPR 2010-07-19 00:00:00.000 0.666 0.100 5.657 0.566 0.652 0.163 Active +FOPR 2010-07-29 00:00:00.000 0.718 0.100 5.657 0.566 0.706 0.164 Active +FOPR 2010-08-08 00:00:00.000 0.770 0.100 3.317 0.332 0.760 0.164 Active +FOPR 2010-08-18 00:00:00.000 0.823 0.100 3.317 0.332 0.813 0.164 Active +FOPR 2010-08-28 00:00:00.000 0.875 0.100 3.317 0.332 0.864 0.164 Active +FOPR 2010-09-07 00:00:00.000 0.926 0.100 3.317 0.332 0.914 0.165 Active +FOPR 2010-09-17 00:00:00.000 0.977 0.100 3.317 0.332 0.963 0.165 Active +FOPR 2010-09-27 00:00:00.000 1.027 0.103 3.317 0.341 1.008 0.167 Active +FOPR 2010-10-07 00:00:00.000 1.075 0.108 3.317 0.357 1.049 0.169 Active +FOPR 2010-10-17 00:00:00.000 1.122 0.112 3.317 0.372 1.089 0.171 Active +FOPR 2010-10-27 00:00:00.000 1.166 0.117 3.317 0.387 1.126 0.172 Active +FOPR 2010-11-06 00:00:00.000 1.208 0.121 3.317 0.400 1.160 0.174 Active +FOPR 2010-11-16 00:00:00.000 1.247 0.125 3.317 0.414 1.192 0.175 Active +FOPR 2010-11-26 00:00:00.000 1.284 0.128 2.000 0.257 1.219 0.175 Active +FOPR 2010-12-06 00:00:00.000 1.317 0.132 2.000 0.263 1.243 0.175 Active +FOPR 2010-12-16 00:00:00.000 1.346 0.135 2.000 0.269 1.263 0.176 Active +FOPR 2010-12-26 00:00:00.000 1.371 0.137 2.000 0.274 1.279 0.176 Active +FOPR 2011-01-05 00:00:00.000 1.392 0.139 3.317 0.462 1.292 0.177 Active +FOPR 2011-01-15 00:00:00.000 1.407 0.141 3.317 0.467 1.300 0.179 Active +FOPR 2011-01-25 00:00:00.000 1.418 0.142 3.317 0.470 1.303 0.181 Active +FOPR 2011-02-04 00:00:00.000 1.422 0.142 3.317 0.472 1.303 0.183 Active +FOPR 2011-02-14 00:00:00.000 1.424 0.142 3.317 0.472 1.299 0.185 Active +FOPR 2011-02-24 00:00:00.000 1.425 0.143 3.317 0.473 1.294 0.187 Active +FOPR 2011-03-06 00:00:00.000 1.427 0.143 3.317 0.473 1.290 0.188 Active +FOPR 2011-03-16 00:00:00.000 1.430 0.143 3.317 0.474 1.283 0.189 Active +FOPR 2011-03-26 00:00:00.000 1.433 0.143 3.317 0.475 1.275 0.187 Active +FOPR 2011-04-05 00:00:00.000 1.438 0.144 3.317 0.477 1.263 0.186 Active +FOPR 2011-04-15 00:00:00.000 1.443 0.144 3.317 0.479 1.250 0.186 Active +FOPR 2011-04-25 00:00:00.000 1.449 0.145 3.000 0.435 1.237 0.186 Active +FOPR 2011-05-05 00:00:00.000 1.455 0.145 3.000 0.436 1.222 0.185 Active +FOPR 2011-05-15 00:00:00.000 1.460 0.146 3.000 0.438 1.207 0.184 Active +FOPR 2011-05-25 00:00:00.000 1.466 0.147 4.472 0.655 1.190 0.184 Active +FOPR 2011-06-04 00:00:00.000 1.470 0.147 4.472 0.658 1.170 0.183 Active +FOPR 2011-06-14 00:00:00.000 1.474 0.147 4.472 0.659 1.146 0.183 Active +FOPR 2011-06-24 00:00:00.000 1.475 0.148 4.472 0.660 1.122 0.184 Active +FOPR 2011-07-04 00:00:00.000 1.474 0.147 3.000 0.442 1.098 0.188 Active +FOPR 2011-07-14 00:00:00.000 1.469 0.147 4.472 0.657 1.077 0.192 Active +FOPR 2011-07-24 00:00:00.000 1.461 0.146 4.472 0.653 1.053 0.194 Active +FOPR 2011-08-03 00:00:00.000 1.449 0.145 3.000 0.435 1.027 0.196 Active +FOPR 2011-08-13 00:00:00.000 1.436 0.144 4.472 0.642 1.002 0.196 Active +FOPR 2011-08-23 00:00:00.000 1.421 0.142 4.472 0.636 0.975 0.197 Active +FOPR 2011-09-02 00:00:00.000 1.403 0.140 3.000 0.421 0.947 0.200 Active +FOPR 2011-09-12 00:00:00.000 1.379 0.138 4.472 0.617 0.928 0.200 Active +FOPR 2011-09-22 00:00:00.000 1.353 0.135 4.472 0.605 0.902 0.203 Active +FOPR 2011-10-02 00:00:00.000 1.324 0.132 4.472 0.592 0.878 0.206 Active +FOPR 2011-10-12 00:00:00.000 1.297 0.130 4.472 0.580 0.851 0.210 Active +FOPR 2011-10-22 00:00:00.000 1.270 0.127 3.000 0.381 0.824 0.213 Active +FOPR 2011-11-01 00:00:00.000 1.243 0.124 3.000 0.373 0.801 0.215 Active +FOPR 2011-11-11 00:00:00.000 1.216 0.122 3.000 0.365 0.781 0.216 Active +FOPR 2011-11-21 00:00:00.000 1.189 0.119 4.472 0.532 0.762 0.216 Active +FOPR 2011-12-01 00:00:00.000 1.161 0.116 4.472 0.519 0.744 0.215 Active +FOPR 2011-12-11 00:00:00.000 1.134 0.113 4.472 0.507 0.725 0.212 Active +FOPR 2011-12-21 00:00:00.000 1.112 0.111 4.472 0.497 0.704 0.206 Active +FOPR 2011-12-31 00:00:00.000 1.091 0.109 4.472 0.488 0.683 0.200 Active +FOPR 2012-01-10 00:00:00.000 1.072 0.107 4.472 0.479 0.661 0.194 Active +FOPR 2012-01-20 00:00:00.000 1.053 0.105 4.472 0.471 0.640 0.189 Active +FOPR 2012-01-30 00:00:00.000 1.033 0.103 4.472 0.462 0.619 0.185 Active +FOPR 2012-02-09 00:00:00.000 1.013 0.101 5.385 0.545 0.597 0.181 Active +FOPR 2012-02-19 00:00:00.000 0.995 0.100 5.385 0.539 0.576 0.176 Active +FOPR 2012-02-29 00:00:00.000 0.975 0.100 5.385 0.539 0.555 0.171 Active +FOPR 2012-03-10 00:00:00.000 0.956 0.100 5.385 0.539 0.533 0.171 Active +FOPR 2012-03-20 00:00:00.000 0.936 0.100 5.385 0.539 0.513 0.171 Active +FOPR 2012-03-30 00:00:00.000 0.916 0.100 5.385 0.539 0.494 0.170 Active +FOPR 2012-04-09 00:00:00.000 0.893 0.100 5.385 0.539 0.477 0.169 Active +FOPR 2012-04-19 00:00:00.000 0.869 0.100 5.385 0.539 0.462 0.169 Active +FOPR 2012-04-29 00:00:00.000 0.842 0.100 5.385 0.539 0.447 0.170 Active +FOPR 2012-05-09 00:00:00.000 0.812 0.100 5.385 0.539 0.432 0.170 Active +FOPR 2012-05-19 00:00:00.000 0.779 0.100 5.385 0.539 0.417 0.171 Active +FOPR 2012-05-29 00:00:00.000 0.742 0.100 5.385 0.539 0.403 0.170 Active +FOPR 2012-06-08 00:00:00.000 0.702 0.100 5.385 0.539 0.389 0.171 Active +FOPR 2012-06-18 00:00:00.000 0.661 0.100 5.385 0.539 0.379 0.171 Active +FOPR 2012-06-28 00:00:00.000 0.619 0.100 5.385 0.539 0.370 0.171 Active +FOPR 2012-07-08 00:00:00.000 0.578 0.100 5.385 0.539 0.361 0.169 Active +FOPR 2012-07-18 00:00:00.000 0.540 0.100 5.385 0.539 0.354 0.168 Active +FOPR 2012-07-28 00:00:00.000 0.505 0.100 5.385 0.539 0.349 0.166 Active +FOPR 2012-08-07 00:00:00.000 0.475 0.100 5.385 0.539 0.344 0.165 Active +FOPR 2012-08-17 00:00:00.000 0.450 0.100 5.385 0.539 0.340 0.165 Active +FOPR 2012-08-27 00:00:00.000 0.431 0.100 5.385 0.539 0.344 0.168 Active +FOPR 2012-09-06 00:00:00.000 0.419 0.100 5.385 0.539 0.350 0.171 Active +FOPR 2012-09-16 00:00:00.000 0.410 0.100 5.385 0.539 0.349 0.171 Active +FOPR 2012-09-26 00:00:00.000 0.406 0.100 5.385 0.539 0.350 0.173 Active +FOPR 2012-10-06 00:00:00.000 0.404 0.100 5.385 0.539 0.347 0.171 Active +FOPR 2012-10-16 00:00:00.000 0.399 0.100 5.385 0.539 0.344 0.168 Active +FOPR 2012-10-26 00:00:00.000 0.389 0.100 5.385 0.539 0.346 0.165 Active +FOPR 2012-11-05 00:00:00.000 0.374 0.100 5.385 0.539 0.348 0.162 Active +FOPR 2012-11-15 00:00:00.000 0.355 0.100 5.385 0.539 0.350 0.156 Active +FOPR 2012-11-25 00:00:00.000 0.332 0.100 1.732 0.173 0.350 0.148 Active +FOPR 2012-12-05 00:00:00.000 0.306 0.100 1.732 0.173 0.349 0.140 Active +FOPR 2012-12-15 00:00:00.000 0.282 0.100 1.732 0.173 0.348 0.133 Active +FOPR 2012-12-25 00:00:00.000 0.264 0.100 4.583 0.458 0.344 0.125 Active +FOPR 2013-01-04 00:00:00.000 0.248 0.100 4.583 0.458 0.340 0.118 Active +FOPR 2013-01-14 00:00:00.000 0.233 0.100 4.583 0.458 0.337 0.114 Active +FOPR 2013-01-24 00:00:00.000 0.219 0.100 4.583 0.458 0.335 0.112 Active +FOPR 2013-02-03 00:00:00.000 0.205 0.100 4.583 0.458 0.334 0.110 Active +FOPR 2013-02-13 00:00:00.000 0.192 0.100 4.583 0.458 0.333 0.110 Active +FOPR 2013-02-23 00:00:00.000 0.180 0.100 4.583 0.458 0.332 0.109 Active +FOPR 2013-03-05 00:00:00.000 0.169 0.100 4.583 0.458 0.330 0.107 Active +FOPR 2013-03-15 00:00:00.000 0.160 0.100 4.583 0.458 0.327 0.106 Active +FOPR 2013-03-25 00:00:00.000 0.152 0.100 4.583 0.458 0.323 0.105 Active +FOPR 2013-04-04 00:00:00.000 0.146 0.100 4.583 0.458 0.317 0.102 Active +FOPR 2013-04-14 00:00:00.000 0.141 0.100 4.583 0.458 0.310 0.100 Active +FOPR 2013-04-24 00:00:00.000 0.137 0.100 4.583 0.458 0.303 0.098 Active +FOPR 2013-05-04 00:00:00.000 0.134 0.100 4.583 0.458 0.296 0.096 Active +FOPR 2013-05-14 00:00:00.000 0.130 0.100 4.583 0.458 0.290 0.094 Active +FOPR 2013-05-24 00:00:00.000 0.127 0.100 4.583 0.458 0.284 0.092 Active +FOPR 2013-06-03 00:00:00.000 0.123 0.100 4.583 0.458 0.279 0.090 Active +FOPR 2013-06-13 00:00:00.000 0.119 0.100 4.583 0.458 0.275 0.088 Active +FOPR 2013-06-23 00:00:00.000 0.120 0.100 4.583 0.458 0.270 0.085 Active +FOPR 2013-07-03 00:00:00.000 0.128 0.100 4.583 0.458 0.266 0.081 Active +FOPR 2013-07-13 00:00:00.000 0.136 0.100 4.583 0.458 0.263 0.077 Active +FOPR 2013-07-23 00:00:00.000 0.143 0.100 1.000 0.100 0.261 0.073 Active +FOPR 2013-08-02 00:00:00.000 0.150 0.100 2.000 0.200 0.258 0.069 Active +FOPR 2013-08-12 00:00:00.000 0.155 0.100 2.000 0.200 0.256 0.066 Active +FOPR 2013-08-22 00:00:00.000 0.159 0.100 2.000 0.200 0.254 0.063 Active +FOPR 2013-09-01 00:00:00.000 0.163 0.100 2.000 0.200 0.251 0.061 Active +FOPR 2013-09-11 00:00:00.000 0.166 0.100 3.464 0.346 0.248 0.059 Active +FOPR 2013-09-21 00:00:00.000 0.167 0.100 3.464 0.346 0.247 0.058 Active +FOPR 2013-10-01 00:00:00.000 0.167 0.100 3.464 0.346 0.245 0.058 Active +FOPR 2013-10-11 00:00:00.000 0.166 0.100 3.464 0.346 0.243 0.058 Active +FOPR 2013-10-21 00:00:00.000 0.165 0.100 3.464 0.346 0.243 0.058 Active +FOPR 2013-10-31 00:00:00.000 0.164 0.100 3.464 0.346 0.242 0.059 Active +FOPR 2013-11-10 00:00:00.000 0.165 0.100 3.464 0.346 0.243 0.059 Active +FOPR 2013-11-20 00:00:00.000 0.169 0.100 3.464 0.346 0.243 0.059 Active +FOPR 2013-11-30 00:00:00.000 0.176 0.100 3.464 0.346 0.242 0.058 Active +FOPR 2013-12-10 00:00:00.000 0.186 0.100 3.464 0.346 0.242 0.057 Active +FOPR 2013-12-20 00:00:00.000 0.197 0.100 3.464 0.346 0.241 0.057 Active +FOPR 2013-12-30 00:00:00.000 0.211 0.100 3.464 0.346 0.239 0.058 Active +FOPR 2014-01-09 00:00:00.000 0.225 0.100 1.000 0.100 0.238 0.059 Active +FOPR 2014-01-19 00:00:00.000 0.239 0.100 1.414 0.141 0.238 0.061 Active +FOPR 2014-01-29 00:00:00.000 0.252 0.100 1.414 0.141 0.238 0.061 Active +FOPR 2014-02-08 00:00:00.000 0.264 0.100 2.236 0.224 0.237 0.061 Active +FOPR 2014-02-18 00:00:00.000 0.275 0.100 2.236 0.224 0.236 0.062 Active +FOPR 2014-02-28 00:00:00.000 0.285 0.100 2.236 0.224 0.236 0.064 Active +FOPR 2014-03-10 00:00:00.000 0.295 0.100 2.236 0.224 0.236 0.066 Active +FOPR 2014-03-20 00:00:00.000 0.303 0.100 2.236 0.224 0.235 0.069 Active +FOPR 2014-03-30 00:00:00.000 0.309 0.100 2.449 0.245 0.234 0.072 Active +FOPR 2014-04-09 00:00:00.000 0.312 0.100 2.449 0.245 0.231 0.074 Active +FOPR 2014-04-19 00:00:00.000 0.313 0.100 2.449 0.245 0.229 0.076 Active +FOPR 2014-04-29 00:00:00.000 0.310 0.100 2.449 0.245 0.225 0.077 Active +FOPR 2014-05-09 00:00:00.000 0.304 0.100 2.449 0.245 0.220 0.078 Active +FOPR 2014-05-19 00:00:00.000 0.296 0.100 2.449 0.245 0.215 0.078 Active +FOPR 2014-05-29 00:00:00.000 0.286 0.100 5.657 0.566 0.209 0.078 Active +FOPR 2014-06-08 00:00:00.000 0.275 0.100 5.657 0.566 0.202 0.078 Active +FOPR 2014-06-18 00:00:00.000 0.264 0.100 5.657 0.566 0.195 0.079 Active +FOPR 2014-06-28 00:00:00.000 0.253 0.100 5.657 0.566 0.188 0.079 Active +FOPR 2014-07-08 00:00:00.000 0.241 0.100 5.657 0.566 0.181 0.080 Active +FOPR 2014-07-18 00:00:00.000 0.230 0.100 5.657 0.566 0.173 0.082 Active +FOPR 2014-07-28 00:00:00.000 0.218 0.100 5.657 0.566 0.167 0.084 Active +FOPR 2014-08-07 00:00:00.000 0.207 0.100 5.657 0.566 0.161 0.086 Active +FOPR 2014-08-17 00:00:00.000 0.197 0.100 5.657 0.566 0.155 0.088 Active +FOPR 2014-08-27 00:00:00.000 0.187 0.100 5.657 0.566 0.149 0.090 Active +FOPR 2014-09-06 00:00:00.000 0.178 0.100 5.657 0.566 0.143 0.092 Active +FOPR 2014-09-16 00:00:00.000 0.168 0.100 5.385 0.539 0.138 0.094 Active +FOPR 2014-09-26 00:00:00.000 0.159 0.100 5.385 0.539 0.132 0.095 Active +FOPR 2014-10-06 00:00:00.000 0.150 0.100 5.385 0.539 0.128 0.096 Active +FOPR 2014-10-16 00:00:00.000 0.141 0.100 5.385 0.539 0.124 0.096 Active +FOPR 2014-10-26 00:00:00.000 0.134 0.100 5.385 0.539 0.120 0.096 Active +FOPR 2014-11-05 00:00:00.000 0.127 0.100 5.385 0.539 0.116 0.097 Active +FOPR 2014-11-15 00:00:00.000 0.120 0.100 5.385 0.539 0.113 0.097 Active +FOPR 2014-11-25 00:00:00.000 0.115 0.100 5.385 0.539 0.110 0.096 Active +FOPR 2014-12-05 00:00:00.000 0.111 0.100 5.385 0.539 0.107 0.096 Active +FOPR 2014-12-15 00:00:00.000 0.107 0.100 5.385 0.539 0.105 0.095 Active +FOPR 2014-12-25 00:00:00.000 0.101 0.100 5.385 0.539 0.102 0.095 Active +FOPR 2015-01-04 00:00:00.000 0.096 0.100 5.385 0.539 0.100 0.095 Active +FOPR 2015-01-14 00:00:00.000 0.089 0.100 5.385 0.539 0.097 0.096 Active +FOPR 2015-01-24 00:00:00.000 0.081 0.100 5.385 0.539 0.094 0.096 Active +FOPR 2015-02-03 00:00:00.000 0.073 0.100 5.385 0.539 0.092 0.098 Active +FOPR 2015-02-13 00:00:00.000 0.065 0.100 5.385 0.539 0.090 0.099 Active +FOPR 2015-02-23 00:00:00.000 0.058 0.100 5.385 0.539 0.088 0.101 Active +FOPR 2015-03-05 00:00:00.000 0.050 0.100 5.385 0.539 0.087 0.103 Active +FOPR 2015-03-15 00:00:00.000 0.044 0.100 5.385 0.539 0.086 0.104 Active +FOPR 2015-03-25 00:00:00.000 0.038 0.100 5.385 0.539 0.085 0.106 Active +FOPR 2015-04-04 00:00:00.000 0.033 0.100 5.385 0.539 0.084 0.107 Active +FOPR 2015-04-14 00:00:00.000 0.029 0.100 5.385 0.539 0.084 0.108 Active +FOPR 2015-04-24 00:00:00.000 0.026 0.100 5.657 0.566 0.084 0.108 Active +FOPR 2015-05-04 00:00:00.000 0.024 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-05-14 00:00:00.000 0.022 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-05-24 00:00:00.000 0.021 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-06-03 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +FOPR 2015-06-13 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +FOPR 2015-06-23 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +WOPR_OP1_108 2012-12-15 00:00:00.000 0.300 0.075 1.000 0.075 0.257 0.099 Active +WOPR_OP1_144 2013-12-10 00:00:00.000 0.200 0.035 1.000 0.035 0.183 0.106 Active +WOPR_OP1_190 2015-03-15 00:00:00.000 0.015 0.010 1.732 0.017 0.042 0.041 Active +WOPR_OP1_36 2010-12-26 00:00:00.000 0.700 0.070 1.732 0.121 0.650 0.084 Active +WOPR_OP1_72 2011-12-21 00:00:00.000 0.500 0.050 1.000 0.050 0.405 0.170 Active +WOPR_OP1_9 2010-03-31 00:00:00.000 0.100 0.050 1.732 0.087 0.096 0.060 Active +WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active +WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active +WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active +WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ diff --git a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess1/update_log b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess1/update_log index ce10801456e..a0bd117d407 100644 --- a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess1/update_log +++ b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess1/update_log @@ -1,212 +1,212 @@ ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ -FOPR 2010-01-10T00:00:00 0.002 0.100 1.000 0.100 0.076 0.105 Active -FOPR 2010-01-20T00:00:00 0.008 0.100 1.000 0.100 0.079 0.107 Active -FOPR 2010-01-30T00:00:00 0.018 0.100 1.000 0.100 0.085 0.110 Active -FOPR 2010-02-09T00:00:00 0.032 0.100 1.000 0.100 0.092 0.114 Active -FOPR 2010-02-19T00:00:00 0.050 0.100 1.000 0.100 0.103 0.118 Active -FOPR 2010-03-01T00:00:00 0.071 0.100 1.000 0.100 0.117 0.122 Active -FOPR 2010-03-11T00:00:00 0.097 0.100 1.000 0.100 0.133 0.128 Active -FOPR 2010-03-21T00:00:00 0.126 0.100 1.000 0.100 0.151 0.134 Active -FOPR 2010-03-31T00:00:00 0.159 0.100 1.000 0.100 0.171 0.140 Active -FOPR 2010-04-10T00:00:00 0.194 0.100 1.000 0.100 0.193 0.148 Active -FOPR 2010-04-20T00:00:00 0.233 0.100 1.000 0.100 0.221 0.154 Active -FOPR 2010-04-30T00:00:00 0.274 0.100 1.000 0.100 0.251 0.161 Active -FOPR 2010-05-10T00:00:00 0.318 0.100 1.000 0.100 0.293 0.164 Active -FOPR 2010-05-20T00:00:00 0.363 0.100 1.000 0.100 0.340 0.163 Active -FOPR 2010-05-30T00:00:00 0.411 0.100 1.000 0.100 0.389 0.163 Active -FOPR 2010-06-09T00:00:00 0.460 0.100 1.000 0.100 0.439 0.163 Active -FOPR 2010-06-19T00:00:00 0.510 0.100 1.000 0.100 0.491 0.164 Active -FOPR 2010-06-29T00:00:00 0.561 0.100 1.000 0.100 0.544 0.164 Active -FOPR 2010-07-09T00:00:00 0.613 0.100 1.000 0.100 0.598 0.164 Active -FOPR 2010-07-19T00:00:00 0.666 0.100 1.000 0.100 0.652 0.163 Active -FOPR 2010-07-29T00:00:00 0.718 0.100 1.000 0.100 0.706 0.164 Active -FOPR 2010-08-08T00:00:00 0.770 0.100 1.000 0.100 0.760 0.164 Active -FOPR 2010-08-18T00:00:00 0.823 0.100 1.000 0.100 0.813 0.164 Active -FOPR 2010-08-28T00:00:00 0.875 0.100 1.000 0.100 0.864 0.164 Active -FOPR 2010-09-07T00:00:00 0.926 0.100 1.000 0.100 0.914 0.165 Active -FOPR 2010-09-17T00:00:00 0.977 0.100 1.000 0.100 0.963 0.165 Active -FOPR 2010-09-27T00:00:00 1.027 0.103 1.000 0.103 1.008 0.167 Active -FOPR 2010-10-07T00:00:00 1.075 0.108 1.000 0.108 1.049 0.169 Active -FOPR 2010-10-17T00:00:00 1.122 0.112 1.000 0.112 1.089 0.171 Active -FOPR 2010-10-27T00:00:00 1.166 0.117 1.000 0.117 1.126 0.172 Active -FOPR 2010-11-06T00:00:00 1.208 0.121 1.000 0.121 1.160 0.174 Active -FOPR 2010-11-16T00:00:00 1.247 0.125 1.000 0.125 1.192 0.175 Active -FOPR 2010-11-26T00:00:00 1.284 0.128 1.000 0.128 1.219 0.175 Active -FOPR 2010-12-06T00:00:00 1.317 0.132 1.000 0.132 1.243 0.175 Active -FOPR 2010-12-16T00:00:00 1.346 0.135 1.000 0.135 1.263 0.176 Active -FOPR 2010-12-26T00:00:00 1.371 0.137 1.000 0.137 1.279 0.176 Active -FOPR 2011-01-05T00:00:00 1.392 0.139 1.000 0.139 1.292 0.177 Active -FOPR 2011-01-15T00:00:00 1.407 0.141 1.000 0.141 1.300 0.179 Active -FOPR 2011-01-25T00:00:00 1.418 0.142 1.000 0.142 1.303 0.181 Active -FOPR 2011-02-04T00:00:00 1.422 0.142 1.000 0.142 1.303 0.183 Active -FOPR 2011-02-14T00:00:00 1.424 0.142 1.000 0.142 1.299 0.185 Active -FOPR 2011-02-24T00:00:00 1.425 0.143 1.000 0.143 1.294 0.187 Active -FOPR 2011-03-06T00:00:00 1.427 0.143 1.000 0.143 1.290 0.188 Active -FOPR 2011-03-16T00:00:00 1.430 0.143 1.000 0.143 1.283 0.189 Active -FOPR 2011-03-26T00:00:00 1.433 0.143 1.000 0.143 1.275 0.187 Active -FOPR 2011-04-05T00:00:00 1.438 0.144 1.000 0.144 1.263 0.186 Active -FOPR 2011-04-15T00:00:00 1.443 0.144 1.000 0.144 1.250 0.186 Active -FOPR 2011-04-25T00:00:00 1.449 0.145 1.000 0.145 1.237 0.186 Active -FOPR 2011-05-05T00:00:00 1.455 0.145 1.000 0.145 1.222 0.185 Active -FOPR 2011-05-15T00:00:00 1.460 0.146 1.000 0.146 1.207 0.184 Active -FOPR 2011-05-25T00:00:00 1.466 0.147 1.000 0.147 1.190 0.184 Active -FOPR 2011-06-04T00:00:00 1.470 0.147 1.000 0.147 1.170 0.183 Active -FOPR 2011-06-14T00:00:00 1.474 0.147 1.000 0.147 1.146 0.183 Active -FOPR 2011-06-24T00:00:00 1.475 0.148 1.000 0.148 1.122 0.184 Active -FOPR 2011-07-04T00:00:00 1.474 0.147 1.000 0.147 1.098 0.188 Active -FOPR 2011-07-14T00:00:00 1.469 0.147 1.000 0.147 1.077 0.192 Active -FOPR 2011-07-24T00:00:00 1.461 0.146 1.000 0.146 1.053 0.194 Active -FOPR 2011-08-03T00:00:00 1.449 0.145 1.000 0.145 1.027 0.196 Active -FOPR 2011-08-13T00:00:00 1.436 0.144 1.000 0.144 1.002 0.196 Active -FOPR 2011-08-23T00:00:00 1.421 0.142 1.000 0.142 0.975 0.197 Active -FOPR 2011-09-02T00:00:00 1.403 0.140 1.000 0.140 0.947 0.200 Active -FOPR 2011-09-12T00:00:00 1.379 0.138 1.000 0.138 0.928 0.200 Active -FOPR 2011-09-22T00:00:00 1.353 0.135 1.000 0.135 0.902 0.203 Active -FOPR 2011-10-02T00:00:00 1.324 0.132 1.000 0.132 0.878 0.206 Active -FOPR 2011-10-12T00:00:00 1.297 0.130 1.000 0.130 0.851 0.210 Active -FOPR 2011-10-22T00:00:00 1.270 0.127 1.000 0.127 0.824 0.213 Active -FOPR 2011-11-01T00:00:00 1.243 0.124 1.000 0.124 0.801 0.215 Active -FOPR 2011-11-11T00:00:00 1.216 0.122 1.000 0.122 0.781 0.216 Active -FOPR 2011-11-21T00:00:00 1.189 0.119 1.000 0.119 0.762 0.216 Active -FOPR 2011-12-01T00:00:00 1.161 0.116 1.000 0.116 0.744 0.215 Active -FOPR 2011-12-11T00:00:00 1.134 0.113 1.000 0.113 0.725 0.212 Active -FOPR 2011-12-21T00:00:00 1.112 0.111 1.000 0.111 0.704 0.206 Active -FOPR 2011-12-31T00:00:00 1.091 0.109 1.000 0.109 0.683 0.200 Active -FOPR 2012-01-10T00:00:00 1.072 0.107 1.000 0.107 0.661 0.194 Active -FOPR 2012-01-20T00:00:00 1.053 0.105 1.000 0.105 0.640 0.189 Active -FOPR 2012-01-30T00:00:00 1.033 0.103 1.000 0.103 0.619 0.185 Active -FOPR 2012-02-09T00:00:00 1.013 0.101 1.000 0.101 0.597 0.181 Active -FOPR 2012-02-19T00:00:00 0.995 0.100 1.000 0.100 0.576 0.176 Active -FOPR 2012-02-29T00:00:00 0.975 0.100 1.000 0.100 0.555 0.171 Active -FOPR 2012-03-10T00:00:00 0.956 0.100 1.000 0.100 0.533 0.171 Active -FOPR 2012-03-20T00:00:00 0.936 0.100 1.000 0.100 0.513 0.171 Active -FOPR 2012-03-30T00:00:00 0.916 0.100 1.000 0.100 0.494 0.170 Active -FOPR 2012-04-09T00:00:00 0.893 0.100 1.000 0.100 0.477 0.169 Active -FOPR 2012-04-19T00:00:00 0.869 0.100 1.000 0.100 0.462 0.169 Active -FOPR 2012-04-29T00:00:00 0.842 0.100 1.000 0.100 0.447 0.170 Active -FOPR 2012-05-09T00:00:00 0.812 0.100 1.000 0.100 0.432 0.170 Active -FOPR 2012-05-19T00:00:00 0.779 0.100 1.000 0.100 0.417 0.171 Active -FOPR 2012-05-29T00:00:00 0.742 0.100 1.000 0.100 0.403 0.170 Active -FOPR 2012-06-08T00:00:00 0.702 0.100 1.000 0.100 0.389 0.171 Active -FOPR 2012-06-18T00:00:00 0.661 0.100 1.000 0.100 0.379 0.171 Active -FOPR 2012-06-28T00:00:00 0.619 0.100 1.000 0.100 0.370 0.171 Active -FOPR 2012-07-08T00:00:00 0.578 0.100 1.000 0.100 0.361 0.169 Active -FOPR 2012-07-18T00:00:00 0.540 0.100 1.000 0.100 0.354 0.168 Active -FOPR 2012-07-28T00:00:00 0.505 0.100 1.000 0.100 0.349 0.166 Active -FOPR 2012-08-07T00:00:00 0.475 0.100 1.000 0.100 0.344 0.165 Active -FOPR 2012-08-17T00:00:00 0.450 0.100 1.000 0.100 0.340 0.165 Active -FOPR 2012-08-27T00:00:00 0.431 0.100 1.000 0.100 0.344 0.168 Active -FOPR 2012-09-06T00:00:00 0.419 0.100 1.000 0.100 0.350 0.171 Active -FOPR 2012-09-16T00:00:00 0.410 0.100 1.000 0.100 0.349 0.171 Active -FOPR 2012-09-26T00:00:00 0.406 0.100 1.000 0.100 0.350 0.173 Active -FOPR 2012-10-06T00:00:00 0.404 0.100 1.000 0.100 0.347 0.171 Active -FOPR 2012-10-16T00:00:00 0.399 0.100 1.000 0.100 0.344 0.168 Active -FOPR 2012-10-26T00:00:00 0.389 0.100 1.000 0.100 0.346 0.165 Active -FOPR 2012-11-05T00:00:00 0.374 0.100 1.000 0.100 0.348 0.162 Active -FOPR 2012-11-15T00:00:00 0.355 0.100 1.000 0.100 0.350 0.156 Active -FOPR 2012-11-25T00:00:00 0.332 0.100 1.000 0.100 0.350 0.148 Active -FOPR 2012-12-05T00:00:00 0.306 0.100 1.000 0.100 0.349 0.140 Active -FOPR 2012-12-15T00:00:00 0.282 0.100 1.000 0.100 0.348 0.133 Active -FOPR 2012-12-25T00:00:00 0.264 0.100 1.000 0.100 0.344 0.125 Active -FOPR 2013-01-04T00:00:00 0.248 0.100 1.000 0.100 0.340 0.118 Active -FOPR 2013-01-14T00:00:00 0.233 0.100 1.000 0.100 0.337 0.114 Active -FOPR 2013-01-24T00:00:00 0.219 0.100 1.000 0.100 0.335 0.112 Active -FOPR 2013-02-03T00:00:00 0.205 0.100 1.000 0.100 0.334 0.110 Active -FOPR 2013-02-13T00:00:00 0.192 0.100 1.000 0.100 0.333 0.110 Active -FOPR 2013-02-23T00:00:00 0.180 0.100 1.000 0.100 0.332 0.109 Active -FOPR 2013-03-05T00:00:00 0.169 0.100 1.000 0.100 0.330 0.107 Active -FOPR 2013-03-15T00:00:00 0.160 0.100 1.000 0.100 0.327 0.106 Active -FOPR 2013-03-25T00:00:00 0.152 0.100 1.000 0.100 0.323 0.105 Active -FOPR 2013-04-04T00:00:00 0.146 0.100 1.000 0.100 0.317 0.102 Active -FOPR 2013-04-14T00:00:00 0.141 0.100 1.000 0.100 0.310 0.100 Active -FOPR 2013-04-24T00:00:00 0.137 0.100 1.000 0.100 0.303 0.098 Active -FOPR 2013-05-04T00:00:00 0.134 0.100 1.000 0.100 0.296 0.096 Active -FOPR 2013-05-14T00:00:00 0.130 0.100 1.000 0.100 0.290 0.094 Active -FOPR 2013-05-24T00:00:00 0.127 0.100 1.000 0.100 0.284 0.092 Active -FOPR 2013-06-03T00:00:00 0.123 0.100 1.000 0.100 0.279 0.090 Active -FOPR 2013-06-13T00:00:00 0.119 0.100 1.000 0.100 0.275 0.088 Active -FOPR 2013-06-23T00:00:00 0.120 0.100 1.000 0.100 0.270 0.085 Active -FOPR 2013-07-03T00:00:00 0.128 0.100 1.000 0.100 0.266 0.081 Active -FOPR 2013-07-13T00:00:00 0.136 0.100 1.000 0.100 0.263 0.077 Active -FOPR 2013-07-23T00:00:00 0.143 0.100 1.000 0.100 0.261 0.073 Active -FOPR 2013-08-02T00:00:00 0.150 0.100 1.000 0.100 0.258 0.069 Active -FOPR 2013-08-12T00:00:00 0.155 0.100 1.000 0.100 0.256 0.066 Active -FOPR 2013-08-22T00:00:00 0.159 0.100 1.000 0.100 0.254 0.063 Active -FOPR 2013-09-01T00:00:00 0.163 0.100 1.000 0.100 0.251 0.061 Active -FOPR 2013-09-11T00:00:00 0.166 0.100 1.000 0.100 0.248 0.059 Active -FOPR 2013-09-21T00:00:00 0.167 0.100 1.000 0.100 0.247 0.058 Active -FOPR 2013-10-01T00:00:00 0.167 0.100 1.000 0.100 0.245 0.058 Active -FOPR 2013-10-11T00:00:00 0.166 0.100 1.000 0.100 0.243 0.058 Active -FOPR 2013-10-21T00:00:00 0.165 0.100 1.000 0.100 0.243 0.058 Active -FOPR 2013-10-31T00:00:00 0.164 0.100 1.000 0.100 0.242 0.059 Active -FOPR 2013-11-10T00:00:00 0.165 0.100 1.000 0.100 0.243 0.059 Active -FOPR 2013-11-20T00:00:00 0.169 0.100 1.000 0.100 0.243 0.059 Active -FOPR 2013-11-30T00:00:00 0.176 0.100 1.000 0.100 0.242 0.058 Active -FOPR 2013-12-10T00:00:00 0.186 0.100 1.000 0.100 0.242 0.057 Active -FOPR 2013-12-20T00:00:00 0.197 0.100 1.000 0.100 0.241 0.057 Active -FOPR 2013-12-30T00:00:00 0.211 0.100 1.000 0.100 0.239 0.058 Active -FOPR 2014-01-09T00:00:00 0.225 0.100 1.000 0.100 0.238 0.059 Active -FOPR 2014-01-19T00:00:00 0.239 0.100 1.000 0.100 0.238 0.061 Active -FOPR 2014-01-29T00:00:00 0.252 0.100 1.000 0.100 0.238 0.061 Active -FOPR 2014-02-08T00:00:00 0.264 0.100 1.000 0.100 0.237 0.061 Active -FOPR 2014-02-18T00:00:00 0.275 0.100 1.000 0.100 0.236 0.062 Active -FOPR 2014-02-28T00:00:00 0.285 0.100 1.000 0.100 0.236 0.064 Active -FOPR 2014-03-10T00:00:00 0.295 0.100 1.000 0.100 0.236 0.066 Active -FOPR 2014-03-20T00:00:00 0.303 0.100 1.000 0.100 0.235 0.069 Active -FOPR 2014-03-30T00:00:00 0.309 0.100 1.000 0.100 0.234 0.072 Active -FOPR 2014-04-09T00:00:00 0.312 0.100 1.000 0.100 0.231 0.074 Active -FOPR 2014-04-19T00:00:00 0.313 0.100 1.000 0.100 0.229 0.076 Active -FOPR 2014-04-29T00:00:00 0.310 0.100 1.000 0.100 0.225 0.077 Active -FOPR 2014-05-09T00:00:00 0.304 0.100 1.000 0.100 0.220 0.078 Active -FOPR 2014-05-19T00:00:00 0.296 0.100 1.000 0.100 0.215 0.078 Active -FOPR 2014-05-29T00:00:00 0.286 0.100 1.000 0.100 0.209 0.078 Active -FOPR 2014-06-08T00:00:00 0.275 0.100 1.000 0.100 0.202 0.078 Active -FOPR 2014-06-18T00:00:00 0.264 0.100 1.000 0.100 0.195 0.079 Active -FOPR 2014-06-28T00:00:00 0.253 0.100 1.000 0.100 0.188 0.079 Active -FOPR 2014-07-08T00:00:00 0.241 0.100 1.000 0.100 0.181 0.080 Active -FOPR 2014-07-18T00:00:00 0.230 0.100 1.000 0.100 0.173 0.082 Active -FOPR 2014-07-28T00:00:00 0.218 0.100 1.000 0.100 0.167 0.084 Active -FOPR 2014-08-07T00:00:00 0.207 0.100 1.000 0.100 0.161 0.086 Active -FOPR 2014-08-17T00:00:00 0.197 0.100 1.000 0.100 0.155 0.088 Active -FOPR 2014-08-27T00:00:00 0.187 0.100 1.000 0.100 0.149 0.090 Active -FOPR 2014-09-06T00:00:00 0.178 0.100 1.000 0.100 0.143 0.092 Active -FOPR 2014-09-16T00:00:00 0.168 0.100 1.000 0.100 0.138 0.094 Active -FOPR 2014-09-26T00:00:00 0.159 0.100 1.000 0.100 0.132 0.095 Active -FOPR 2014-10-06T00:00:00 0.150 0.100 1.000 0.100 0.128 0.096 Active -FOPR 2014-10-16T00:00:00 0.141 0.100 1.000 0.100 0.124 0.096 Active -FOPR 2014-10-26T00:00:00 0.134 0.100 1.000 0.100 0.120 0.096 Active -FOPR 2014-11-05T00:00:00 0.127 0.100 1.000 0.100 0.116 0.097 Active -FOPR 2014-11-15T00:00:00 0.120 0.100 1.000 0.100 0.113 0.097 Active -FOPR 2014-11-25T00:00:00 0.115 0.100 1.000 0.100 0.110 0.096 Active -FOPR 2014-12-05T00:00:00 0.111 0.100 1.000 0.100 0.107 0.096 Active -FOPR 2014-12-15T00:00:00 0.107 0.100 1.000 0.100 0.105 0.095 Active -FOPR 2014-12-25T00:00:00 0.101 0.100 1.000 0.100 0.102 0.095 Active -FOPR 2015-01-04T00:00:00 0.096 0.100 1.000 0.100 0.100 0.095 Active -FOPR 2015-01-14T00:00:00 0.089 0.100 1.000 0.100 0.097 0.096 Active -FOPR 2015-01-24T00:00:00 0.081 0.100 1.000 0.100 0.094 0.096 Active -FOPR 2015-02-03T00:00:00 0.073 0.100 1.000 0.100 0.092 0.098 Active -FOPR 2015-02-13T00:00:00 0.065 0.100 1.000 0.100 0.090 0.099 Active -FOPR 2015-02-23T00:00:00 0.058 0.100 1.000 0.100 0.088 0.101 Active -FOPR 2015-03-05T00:00:00 0.050 0.100 1.000 0.100 0.087 0.103 Active -FOPR 2015-03-15T00:00:00 0.044 0.100 1.000 0.100 0.086 0.104 Active -FOPR 2015-03-25T00:00:00 0.038 0.100 1.000 0.100 0.085 0.106 Active -FOPR 2015-04-04T00:00:00 0.033 0.100 1.000 0.100 0.084 0.107 Active -FOPR 2015-04-14T00:00:00 0.029 0.100 1.000 0.100 0.084 0.108 Active -FOPR 2015-04-24T00:00:00 0.026 0.100 1.000 0.100 0.084 0.108 Active -FOPR 2015-05-04T00:00:00 0.024 0.100 1.000 0.100 0.084 0.109 Active -FOPR 2015-05-14T00:00:00 0.022 0.100 1.000 0.100 0.084 0.109 Active -FOPR 2015-05-24T00:00:00 0.021 0.100 1.000 0.100 0.084 0.109 Active -FOPR 2015-06-03T00:00:00 0.020 0.100 1.000 0.100 0.084 0.110 Active -FOPR 2015-06-13T00:00:00 0.020 0.100 1.000 0.100 0.084 0.110 Active -FOPR 2015-06-23T00:00:00 0.020 0.100 1.000 0.100 0.084 0.110 Active -WOPR_OP1_108 2012-12-15T00:00:00 0.300 0.075 1.000 0.075 0.257 0.099 Active -WOPR_OP1_144 2013-12-10T00:00:00 0.200 0.035 1.000 0.035 0.183 0.106 Active -WOPR_OP1_190 2015-03-15T00:00:00 0.015 0.010 1.000 0.010 0.042 0.041 Active -WOPR_OP1_36 2010-12-26T00:00:00 0.700 0.070 1.000 0.070 0.650 0.084 Active -WOPR_OP1_72 2011-12-21T00:00:00 0.500 0.050 1.000 0.050 0.405 0.170 Active -WOPR_OP1_9 2010-03-31T00:00:00 0.100 0.050 1.000 0.050 0.096 0.060 Active -WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active -WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active -WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active -WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ +FOPR 2010-01-10 00:00:00.000 0.002 0.100 1.000 0.100 0.076 0.105 Active +FOPR 2010-01-20 00:00:00.000 0.008 0.100 1.000 0.100 0.079 0.107 Active +FOPR 2010-01-30 00:00:00.000 0.018 0.100 1.000 0.100 0.085 0.110 Active +FOPR 2010-02-09 00:00:00.000 0.032 0.100 1.000 0.100 0.092 0.114 Active +FOPR 2010-02-19 00:00:00.000 0.050 0.100 1.000 0.100 0.103 0.118 Active +FOPR 2010-03-01 00:00:00.000 0.071 0.100 1.000 0.100 0.117 0.122 Active +FOPR 2010-03-11 00:00:00.000 0.097 0.100 1.000 0.100 0.133 0.128 Active +FOPR 2010-03-21 00:00:00.000 0.126 0.100 1.000 0.100 0.151 0.134 Active +FOPR 2010-03-31 00:00:00.000 0.159 0.100 1.000 0.100 0.171 0.140 Active +FOPR 2010-04-10 00:00:00.000 0.194 0.100 1.000 0.100 0.193 0.148 Active +FOPR 2010-04-20 00:00:00.000 0.233 0.100 1.000 0.100 0.221 0.154 Active +FOPR 2010-04-30 00:00:00.000 0.274 0.100 1.000 0.100 0.251 0.161 Active +FOPR 2010-05-10 00:00:00.000 0.318 0.100 1.000 0.100 0.293 0.164 Active +FOPR 2010-05-20 00:00:00.000 0.363 0.100 1.000 0.100 0.340 0.163 Active +FOPR 2010-05-30 00:00:00.000 0.411 0.100 1.000 0.100 0.389 0.163 Active +FOPR 2010-06-09 00:00:00.000 0.460 0.100 1.000 0.100 0.439 0.163 Active +FOPR 2010-06-19 00:00:00.000 0.510 0.100 1.000 0.100 0.491 0.164 Active +FOPR 2010-06-29 00:00:00.000 0.561 0.100 1.000 0.100 0.544 0.164 Active +FOPR 2010-07-09 00:00:00.000 0.613 0.100 1.000 0.100 0.598 0.164 Active +FOPR 2010-07-19 00:00:00.000 0.666 0.100 1.000 0.100 0.652 0.163 Active +FOPR 2010-07-29 00:00:00.000 0.718 0.100 1.000 0.100 0.706 0.164 Active +FOPR 2010-08-08 00:00:00.000 0.770 0.100 1.000 0.100 0.760 0.164 Active +FOPR 2010-08-18 00:00:00.000 0.823 0.100 1.000 0.100 0.813 0.164 Active +FOPR 2010-08-28 00:00:00.000 0.875 0.100 1.000 0.100 0.864 0.164 Active +FOPR 2010-09-07 00:00:00.000 0.926 0.100 1.000 0.100 0.914 0.165 Active +FOPR 2010-09-17 00:00:00.000 0.977 0.100 1.000 0.100 0.963 0.165 Active +FOPR 2010-09-27 00:00:00.000 1.027 0.103 1.000 0.103 1.008 0.167 Active +FOPR 2010-10-07 00:00:00.000 1.075 0.108 1.000 0.108 1.049 0.169 Active +FOPR 2010-10-17 00:00:00.000 1.122 0.112 1.000 0.112 1.089 0.171 Active +FOPR 2010-10-27 00:00:00.000 1.166 0.117 1.000 0.117 1.126 0.172 Active +FOPR 2010-11-06 00:00:00.000 1.208 0.121 1.000 0.121 1.160 0.174 Active +FOPR 2010-11-16 00:00:00.000 1.247 0.125 1.000 0.125 1.192 0.175 Active +FOPR 2010-11-26 00:00:00.000 1.284 0.128 1.000 0.128 1.219 0.175 Active +FOPR 2010-12-06 00:00:00.000 1.317 0.132 1.000 0.132 1.243 0.175 Active +FOPR 2010-12-16 00:00:00.000 1.346 0.135 1.000 0.135 1.263 0.176 Active +FOPR 2010-12-26 00:00:00.000 1.371 0.137 1.000 0.137 1.279 0.176 Active +FOPR 2011-01-05 00:00:00.000 1.392 0.139 1.000 0.139 1.292 0.177 Active +FOPR 2011-01-15 00:00:00.000 1.407 0.141 1.000 0.141 1.300 0.179 Active +FOPR 2011-01-25 00:00:00.000 1.418 0.142 1.000 0.142 1.303 0.181 Active +FOPR 2011-02-04 00:00:00.000 1.422 0.142 1.000 0.142 1.303 0.183 Active +FOPR 2011-02-14 00:00:00.000 1.424 0.142 1.000 0.142 1.299 0.185 Active +FOPR 2011-02-24 00:00:00.000 1.425 0.143 1.000 0.143 1.294 0.187 Active +FOPR 2011-03-06 00:00:00.000 1.427 0.143 1.000 0.143 1.290 0.188 Active +FOPR 2011-03-16 00:00:00.000 1.430 0.143 1.000 0.143 1.283 0.189 Active +FOPR 2011-03-26 00:00:00.000 1.433 0.143 1.000 0.143 1.275 0.187 Active +FOPR 2011-04-05 00:00:00.000 1.438 0.144 1.000 0.144 1.263 0.186 Active +FOPR 2011-04-15 00:00:00.000 1.443 0.144 1.000 0.144 1.250 0.186 Active +FOPR 2011-04-25 00:00:00.000 1.449 0.145 1.000 0.145 1.237 0.186 Active +FOPR 2011-05-05 00:00:00.000 1.455 0.145 1.000 0.145 1.222 0.185 Active +FOPR 2011-05-15 00:00:00.000 1.460 0.146 1.000 0.146 1.207 0.184 Active +FOPR 2011-05-25 00:00:00.000 1.466 0.147 1.000 0.147 1.190 0.184 Active +FOPR 2011-06-04 00:00:00.000 1.470 0.147 1.000 0.147 1.170 0.183 Active +FOPR 2011-06-14 00:00:00.000 1.474 0.147 1.000 0.147 1.146 0.183 Active +FOPR 2011-06-24 00:00:00.000 1.475 0.148 1.000 0.148 1.122 0.184 Active +FOPR 2011-07-04 00:00:00.000 1.474 0.147 1.000 0.147 1.098 0.188 Active +FOPR 2011-07-14 00:00:00.000 1.469 0.147 1.000 0.147 1.077 0.192 Active +FOPR 2011-07-24 00:00:00.000 1.461 0.146 1.000 0.146 1.053 0.194 Active +FOPR 2011-08-03 00:00:00.000 1.449 0.145 1.000 0.145 1.027 0.196 Active +FOPR 2011-08-13 00:00:00.000 1.436 0.144 1.000 0.144 1.002 0.196 Active +FOPR 2011-08-23 00:00:00.000 1.421 0.142 1.000 0.142 0.975 0.197 Active +FOPR 2011-09-02 00:00:00.000 1.403 0.140 1.000 0.140 0.947 0.200 Active +FOPR 2011-09-12 00:00:00.000 1.379 0.138 1.000 0.138 0.928 0.200 Active +FOPR 2011-09-22 00:00:00.000 1.353 0.135 1.000 0.135 0.902 0.203 Active +FOPR 2011-10-02 00:00:00.000 1.324 0.132 1.000 0.132 0.878 0.206 Active +FOPR 2011-10-12 00:00:00.000 1.297 0.130 1.000 0.130 0.851 0.210 Active +FOPR 2011-10-22 00:00:00.000 1.270 0.127 1.000 0.127 0.824 0.213 Active +FOPR 2011-11-01 00:00:00.000 1.243 0.124 1.000 0.124 0.801 0.215 Active +FOPR 2011-11-11 00:00:00.000 1.216 0.122 1.000 0.122 0.781 0.216 Active +FOPR 2011-11-21 00:00:00.000 1.189 0.119 1.000 0.119 0.762 0.216 Active +FOPR 2011-12-01 00:00:00.000 1.161 0.116 1.000 0.116 0.744 0.215 Active +FOPR 2011-12-11 00:00:00.000 1.134 0.113 1.000 0.113 0.725 0.212 Active +FOPR 2011-12-21 00:00:00.000 1.112 0.111 1.000 0.111 0.704 0.206 Active +FOPR 2011-12-31 00:00:00.000 1.091 0.109 1.000 0.109 0.683 0.200 Active +FOPR 2012-01-10 00:00:00.000 1.072 0.107 1.000 0.107 0.661 0.194 Active +FOPR 2012-01-20 00:00:00.000 1.053 0.105 1.000 0.105 0.640 0.189 Active +FOPR 2012-01-30 00:00:00.000 1.033 0.103 1.000 0.103 0.619 0.185 Active +FOPR 2012-02-09 00:00:00.000 1.013 0.101 1.000 0.101 0.597 0.181 Active +FOPR 2012-02-19 00:00:00.000 0.995 0.100 1.000 0.100 0.576 0.176 Active +FOPR 2012-02-29 00:00:00.000 0.975 0.100 1.000 0.100 0.555 0.171 Active +FOPR 2012-03-10 00:00:00.000 0.956 0.100 1.000 0.100 0.533 0.171 Active +FOPR 2012-03-20 00:00:00.000 0.936 0.100 1.000 0.100 0.513 0.171 Active +FOPR 2012-03-30 00:00:00.000 0.916 0.100 1.000 0.100 0.494 0.170 Active +FOPR 2012-04-09 00:00:00.000 0.893 0.100 1.000 0.100 0.477 0.169 Active +FOPR 2012-04-19 00:00:00.000 0.869 0.100 1.000 0.100 0.462 0.169 Active +FOPR 2012-04-29 00:00:00.000 0.842 0.100 1.000 0.100 0.447 0.170 Active +FOPR 2012-05-09 00:00:00.000 0.812 0.100 1.000 0.100 0.432 0.170 Active +FOPR 2012-05-19 00:00:00.000 0.779 0.100 1.000 0.100 0.417 0.171 Active +FOPR 2012-05-29 00:00:00.000 0.742 0.100 1.000 0.100 0.403 0.170 Active +FOPR 2012-06-08 00:00:00.000 0.702 0.100 1.000 0.100 0.389 0.171 Active +FOPR 2012-06-18 00:00:00.000 0.661 0.100 1.000 0.100 0.379 0.171 Active +FOPR 2012-06-28 00:00:00.000 0.619 0.100 1.000 0.100 0.370 0.171 Active +FOPR 2012-07-08 00:00:00.000 0.578 0.100 1.000 0.100 0.361 0.169 Active +FOPR 2012-07-18 00:00:00.000 0.540 0.100 1.000 0.100 0.354 0.168 Active +FOPR 2012-07-28 00:00:00.000 0.505 0.100 1.000 0.100 0.349 0.166 Active +FOPR 2012-08-07 00:00:00.000 0.475 0.100 1.000 0.100 0.344 0.165 Active +FOPR 2012-08-17 00:00:00.000 0.450 0.100 1.000 0.100 0.340 0.165 Active +FOPR 2012-08-27 00:00:00.000 0.431 0.100 1.000 0.100 0.344 0.168 Active +FOPR 2012-09-06 00:00:00.000 0.419 0.100 1.000 0.100 0.350 0.171 Active +FOPR 2012-09-16 00:00:00.000 0.410 0.100 1.000 0.100 0.349 0.171 Active +FOPR 2012-09-26 00:00:00.000 0.406 0.100 1.000 0.100 0.350 0.173 Active +FOPR 2012-10-06 00:00:00.000 0.404 0.100 1.000 0.100 0.347 0.171 Active +FOPR 2012-10-16 00:00:00.000 0.399 0.100 1.000 0.100 0.344 0.168 Active +FOPR 2012-10-26 00:00:00.000 0.389 0.100 1.000 0.100 0.346 0.165 Active +FOPR 2012-11-05 00:00:00.000 0.374 0.100 1.000 0.100 0.348 0.162 Active +FOPR 2012-11-15 00:00:00.000 0.355 0.100 1.000 0.100 0.350 0.156 Active +FOPR 2012-11-25 00:00:00.000 0.332 0.100 1.000 0.100 0.350 0.148 Active +FOPR 2012-12-05 00:00:00.000 0.306 0.100 1.000 0.100 0.349 0.140 Active +FOPR 2012-12-15 00:00:00.000 0.282 0.100 1.000 0.100 0.348 0.133 Active +FOPR 2012-12-25 00:00:00.000 0.264 0.100 1.000 0.100 0.344 0.125 Active +FOPR 2013-01-04 00:00:00.000 0.248 0.100 1.000 0.100 0.340 0.118 Active +FOPR 2013-01-14 00:00:00.000 0.233 0.100 1.000 0.100 0.337 0.114 Active +FOPR 2013-01-24 00:00:00.000 0.219 0.100 1.000 0.100 0.335 0.112 Active +FOPR 2013-02-03 00:00:00.000 0.205 0.100 1.000 0.100 0.334 0.110 Active +FOPR 2013-02-13 00:00:00.000 0.192 0.100 1.000 0.100 0.333 0.110 Active +FOPR 2013-02-23 00:00:00.000 0.180 0.100 1.000 0.100 0.332 0.109 Active +FOPR 2013-03-05 00:00:00.000 0.169 0.100 1.000 0.100 0.330 0.107 Active +FOPR 2013-03-15 00:00:00.000 0.160 0.100 1.000 0.100 0.327 0.106 Active +FOPR 2013-03-25 00:00:00.000 0.152 0.100 1.000 0.100 0.323 0.105 Active +FOPR 2013-04-04 00:00:00.000 0.146 0.100 1.000 0.100 0.317 0.102 Active +FOPR 2013-04-14 00:00:00.000 0.141 0.100 1.000 0.100 0.310 0.100 Active +FOPR 2013-04-24 00:00:00.000 0.137 0.100 1.000 0.100 0.303 0.098 Active +FOPR 2013-05-04 00:00:00.000 0.134 0.100 1.000 0.100 0.296 0.096 Active +FOPR 2013-05-14 00:00:00.000 0.130 0.100 1.000 0.100 0.290 0.094 Active +FOPR 2013-05-24 00:00:00.000 0.127 0.100 1.000 0.100 0.284 0.092 Active +FOPR 2013-06-03 00:00:00.000 0.123 0.100 1.000 0.100 0.279 0.090 Active +FOPR 2013-06-13 00:00:00.000 0.119 0.100 1.000 0.100 0.275 0.088 Active +FOPR 2013-06-23 00:00:00.000 0.120 0.100 1.000 0.100 0.270 0.085 Active +FOPR 2013-07-03 00:00:00.000 0.128 0.100 1.000 0.100 0.266 0.081 Active +FOPR 2013-07-13 00:00:00.000 0.136 0.100 1.000 0.100 0.263 0.077 Active +FOPR 2013-07-23 00:00:00.000 0.143 0.100 1.000 0.100 0.261 0.073 Active +FOPR 2013-08-02 00:00:00.000 0.150 0.100 1.000 0.100 0.258 0.069 Active +FOPR 2013-08-12 00:00:00.000 0.155 0.100 1.000 0.100 0.256 0.066 Active +FOPR 2013-08-22 00:00:00.000 0.159 0.100 1.000 0.100 0.254 0.063 Active +FOPR 2013-09-01 00:00:00.000 0.163 0.100 1.000 0.100 0.251 0.061 Active +FOPR 2013-09-11 00:00:00.000 0.166 0.100 1.000 0.100 0.248 0.059 Active +FOPR 2013-09-21 00:00:00.000 0.167 0.100 1.000 0.100 0.247 0.058 Active +FOPR 2013-10-01 00:00:00.000 0.167 0.100 1.000 0.100 0.245 0.058 Active +FOPR 2013-10-11 00:00:00.000 0.166 0.100 1.000 0.100 0.243 0.058 Active +FOPR 2013-10-21 00:00:00.000 0.165 0.100 1.000 0.100 0.243 0.058 Active +FOPR 2013-10-31 00:00:00.000 0.164 0.100 1.000 0.100 0.242 0.059 Active +FOPR 2013-11-10 00:00:00.000 0.165 0.100 1.000 0.100 0.243 0.059 Active +FOPR 2013-11-20 00:00:00.000 0.169 0.100 1.000 0.100 0.243 0.059 Active +FOPR 2013-11-30 00:00:00.000 0.176 0.100 1.000 0.100 0.242 0.058 Active +FOPR 2013-12-10 00:00:00.000 0.186 0.100 1.000 0.100 0.242 0.057 Active +FOPR 2013-12-20 00:00:00.000 0.197 0.100 1.000 0.100 0.241 0.057 Active +FOPR 2013-12-30 00:00:00.000 0.211 0.100 1.000 0.100 0.239 0.058 Active +FOPR 2014-01-09 00:00:00.000 0.225 0.100 1.000 0.100 0.238 0.059 Active +FOPR 2014-01-19 00:00:00.000 0.239 0.100 1.000 0.100 0.238 0.061 Active +FOPR 2014-01-29 00:00:00.000 0.252 0.100 1.000 0.100 0.238 0.061 Active +FOPR 2014-02-08 00:00:00.000 0.264 0.100 1.000 0.100 0.237 0.061 Active +FOPR 2014-02-18 00:00:00.000 0.275 0.100 1.000 0.100 0.236 0.062 Active +FOPR 2014-02-28 00:00:00.000 0.285 0.100 1.000 0.100 0.236 0.064 Active +FOPR 2014-03-10 00:00:00.000 0.295 0.100 1.000 0.100 0.236 0.066 Active +FOPR 2014-03-20 00:00:00.000 0.303 0.100 1.000 0.100 0.235 0.069 Active +FOPR 2014-03-30 00:00:00.000 0.309 0.100 1.000 0.100 0.234 0.072 Active +FOPR 2014-04-09 00:00:00.000 0.312 0.100 1.000 0.100 0.231 0.074 Active +FOPR 2014-04-19 00:00:00.000 0.313 0.100 1.000 0.100 0.229 0.076 Active +FOPR 2014-04-29 00:00:00.000 0.310 0.100 1.000 0.100 0.225 0.077 Active +FOPR 2014-05-09 00:00:00.000 0.304 0.100 1.000 0.100 0.220 0.078 Active +FOPR 2014-05-19 00:00:00.000 0.296 0.100 1.000 0.100 0.215 0.078 Active +FOPR 2014-05-29 00:00:00.000 0.286 0.100 1.000 0.100 0.209 0.078 Active +FOPR 2014-06-08 00:00:00.000 0.275 0.100 1.000 0.100 0.202 0.078 Active +FOPR 2014-06-18 00:00:00.000 0.264 0.100 1.000 0.100 0.195 0.079 Active +FOPR 2014-06-28 00:00:00.000 0.253 0.100 1.000 0.100 0.188 0.079 Active +FOPR 2014-07-08 00:00:00.000 0.241 0.100 1.000 0.100 0.181 0.080 Active +FOPR 2014-07-18 00:00:00.000 0.230 0.100 1.000 0.100 0.173 0.082 Active +FOPR 2014-07-28 00:00:00.000 0.218 0.100 1.000 0.100 0.167 0.084 Active +FOPR 2014-08-07 00:00:00.000 0.207 0.100 1.000 0.100 0.161 0.086 Active +FOPR 2014-08-17 00:00:00.000 0.197 0.100 1.000 0.100 0.155 0.088 Active +FOPR 2014-08-27 00:00:00.000 0.187 0.100 1.000 0.100 0.149 0.090 Active +FOPR 2014-09-06 00:00:00.000 0.178 0.100 1.000 0.100 0.143 0.092 Active +FOPR 2014-09-16 00:00:00.000 0.168 0.100 1.000 0.100 0.138 0.094 Active +FOPR 2014-09-26 00:00:00.000 0.159 0.100 1.000 0.100 0.132 0.095 Active +FOPR 2014-10-06 00:00:00.000 0.150 0.100 1.000 0.100 0.128 0.096 Active +FOPR 2014-10-16 00:00:00.000 0.141 0.100 1.000 0.100 0.124 0.096 Active +FOPR 2014-10-26 00:00:00.000 0.134 0.100 1.000 0.100 0.120 0.096 Active +FOPR 2014-11-05 00:00:00.000 0.127 0.100 1.000 0.100 0.116 0.097 Active +FOPR 2014-11-15 00:00:00.000 0.120 0.100 1.000 0.100 0.113 0.097 Active +FOPR 2014-11-25 00:00:00.000 0.115 0.100 1.000 0.100 0.110 0.096 Active +FOPR 2014-12-05 00:00:00.000 0.111 0.100 1.000 0.100 0.107 0.096 Active +FOPR 2014-12-15 00:00:00.000 0.107 0.100 1.000 0.100 0.105 0.095 Active +FOPR 2014-12-25 00:00:00.000 0.101 0.100 1.000 0.100 0.102 0.095 Active +FOPR 2015-01-04 00:00:00.000 0.096 0.100 1.000 0.100 0.100 0.095 Active +FOPR 2015-01-14 00:00:00.000 0.089 0.100 1.000 0.100 0.097 0.096 Active +FOPR 2015-01-24 00:00:00.000 0.081 0.100 1.000 0.100 0.094 0.096 Active +FOPR 2015-02-03 00:00:00.000 0.073 0.100 1.000 0.100 0.092 0.098 Active +FOPR 2015-02-13 00:00:00.000 0.065 0.100 1.000 0.100 0.090 0.099 Active +FOPR 2015-02-23 00:00:00.000 0.058 0.100 1.000 0.100 0.088 0.101 Active +FOPR 2015-03-05 00:00:00.000 0.050 0.100 1.000 0.100 0.087 0.103 Active +FOPR 2015-03-15 00:00:00.000 0.044 0.100 1.000 0.100 0.086 0.104 Active +FOPR 2015-03-25 00:00:00.000 0.038 0.100 1.000 0.100 0.085 0.106 Active +FOPR 2015-04-04 00:00:00.000 0.033 0.100 1.000 0.100 0.084 0.107 Active +FOPR 2015-04-14 00:00:00.000 0.029 0.100 1.000 0.100 0.084 0.108 Active +FOPR 2015-04-24 00:00:00.000 0.026 0.100 1.000 0.100 0.084 0.108 Active +FOPR 2015-05-04 00:00:00.000 0.024 0.100 1.000 0.100 0.084 0.109 Active +FOPR 2015-05-14 00:00:00.000 0.022 0.100 1.000 0.100 0.084 0.109 Active +FOPR 2015-05-24 00:00:00.000 0.021 0.100 1.000 0.100 0.084 0.109 Active +FOPR 2015-06-03 00:00:00.000 0.020 0.100 1.000 0.100 0.084 0.110 Active +FOPR 2015-06-13 00:00:00.000 0.020 0.100 1.000 0.100 0.084 0.110 Active +FOPR 2015-06-23 00:00:00.000 0.020 0.100 1.000 0.100 0.084 0.110 Active +WOPR_OP1_108 2012-12-15 00:00:00.000 0.300 0.075 1.000 0.075 0.257 0.099 Active +WOPR_OP1_144 2013-12-10 00:00:00.000 0.200 0.035 1.000 0.035 0.183 0.106 Active +WOPR_OP1_190 2015-03-15 00:00:00.000 0.015 0.010 1.000 0.010 0.042 0.041 Active +WOPR_OP1_36 2010-12-26 00:00:00.000 0.700 0.070 1.000 0.070 0.650 0.084 Active +WOPR_OP1_72 2011-12-21 00:00:00.000 0.500 0.050 1.000 0.050 0.405 0.170 Active +WOPR_OP1_9 2010-03-31 00:00:00.000 0.100 0.050 1.000 0.050 0.096 0.060 Active +WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active +WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active +WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active +WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ diff --git a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess2/update_log b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess2/update_log index 9fdf0ef2a43..185252417e0 100644 --- a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess2/update_log +++ b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess2/update_log @@ -1,212 +1,212 @@ ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ -FOPR 2010-01-10T00:00:00 0.002 0.100 5.657 0.566 0.076 0.105 Active -FOPR 2010-01-20T00:00:00 0.008 0.100 5.657 0.566 0.079 0.107 Active -FOPR 2010-01-30T00:00:00 0.018 0.100 5.657 0.566 0.085 0.110 Active -FOPR 2010-02-09T00:00:00 0.032 0.100 5.657 0.566 0.092 0.114 Active -FOPR 2010-02-19T00:00:00 0.050 0.100 5.657 0.566 0.103 0.118 Active -FOPR 2010-03-01T00:00:00 0.071 0.100 5.657 0.566 0.117 0.122 Active -FOPR 2010-03-11T00:00:00 0.097 0.100 5.657 0.566 0.133 0.128 Active -FOPR 2010-03-21T00:00:00 0.126 0.100 5.657 0.566 0.151 0.134 Active -FOPR 2010-03-31T00:00:00 0.159 0.100 5.657 0.566 0.171 0.140 Active -FOPR 2010-04-10T00:00:00 0.194 0.100 5.657 0.566 0.193 0.148 Active -FOPR 2010-04-20T00:00:00 0.233 0.100 5.385 0.539 0.221 0.154 Active -FOPR 2010-04-30T00:00:00 0.274 0.100 5.385 0.539 0.251 0.161 Active -FOPR 2010-05-10T00:00:00 0.318 0.100 5.385 0.539 0.293 0.164 Active -FOPR 2010-05-20T00:00:00 0.363 0.100 5.385 0.539 0.340 0.163 Active -FOPR 2010-05-30T00:00:00 0.411 0.100 5.385 0.539 0.389 0.163 Active -FOPR 2010-06-09T00:00:00 0.460 0.100 5.385 0.539 0.439 0.163 Active -FOPR 2010-06-19T00:00:00 0.510 0.100 5.385 0.539 0.491 0.164 Active -FOPR 2010-06-29T00:00:00 0.561 0.100 5.657 0.566 0.544 0.164 Active -FOPR 2010-07-09T00:00:00 0.613 0.100 5.657 0.566 0.598 0.164 Active -FOPR 2010-07-19T00:00:00 0.666 0.100 5.657 0.566 0.652 0.163 Active -FOPR 2010-07-29T00:00:00 0.718 0.100 5.657 0.566 0.706 0.164 Active -FOPR 2010-08-08T00:00:00 0.770 0.100 3.317 0.332 0.760 0.164 Active -FOPR 2010-08-18T00:00:00 0.823 0.100 3.317 0.332 0.813 0.164 Active -FOPR 2010-08-28T00:00:00 0.875 0.100 3.317 0.332 0.864 0.164 Active -FOPR 2010-09-07T00:00:00 0.926 0.100 3.317 0.332 0.914 0.165 Active -FOPR 2010-09-17T00:00:00 0.977 0.100 3.317 0.332 0.963 0.165 Active -FOPR 2010-09-27T00:00:00 1.027 0.103 3.317 0.341 1.008 0.167 Active -FOPR 2010-10-07T00:00:00 1.075 0.108 3.317 0.357 1.049 0.169 Active -FOPR 2010-10-17T00:00:00 1.122 0.112 3.317 0.372 1.089 0.171 Active -FOPR 2010-10-27T00:00:00 1.166 0.117 3.317 0.387 1.126 0.172 Active -FOPR 2010-11-06T00:00:00 1.208 0.121 3.317 0.400 1.160 0.174 Active -FOPR 2010-11-16T00:00:00 1.247 0.125 3.317 0.414 1.192 0.175 Active -FOPR 2010-11-26T00:00:00 1.284 0.128 2.000 0.257 1.219 0.175 Active -FOPR 2010-12-06T00:00:00 1.317 0.132 2.000 0.263 1.243 0.175 Active -FOPR 2010-12-16T00:00:00 1.346 0.135 2.000 0.269 1.263 0.176 Active -FOPR 2010-12-26T00:00:00 1.371 0.137 2.000 0.274 1.279 0.176 Active -FOPR 2011-01-05T00:00:00 1.392 0.139 3.317 0.462 1.292 0.177 Active -FOPR 2011-01-15T00:00:00 1.407 0.141 3.317 0.467 1.300 0.179 Active -FOPR 2011-01-25T00:00:00 1.418 0.142 3.317 0.470 1.303 0.181 Active -FOPR 2011-02-04T00:00:00 1.422 0.142 3.317 0.472 1.303 0.183 Active -FOPR 2011-02-14T00:00:00 1.424 0.142 3.317 0.472 1.299 0.185 Active -FOPR 2011-02-24T00:00:00 1.425 0.143 3.317 0.473 1.294 0.187 Active -FOPR 2011-03-06T00:00:00 1.427 0.143 3.317 0.473 1.290 0.188 Active -FOPR 2011-03-16T00:00:00 1.430 0.143 3.317 0.474 1.283 0.189 Active -FOPR 2011-03-26T00:00:00 1.433 0.143 3.317 0.475 1.275 0.187 Active -FOPR 2011-04-05T00:00:00 1.438 0.144 3.317 0.477 1.263 0.186 Active -FOPR 2011-04-15T00:00:00 1.443 0.144 3.317 0.479 1.250 0.186 Active -FOPR 2011-04-25T00:00:00 1.449 0.145 3.000 0.435 1.237 0.186 Active -FOPR 2011-05-05T00:00:00 1.455 0.145 3.000 0.436 1.222 0.185 Active -FOPR 2011-05-15T00:00:00 1.460 0.146 3.000 0.438 1.207 0.184 Active -FOPR 2011-05-25T00:00:00 1.466 0.147 4.472 0.655 1.190 0.184 Active -FOPR 2011-06-04T00:00:00 1.470 0.147 4.472 0.658 1.170 0.183 Active -FOPR 2011-06-14T00:00:00 1.474 0.147 4.472 0.659 1.146 0.183 Active -FOPR 2011-06-24T00:00:00 1.475 0.148 4.472 0.660 1.122 0.184 Active -FOPR 2011-07-04T00:00:00 1.474 0.147 3.000 0.442 1.098 0.188 Active -FOPR 2011-07-14T00:00:00 1.469 0.147 4.472 0.657 1.077 0.192 Active -FOPR 2011-07-24T00:00:00 1.461 0.146 4.472 0.653 1.053 0.194 Active -FOPR 2011-08-03T00:00:00 1.449 0.145 3.000 0.435 1.027 0.196 Active -FOPR 2011-08-13T00:00:00 1.436 0.144 4.472 0.642 1.002 0.196 Active -FOPR 2011-08-23T00:00:00 1.421 0.142 4.472 0.636 0.975 0.197 Active -FOPR 2011-09-02T00:00:00 1.403 0.140 3.000 0.421 0.947 0.200 Active -FOPR 2011-09-12T00:00:00 1.379 0.138 4.472 0.617 0.928 0.200 Active -FOPR 2011-09-22T00:00:00 1.353 0.135 4.472 0.605 0.902 0.203 Active -FOPR 2011-10-02T00:00:00 1.324 0.132 4.472 0.592 0.878 0.206 Active -FOPR 2011-10-12T00:00:00 1.297 0.130 4.472 0.580 0.851 0.210 Active -FOPR 2011-10-22T00:00:00 1.270 0.127 3.000 0.381 0.824 0.213 Active -FOPR 2011-11-01T00:00:00 1.243 0.124 3.000 0.373 0.801 0.215 Active -FOPR 2011-11-11T00:00:00 1.216 0.122 3.000 0.365 0.781 0.216 Active -FOPR 2011-11-21T00:00:00 1.189 0.119 4.472 0.532 0.762 0.216 Active -FOPR 2011-12-01T00:00:00 1.161 0.116 4.472 0.519 0.744 0.215 Active -FOPR 2011-12-11T00:00:00 1.134 0.113 4.472 0.507 0.725 0.212 Active -FOPR 2011-12-21T00:00:00 1.112 0.111 4.472 0.497 0.704 0.206 Active -FOPR 2011-12-31T00:00:00 1.091 0.109 4.472 0.488 0.683 0.200 Active -FOPR 2012-01-10T00:00:00 1.072 0.107 4.472 0.479 0.661 0.194 Active -FOPR 2012-01-20T00:00:00 1.053 0.105 4.472 0.471 0.640 0.189 Active -FOPR 2012-01-30T00:00:00 1.033 0.103 4.472 0.462 0.619 0.185 Active -FOPR 2012-02-09T00:00:00 1.013 0.101 5.385 0.545 0.597 0.181 Active -FOPR 2012-02-19T00:00:00 0.995 0.100 5.385 0.539 0.576 0.176 Active -FOPR 2012-02-29T00:00:00 0.975 0.100 5.385 0.539 0.555 0.171 Active -FOPR 2012-03-10T00:00:00 0.956 0.100 5.385 0.539 0.533 0.171 Active -FOPR 2012-03-20T00:00:00 0.936 0.100 5.385 0.539 0.513 0.171 Active -FOPR 2012-03-30T00:00:00 0.916 0.100 5.385 0.539 0.494 0.170 Active -FOPR 2012-04-09T00:00:00 0.893 0.100 5.385 0.539 0.477 0.169 Active -FOPR 2012-04-19T00:00:00 0.869 0.100 5.385 0.539 0.462 0.169 Active -FOPR 2012-04-29T00:00:00 0.842 0.100 5.385 0.539 0.447 0.170 Active -FOPR 2012-05-09T00:00:00 0.812 0.100 5.385 0.539 0.432 0.170 Active -FOPR 2012-05-19T00:00:00 0.779 0.100 5.385 0.539 0.417 0.171 Active -FOPR 2012-05-29T00:00:00 0.742 0.100 5.385 0.539 0.403 0.170 Active -FOPR 2012-06-08T00:00:00 0.702 0.100 5.385 0.539 0.389 0.171 Active -FOPR 2012-06-18T00:00:00 0.661 0.100 5.385 0.539 0.379 0.171 Active -FOPR 2012-06-28T00:00:00 0.619 0.100 5.385 0.539 0.370 0.171 Active -FOPR 2012-07-08T00:00:00 0.578 0.100 5.385 0.539 0.361 0.169 Active -FOPR 2012-07-18T00:00:00 0.540 0.100 5.385 0.539 0.354 0.168 Active -FOPR 2012-07-28T00:00:00 0.505 0.100 5.385 0.539 0.349 0.166 Active -FOPR 2012-08-07T00:00:00 0.475 0.100 5.385 0.539 0.344 0.165 Active -FOPR 2012-08-17T00:00:00 0.450 0.100 5.385 0.539 0.340 0.165 Active -FOPR 2012-08-27T00:00:00 0.431 0.100 5.385 0.539 0.344 0.168 Active -FOPR 2012-09-06T00:00:00 0.419 0.100 5.385 0.539 0.350 0.171 Active -FOPR 2012-09-16T00:00:00 0.410 0.100 5.385 0.539 0.349 0.171 Active -FOPR 2012-09-26T00:00:00 0.406 0.100 5.385 0.539 0.350 0.173 Active -FOPR 2012-10-06T00:00:00 0.404 0.100 5.385 0.539 0.347 0.171 Active -FOPR 2012-10-16T00:00:00 0.399 0.100 5.385 0.539 0.344 0.168 Active -FOPR 2012-10-26T00:00:00 0.389 0.100 5.385 0.539 0.346 0.165 Active -FOPR 2012-11-05T00:00:00 0.374 0.100 5.385 0.539 0.348 0.162 Active -FOPR 2012-11-15T00:00:00 0.355 0.100 5.385 0.539 0.350 0.156 Active -FOPR 2012-11-25T00:00:00 0.332 0.100 1.732 0.173 0.350 0.148 Active -FOPR 2012-12-05T00:00:00 0.306 0.100 1.732 0.173 0.349 0.140 Active -FOPR 2012-12-15T00:00:00 0.282 0.100 1.732 0.173 0.348 0.133 Active -FOPR 2012-12-25T00:00:00 0.264 0.100 4.583 0.458 0.344 0.125 Active -FOPR 2013-01-04T00:00:00 0.248 0.100 4.583 0.458 0.340 0.118 Active -FOPR 2013-01-14T00:00:00 0.233 0.100 4.583 0.458 0.337 0.114 Active -FOPR 2013-01-24T00:00:00 0.219 0.100 4.583 0.458 0.335 0.112 Active -FOPR 2013-02-03T00:00:00 0.205 0.100 4.583 0.458 0.334 0.110 Active -FOPR 2013-02-13T00:00:00 0.192 0.100 4.583 0.458 0.333 0.110 Active -FOPR 2013-02-23T00:00:00 0.180 0.100 4.583 0.458 0.332 0.109 Active -FOPR 2013-03-05T00:00:00 0.169 0.100 4.583 0.458 0.330 0.107 Active -FOPR 2013-03-15T00:00:00 0.160 0.100 4.583 0.458 0.327 0.106 Active -FOPR 2013-03-25T00:00:00 0.152 0.100 4.583 0.458 0.323 0.105 Active -FOPR 2013-04-04T00:00:00 0.146 0.100 4.583 0.458 0.317 0.102 Active -FOPR 2013-04-14T00:00:00 0.141 0.100 4.583 0.458 0.310 0.100 Active -FOPR 2013-04-24T00:00:00 0.137 0.100 4.583 0.458 0.303 0.098 Active -FOPR 2013-05-04T00:00:00 0.134 0.100 4.583 0.458 0.296 0.096 Active -FOPR 2013-05-14T00:00:00 0.130 0.100 4.583 0.458 0.290 0.094 Active -FOPR 2013-05-24T00:00:00 0.127 0.100 4.583 0.458 0.284 0.092 Active -FOPR 2013-06-03T00:00:00 0.123 0.100 4.583 0.458 0.279 0.090 Active -FOPR 2013-06-13T00:00:00 0.119 0.100 4.583 0.458 0.275 0.088 Active -FOPR 2013-06-23T00:00:00 0.120 0.100 4.583 0.458 0.270 0.085 Active -FOPR 2013-07-03T00:00:00 0.128 0.100 4.583 0.458 0.266 0.081 Active -FOPR 2013-07-13T00:00:00 0.136 0.100 4.583 0.458 0.263 0.077 Active -FOPR 2013-07-23T00:00:00 0.143 0.100 1.000 0.100 0.261 0.073 Active -FOPR 2013-08-02T00:00:00 0.150 0.100 2.000 0.200 0.258 0.069 Active -FOPR 2013-08-12T00:00:00 0.155 0.100 2.000 0.200 0.256 0.066 Active -FOPR 2013-08-22T00:00:00 0.159 0.100 2.000 0.200 0.254 0.063 Active -FOPR 2013-09-01T00:00:00 0.163 0.100 2.000 0.200 0.251 0.061 Active -FOPR 2013-09-11T00:00:00 0.166 0.100 3.464 0.346 0.248 0.059 Active -FOPR 2013-09-21T00:00:00 0.167 0.100 3.464 0.346 0.247 0.058 Active -FOPR 2013-10-01T00:00:00 0.167 0.100 3.464 0.346 0.245 0.058 Active -FOPR 2013-10-11T00:00:00 0.166 0.100 3.464 0.346 0.243 0.058 Active -FOPR 2013-10-21T00:00:00 0.165 0.100 3.464 0.346 0.243 0.058 Active -FOPR 2013-10-31T00:00:00 0.164 0.100 3.464 0.346 0.242 0.059 Active -FOPR 2013-11-10T00:00:00 0.165 0.100 3.464 0.346 0.243 0.059 Active -FOPR 2013-11-20T00:00:00 0.169 0.100 3.464 0.346 0.243 0.059 Active -FOPR 2013-11-30T00:00:00 0.176 0.100 3.464 0.346 0.242 0.058 Active -FOPR 2013-12-10T00:00:00 0.186 0.100 3.464 0.346 0.242 0.057 Active -FOPR 2013-12-20T00:00:00 0.197 0.100 3.464 0.346 0.241 0.057 Active -FOPR 2013-12-30T00:00:00 0.211 0.100 3.464 0.346 0.239 0.058 Active -FOPR 2014-01-09T00:00:00 0.225 0.100 1.000 0.100 0.238 0.059 Active -FOPR 2014-01-19T00:00:00 0.239 0.100 1.414 0.141 0.238 0.061 Active -FOPR 2014-01-29T00:00:00 0.252 0.100 1.414 0.141 0.238 0.061 Active -FOPR 2014-02-08T00:00:00 0.264 0.100 2.236 0.224 0.237 0.061 Active -FOPR 2014-02-18T00:00:00 0.275 0.100 2.236 0.224 0.236 0.062 Active -FOPR 2014-02-28T00:00:00 0.285 0.100 2.236 0.224 0.236 0.064 Active -FOPR 2014-03-10T00:00:00 0.295 0.100 2.236 0.224 0.236 0.066 Active -FOPR 2014-03-20T00:00:00 0.303 0.100 2.236 0.224 0.235 0.069 Active -FOPR 2014-03-30T00:00:00 0.309 0.100 2.449 0.245 0.234 0.072 Active -FOPR 2014-04-09T00:00:00 0.312 0.100 2.449 0.245 0.231 0.074 Active -FOPR 2014-04-19T00:00:00 0.313 0.100 2.449 0.245 0.229 0.076 Active -FOPR 2014-04-29T00:00:00 0.310 0.100 2.449 0.245 0.225 0.077 Active -FOPR 2014-05-09T00:00:00 0.304 0.100 2.449 0.245 0.220 0.078 Active -FOPR 2014-05-19T00:00:00 0.296 0.100 2.449 0.245 0.215 0.078 Active -FOPR 2014-05-29T00:00:00 0.286 0.100 5.657 0.566 0.209 0.078 Active -FOPR 2014-06-08T00:00:00 0.275 0.100 5.657 0.566 0.202 0.078 Active -FOPR 2014-06-18T00:00:00 0.264 0.100 5.657 0.566 0.195 0.079 Active -FOPR 2014-06-28T00:00:00 0.253 0.100 5.657 0.566 0.188 0.079 Active -FOPR 2014-07-08T00:00:00 0.241 0.100 5.657 0.566 0.181 0.080 Active -FOPR 2014-07-18T00:00:00 0.230 0.100 5.657 0.566 0.173 0.082 Active -FOPR 2014-07-28T00:00:00 0.218 0.100 5.657 0.566 0.167 0.084 Active -FOPR 2014-08-07T00:00:00 0.207 0.100 5.657 0.566 0.161 0.086 Active -FOPR 2014-08-17T00:00:00 0.197 0.100 5.657 0.566 0.155 0.088 Active -FOPR 2014-08-27T00:00:00 0.187 0.100 5.657 0.566 0.149 0.090 Active -FOPR 2014-09-06T00:00:00 0.178 0.100 5.657 0.566 0.143 0.092 Active -FOPR 2014-09-16T00:00:00 0.168 0.100 5.385 0.539 0.138 0.094 Active -FOPR 2014-09-26T00:00:00 0.159 0.100 5.385 0.539 0.132 0.095 Active -FOPR 2014-10-06T00:00:00 0.150 0.100 5.385 0.539 0.128 0.096 Active -FOPR 2014-10-16T00:00:00 0.141 0.100 5.385 0.539 0.124 0.096 Active -FOPR 2014-10-26T00:00:00 0.134 0.100 5.385 0.539 0.120 0.096 Active -FOPR 2014-11-05T00:00:00 0.127 0.100 5.385 0.539 0.116 0.097 Active -FOPR 2014-11-15T00:00:00 0.120 0.100 5.385 0.539 0.113 0.097 Active -FOPR 2014-11-25T00:00:00 0.115 0.100 5.385 0.539 0.110 0.096 Active -FOPR 2014-12-05T00:00:00 0.111 0.100 5.385 0.539 0.107 0.096 Active -FOPR 2014-12-15T00:00:00 0.107 0.100 5.385 0.539 0.105 0.095 Active -FOPR 2014-12-25T00:00:00 0.101 0.100 5.385 0.539 0.102 0.095 Active -FOPR 2015-01-04T00:00:00 0.096 0.100 5.385 0.539 0.100 0.095 Active -FOPR 2015-01-14T00:00:00 0.089 0.100 5.385 0.539 0.097 0.096 Active -FOPR 2015-01-24T00:00:00 0.081 0.100 5.385 0.539 0.094 0.096 Active -FOPR 2015-02-03T00:00:00 0.073 0.100 5.385 0.539 0.092 0.098 Active -FOPR 2015-02-13T00:00:00 0.065 0.100 5.385 0.539 0.090 0.099 Active -FOPR 2015-02-23T00:00:00 0.058 0.100 5.385 0.539 0.088 0.101 Active -FOPR 2015-03-05T00:00:00 0.050 0.100 5.385 0.539 0.087 0.103 Active -FOPR 2015-03-15T00:00:00 0.044 0.100 5.385 0.539 0.086 0.104 Active -FOPR 2015-03-25T00:00:00 0.038 0.100 5.385 0.539 0.085 0.106 Active -FOPR 2015-04-04T00:00:00 0.033 0.100 5.385 0.539 0.084 0.107 Active -FOPR 2015-04-14T00:00:00 0.029 0.100 5.385 0.539 0.084 0.108 Active -FOPR 2015-04-24T00:00:00 0.026 0.100 5.657 0.566 0.084 0.108 Active -FOPR 2015-05-04T00:00:00 0.024 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-05-14T00:00:00 0.022 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-05-24T00:00:00 0.021 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-06-03T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -FOPR 2015-06-13T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -FOPR 2015-06-23T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -WOPR_OP1_108 2012-12-15T00:00:00 0.300 0.075 1.000 0.075 0.257 0.099 Active -WOPR_OP1_144 2013-12-10T00:00:00 0.200 0.035 1.000 0.035 0.183 0.106 Active -WOPR_OP1_190 2015-03-15T00:00:00 0.015 0.010 1.000 0.010 0.042 0.041 Active -WOPR_OP1_36 2010-12-26T00:00:00 0.700 0.070 1.000 0.070 0.650 0.084 Active -WOPR_OP1_72 2011-12-21T00:00:00 0.500 0.050 1.000 0.050 0.405 0.170 Active -WOPR_OP1_9 2010-03-31T00:00:00 0.100 0.050 1.000 0.050 0.096 0.060 Active -WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active -WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active -WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active -WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ +FOPR 2010-01-10 00:00:00.000 0.002 0.100 5.657 0.566 0.076 0.105 Active +FOPR 2010-01-20 00:00:00.000 0.008 0.100 5.657 0.566 0.079 0.107 Active +FOPR 2010-01-30 00:00:00.000 0.018 0.100 5.657 0.566 0.085 0.110 Active +FOPR 2010-02-09 00:00:00.000 0.032 0.100 5.657 0.566 0.092 0.114 Active +FOPR 2010-02-19 00:00:00.000 0.050 0.100 5.657 0.566 0.103 0.118 Active +FOPR 2010-03-01 00:00:00.000 0.071 0.100 5.657 0.566 0.117 0.122 Active +FOPR 2010-03-11 00:00:00.000 0.097 0.100 5.657 0.566 0.133 0.128 Active +FOPR 2010-03-21 00:00:00.000 0.126 0.100 5.657 0.566 0.151 0.134 Active +FOPR 2010-03-31 00:00:00.000 0.159 0.100 5.657 0.566 0.171 0.140 Active +FOPR 2010-04-10 00:00:00.000 0.194 0.100 5.657 0.566 0.193 0.148 Active +FOPR 2010-04-20 00:00:00.000 0.233 0.100 5.385 0.539 0.221 0.154 Active +FOPR 2010-04-30 00:00:00.000 0.274 0.100 5.385 0.539 0.251 0.161 Active +FOPR 2010-05-10 00:00:00.000 0.318 0.100 5.385 0.539 0.293 0.164 Active +FOPR 2010-05-20 00:00:00.000 0.363 0.100 5.385 0.539 0.340 0.163 Active +FOPR 2010-05-30 00:00:00.000 0.411 0.100 5.385 0.539 0.389 0.163 Active +FOPR 2010-06-09 00:00:00.000 0.460 0.100 5.385 0.539 0.439 0.163 Active +FOPR 2010-06-19 00:00:00.000 0.510 0.100 5.385 0.539 0.491 0.164 Active +FOPR 2010-06-29 00:00:00.000 0.561 0.100 5.657 0.566 0.544 0.164 Active +FOPR 2010-07-09 00:00:00.000 0.613 0.100 5.657 0.566 0.598 0.164 Active +FOPR 2010-07-19 00:00:00.000 0.666 0.100 5.657 0.566 0.652 0.163 Active +FOPR 2010-07-29 00:00:00.000 0.718 0.100 5.657 0.566 0.706 0.164 Active +FOPR 2010-08-08 00:00:00.000 0.770 0.100 3.317 0.332 0.760 0.164 Active +FOPR 2010-08-18 00:00:00.000 0.823 0.100 3.317 0.332 0.813 0.164 Active +FOPR 2010-08-28 00:00:00.000 0.875 0.100 3.317 0.332 0.864 0.164 Active +FOPR 2010-09-07 00:00:00.000 0.926 0.100 3.317 0.332 0.914 0.165 Active +FOPR 2010-09-17 00:00:00.000 0.977 0.100 3.317 0.332 0.963 0.165 Active +FOPR 2010-09-27 00:00:00.000 1.027 0.103 3.317 0.341 1.008 0.167 Active +FOPR 2010-10-07 00:00:00.000 1.075 0.108 3.317 0.357 1.049 0.169 Active +FOPR 2010-10-17 00:00:00.000 1.122 0.112 3.317 0.372 1.089 0.171 Active +FOPR 2010-10-27 00:00:00.000 1.166 0.117 3.317 0.387 1.126 0.172 Active +FOPR 2010-11-06 00:00:00.000 1.208 0.121 3.317 0.400 1.160 0.174 Active +FOPR 2010-11-16 00:00:00.000 1.247 0.125 3.317 0.414 1.192 0.175 Active +FOPR 2010-11-26 00:00:00.000 1.284 0.128 2.000 0.257 1.219 0.175 Active +FOPR 2010-12-06 00:00:00.000 1.317 0.132 2.000 0.263 1.243 0.175 Active +FOPR 2010-12-16 00:00:00.000 1.346 0.135 2.000 0.269 1.263 0.176 Active +FOPR 2010-12-26 00:00:00.000 1.371 0.137 2.000 0.274 1.279 0.176 Active +FOPR 2011-01-05 00:00:00.000 1.392 0.139 3.317 0.462 1.292 0.177 Active +FOPR 2011-01-15 00:00:00.000 1.407 0.141 3.317 0.467 1.300 0.179 Active +FOPR 2011-01-25 00:00:00.000 1.418 0.142 3.317 0.470 1.303 0.181 Active +FOPR 2011-02-04 00:00:00.000 1.422 0.142 3.317 0.472 1.303 0.183 Active +FOPR 2011-02-14 00:00:00.000 1.424 0.142 3.317 0.472 1.299 0.185 Active +FOPR 2011-02-24 00:00:00.000 1.425 0.143 3.317 0.473 1.294 0.187 Active +FOPR 2011-03-06 00:00:00.000 1.427 0.143 3.317 0.473 1.290 0.188 Active +FOPR 2011-03-16 00:00:00.000 1.430 0.143 3.317 0.474 1.283 0.189 Active +FOPR 2011-03-26 00:00:00.000 1.433 0.143 3.317 0.475 1.275 0.187 Active +FOPR 2011-04-05 00:00:00.000 1.438 0.144 3.317 0.477 1.263 0.186 Active +FOPR 2011-04-15 00:00:00.000 1.443 0.144 3.317 0.479 1.250 0.186 Active +FOPR 2011-04-25 00:00:00.000 1.449 0.145 3.000 0.435 1.237 0.186 Active +FOPR 2011-05-05 00:00:00.000 1.455 0.145 3.000 0.436 1.222 0.185 Active +FOPR 2011-05-15 00:00:00.000 1.460 0.146 3.000 0.438 1.207 0.184 Active +FOPR 2011-05-25 00:00:00.000 1.466 0.147 4.472 0.655 1.190 0.184 Active +FOPR 2011-06-04 00:00:00.000 1.470 0.147 4.472 0.658 1.170 0.183 Active +FOPR 2011-06-14 00:00:00.000 1.474 0.147 4.472 0.659 1.146 0.183 Active +FOPR 2011-06-24 00:00:00.000 1.475 0.148 4.472 0.660 1.122 0.184 Active +FOPR 2011-07-04 00:00:00.000 1.474 0.147 3.000 0.442 1.098 0.188 Active +FOPR 2011-07-14 00:00:00.000 1.469 0.147 4.472 0.657 1.077 0.192 Active +FOPR 2011-07-24 00:00:00.000 1.461 0.146 4.472 0.653 1.053 0.194 Active +FOPR 2011-08-03 00:00:00.000 1.449 0.145 3.000 0.435 1.027 0.196 Active +FOPR 2011-08-13 00:00:00.000 1.436 0.144 4.472 0.642 1.002 0.196 Active +FOPR 2011-08-23 00:00:00.000 1.421 0.142 4.472 0.636 0.975 0.197 Active +FOPR 2011-09-02 00:00:00.000 1.403 0.140 3.000 0.421 0.947 0.200 Active +FOPR 2011-09-12 00:00:00.000 1.379 0.138 4.472 0.617 0.928 0.200 Active +FOPR 2011-09-22 00:00:00.000 1.353 0.135 4.472 0.605 0.902 0.203 Active +FOPR 2011-10-02 00:00:00.000 1.324 0.132 4.472 0.592 0.878 0.206 Active +FOPR 2011-10-12 00:00:00.000 1.297 0.130 4.472 0.580 0.851 0.210 Active +FOPR 2011-10-22 00:00:00.000 1.270 0.127 3.000 0.381 0.824 0.213 Active +FOPR 2011-11-01 00:00:00.000 1.243 0.124 3.000 0.373 0.801 0.215 Active +FOPR 2011-11-11 00:00:00.000 1.216 0.122 3.000 0.365 0.781 0.216 Active +FOPR 2011-11-21 00:00:00.000 1.189 0.119 4.472 0.532 0.762 0.216 Active +FOPR 2011-12-01 00:00:00.000 1.161 0.116 4.472 0.519 0.744 0.215 Active +FOPR 2011-12-11 00:00:00.000 1.134 0.113 4.472 0.507 0.725 0.212 Active +FOPR 2011-12-21 00:00:00.000 1.112 0.111 4.472 0.497 0.704 0.206 Active +FOPR 2011-12-31 00:00:00.000 1.091 0.109 4.472 0.488 0.683 0.200 Active +FOPR 2012-01-10 00:00:00.000 1.072 0.107 4.472 0.479 0.661 0.194 Active +FOPR 2012-01-20 00:00:00.000 1.053 0.105 4.472 0.471 0.640 0.189 Active +FOPR 2012-01-30 00:00:00.000 1.033 0.103 4.472 0.462 0.619 0.185 Active +FOPR 2012-02-09 00:00:00.000 1.013 0.101 5.385 0.545 0.597 0.181 Active +FOPR 2012-02-19 00:00:00.000 0.995 0.100 5.385 0.539 0.576 0.176 Active +FOPR 2012-02-29 00:00:00.000 0.975 0.100 5.385 0.539 0.555 0.171 Active +FOPR 2012-03-10 00:00:00.000 0.956 0.100 5.385 0.539 0.533 0.171 Active +FOPR 2012-03-20 00:00:00.000 0.936 0.100 5.385 0.539 0.513 0.171 Active +FOPR 2012-03-30 00:00:00.000 0.916 0.100 5.385 0.539 0.494 0.170 Active +FOPR 2012-04-09 00:00:00.000 0.893 0.100 5.385 0.539 0.477 0.169 Active +FOPR 2012-04-19 00:00:00.000 0.869 0.100 5.385 0.539 0.462 0.169 Active +FOPR 2012-04-29 00:00:00.000 0.842 0.100 5.385 0.539 0.447 0.170 Active +FOPR 2012-05-09 00:00:00.000 0.812 0.100 5.385 0.539 0.432 0.170 Active +FOPR 2012-05-19 00:00:00.000 0.779 0.100 5.385 0.539 0.417 0.171 Active +FOPR 2012-05-29 00:00:00.000 0.742 0.100 5.385 0.539 0.403 0.170 Active +FOPR 2012-06-08 00:00:00.000 0.702 0.100 5.385 0.539 0.389 0.171 Active +FOPR 2012-06-18 00:00:00.000 0.661 0.100 5.385 0.539 0.379 0.171 Active +FOPR 2012-06-28 00:00:00.000 0.619 0.100 5.385 0.539 0.370 0.171 Active +FOPR 2012-07-08 00:00:00.000 0.578 0.100 5.385 0.539 0.361 0.169 Active +FOPR 2012-07-18 00:00:00.000 0.540 0.100 5.385 0.539 0.354 0.168 Active +FOPR 2012-07-28 00:00:00.000 0.505 0.100 5.385 0.539 0.349 0.166 Active +FOPR 2012-08-07 00:00:00.000 0.475 0.100 5.385 0.539 0.344 0.165 Active +FOPR 2012-08-17 00:00:00.000 0.450 0.100 5.385 0.539 0.340 0.165 Active +FOPR 2012-08-27 00:00:00.000 0.431 0.100 5.385 0.539 0.344 0.168 Active +FOPR 2012-09-06 00:00:00.000 0.419 0.100 5.385 0.539 0.350 0.171 Active +FOPR 2012-09-16 00:00:00.000 0.410 0.100 5.385 0.539 0.349 0.171 Active +FOPR 2012-09-26 00:00:00.000 0.406 0.100 5.385 0.539 0.350 0.173 Active +FOPR 2012-10-06 00:00:00.000 0.404 0.100 5.385 0.539 0.347 0.171 Active +FOPR 2012-10-16 00:00:00.000 0.399 0.100 5.385 0.539 0.344 0.168 Active +FOPR 2012-10-26 00:00:00.000 0.389 0.100 5.385 0.539 0.346 0.165 Active +FOPR 2012-11-05 00:00:00.000 0.374 0.100 5.385 0.539 0.348 0.162 Active +FOPR 2012-11-15 00:00:00.000 0.355 0.100 5.385 0.539 0.350 0.156 Active +FOPR 2012-11-25 00:00:00.000 0.332 0.100 1.732 0.173 0.350 0.148 Active +FOPR 2012-12-05 00:00:00.000 0.306 0.100 1.732 0.173 0.349 0.140 Active +FOPR 2012-12-15 00:00:00.000 0.282 0.100 1.732 0.173 0.348 0.133 Active +FOPR 2012-12-25 00:00:00.000 0.264 0.100 4.583 0.458 0.344 0.125 Active +FOPR 2013-01-04 00:00:00.000 0.248 0.100 4.583 0.458 0.340 0.118 Active +FOPR 2013-01-14 00:00:00.000 0.233 0.100 4.583 0.458 0.337 0.114 Active +FOPR 2013-01-24 00:00:00.000 0.219 0.100 4.583 0.458 0.335 0.112 Active +FOPR 2013-02-03 00:00:00.000 0.205 0.100 4.583 0.458 0.334 0.110 Active +FOPR 2013-02-13 00:00:00.000 0.192 0.100 4.583 0.458 0.333 0.110 Active +FOPR 2013-02-23 00:00:00.000 0.180 0.100 4.583 0.458 0.332 0.109 Active +FOPR 2013-03-05 00:00:00.000 0.169 0.100 4.583 0.458 0.330 0.107 Active +FOPR 2013-03-15 00:00:00.000 0.160 0.100 4.583 0.458 0.327 0.106 Active +FOPR 2013-03-25 00:00:00.000 0.152 0.100 4.583 0.458 0.323 0.105 Active +FOPR 2013-04-04 00:00:00.000 0.146 0.100 4.583 0.458 0.317 0.102 Active +FOPR 2013-04-14 00:00:00.000 0.141 0.100 4.583 0.458 0.310 0.100 Active +FOPR 2013-04-24 00:00:00.000 0.137 0.100 4.583 0.458 0.303 0.098 Active +FOPR 2013-05-04 00:00:00.000 0.134 0.100 4.583 0.458 0.296 0.096 Active +FOPR 2013-05-14 00:00:00.000 0.130 0.100 4.583 0.458 0.290 0.094 Active +FOPR 2013-05-24 00:00:00.000 0.127 0.100 4.583 0.458 0.284 0.092 Active +FOPR 2013-06-03 00:00:00.000 0.123 0.100 4.583 0.458 0.279 0.090 Active +FOPR 2013-06-13 00:00:00.000 0.119 0.100 4.583 0.458 0.275 0.088 Active +FOPR 2013-06-23 00:00:00.000 0.120 0.100 4.583 0.458 0.270 0.085 Active +FOPR 2013-07-03 00:00:00.000 0.128 0.100 4.583 0.458 0.266 0.081 Active +FOPR 2013-07-13 00:00:00.000 0.136 0.100 4.583 0.458 0.263 0.077 Active +FOPR 2013-07-23 00:00:00.000 0.143 0.100 1.000 0.100 0.261 0.073 Active +FOPR 2013-08-02 00:00:00.000 0.150 0.100 2.000 0.200 0.258 0.069 Active +FOPR 2013-08-12 00:00:00.000 0.155 0.100 2.000 0.200 0.256 0.066 Active +FOPR 2013-08-22 00:00:00.000 0.159 0.100 2.000 0.200 0.254 0.063 Active +FOPR 2013-09-01 00:00:00.000 0.163 0.100 2.000 0.200 0.251 0.061 Active +FOPR 2013-09-11 00:00:00.000 0.166 0.100 3.464 0.346 0.248 0.059 Active +FOPR 2013-09-21 00:00:00.000 0.167 0.100 3.464 0.346 0.247 0.058 Active +FOPR 2013-10-01 00:00:00.000 0.167 0.100 3.464 0.346 0.245 0.058 Active +FOPR 2013-10-11 00:00:00.000 0.166 0.100 3.464 0.346 0.243 0.058 Active +FOPR 2013-10-21 00:00:00.000 0.165 0.100 3.464 0.346 0.243 0.058 Active +FOPR 2013-10-31 00:00:00.000 0.164 0.100 3.464 0.346 0.242 0.059 Active +FOPR 2013-11-10 00:00:00.000 0.165 0.100 3.464 0.346 0.243 0.059 Active +FOPR 2013-11-20 00:00:00.000 0.169 0.100 3.464 0.346 0.243 0.059 Active +FOPR 2013-11-30 00:00:00.000 0.176 0.100 3.464 0.346 0.242 0.058 Active +FOPR 2013-12-10 00:00:00.000 0.186 0.100 3.464 0.346 0.242 0.057 Active +FOPR 2013-12-20 00:00:00.000 0.197 0.100 3.464 0.346 0.241 0.057 Active +FOPR 2013-12-30 00:00:00.000 0.211 0.100 3.464 0.346 0.239 0.058 Active +FOPR 2014-01-09 00:00:00.000 0.225 0.100 1.000 0.100 0.238 0.059 Active +FOPR 2014-01-19 00:00:00.000 0.239 0.100 1.414 0.141 0.238 0.061 Active +FOPR 2014-01-29 00:00:00.000 0.252 0.100 1.414 0.141 0.238 0.061 Active +FOPR 2014-02-08 00:00:00.000 0.264 0.100 2.236 0.224 0.237 0.061 Active +FOPR 2014-02-18 00:00:00.000 0.275 0.100 2.236 0.224 0.236 0.062 Active +FOPR 2014-02-28 00:00:00.000 0.285 0.100 2.236 0.224 0.236 0.064 Active +FOPR 2014-03-10 00:00:00.000 0.295 0.100 2.236 0.224 0.236 0.066 Active +FOPR 2014-03-20 00:00:00.000 0.303 0.100 2.236 0.224 0.235 0.069 Active +FOPR 2014-03-30 00:00:00.000 0.309 0.100 2.449 0.245 0.234 0.072 Active +FOPR 2014-04-09 00:00:00.000 0.312 0.100 2.449 0.245 0.231 0.074 Active +FOPR 2014-04-19 00:00:00.000 0.313 0.100 2.449 0.245 0.229 0.076 Active +FOPR 2014-04-29 00:00:00.000 0.310 0.100 2.449 0.245 0.225 0.077 Active +FOPR 2014-05-09 00:00:00.000 0.304 0.100 2.449 0.245 0.220 0.078 Active +FOPR 2014-05-19 00:00:00.000 0.296 0.100 2.449 0.245 0.215 0.078 Active +FOPR 2014-05-29 00:00:00.000 0.286 0.100 5.657 0.566 0.209 0.078 Active +FOPR 2014-06-08 00:00:00.000 0.275 0.100 5.657 0.566 0.202 0.078 Active +FOPR 2014-06-18 00:00:00.000 0.264 0.100 5.657 0.566 0.195 0.079 Active +FOPR 2014-06-28 00:00:00.000 0.253 0.100 5.657 0.566 0.188 0.079 Active +FOPR 2014-07-08 00:00:00.000 0.241 0.100 5.657 0.566 0.181 0.080 Active +FOPR 2014-07-18 00:00:00.000 0.230 0.100 5.657 0.566 0.173 0.082 Active +FOPR 2014-07-28 00:00:00.000 0.218 0.100 5.657 0.566 0.167 0.084 Active +FOPR 2014-08-07 00:00:00.000 0.207 0.100 5.657 0.566 0.161 0.086 Active +FOPR 2014-08-17 00:00:00.000 0.197 0.100 5.657 0.566 0.155 0.088 Active +FOPR 2014-08-27 00:00:00.000 0.187 0.100 5.657 0.566 0.149 0.090 Active +FOPR 2014-09-06 00:00:00.000 0.178 0.100 5.657 0.566 0.143 0.092 Active +FOPR 2014-09-16 00:00:00.000 0.168 0.100 5.385 0.539 0.138 0.094 Active +FOPR 2014-09-26 00:00:00.000 0.159 0.100 5.385 0.539 0.132 0.095 Active +FOPR 2014-10-06 00:00:00.000 0.150 0.100 5.385 0.539 0.128 0.096 Active +FOPR 2014-10-16 00:00:00.000 0.141 0.100 5.385 0.539 0.124 0.096 Active +FOPR 2014-10-26 00:00:00.000 0.134 0.100 5.385 0.539 0.120 0.096 Active +FOPR 2014-11-05 00:00:00.000 0.127 0.100 5.385 0.539 0.116 0.097 Active +FOPR 2014-11-15 00:00:00.000 0.120 0.100 5.385 0.539 0.113 0.097 Active +FOPR 2014-11-25 00:00:00.000 0.115 0.100 5.385 0.539 0.110 0.096 Active +FOPR 2014-12-05 00:00:00.000 0.111 0.100 5.385 0.539 0.107 0.096 Active +FOPR 2014-12-15 00:00:00.000 0.107 0.100 5.385 0.539 0.105 0.095 Active +FOPR 2014-12-25 00:00:00.000 0.101 0.100 5.385 0.539 0.102 0.095 Active +FOPR 2015-01-04 00:00:00.000 0.096 0.100 5.385 0.539 0.100 0.095 Active +FOPR 2015-01-14 00:00:00.000 0.089 0.100 5.385 0.539 0.097 0.096 Active +FOPR 2015-01-24 00:00:00.000 0.081 0.100 5.385 0.539 0.094 0.096 Active +FOPR 2015-02-03 00:00:00.000 0.073 0.100 5.385 0.539 0.092 0.098 Active +FOPR 2015-02-13 00:00:00.000 0.065 0.100 5.385 0.539 0.090 0.099 Active +FOPR 2015-02-23 00:00:00.000 0.058 0.100 5.385 0.539 0.088 0.101 Active +FOPR 2015-03-05 00:00:00.000 0.050 0.100 5.385 0.539 0.087 0.103 Active +FOPR 2015-03-15 00:00:00.000 0.044 0.100 5.385 0.539 0.086 0.104 Active +FOPR 2015-03-25 00:00:00.000 0.038 0.100 5.385 0.539 0.085 0.106 Active +FOPR 2015-04-04 00:00:00.000 0.033 0.100 5.385 0.539 0.084 0.107 Active +FOPR 2015-04-14 00:00:00.000 0.029 0.100 5.385 0.539 0.084 0.108 Active +FOPR 2015-04-24 00:00:00.000 0.026 0.100 5.657 0.566 0.084 0.108 Active +FOPR 2015-05-04 00:00:00.000 0.024 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-05-14 00:00:00.000 0.022 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-05-24 00:00:00.000 0.021 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-06-03 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +FOPR 2015-06-13 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +FOPR 2015-06-23 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +WOPR_OP1_108 2012-12-15 00:00:00.000 0.300 0.075 1.000 0.075 0.257 0.099 Active +WOPR_OP1_144 2013-12-10 00:00:00.000 0.200 0.035 1.000 0.035 0.183 0.106 Active +WOPR_OP1_190 2015-03-15 00:00:00.000 0.015 0.010 1.000 0.010 0.042 0.041 Active +WOPR_OP1_36 2010-12-26 00:00:00.000 0.700 0.070 1.000 0.070 0.650 0.084 Active +WOPR_OP1_72 2011-12-21 00:00:00.000 0.500 0.050 1.000 0.050 0.405 0.170 Active +WOPR_OP1_9 2010-03-31 00:00:00.000 0.100 0.050 1.000 0.050 0.096 0.060 Active +WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active +WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active +WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active +WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ diff --git a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess3/update_log b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess3/update_log index 6ce1301d1e2..6023b63ed2d 100644 --- a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess3/update_log +++ b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report/0-misfit_preprocess3/update_log @@ -1,212 +1,212 @@ ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ -FOPR 2010-01-10T00:00:00 0.002 0.100 5.657 0.566 0.076 0.105 Active -FOPR 2010-01-20T00:00:00 0.008 0.100 5.657 0.566 0.079 0.107 Active -FOPR 2010-01-30T00:00:00 0.018 0.100 5.657 0.566 0.085 0.110 Active -FOPR 2010-02-09T00:00:00 0.032 0.100 5.657 0.566 0.092 0.114 Active -FOPR 2010-02-19T00:00:00 0.050 0.100 5.657 0.566 0.103 0.118 Active -FOPR 2010-03-01T00:00:00 0.071 0.100 5.657 0.566 0.117 0.122 Active -FOPR 2010-03-11T00:00:00 0.097 0.100 5.657 0.566 0.133 0.128 Active -FOPR 2010-03-21T00:00:00 0.126 0.100 5.657 0.566 0.151 0.134 Active -FOPR 2010-03-31T00:00:00 0.159 0.100 5.657 0.566 0.171 0.140 Active -FOPR 2010-04-10T00:00:00 0.194 0.100 5.657 0.566 0.193 0.148 Active -FOPR 2010-04-20T00:00:00 0.233 0.100 5.385 0.539 0.221 0.154 Active -FOPR 2010-04-30T00:00:00 0.274 0.100 5.385 0.539 0.251 0.161 Active -FOPR 2010-05-10T00:00:00 0.318 0.100 5.385 0.539 0.293 0.164 Active -FOPR 2010-05-20T00:00:00 0.363 0.100 5.385 0.539 0.340 0.163 Active -FOPR 2010-05-30T00:00:00 0.411 0.100 5.385 0.539 0.389 0.163 Active -FOPR 2010-06-09T00:00:00 0.460 0.100 5.385 0.539 0.439 0.163 Active -FOPR 2010-06-19T00:00:00 0.510 0.100 5.385 0.539 0.491 0.164 Active -FOPR 2010-06-29T00:00:00 0.561 0.100 5.657 0.566 0.544 0.164 Active -FOPR 2010-07-09T00:00:00 0.613 0.100 5.657 0.566 0.598 0.164 Active -FOPR 2010-07-19T00:00:00 0.666 0.100 5.657 0.566 0.652 0.163 Active -FOPR 2010-07-29T00:00:00 0.718 0.100 5.657 0.566 0.706 0.164 Active -FOPR 2010-08-08T00:00:00 0.770 0.100 3.317 0.332 0.760 0.164 Active -FOPR 2010-08-18T00:00:00 0.823 0.100 3.317 0.332 0.813 0.164 Active -FOPR 2010-08-28T00:00:00 0.875 0.100 3.317 0.332 0.864 0.164 Active -FOPR 2010-09-07T00:00:00 0.926 0.100 3.317 0.332 0.914 0.165 Active -FOPR 2010-09-17T00:00:00 0.977 0.100 3.317 0.332 0.963 0.165 Active -FOPR 2010-09-27T00:00:00 1.027 0.103 3.317 0.341 1.008 0.167 Active -FOPR 2010-10-07T00:00:00 1.075 0.108 3.317 0.357 1.049 0.169 Active -FOPR 2010-10-17T00:00:00 1.122 0.112 3.317 0.372 1.089 0.171 Active -FOPR 2010-10-27T00:00:00 1.166 0.117 3.317 0.387 1.126 0.172 Active -FOPR 2010-11-06T00:00:00 1.208 0.121 3.317 0.400 1.160 0.174 Active -FOPR 2010-11-16T00:00:00 1.247 0.125 3.317 0.414 1.192 0.175 Active -FOPR 2010-11-26T00:00:00 1.284 0.128 2.000 0.257 1.219 0.175 Active -FOPR 2010-12-06T00:00:00 1.317 0.132 2.000 0.263 1.243 0.175 Active -FOPR 2010-12-16T00:00:00 1.346 0.135 2.000 0.269 1.263 0.176 Active -FOPR 2010-12-26T00:00:00 1.371 0.137 2.000 0.274 1.279 0.176 Active -FOPR 2011-01-05T00:00:00 1.392 0.139 3.317 0.462 1.292 0.177 Active -FOPR 2011-01-15T00:00:00 1.407 0.141 3.317 0.467 1.300 0.179 Active -FOPR 2011-01-25T00:00:00 1.418 0.142 3.317 0.470 1.303 0.181 Active -FOPR 2011-02-04T00:00:00 1.422 0.142 3.317 0.472 1.303 0.183 Active -FOPR 2011-02-14T00:00:00 1.424 0.142 3.317 0.472 1.299 0.185 Active -FOPR 2011-02-24T00:00:00 1.425 0.143 3.317 0.473 1.294 0.187 Active -FOPR 2011-03-06T00:00:00 1.427 0.143 3.317 0.473 1.290 0.188 Active -FOPR 2011-03-16T00:00:00 1.430 0.143 3.317 0.474 1.283 0.189 Active -FOPR 2011-03-26T00:00:00 1.433 0.143 3.317 0.475 1.275 0.187 Active -FOPR 2011-04-05T00:00:00 1.438 0.144 3.317 0.477 1.263 0.186 Active -FOPR 2011-04-15T00:00:00 1.443 0.144 3.317 0.479 1.250 0.186 Active -FOPR 2011-04-25T00:00:00 1.449 0.145 3.000 0.435 1.237 0.186 Active -FOPR 2011-05-05T00:00:00 1.455 0.145 3.000 0.436 1.222 0.185 Active -FOPR 2011-05-15T00:00:00 1.460 0.146 3.000 0.438 1.207 0.184 Active -FOPR 2011-05-25T00:00:00 1.466 0.147 4.472 0.655 1.190 0.184 Active -FOPR 2011-06-04T00:00:00 1.470 0.147 4.472 0.658 1.170 0.183 Active -FOPR 2011-06-14T00:00:00 1.474 0.147 4.472 0.659 1.146 0.183 Active -FOPR 2011-06-24T00:00:00 1.475 0.148 4.472 0.660 1.122 0.184 Active -FOPR 2011-07-04T00:00:00 1.474 0.147 3.000 0.442 1.098 0.188 Active -FOPR 2011-07-14T00:00:00 1.469 0.147 4.472 0.657 1.077 0.192 Active -FOPR 2011-07-24T00:00:00 1.461 0.146 4.472 0.653 1.053 0.194 Active -FOPR 2011-08-03T00:00:00 1.449 0.145 3.000 0.435 1.027 0.196 Active -FOPR 2011-08-13T00:00:00 1.436 0.144 4.472 0.642 1.002 0.196 Active -FOPR 2011-08-23T00:00:00 1.421 0.142 4.472 0.636 0.975 0.197 Active -FOPR 2011-09-02T00:00:00 1.403 0.140 3.000 0.421 0.947 0.200 Active -FOPR 2011-09-12T00:00:00 1.379 0.138 4.472 0.617 0.928 0.200 Active -FOPR 2011-09-22T00:00:00 1.353 0.135 4.472 0.605 0.902 0.203 Active -FOPR 2011-10-02T00:00:00 1.324 0.132 4.472 0.592 0.878 0.206 Active -FOPR 2011-10-12T00:00:00 1.297 0.130 4.472 0.580 0.851 0.210 Active -FOPR 2011-10-22T00:00:00 1.270 0.127 3.000 0.381 0.824 0.213 Active -FOPR 2011-11-01T00:00:00 1.243 0.124 3.000 0.373 0.801 0.215 Active -FOPR 2011-11-11T00:00:00 1.216 0.122 3.000 0.365 0.781 0.216 Active -FOPR 2011-11-21T00:00:00 1.189 0.119 4.472 0.532 0.762 0.216 Active -FOPR 2011-12-01T00:00:00 1.161 0.116 4.472 0.519 0.744 0.215 Active -FOPR 2011-12-11T00:00:00 1.134 0.113 4.472 0.507 0.725 0.212 Active -FOPR 2011-12-21T00:00:00 1.112 0.111 4.472 0.497 0.704 0.206 Active -FOPR 2011-12-31T00:00:00 1.091 0.109 4.472 0.488 0.683 0.200 Active -FOPR 2012-01-10T00:00:00 1.072 0.107 4.472 0.479 0.661 0.194 Active -FOPR 2012-01-20T00:00:00 1.053 0.105 4.472 0.471 0.640 0.189 Active -FOPR 2012-01-30T00:00:00 1.033 0.103 4.472 0.462 0.619 0.185 Active -FOPR 2012-02-09T00:00:00 1.013 0.101 5.385 0.545 0.597 0.181 Active -FOPR 2012-02-19T00:00:00 0.995 0.100 5.385 0.539 0.576 0.176 Active -FOPR 2012-02-29T00:00:00 0.975 0.100 5.385 0.539 0.555 0.171 Active -FOPR 2012-03-10T00:00:00 0.956 0.100 5.385 0.539 0.533 0.171 Active -FOPR 2012-03-20T00:00:00 0.936 0.100 5.385 0.539 0.513 0.171 Active -FOPR 2012-03-30T00:00:00 0.916 0.100 5.385 0.539 0.494 0.170 Active -FOPR 2012-04-09T00:00:00 0.893 0.100 5.385 0.539 0.477 0.169 Active -FOPR 2012-04-19T00:00:00 0.869 0.100 5.385 0.539 0.462 0.169 Active -FOPR 2012-04-29T00:00:00 0.842 0.100 5.385 0.539 0.447 0.170 Active -FOPR 2012-05-09T00:00:00 0.812 0.100 5.385 0.539 0.432 0.170 Active -FOPR 2012-05-19T00:00:00 0.779 0.100 5.385 0.539 0.417 0.171 Active -FOPR 2012-05-29T00:00:00 0.742 0.100 5.385 0.539 0.403 0.170 Active -FOPR 2012-06-08T00:00:00 0.702 0.100 5.385 0.539 0.389 0.171 Active -FOPR 2012-06-18T00:00:00 0.661 0.100 5.385 0.539 0.379 0.171 Active -FOPR 2012-06-28T00:00:00 0.619 0.100 5.385 0.539 0.370 0.171 Active -FOPR 2012-07-08T00:00:00 0.578 0.100 5.385 0.539 0.361 0.169 Active -FOPR 2012-07-18T00:00:00 0.540 0.100 5.385 0.539 0.354 0.168 Active -FOPR 2012-07-28T00:00:00 0.505 0.100 5.385 0.539 0.349 0.166 Active -FOPR 2012-08-07T00:00:00 0.475 0.100 5.385 0.539 0.344 0.165 Active -FOPR 2012-08-17T00:00:00 0.450 0.100 5.385 0.539 0.340 0.165 Active -FOPR 2012-08-27T00:00:00 0.431 0.100 5.385 0.539 0.344 0.168 Active -FOPR 2012-09-06T00:00:00 0.419 0.100 5.385 0.539 0.350 0.171 Active -FOPR 2012-09-16T00:00:00 0.410 0.100 5.385 0.539 0.349 0.171 Active -FOPR 2012-09-26T00:00:00 0.406 0.100 5.385 0.539 0.350 0.173 Active -FOPR 2012-10-06T00:00:00 0.404 0.100 5.385 0.539 0.347 0.171 Active -FOPR 2012-10-16T00:00:00 0.399 0.100 5.385 0.539 0.344 0.168 Active -FOPR 2012-10-26T00:00:00 0.389 0.100 5.385 0.539 0.346 0.165 Active -FOPR 2012-11-05T00:00:00 0.374 0.100 5.385 0.539 0.348 0.162 Active -FOPR 2012-11-15T00:00:00 0.355 0.100 5.385 0.539 0.350 0.156 Active -FOPR 2012-11-25T00:00:00 0.332 0.100 1.732 0.173 0.350 0.148 Active -FOPR 2012-12-05T00:00:00 0.306 0.100 1.732 0.173 0.349 0.140 Active -FOPR 2012-12-15T00:00:00 0.282 0.100 1.732 0.173 0.348 0.133 Active -FOPR 2012-12-25T00:00:00 0.264 0.100 4.583 0.458 0.344 0.125 Active -FOPR 2013-01-04T00:00:00 0.248 0.100 4.583 0.458 0.340 0.118 Active -FOPR 2013-01-14T00:00:00 0.233 0.100 4.583 0.458 0.337 0.114 Active -FOPR 2013-01-24T00:00:00 0.219 0.100 4.583 0.458 0.335 0.112 Active -FOPR 2013-02-03T00:00:00 0.205 0.100 4.583 0.458 0.334 0.110 Active -FOPR 2013-02-13T00:00:00 0.192 0.100 4.583 0.458 0.333 0.110 Active -FOPR 2013-02-23T00:00:00 0.180 0.100 4.583 0.458 0.332 0.109 Active -FOPR 2013-03-05T00:00:00 0.169 0.100 4.583 0.458 0.330 0.107 Active -FOPR 2013-03-15T00:00:00 0.160 0.100 4.583 0.458 0.327 0.106 Active -FOPR 2013-03-25T00:00:00 0.152 0.100 4.583 0.458 0.323 0.105 Active -FOPR 2013-04-04T00:00:00 0.146 0.100 4.583 0.458 0.317 0.102 Active -FOPR 2013-04-14T00:00:00 0.141 0.100 4.583 0.458 0.310 0.100 Active -FOPR 2013-04-24T00:00:00 0.137 0.100 4.583 0.458 0.303 0.098 Active -FOPR 2013-05-04T00:00:00 0.134 0.100 4.583 0.458 0.296 0.096 Active -FOPR 2013-05-14T00:00:00 0.130 0.100 4.583 0.458 0.290 0.094 Active -FOPR 2013-05-24T00:00:00 0.127 0.100 4.583 0.458 0.284 0.092 Active -FOPR 2013-06-03T00:00:00 0.123 0.100 4.583 0.458 0.279 0.090 Active -FOPR 2013-06-13T00:00:00 0.119 0.100 4.583 0.458 0.275 0.088 Active -FOPR 2013-06-23T00:00:00 0.120 0.100 4.583 0.458 0.270 0.085 Active -FOPR 2013-07-03T00:00:00 0.128 0.100 4.583 0.458 0.266 0.081 Active -FOPR 2013-07-13T00:00:00 0.136 0.100 4.583 0.458 0.263 0.077 Active -FOPR 2013-07-23T00:00:00 0.143 0.100 1.000 0.100 0.261 0.073 Active -FOPR 2013-08-02T00:00:00 0.150 0.100 2.000 0.200 0.258 0.069 Active -FOPR 2013-08-12T00:00:00 0.155 0.100 2.000 0.200 0.256 0.066 Active -FOPR 2013-08-22T00:00:00 0.159 0.100 2.000 0.200 0.254 0.063 Active -FOPR 2013-09-01T00:00:00 0.163 0.100 2.000 0.200 0.251 0.061 Active -FOPR 2013-09-11T00:00:00 0.166 0.100 3.464 0.346 0.248 0.059 Active -FOPR 2013-09-21T00:00:00 0.167 0.100 3.464 0.346 0.247 0.058 Active -FOPR 2013-10-01T00:00:00 0.167 0.100 3.464 0.346 0.245 0.058 Active -FOPR 2013-10-11T00:00:00 0.166 0.100 3.464 0.346 0.243 0.058 Active -FOPR 2013-10-21T00:00:00 0.165 0.100 3.464 0.346 0.243 0.058 Active -FOPR 2013-10-31T00:00:00 0.164 0.100 3.464 0.346 0.242 0.059 Active -FOPR 2013-11-10T00:00:00 0.165 0.100 3.464 0.346 0.243 0.059 Active -FOPR 2013-11-20T00:00:00 0.169 0.100 3.464 0.346 0.243 0.059 Active -FOPR 2013-11-30T00:00:00 0.176 0.100 3.464 0.346 0.242 0.058 Active -FOPR 2013-12-10T00:00:00 0.186 0.100 3.464 0.346 0.242 0.057 Active -FOPR 2013-12-20T00:00:00 0.197 0.100 3.464 0.346 0.241 0.057 Active -FOPR 2013-12-30T00:00:00 0.211 0.100 3.464 0.346 0.239 0.058 Active -FOPR 2014-01-09T00:00:00 0.225 0.100 1.000 0.100 0.238 0.059 Active -FOPR 2014-01-19T00:00:00 0.239 0.100 1.414 0.141 0.238 0.061 Active -FOPR 2014-01-29T00:00:00 0.252 0.100 1.414 0.141 0.238 0.061 Active -FOPR 2014-02-08T00:00:00 0.264 0.100 2.236 0.224 0.237 0.061 Active -FOPR 2014-02-18T00:00:00 0.275 0.100 2.236 0.224 0.236 0.062 Active -FOPR 2014-02-28T00:00:00 0.285 0.100 2.236 0.224 0.236 0.064 Active -FOPR 2014-03-10T00:00:00 0.295 0.100 2.236 0.224 0.236 0.066 Active -FOPR 2014-03-20T00:00:00 0.303 0.100 2.236 0.224 0.235 0.069 Active -FOPR 2014-03-30T00:00:00 0.309 0.100 2.449 0.245 0.234 0.072 Active -FOPR 2014-04-09T00:00:00 0.312 0.100 2.449 0.245 0.231 0.074 Active -FOPR 2014-04-19T00:00:00 0.313 0.100 2.449 0.245 0.229 0.076 Active -FOPR 2014-04-29T00:00:00 0.310 0.100 2.449 0.245 0.225 0.077 Active -FOPR 2014-05-09T00:00:00 0.304 0.100 2.449 0.245 0.220 0.078 Active -FOPR 2014-05-19T00:00:00 0.296 0.100 2.449 0.245 0.215 0.078 Active -FOPR 2014-05-29T00:00:00 0.286 0.100 5.657 0.566 0.209 0.078 Active -FOPR 2014-06-08T00:00:00 0.275 0.100 5.657 0.566 0.202 0.078 Active -FOPR 2014-06-18T00:00:00 0.264 0.100 5.657 0.566 0.195 0.079 Active -FOPR 2014-06-28T00:00:00 0.253 0.100 5.657 0.566 0.188 0.079 Active -FOPR 2014-07-08T00:00:00 0.241 0.100 5.657 0.566 0.181 0.080 Active -FOPR 2014-07-18T00:00:00 0.230 0.100 5.657 0.566 0.173 0.082 Active -FOPR 2014-07-28T00:00:00 0.218 0.100 5.657 0.566 0.167 0.084 Active -FOPR 2014-08-07T00:00:00 0.207 0.100 5.657 0.566 0.161 0.086 Active -FOPR 2014-08-17T00:00:00 0.197 0.100 5.657 0.566 0.155 0.088 Active -FOPR 2014-08-27T00:00:00 0.187 0.100 5.657 0.566 0.149 0.090 Active -FOPR 2014-09-06T00:00:00 0.178 0.100 5.657 0.566 0.143 0.092 Active -FOPR 2014-09-16T00:00:00 0.168 0.100 5.385 0.539 0.138 0.094 Active -FOPR 2014-09-26T00:00:00 0.159 0.100 5.385 0.539 0.132 0.095 Active -FOPR 2014-10-06T00:00:00 0.150 0.100 5.385 0.539 0.128 0.096 Active -FOPR 2014-10-16T00:00:00 0.141 0.100 5.385 0.539 0.124 0.096 Active -FOPR 2014-10-26T00:00:00 0.134 0.100 5.385 0.539 0.120 0.096 Active -FOPR 2014-11-05T00:00:00 0.127 0.100 5.385 0.539 0.116 0.097 Active -FOPR 2014-11-15T00:00:00 0.120 0.100 5.385 0.539 0.113 0.097 Active -FOPR 2014-11-25T00:00:00 0.115 0.100 5.385 0.539 0.110 0.096 Active -FOPR 2014-12-05T00:00:00 0.111 0.100 5.385 0.539 0.107 0.096 Active -FOPR 2014-12-15T00:00:00 0.107 0.100 5.385 0.539 0.105 0.095 Active -FOPR 2014-12-25T00:00:00 0.101 0.100 5.385 0.539 0.102 0.095 Active -FOPR 2015-01-04T00:00:00 0.096 0.100 5.385 0.539 0.100 0.095 Active -FOPR 2015-01-14T00:00:00 0.089 0.100 5.385 0.539 0.097 0.096 Active -FOPR 2015-01-24T00:00:00 0.081 0.100 5.385 0.539 0.094 0.096 Active -FOPR 2015-02-03T00:00:00 0.073 0.100 5.385 0.539 0.092 0.098 Active -FOPR 2015-02-13T00:00:00 0.065 0.100 5.385 0.539 0.090 0.099 Active -FOPR 2015-02-23T00:00:00 0.058 0.100 5.385 0.539 0.088 0.101 Active -FOPR 2015-03-05T00:00:00 0.050 0.100 5.385 0.539 0.087 0.103 Active -FOPR 2015-03-15T00:00:00 0.044 0.100 5.385 0.539 0.086 0.104 Active -FOPR 2015-03-25T00:00:00 0.038 0.100 5.385 0.539 0.085 0.106 Active -FOPR 2015-04-04T00:00:00 0.033 0.100 5.385 0.539 0.084 0.107 Active -FOPR 2015-04-14T00:00:00 0.029 0.100 5.385 0.539 0.084 0.108 Active -FOPR 2015-04-24T00:00:00 0.026 0.100 5.657 0.566 0.084 0.108 Active -FOPR 2015-05-04T00:00:00 0.024 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-05-14T00:00:00 0.022 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-05-24T00:00:00 0.021 0.100 5.657 0.566 0.084 0.109 Active -FOPR 2015-06-03T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -FOPR 2015-06-13T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -FOPR 2015-06-23T00:00:00 0.020 0.100 5.657 0.566 0.084 0.110 Active -WOPR_OP1_108 2012-12-15T00:00:00 0.300 0.075 1.000 0.075 0.257 0.099 Active -WOPR_OP1_144 2013-12-10T00:00:00 0.200 0.035 1.414 0.049 0.183 0.106 Active -WOPR_OP1_190 2015-03-15T00:00:00 0.015 0.010 1.414 0.014 0.042 0.041 Active -WOPR_OP1_36 2010-12-26T00:00:00 0.700 0.070 1.000 0.070 0.650 0.084 Active -WOPR_OP1_72 2011-12-21T00:00:00 0.500 0.050 1.000 0.050 0.405 0.170 Active -WOPR_OP1_9 2010-03-31T00:00:00 0.100 0.050 1.000 0.050 0.096 0.060 Active -WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active -WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active -WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active -WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active ------------- ------------------- ----- ----- ----- ----- ------ ----- ------ +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ +FOPR 2010-01-10 00:00:00.000 0.002 0.100 5.657 0.566 0.076 0.105 Active +FOPR 2010-01-20 00:00:00.000 0.008 0.100 5.657 0.566 0.079 0.107 Active +FOPR 2010-01-30 00:00:00.000 0.018 0.100 5.657 0.566 0.085 0.110 Active +FOPR 2010-02-09 00:00:00.000 0.032 0.100 5.657 0.566 0.092 0.114 Active +FOPR 2010-02-19 00:00:00.000 0.050 0.100 5.657 0.566 0.103 0.118 Active +FOPR 2010-03-01 00:00:00.000 0.071 0.100 5.657 0.566 0.117 0.122 Active +FOPR 2010-03-11 00:00:00.000 0.097 0.100 5.657 0.566 0.133 0.128 Active +FOPR 2010-03-21 00:00:00.000 0.126 0.100 5.657 0.566 0.151 0.134 Active +FOPR 2010-03-31 00:00:00.000 0.159 0.100 5.657 0.566 0.171 0.140 Active +FOPR 2010-04-10 00:00:00.000 0.194 0.100 5.657 0.566 0.193 0.148 Active +FOPR 2010-04-20 00:00:00.000 0.233 0.100 5.385 0.539 0.221 0.154 Active +FOPR 2010-04-30 00:00:00.000 0.274 0.100 5.385 0.539 0.251 0.161 Active +FOPR 2010-05-10 00:00:00.000 0.318 0.100 5.385 0.539 0.293 0.164 Active +FOPR 2010-05-20 00:00:00.000 0.363 0.100 5.385 0.539 0.340 0.163 Active +FOPR 2010-05-30 00:00:00.000 0.411 0.100 5.385 0.539 0.389 0.163 Active +FOPR 2010-06-09 00:00:00.000 0.460 0.100 5.385 0.539 0.439 0.163 Active +FOPR 2010-06-19 00:00:00.000 0.510 0.100 5.385 0.539 0.491 0.164 Active +FOPR 2010-06-29 00:00:00.000 0.561 0.100 5.657 0.566 0.544 0.164 Active +FOPR 2010-07-09 00:00:00.000 0.613 0.100 5.657 0.566 0.598 0.164 Active +FOPR 2010-07-19 00:00:00.000 0.666 0.100 5.657 0.566 0.652 0.163 Active +FOPR 2010-07-29 00:00:00.000 0.718 0.100 5.657 0.566 0.706 0.164 Active +FOPR 2010-08-08 00:00:00.000 0.770 0.100 3.317 0.332 0.760 0.164 Active +FOPR 2010-08-18 00:00:00.000 0.823 0.100 3.317 0.332 0.813 0.164 Active +FOPR 2010-08-28 00:00:00.000 0.875 0.100 3.317 0.332 0.864 0.164 Active +FOPR 2010-09-07 00:00:00.000 0.926 0.100 3.317 0.332 0.914 0.165 Active +FOPR 2010-09-17 00:00:00.000 0.977 0.100 3.317 0.332 0.963 0.165 Active +FOPR 2010-09-27 00:00:00.000 1.027 0.103 3.317 0.341 1.008 0.167 Active +FOPR 2010-10-07 00:00:00.000 1.075 0.108 3.317 0.357 1.049 0.169 Active +FOPR 2010-10-17 00:00:00.000 1.122 0.112 3.317 0.372 1.089 0.171 Active +FOPR 2010-10-27 00:00:00.000 1.166 0.117 3.317 0.387 1.126 0.172 Active +FOPR 2010-11-06 00:00:00.000 1.208 0.121 3.317 0.400 1.160 0.174 Active +FOPR 2010-11-16 00:00:00.000 1.247 0.125 3.317 0.414 1.192 0.175 Active +FOPR 2010-11-26 00:00:00.000 1.284 0.128 2.000 0.257 1.219 0.175 Active +FOPR 2010-12-06 00:00:00.000 1.317 0.132 2.000 0.263 1.243 0.175 Active +FOPR 2010-12-16 00:00:00.000 1.346 0.135 2.000 0.269 1.263 0.176 Active +FOPR 2010-12-26 00:00:00.000 1.371 0.137 2.000 0.274 1.279 0.176 Active +FOPR 2011-01-05 00:00:00.000 1.392 0.139 3.317 0.462 1.292 0.177 Active +FOPR 2011-01-15 00:00:00.000 1.407 0.141 3.317 0.467 1.300 0.179 Active +FOPR 2011-01-25 00:00:00.000 1.418 0.142 3.317 0.470 1.303 0.181 Active +FOPR 2011-02-04 00:00:00.000 1.422 0.142 3.317 0.472 1.303 0.183 Active +FOPR 2011-02-14 00:00:00.000 1.424 0.142 3.317 0.472 1.299 0.185 Active +FOPR 2011-02-24 00:00:00.000 1.425 0.143 3.317 0.473 1.294 0.187 Active +FOPR 2011-03-06 00:00:00.000 1.427 0.143 3.317 0.473 1.290 0.188 Active +FOPR 2011-03-16 00:00:00.000 1.430 0.143 3.317 0.474 1.283 0.189 Active +FOPR 2011-03-26 00:00:00.000 1.433 0.143 3.317 0.475 1.275 0.187 Active +FOPR 2011-04-05 00:00:00.000 1.438 0.144 3.317 0.477 1.263 0.186 Active +FOPR 2011-04-15 00:00:00.000 1.443 0.144 3.317 0.479 1.250 0.186 Active +FOPR 2011-04-25 00:00:00.000 1.449 0.145 3.000 0.435 1.237 0.186 Active +FOPR 2011-05-05 00:00:00.000 1.455 0.145 3.000 0.436 1.222 0.185 Active +FOPR 2011-05-15 00:00:00.000 1.460 0.146 3.000 0.438 1.207 0.184 Active +FOPR 2011-05-25 00:00:00.000 1.466 0.147 4.472 0.655 1.190 0.184 Active +FOPR 2011-06-04 00:00:00.000 1.470 0.147 4.472 0.658 1.170 0.183 Active +FOPR 2011-06-14 00:00:00.000 1.474 0.147 4.472 0.659 1.146 0.183 Active +FOPR 2011-06-24 00:00:00.000 1.475 0.148 4.472 0.660 1.122 0.184 Active +FOPR 2011-07-04 00:00:00.000 1.474 0.147 3.000 0.442 1.098 0.188 Active +FOPR 2011-07-14 00:00:00.000 1.469 0.147 4.472 0.657 1.077 0.192 Active +FOPR 2011-07-24 00:00:00.000 1.461 0.146 4.472 0.653 1.053 0.194 Active +FOPR 2011-08-03 00:00:00.000 1.449 0.145 3.000 0.435 1.027 0.196 Active +FOPR 2011-08-13 00:00:00.000 1.436 0.144 4.472 0.642 1.002 0.196 Active +FOPR 2011-08-23 00:00:00.000 1.421 0.142 4.472 0.636 0.975 0.197 Active +FOPR 2011-09-02 00:00:00.000 1.403 0.140 3.000 0.421 0.947 0.200 Active +FOPR 2011-09-12 00:00:00.000 1.379 0.138 4.472 0.617 0.928 0.200 Active +FOPR 2011-09-22 00:00:00.000 1.353 0.135 4.472 0.605 0.902 0.203 Active +FOPR 2011-10-02 00:00:00.000 1.324 0.132 4.472 0.592 0.878 0.206 Active +FOPR 2011-10-12 00:00:00.000 1.297 0.130 4.472 0.580 0.851 0.210 Active +FOPR 2011-10-22 00:00:00.000 1.270 0.127 3.000 0.381 0.824 0.213 Active +FOPR 2011-11-01 00:00:00.000 1.243 0.124 3.000 0.373 0.801 0.215 Active +FOPR 2011-11-11 00:00:00.000 1.216 0.122 3.000 0.365 0.781 0.216 Active +FOPR 2011-11-21 00:00:00.000 1.189 0.119 4.472 0.532 0.762 0.216 Active +FOPR 2011-12-01 00:00:00.000 1.161 0.116 4.472 0.519 0.744 0.215 Active +FOPR 2011-12-11 00:00:00.000 1.134 0.113 4.472 0.507 0.725 0.212 Active +FOPR 2011-12-21 00:00:00.000 1.112 0.111 4.472 0.497 0.704 0.206 Active +FOPR 2011-12-31 00:00:00.000 1.091 0.109 4.472 0.488 0.683 0.200 Active +FOPR 2012-01-10 00:00:00.000 1.072 0.107 4.472 0.479 0.661 0.194 Active +FOPR 2012-01-20 00:00:00.000 1.053 0.105 4.472 0.471 0.640 0.189 Active +FOPR 2012-01-30 00:00:00.000 1.033 0.103 4.472 0.462 0.619 0.185 Active +FOPR 2012-02-09 00:00:00.000 1.013 0.101 5.385 0.545 0.597 0.181 Active +FOPR 2012-02-19 00:00:00.000 0.995 0.100 5.385 0.539 0.576 0.176 Active +FOPR 2012-02-29 00:00:00.000 0.975 0.100 5.385 0.539 0.555 0.171 Active +FOPR 2012-03-10 00:00:00.000 0.956 0.100 5.385 0.539 0.533 0.171 Active +FOPR 2012-03-20 00:00:00.000 0.936 0.100 5.385 0.539 0.513 0.171 Active +FOPR 2012-03-30 00:00:00.000 0.916 0.100 5.385 0.539 0.494 0.170 Active +FOPR 2012-04-09 00:00:00.000 0.893 0.100 5.385 0.539 0.477 0.169 Active +FOPR 2012-04-19 00:00:00.000 0.869 0.100 5.385 0.539 0.462 0.169 Active +FOPR 2012-04-29 00:00:00.000 0.842 0.100 5.385 0.539 0.447 0.170 Active +FOPR 2012-05-09 00:00:00.000 0.812 0.100 5.385 0.539 0.432 0.170 Active +FOPR 2012-05-19 00:00:00.000 0.779 0.100 5.385 0.539 0.417 0.171 Active +FOPR 2012-05-29 00:00:00.000 0.742 0.100 5.385 0.539 0.403 0.170 Active +FOPR 2012-06-08 00:00:00.000 0.702 0.100 5.385 0.539 0.389 0.171 Active +FOPR 2012-06-18 00:00:00.000 0.661 0.100 5.385 0.539 0.379 0.171 Active +FOPR 2012-06-28 00:00:00.000 0.619 0.100 5.385 0.539 0.370 0.171 Active +FOPR 2012-07-08 00:00:00.000 0.578 0.100 5.385 0.539 0.361 0.169 Active +FOPR 2012-07-18 00:00:00.000 0.540 0.100 5.385 0.539 0.354 0.168 Active +FOPR 2012-07-28 00:00:00.000 0.505 0.100 5.385 0.539 0.349 0.166 Active +FOPR 2012-08-07 00:00:00.000 0.475 0.100 5.385 0.539 0.344 0.165 Active +FOPR 2012-08-17 00:00:00.000 0.450 0.100 5.385 0.539 0.340 0.165 Active +FOPR 2012-08-27 00:00:00.000 0.431 0.100 5.385 0.539 0.344 0.168 Active +FOPR 2012-09-06 00:00:00.000 0.419 0.100 5.385 0.539 0.350 0.171 Active +FOPR 2012-09-16 00:00:00.000 0.410 0.100 5.385 0.539 0.349 0.171 Active +FOPR 2012-09-26 00:00:00.000 0.406 0.100 5.385 0.539 0.350 0.173 Active +FOPR 2012-10-06 00:00:00.000 0.404 0.100 5.385 0.539 0.347 0.171 Active +FOPR 2012-10-16 00:00:00.000 0.399 0.100 5.385 0.539 0.344 0.168 Active +FOPR 2012-10-26 00:00:00.000 0.389 0.100 5.385 0.539 0.346 0.165 Active +FOPR 2012-11-05 00:00:00.000 0.374 0.100 5.385 0.539 0.348 0.162 Active +FOPR 2012-11-15 00:00:00.000 0.355 0.100 5.385 0.539 0.350 0.156 Active +FOPR 2012-11-25 00:00:00.000 0.332 0.100 1.732 0.173 0.350 0.148 Active +FOPR 2012-12-05 00:00:00.000 0.306 0.100 1.732 0.173 0.349 0.140 Active +FOPR 2012-12-15 00:00:00.000 0.282 0.100 1.732 0.173 0.348 0.133 Active +FOPR 2012-12-25 00:00:00.000 0.264 0.100 4.583 0.458 0.344 0.125 Active +FOPR 2013-01-04 00:00:00.000 0.248 0.100 4.583 0.458 0.340 0.118 Active +FOPR 2013-01-14 00:00:00.000 0.233 0.100 4.583 0.458 0.337 0.114 Active +FOPR 2013-01-24 00:00:00.000 0.219 0.100 4.583 0.458 0.335 0.112 Active +FOPR 2013-02-03 00:00:00.000 0.205 0.100 4.583 0.458 0.334 0.110 Active +FOPR 2013-02-13 00:00:00.000 0.192 0.100 4.583 0.458 0.333 0.110 Active +FOPR 2013-02-23 00:00:00.000 0.180 0.100 4.583 0.458 0.332 0.109 Active +FOPR 2013-03-05 00:00:00.000 0.169 0.100 4.583 0.458 0.330 0.107 Active +FOPR 2013-03-15 00:00:00.000 0.160 0.100 4.583 0.458 0.327 0.106 Active +FOPR 2013-03-25 00:00:00.000 0.152 0.100 4.583 0.458 0.323 0.105 Active +FOPR 2013-04-04 00:00:00.000 0.146 0.100 4.583 0.458 0.317 0.102 Active +FOPR 2013-04-14 00:00:00.000 0.141 0.100 4.583 0.458 0.310 0.100 Active +FOPR 2013-04-24 00:00:00.000 0.137 0.100 4.583 0.458 0.303 0.098 Active +FOPR 2013-05-04 00:00:00.000 0.134 0.100 4.583 0.458 0.296 0.096 Active +FOPR 2013-05-14 00:00:00.000 0.130 0.100 4.583 0.458 0.290 0.094 Active +FOPR 2013-05-24 00:00:00.000 0.127 0.100 4.583 0.458 0.284 0.092 Active +FOPR 2013-06-03 00:00:00.000 0.123 0.100 4.583 0.458 0.279 0.090 Active +FOPR 2013-06-13 00:00:00.000 0.119 0.100 4.583 0.458 0.275 0.088 Active +FOPR 2013-06-23 00:00:00.000 0.120 0.100 4.583 0.458 0.270 0.085 Active +FOPR 2013-07-03 00:00:00.000 0.128 0.100 4.583 0.458 0.266 0.081 Active +FOPR 2013-07-13 00:00:00.000 0.136 0.100 4.583 0.458 0.263 0.077 Active +FOPR 2013-07-23 00:00:00.000 0.143 0.100 1.000 0.100 0.261 0.073 Active +FOPR 2013-08-02 00:00:00.000 0.150 0.100 2.000 0.200 0.258 0.069 Active +FOPR 2013-08-12 00:00:00.000 0.155 0.100 2.000 0.200 0.256 0.066 Active +FOPR 2013-08-22 00:00:00.000 0.159 0.100 2.000 0.200 0.254 0.063 Active +FOPR 2013-09-01 00:00:00.000 0.163 0.100 2.000 0.200 0.251 0.061 Active +FOPR 2013-09-11 00:00:00.000 0.166 0.100 3.464 0.346 0.248 0.059 Active +FOPR 2013-09-21 00:00:00.000 0.167 0.100 3.464 0.346 0.247 0.058 Active +FOPR 2013-10-01 00:00:00.000 0.167 0.100 3.464 0.346 0.245 0.058 Active +FOPR 2013-10-11 00:00:00.000 0.166 0.100 3.464 0.346 0.243 0.058 Active +FOPR 2013-10-21 00:00:00.000 0.165 0.100 3.464 0.346 0.243 0.058 Active +FOPR 2013-10-31 00:00:00.000 0.164 0.100 3.464 0.346 0.242 0.059 Active +FOPR 2013-11-10 00:00:00.000 0.165 0.100 3.464 0.346 0.243 0.059 Active +FOPR 2013-11-20 00:00:00.000 0.169 0.100 3.464 0.346 0.243 0.059 Active +FOPR 2013-11-30 00:00:00.000 0.176 0.100 3.464 0.346 0.242 0.058 Active +FOPR 2013-12-10 00:00:00.000 0.186 0.100 3.464 0.346 0.242 0.057 Active +FOPR 2013-12-20 00:00:00.000 0.197 0.100 3.464 0.346 0.241 0.057 Active +FOPR 2013-12-30 00:00:00.000 0.211 0.100 3.464 0.346 0.239 0.058 Active +FOPR 2014-01-09 00:00:00.000 0.225 0.100 1.000 0.100 0.238 0.059 Active +FOPR 2014-01-19 00:00:00.000 0.239 0.100 1.414 0.141 0.238 0.061 Active +FOPR 2014-01-29 00:00:00.000 0.252 0.100 1.414 0.141 0.238 0.061 Active +FOPR 2014-02-08 00:00:00.000 0.264 0.100 2.236 0.224 0.237 0.061 Active +FOPR 2014-02-18 00:00:00.000 0.275 0.100 2.236 0.224 0.236 0.062 Active +FOPR 2014-02-28 00:00:00.000 0.285 0.100 2.236 0.224 0.236 0.064 Active +FOPR 2014-03-10 00:00:00.000 0.295 0.100 2.236 0.224 0.236 0.066 Active +FOPR 2014-03-20 00:00:00.000 0.303 0.100 2.236 0.224 0.235 0.069 Active +FOPR 2014-03-30 00:00:00.000 0.309 0.100 2.449 0.245 0.234 0.072 Active +FOPR 2014-04-09 00:00:00.000 0.312 0.100 2.449 0.245 0.231 0.074 Active +FOPR 2014-04-19 00:00:00.000 0.313 0.100 2.449 0.245 0.229 0.076 Active +FOPR 2014-04-29 00:00:00.000 0.310 0.100 2.449 0.245 0.225 0.077 Active +FOPR 2014-05-09 00:00:00.000 0.304 0.100 2.449 0.245 0.220 0.078 Active +FOPR 2014-05-19 00:00:00.000 0.296 0.100 2.449 0.245 0.215 0.078 Active +FOPR 2014-05-29 00:00:00.000 0.286 0.100 5.657 0.566 0.209 0.078 Active +FOPR 2014-06-08 00:00:00.000 0.275 0.100 5.657 0.566 0.202 0.078 Active +FOPR 2014-06-18 00:00:00.000 0.264 0.100 5.657 0.566 0.195 0.079 Active +FOPR 2014-06-28 00:00:00.000 0.253 0.100 5.657 0.566 0.188 0.079 Active +FOPR 2014-07-08 00:00:00.000 0.241 0.100 5.657 0.566 0.181 0.080 Active +FOPR 2014-07-18 00:00:00.000 0.230 0.100 5.657 0.566 0.173 0.082 Active +FOPR 2014-07-28 00:00:00.000 0.218 0.100 5.657 0.566 0.167 0.084 Active +FOPR 2014-08-07 00:00:00.000 0.207 0.100 5.657 0.566 0.161 0.086 Active +FOPR 2014-08-17 00:00:00.000 0.197 0.100 5.657 0.566 0.155 0.088 Active +FOPR 2014-08-27 00:00:00.000 0.187 0.100 5.657 0.566 0.149 0.090 Active +FOPR 2014-09-06 00:00:00.000 0.178 0.100 5.657 0.566 0.143 0.092 Active +FOPR 2014-09-16 00:00:00.000 0.168 0.100 5.385 0.539 0.138 0.094 Active +FOPR 2014-09-26 00:00:00.000 0.159 0.100 5.385 0.539 0.132 0.095 Active +FOPR 2014-10-06 00:00:00.000 0.150 0.100 5.385 0.539 0.128 0.096 Active +FOPR 2014-10-16 00:00:00.000 0.141 0.100 5.385 0.539 0.124 0.096 Active +FOPR 2014-10-26 00:00:00.000 0.134 0.100 5.385 0.539 0.120 0.096 Active +FOPR 2014-11-05 00:00:00.000 0.127 0.100 5.385 0.539 0.116 0.097 Active +FOPR 2014-11-15 00:00:00.000 0.120 0.100 5.385 0.539 0.113 0.097 Active +FOPR 2014-11-25 00:00:00.000 0.115 0.100 5.385 0.539 0.110 0.096 Active +FOPR 2014-12-05 00:00:00.000 0.111 0.100 5.385 0.539 0.107 0.096 Active +FOPR 2014-12-15 00:00:00.000 0.107 0.100 5.385 0.539 0.105 0.095 Active +FOPR 2014-12-25 00:00:00.000 0.101 0.100 5.385 0.539 0.102 0.095 Active +FOPR 2015-01-04 00:00:00.000 0.096 0.100 5.385 0.539 0.100 0.095 Active +FOPR 2015-01-14 00:00:00.000 0.089 0.100 5.385 0.539 0.097 0.096 Active +FOPR 2015-01-24 00:00:00.000 0.081 0.100 5.385 0.539 0.094 0.096 Active +FOPR 2015-02-03 00:00:00.000 0.073 0.100 5.385 0.539 0.092 0.098 Active +FOPR 2015-02-13 00:00:00.000 0.065 0.100 5.385 0.539 0.090 0.099 Active +FOPR 2015-02-23 00:00:00.000 0.058 0.100 5.385 0.539 0.088 0.101 Active +FOPR 2015-03-05 00:00:00.000 0.050 0.100 5.385 0.539 0.087 0.103 Active +FOPR 2015-03-15 00:00:00.000 0.044 0.100 5.385 0.539 0.086 0.104 Active +FOPR 2015-03-25 00:00:00.000 0.038 0.100 5.385 0.539 0.085 0.106 Active +FOPR 2015-04-04 00:00:00.000 0.033 0.100 5.385 0.539 0.084 0.107 Active +FOPR 2015-04-14 00:00:00.000 0.029 0.100 5.385 0.539 0.084 0.108 Active +FOPR 2015-04-24 00:00:00.000 0.026 0.100 5.657 0.566 0.084 0.108 Active +FOPR 2015-05-04 00:00:00.000 0.024 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-05-14 00:00:00.000 0.022 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-05-24 00:00:00.000 0.021 0.100 5.657 0.566 0.084 0.109 Active +FOPR 2015-06-03 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +FOPR 2015-06-13 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +FOPR 2015-06-23 00:00:00.000 0.020 0.100 5.657 0.566 0.084 0.110 Active +WOPR_OP1_108 2012-12-15 00:00:00.000 0.300 0.075 1.000 0.075 0.257 0.099 Active +WOPR_OP1_144 2013-12-10 00:00:00.000 0.200 0.035 1.414 0.049 0.183 0.106 Active +WOPR_OP1_190 2015-03-15 00:00:00.000 0.015 0.010 1.414 0.014 0.042 0.041 Active +WOPR_OP1_36 2010-12-26 00:00:00.000 0.700 0.070 1.000 0.070 0.650 0.084 Active +WOPR_OP1_72 2011-12-21 00:00:00.000 0.500 0.050 1.000 0.050 0.405 0.170 Active +WOPR_OP1_9 2010-03-31 00:00:00.000 0.100 0.050 1.000 0.050 0.096 0.060 Active +WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Active +WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Active +WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Active +WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Active +------------ ----------------------- ----- ----- ----- ----- ------ ----- ------ diff --git a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report_with_exception_in_analysis_ES/0/error_event b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report_with_exception_in_analysis_ES/0/error_event index ffa2daded11..1f51a76e394 100644 --- a/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report_with_exception_in_analysis_ES/0/error_event +++ b/tests/ert/unit_tests/analysis/snapshots/test_es_update/test_update_report_with_exception_in_analysis_ES/0/error_event @@ -1,212 +1,212 @@ ------------- ------------------- ----- ----- ----- ----- ------ ----- -------------------- -FOPR 2010-01-10T00:00:00 0.002 0.100 1.000 0.100 0.076 0.105 Deactivated, outlier -FOPR 2010-01-20T00:00:00 0.008 0.100 1.000 0.100 0.079 0.107 Deactivated, outlier -FOPR 2010-01-30T00:00:00 0.018 0.100 1.000 0.100 0.085 0.110 Deactivated, outlier -FOPR 2010-02-09T00:00:00 0.032 0.100 1.000 0.100 0.092 0.114 Deactivated, outlier -FOPR 2010-02-19T00:00:00 0.050 0.100 1.000 0.100 0.103 0.118 Deactivated, outlier -FOPR 2010-03-01T00:00:00 0.071 0.100 1.000 0.100 0.117 0.122 Deactivated, outlier -FOPR 2010-03-11T00:00:00 0.097 0.100 1.000 0.100 0.133 0.128 Deactivated, outlier -FOPR 2010-03-21T00:00:00 0.126 0.100 1.000 0.100 0.151 0.134 Deactivated, outlier -FOPR 2010-03-31T00:00:00 0.159 0.100 1.000 0.100 0.171 0.140 Deactivated, outlier -FOPR 2010-04-10T00:00:00 0.194 0.100 1.000 0.100 0.193 0.148 Deactivated, outlier -FOPR 2010-04-20T00:00:00 0.233 0.100 1.000 0.100 0.221 0.154 Deactivated, outlier -FOPR 2010-04-30T00:00:00 0.274 0.100 1.000 0.100 0.251 0.161 Deactivated, outlier -FOPR 2010-05-10T00:00:00 0.318 0.100 1.000 0.100 0.293 0.164 Deactivated, outlier -FOPR 2010-05-20T00:00:00 0.363 0.100 1.000 0.100 0.340 0.163 Deactivated, outlier -FOPR 2010-05-30T00:00:00 0.411 0.100 1.000 0.100 0.389 0.163 Deactivated, outlier -FOPR 2010-06-09T00:00:00 0.460 0.100 1.000 0.100 0.439 0.163 Deactivated, outlier -FOPR 2010-06-19T00:00:00 0.510 0.100 1.000 0.100 0.491 0.164 Deactivated, outlier -FOPR 2010-06-29T00:00:00 0.561 0.100 1.000 0.100 0.544 0.164 Deactivated, outlier -FOPR 2010-07-09T00:00:00 0.613 0.100 1.000 0.100 0.598 0.164 Deactivated, outlier -FOPR 2010-07-19T00:00:00 0.666 0.100 1.000 0.100 0.652 0.163 Deactivated, outlier -FOPR 2010-07-29T00:00:00 0.718 0.100 1.000 0.100 0.706 0.164 Deactivated, outlier -FOPR 2010-08-08T00:00:00 0.770 0.100 1.000 0.100 0.760 0.164 Deactivated, outlier -FOPR 2010-08-18T00:00:00 0.823 0.100 1.000 0.100 0.813 0.164 Deactivated, outlier -FOPR 2010-08-28T00:00:00 0.875 0.100 1.000 0.100 0.864 0.164 Deactivated, outlier -FOPR 2010-09-07T00:00:00 0.926 0.100 1.000 0.100 0.914 0.165 Deactivated, outlier -FOPR 2010-09-17T00:00:00 0.977 0.100 1.000 0.100 0.963 0.165 Deactivated, outlier -FOPR 2010-09-27T00:00:00 1.027 0.103 1.000 0.103 1.008 0.167 Deactivated, outlier -FOPR 2010-10-07T00:00:00 1.075 0.108 1.000 0.108 1.049 0.169 Deactivated, outlier -FOPR 2010-10-17T00:00:00 1.122 0.112 1.000 0.112 1.089 0.171 Deactivated, outlier -FOPR 2010-10-27T00:00:00 1.166 0.117 1.000 0.117 1.126 0.172 Deactivated, outlier -FOPR 2010-11-06T00:00:00 1.208 0.121 1.000 0.121 1.160 0.174 Deactivated, outlier -FOPR 2010-11-16T00:00:00 1.247 0.125 1.000 0.125 1.192 0.175 Deactivated, outlier -FOPR 2010-11-26T00:00:00 1.284 0.128 1.000 0.128 1.219 0.175 Deactivated, outlier -FOPR 2010-12-06T00:00:00 1.317 0.132 1.000 0.132 1.243 0.175 Deactivated, outlier -FOPR 2010-12-16T00:00:00 1.346 0.135 1.000 0.135 1.263 0.176 Deactivated, outlier -FOPR 2010-12-26T00:00:00 1.371 0.137 1.000 0.137 1.279 0.176 Deactivated, outlier -FOPR 2011-01-05T00:00:00 1.392 0.139 1.000 0.139 1.292 0.177 Deactivated, outlier -FOPR 2011-01-15T00:00:00 1.407 0.141 1.000 0.141 1.300 0.179 Deactivated, outlier -FOPR 2011-01-25T00:00:00 1.418 0.142 1.000 0.142 1.303 0.181 Deactivated, outlier -FOPR 2011-02-04T00:00:00 1.422 0.142 1.000 0.142 1.303 0.183 Deactivated, outlier -FOPR 2011-02-14T00:00:00 1.424 0.142 1.000 0.142 1.299 0.185 Deactivated, outlier -FOPR 2011-02-24T00:00:00 1.425 0.143 1.000 0.143 1.294 0.187 Deactivated, outlier -FOPR 2011-03-06T00:00:00 1.427 0.143 1.000 0.143 1.290 0.188 Deactivated, outlier -FOPR 2011-03-16T00:00:00 1.430 0.143 1.000 0.143 1.283 0.189 Deactivated, outlier -FOPR 2011-03-26T00:00:00 1.433 0.143 1.000 0.143 1.275 0.187 Deactivated, outlier -FOPR 2011-04-05T00:00:00 1.438 0.144 1.000 0.144 1.263 0.186 Deactivated, outlier -FOPR 2011-04-15T00:00:00 1.443 0.144 1.000 0.144 1.250 0.186 Deactivated, outlier -FOPR 2011-04-25T00:00:00 1.449 0.145 1.000 0.145 1.237 0.186 Deactivated, outlier -FOPR 2011-05-05T00:00:00 1.455 0.145 1.000 0.145 1.222 0.185 Deactivated, outlier -FOPR 2011-05-15T00:00:00 1.460 0.146 1.000 0.146 1.207 0.184 Deactivated, outlier -FOPR 2011-05-25T00:00:00 1.466 0.147 1.000 0.147 1.190 0.184 Deactivated, outlier -FOPR 2011-06-04T00:00:00 1.470 0.147 1.000 0.147 1.170 0.183 Deactivated, outlier -FOPR 2011-06-14T00:00:00 1.474 0.147 1.000 0.147 1.146 0.183 Deactivated, outlier -FOPR 2011-06-24T00:00:00 1.475 0.148 1.000 0.148 1.122 0.184 Deactivated, outlier -FOPR 2011-07-04T00:00:00 1.474 0.147 1.000 0.147 1.098 0.188 Deactivated, outlier -FOPR 2011-07-14T00:00:00 1.469 0.147 1.000 0.147 1.077 0.192 Deactivated, outlier -FOPR 2011-07-24T00:00:00 1.461 0.146 1.000 0.146 1.053 0.194 Deactivated, outlier -FOPR 2011-08-03T00:00:00 1.449 0.145 1.000 0.145 1.027 0.196 Deactivated, outlier -FOPR 2011-08-13T00:00:00 1.436 0.144 1.000 0.144 1.002 0.196 Deactivated, outlier -FOPR 2011-08-23T00:00:00 1.421 0.142 1.000 0.142 0.975 0.197 Deactivated, outlier -FOPR 2011-09-02T00:00:00 1.403 0.140 1.000 0.140 0.947 0.200 Deactivated, outlier -FOPR 2011-09-12T00:00:00 1.379 0.138 1.000 0.138 0.928 0.200 Deactivated, outlier -FOPR 2011-09-22T00:00:00 1.353 0.135 1.000 0.135 0.902 0.203 Deactivated, outlier -FOPR 2011-10-02T00:00:00 1.324 0.132 1.000 0.132 0.878 0.206 Deactivated, outlier -FOPR 2011-10-12T00:00:00 1.297 0.130 1.000 0.130 0.851 0.210 Deactivated, outlier -FOPR 2011-10-22T00:00:00 1.270 0.127 1.000 0.127 0.824 0.213 Deactivated, outlier -FOPR 2011-11-01T00:00:00 1.243 0.124 1.000 0.124 0.801 0.215 Deactivated, outlier -FOPR 2011-11-11T00:00:00 1.216 0.122 1.000 0.122 0.781 0.216 Deactivated, outlier -FOPR 2011-11-21T00:00:00 1.189 0.119 1.000 0.119 0.762 0.216 Deactivated, outlier -FOPR 2011-12-01T00:00:00 1.161 0.116 1.000 0.116 0.744 0.215 Deactivated, outlier -FOPR 2011-12-11T00:00:00 1.134 0.113 1.000 0.113 0.725 0.212 Deactivated, outlier -FOPR 2011-12-21T00:00:00 1.112 0.111 1.000 0.111 0.704 0.206 Deactivated, outlier -FOPR 2011-12-31T00:00:00 1.091 0.109 1.000 0.109 0.683 0.200 Deactivated, outlier -FOPR 2012-01-10T00:00:00 1.072 0.107 1.000 0.107 0.661 0.194 Deactivated, outlier -FOPR 2012-01-20T00:00:00 1.053 0.105 1.000 0.105 0.640 0.189 Deactivated, outlier -FOPR 2012-01-30T00:00:00 1.033 0.103 1.000 0.103 0.619 0.185 Deactivated, outlier -FOPR 2012-02-09T00:00:00 1.013 0.101 1.000 0.101 0.597 0.181 Deactivated, outlier -FOPR 2012-02-19T00:00:00 0.995 0.100 1.000 0.100 0.576 0.176 Deactivated, outlier -FOPR 2012-02-29T00:00:00 0.975 0.100 1.000 0.100 0.555 0.171 Deactivated, outlier -FOPR 2012-03-10T00:00:00 0.956 0.100 1.000 0.100 0.533 0.171 Deactivated, outlier -FOPR 2012-03-20T00:00:00 0.936 0.100 1.000 0.100 0.513 0.171 Deactivated, outlier -FOPR 2012-03-30T00:00:00 0.916 0.100 1.000 0.100 0.494 0.170 Deactivated, outlier -FOPR 2012-04-09T00:00:00 0.893 0.100 1.000 0.100 0.477 0.169 Deactivated, outlier -FOPR 2012-04-19T00:00:00 0.869 0.100 1.000 0.100 0.462 0.169 Deactivated, outlier -FOPR 2012-04-29T00:00:00 0.842 0.100 1.000 0.100 0.447 0.170 Deactivated, outlier -FOPR 2012-05-09T00:00:00 0.812 0.100 1.000 0.100 0.432 0.170 Deactivated, outlier -FOPR 2012-05-19T00:00:00 0.779 0.100 1.000 0.100 0.417 0.171 Deactivated, outlier -FOPR 2012-05-29T00:00:00 0.742 0.100 1.000 0.100 0.403 0.170 Deactivated, outlier -FOPR 2012-06-08T00:00:00 0.702 0.100 1.000 0.100 0.389 0.171 Deactivated, outlier -FOPR 2012-06-18T00:00:00 0.661 0.100 1.000 0.100 0.379 0.171 Deactivated, outlier -FOPR 2012-06-28T00:00:00 0.619 0.100 1.000 0.100 0.370 0.171 Deactivated, outlier -FOPR 2012-07-08T00:00:00 0.578 0.100 1.000 0.100 0.361 0.169 Deactivated, outlier -FOPR 2012-07-18T00:00:00 0.540 0.100 1.000 0.100 0.354 0.168 Deactivated, outlier -FOPR 2012-07-28T00:00:00 0.505 0.100 1.000 0.100 0.349 0.166 Deactivated, outlier -FOPR 2012-08-07T00:00:00 0.475 0.100 1.000 0.100 0.344 0.165 Deactivated, outlier -FOPR 2012-08-17T00:00:00 0.450 0.100 1.000 0.100 0.340 0.165 Deactivated, outlier -FOPR 2012-08-27T00:00:00 0.431 0.100 1.000 0.100 0.344 0.168 Deactivated, outlier -FOPR 2012-09-06T00:00:00 0.419 0.100 1.000 0.100 0.350 0.171 Deactivated, outlier -FOPR 2012-09-16T00:00:00 0.410 0.100 1.000 0.100 0.349 0.171 Deactivated, outlier -FOPR 2012-09-26T00:00:00 0.406 0.100 1.000 0.100 0.350 0.173 Deactivated, outlier -FOPR 2012-10-06T00:00:00 0.404 0.100 1.000 0.100 0.347 0.171 Deactivated, outlier -FOPR 2012-10-16T00:00:00 0.399 0.100 1.000 0.100 0.344 0.168 Deactivated, outlier -FOPR 2012-10-26T00:00:00 0.389 0.100 1.000 0.100 0.346 0.165 Deactivated, outlier -FOPR 2012-11-05T00:00:00 0.374 0.100 1.000 0.100 0.348 0.162 Deactivated, outlier -FOPR 2012-11-15T00:00:00 0.355 0.100 1.000 0.100 0.350 0.156 Deactivated, outlier -FOPR 2012-11-25T00:00:00 0.332 0.100 1.000 0.100 0.350 0.148 Deactivated, outlier -FOPR 2012-12-05T00:00:00 0.306 0.100 1.000 0.100 0.349 0.140 Deactivated, outlier -FOPR 2012-12-15T00:00:00 0.282 0.100 1.000 0.100 0.348 0.133 Deactivated, outlier -FOPR 2012-12-25T00:00:00 0.264 0.100 1.000 0.100 0.344 0.125 Deactivated, outlier -FOPR 2013-01-04T00:00:00 0.248 0.100 1.000 0.100 0.340 0.118 Deactivated, outlier -FOPR 2013-01-14T00:00:00 0.233 0.100 1.000 0.100 0.337 0.114 Deactivated, outlier -FOPR 2013-01-24T00:00:00 0.219 0.100 1.000 0.100 0.335 0.112 Deactivated, outlier -FOPR 2013-02-03T00:00:00 0.205 0.100 1.000 0.100 0.334 0.110 Deactivated, outlier -FOPR 2013-02-13T00:00:00 0.192 0.100 1.000 0.100 0.333 0.110 Deactivated, outlier -FOPR 2013-02-23T00:00:00 0.180 0.100 1.000 0.100 0.332 0.109 Deactivated, outlier -FOPR 2013-03-05T00:00:00 0.169 0.100 1.000 0.100 0.330 0.107 Deactivated, outlier -FOPR 2013-03-15T00:00:00 0.160 0.100 1.000 0.100 0.327 0.106 Deactivated, outlier -FOPR 2013-03-25T00:00:00 0.152 0.100 1.000 0.100 0.323 0.105 Deactivated, outlier -FOPR 2013-04-04T00:00:00 0.146 0.100 1.000 0.100 0.317 0.102 Deactivated, outlier -FOPR 2013-04-14T00:00:00 0.141 0.100 1.000 0.100 0.310 0.100 Deactivated, outlier -FOPR 2013-04-24T00:00:00 0.137 0.100 1.000 0.100 0.303 0.098 Deactivated, outlier -FOPR 2013-05-04T00:00:00 0.134 0.100 1.000 0.100 0.296 0.096 Deactivated, outlier -FOPR 2013-05-14T00:00:00 0.130 0.100 1.000 0.100 0.290 0.094 Deactivated, outlier -FOPR 2013-05-24T00:00:00 0.127 0.100 1.000 0.100 0.284 0.092 Deactivated, outlier -FOPR 2013-06-03T00:00:00 0.123 0.100 1.000 0.100 0.279 0.090 Deactivated, outlier -FOPR 2013-06-13T00:00:00 0.119 0.100 1.000 0.100 0.275 0.088 Deactivated, outlier -FOPR 2013-06-23T00:00:00 0.120 0.100 1.000 0.100 0.270 0.085 Deactivated, outlier -FOPR 2013-07-03T00:00:00 0.128 0.100 1.000 0.100 0.266 0.081 Deactivated, outlier -FOPR 2013-07-13T00:00:00 0.136 0.100 1.000 0.100 0.263 0.077 Deactivated, outlier -FOPR 2013-07-23T00:00:00 0.143 0.100 1.000 0.100 0.261 0.073 Deactivated, outlier -FOPR 2013-08-02T00:00:00 0.150 0.100 1.000 0.100 0.258 0.069 Deactivated, outlier -FOPR 2013-08-12T00:00:00 0.155 0.100 1.000 0.100 0.256 0.066 Deactivated, outlier -FOPR 2013-08-22T00:00:00 0.159 0.100 1.000 0.100 0.254 0.063 Deactivated, outlier -FOPR 2013-09-01T00:00:00 0.163 0.100 1.000 0.100 0.251 0.061 Deactivated, outlier -FOPR 2013-09-11T00:00:00 0.166 0.100 1.000 0.100 0.248 0.059 Deactivated, outlier -FOPR 2013-09-21T00:00:00 0.167 0.100 1.000 0.100 0.247 0.058 Deactivated, outlier -FOPR 2013-10-01T00:00:00 0.167 0.100 1.000 0.100 0.245 0.058 Deactivated, outlier -FOPR 2013-10-11T00:00:00 0.166 0.100 1.000 0.100 0.243 0.058 Deactivated, outlier -FOPR 2013-10-21T00:00:00 0.165 0.100 1.000 0.100 0.243 0.058 Deactivated, outlier -FOPR 2013-10-31T00:00:00 0.164 0.100 1.000 0.100 0.242 0.059 Deactivated, outlier -FOPR 2013-11-10T00:00:00 0.165 0.100 1.000 0.100 0.243 0.059 Deactivated, outlier -FOPR 2013-11-20T00:00:00 0.169 0.100 1.000 0.100 0.243 0.059 Deactivated, outlier -FOPR 2013-11-30T00:00:00 0.176 0.100 1.000 0.100 0.242 0.058 Deactivated, outlier -FOPR 2013-12-10T00:00:00 0.186 0.100 1.000 0.100 0.242 0.057 Deactivated, outlier -FOPR 2013-12-20T00:00:00 0.197 0.100 1.000 0.100 0.241 0.057 Deactivated, outlier -FOPR 2013-12-30T00:00:00 0.211 0.100 1.000 0.100 0.239 0.058 Deactivated, outlier -FOPR 2014-01-09T00:00:00 0.225 0.100 1.000 0.100 0.238 0.059 Deactivated, outlier -FOPR 2014-01-19T00:00:00 0.239 0.100 1.000 0.100 0.238 0.061 Deactivated, outlier -FOPR 2014-01-29T00:00:00 0.252 0.100 1.000 0.100 0.238 0.061 Deactivated, outlier -FOPR 2014-02-08T00:00:00 0.264 0.100 1.000 0.100 0.237 0.061 Deactivated, outlier -FOPR 2014-02-18T00:00:00 0.275 0.100 1.000 0.100 0.236 0.062 Deactivated, outlier -FOPR 2014-02-28T00:00:00 0.285 0.100 1.000 0.100 0.236 0.064 Deactivated, outlier -FOPR 2014-03-10T00:00:00 0.295 0.100 1.000 0.100 0.236 0.066 Deactivated, outlier -FOPR 2014-03-20T00:00:00 0.303 0.100 1.000 0.100 0.235 0.069 Deactivated, outlier -FOPR 2014-03-30T00:00:00 0.309 0.100 1.000 0.100 0.234 0.072 Deactivated, outlier -FOPR 2014-04-09T00:00:00 0.312 0.100 1.000 0.100 0.231 0.074 Deactivated, outlier -FOPR 2014-04-19T00:00:00 0.313 0.100 1.000 0.100 0.229 0.076 Deactivated, outlier -FOPR 2014-04-29T00:00:00 0.310 0.100 1.000 0.100 0.225 0.077 Deactivated, outlier -FOPR 2014-05-09T00:00:00 0.304 0.100 1.000 0.100 0.220 0.078 Deactivated, outlier -FOPR 2014-05-19T00:00:00 0.296 0.100 1.000 0.100 0.215 0.078 Deactivated, outlier -FOPR 2014-05-29T00:00:00 0.286 0.100 1.000 0.100 0.209 0.078 Deactivated, outlier -FOPR 2014-06-08T00:00:00 0.275 0.100 1.000 0.100 0.202 0.078 Deactivated, outlier -FOPR 2014-06-18T00:00:00 0.264 0.100 1.000 0.100 0.195 0.079 Deactivated, outlier -FOPR 2014-06-28T00:00:00 0.253 0.100 1.000 0.100 0.188 0.079 Deactivated, outlier -FOPR 2014-07-08T00:00:00 0.241 0.100 1.000 0.100 0.181 0.080 Deactivated, outlier -FOPR 2014-07-18T00:00:00 0.230 0.100 1.000 0.100 0.173 0.082 Deactivated, outlier -FOPR 2014-07-28T00:00:00 0.218 0.100 1.000 0.100 0.167 0.084 Deactivated, outlier -FOPR 2014-08-07T00:00:00 0.207 0.100 1.000 0.100 0.161 0.086 Deactivated, outlier -FOPR 2014-08-17T00:00:00 0.197 0.100 1.000 0.100 0.155 0.088 Deactivated, outlier -FOPR 2014-08-27T00:00:00 0.187 0.100 1.000 0.100 0.149 0.090 Deactivated, outlier -FOPR 2014-09-06T00:00:00 0.178 0.100 1.000 0.100 0.143 0.092 Deactivated, outlier -FOPR 2014-09-16T00:00:00 0.168 0.100 1.000 0.100 0.138 0.094 Deactivated, outlier -FOPR 2014-09-26T00:00:00 0.159 0.100 1.000 0.100 0.132 0.095 Deactivated, outlier -FOPR 2014-10-06T00:00:00 0.150 0.100 1.000 0.100 0.128 0.096 Deactivated, outlier -FOPR 2014-10-16T00:00:00 0.141 0.100 1.000 0.100 0.124 0.096 Deactivated, outlier -FOPR 2014-10-26T00:00:00 0.134 0.100 1.000 0.100 0.120 0.096 Deactivated, outlier -FOPR 2014-11-05T00:00:00 0.127 0.100 1.000 0.100 0.116 0.097 Deactivated, outlier -FOPR 2014-11-15T00:00:00 0.120 0.100 1.000 0.100 0.113 0.097 Deactivated, outlier -FOPR 2014-11-25T00:00:00 0.115 0.100 1.000 0.100 0.110 0.096 Deactivated, outlier -FOPR 2014-12-05T00:00:00 0.111 0.100 1.000 0.100 0.107 0.096 Deactivated, outlier -FOPR 2014-12-15T00:00:00 0.107 0.100 1.000 0.100 0.105 0.095 Deactivated, outlier -FOPR 2014-12-25T00:00:00 0.101 0.100 1.000 0.100 0.102 0.095 Deactivated, outlier -FOPR 2015-01-04T00:00:00 0.096 0.100 1.000 0.100 0.100 0.095 Deactivated, outlier -FOPR 2015-01-14T00:00:00 0.089 0.100 1.000 0.100 0.097 0.096 Deactivated, outlier -FOPR 2015-01-24T00:00:00 0.081 0.100 1.000 0.100 0.094 0.096 Deactivated, outlier -FOPR 2015-02-03T00:00:00 0.073 0.100 1.000 0.100 0.092 0.098 Deactivated, outlier -FOPR 2015-02-13T00:00:00 0.065 0.100 1.000 0.100 0.090 0.099 Deactivated, outlier -FOPR 2015-02-23T00:00:00 0.058 0.100 1.000 0.100 0.088 0.101 Deactivated, outlier -FOPR 2015-03-05T00:00:00 0.050 0.100 1.000 0.100 0.087 0.103 Deactivated, outlier -FOPR 2015-03-15T00:00:00 0.044 0.100 1.000 0.100 0.086 0.104 Deactivated, outlier -FOPR 2015-03-25T00:00:00 0.038 0.100 1.000 0.100 0.085 0.106 Deactivated, outlier -FOPR 2015-04-04T00:00:00 0.033 0.100 1.000 0.100 0.084 0.107 Deactivated, outlier -FOPR 2015-04-14T00:00:00 0.029 0.100 1.000 0.100 0.084 0.108 Deactivated, outlier -FOPR 2015-04-24T00:00:00 0.026 0.100 1.000 0.100 0.084 0.108 Deactivated, outlier -FOPR 2015-05-04T00:00:00 0.024 0.100 1.000 0.100 0.084 0.109 Deactivated, outlier -FOPR 2015-05-14T00:00:00 0.022 0.100 1.000 0.100 0.084 0.109 Deactivated, outlier -FOPR 2015-05-24T00:00:00 0.021 0.100 1.000 0.100 0.084 0.109 Deactivated, outlier -FOPR 2015-06-03T00:00:00 0.020 0.100 1.000 0.100 0.084 0.110 Deactivated, outlier -FOPR 2015-06-13T00:00:00 0.020 0.100 1.000 0.100 0.084 0.110 Deactivated, outlier -FOPR 2015-06-23T00:00:00 0.020 0.100 1.000 0.100 0.084 0.110 Deactivated, outlier -WOPR_OP1_108 2012-12-15T00:00:00 0.300 0.075 1.000 0.075 0.257 0.099 Deactivated, outlier -WOPR_OP1_144 2013-12-10T00:00:00 0.200 0.035 1.000 0.035 0.183 0.106 Deactivated, outlier -WOPR_OP1_190 2015-03-15T00:00:00 0.015 0.010 1.000 0.010 0.042 0.041 Deactivated, outlier -WOPR_OP1_36 2010-12-26T00:00:00 0.700 0.070 1.000 0.070 0.650 0.084 Deactivated, outlier -WOPR_OP1_72 2011-12-21T00:00:00 0.500 0.050 1.000 0.050 0.405 0.170 Deactivated, outlier -WOPR_OP1_9 2010-03-31T00:00:00 0.100 0.050 1.000 0.050 0.096 0.060 Deactivated, outlier -WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Deactivated, outlier -WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Deactivated, outlier -WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Deactivated, outlier -WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Deactivated, outlier ------------- ------------------- ----- ----- ----- ----- ------ ----- -------------------- +------------ ----------------------- ----- ----- ----- ----- ------ ----- -------------------- +FOPR 2010-01-10 00:00:00.000 0.002 0.100 1.000 0.100 0.076 0.105 Deactivated, outlier +FOPR 2010-01-20 00:00:00.000 0.008 0.100 1.000 0.100 0.079 0.107 Deactivated, outlier +FOPR 2010-01-30 00:00:00.000 0.018 0.100 1.000 0.100 0.085 0.110 Deactivated, outlier +FOPR 2010-02-09 00:00:00.000 0.032 0.100 1.000 0.100 0.092 0.114 Deactivated, outlier +FOPR 2010-02-19 00:00:00.000 0.050 0.100 1.000 0.100 0.103 0.118 Deactivated, outlier +FOPR 2010-03-01 00:00:00.000 0.071 0.100 1.000 0.100 0.117 0.122 Deactivated, outlier +FOPR 2010-03-11 00:00:00.000 0.097 0.100 1.000 0.100 0.133 0.128 Deactivated, outlier +FOPR 2010-03-21 00:00:00.000 0.126 0.100 1.000 0.100 0.151 0.134 Deactivated, outlier +FOPR 2010-03-31 00:00:00.000 0.159 0.100 1.000 0.100 0.171 0.140 Deactivated, outlier +FOPR 2010-04-10 00:00:00.000 0.194 0.100 1.000 0.100 0.193 0.148 Deactivated, outlier +FOPR 2010-04-20 00:00:00.000 0.233 0.100 1.000 0.100 0.221 0.154 Deactivated, outlier +FOPR 2010-04-30 00:00:00.000 0.274 0.100 1.000 0.100 0.251 0.161 Deactivated, outlier +FOPR 2010-05-10 00:00:00.000 0.318 0.100 1.000 0.100 0.293 0.164 Deactivated, outlier +FOPR 2010-05-20 00:00:00.000 0.363 0.100 1.000 0.100 0.340 0.163 Deactivated, outlier +FOPR 2010-05-30 00:00:00.000 0.411 0.100 1.000 0.100 0.389 0.163 Deactivated, outlier +FOPR 2010-06-09 00:00:00.000 0.460 0.100 1.000 0.100 0.439 0.163 Deactivated, outlier +FOPR 2010-06-19 00:00:00.000 0.510 0.100 1.000 0.100 0.491 0.164 Deactivated, outlier +FOPR 2010-06-29 00:00:00.000 0.561 0.100 1.000 0.100 0.544 0.164 Deactivated, outlier +FOPR 2010-07-09 00:00:00.000 0.613 0.100 1.000 0.100 0.598 0.164 Deactivated, outlier +FOPR 2010-07-19 00:00:00.000 0.666 0.100 1.000 0.100 0.652 0.163 Deactivated, outlier +FOPR 2010-07-29 00:00:00.000 0.718 0.100 1.000 0.100 0.706 0.164 Deactivated, outlier +FOPR 2010-08-08 00:00:00.000 0.770 0.100 1.000 0.100 0.760 0.164 Deactivated, outlier +FOPR 2010-08-18 00:00:00.000 0.823 0.100 1.000 0.100 0.813 0.164 Deactivated, outlier +FOPR 2010-08-28 00:00:00.000 0.875 0.100 1.000 0.100 0.864 0.164 Deactivated, outlier +FOPR 2010-09-07 00:00:00.000 0.926 0.100 1.000 0.100 0.914 0.165 Deactivated, outlier +FOPR 2010-09-17 00:00:00.000 0.977 0.100 1.000 0.100 0.963 0.165 Deactivated, outlier +FOPR 2010-09-27 00:00:00.000 1.027 0.103 1.000 0.103 1.008 0.167 Deactivated, outlier +FOPR 2010-10-07 00:00:00.000 1.075 0.108 1.000 0.108 1.049 0.169 Deactivated, outlier +FOPR 2010-10-17 00:00:00.000 1.122 0.112 1.000 0.112 1.089 0.171 Deactivated, outlier +FOPR 2010-10-27 00:00:00.000 1.166 0.117 1.000 0.117 1.126 0.172 Deactivated, outlier +FOPR 2010-11-06 00:00:00.000 1.208 0.121 1.000 0.121 1.160 0.174 Deactivated, outlier +FOPR 2010-11-16 00:00:00.000 1.247 0.125 1.000 0.125 1.192 0.175 Deactivated, outlier +FOPR 2010-11-26 00:00:00.000 1.284 0.128 1.000 0.128 1.219 0.175 Deactivated, outlier +FOPR 2010-12-06 00:00:00.000 1.317 0.132 1.000 0.132 1.243 0.175 Deactivated, outlier +FOPR 2010-12-16 00:00:00.000 1.346 0.135 1.000 0.135 1.263 0.176 Deactivated, outlier +FOPR 2010-12-26 00:00:00.000 1.371 0.137 1.000 0.137 1.279 0.176 Deactivated, outlier +FOPR 2011-01-05 00:00:00.000 1.392 0.139 1.000 0.139 1.292 0.177 Deactivated, outlier +FOPR 2011-01-15 00:00:00.000 1.407 0.141 1.000 0.141 1.300 0.179 Deactivated, outlier +FOPR 2011-01-25 00:00:00.000 1.418 0.142 1.000 0.142 1.303 0.181 Deactivated, outlier +FOPR 2011-02-04 00:00:00.000 1.422 0.142 1.000 0.142 1.303 0.183 Deactivated, outlier +FOPR 2011-02-14 00:00:00.000 1.424 0.142 1.000 0.142 1.299 0.185 Deactivated, outlier +FOPR 2011-02-24 00:00:00.000 1.425 0.143 1.000 0.143 1.294 0.187 Deactivated, outlier +FOPR 2011-03-06 00:00:00.000 1.427 0.143 1.000 0.143 1.290 0.188 Deactivated, outlier +FOPR 2011-03-16 00:00:00.000 1.430 0.143 1.000 0.143 1.283 0.189 Deactivated, outlier +FOPR 2011-03-26 00:00:00.000 1.433 0.143 1.000 0.143 1.275 0.187 Deactivated, outlier +FOPR 2011-04-05 00:00:00.000 1.438 0.144 1.000 0.144 1.263 0.186 Deactivated, outlier +FOPR 2011-04-15 00:00:00.000 1.443 0.144 1.000 0.144 1.250 0.186 Deactivated, outlier +FOPR 2011-04-25 00:00:00.000 1.449 0.145 1.000 0.145 1.237 0.186 Deactivated, outlier +FOPR 2011-05-05 00:00:00.000 1.455 0.145 1.000 0.145 1.222 0.185 Deactivated, outlier +FOPR 2011-05-15 00:00:00.000 1.460 0.146 1.000 0.146 1.207 0.184 Deactivated, outlier +FOPR 2011-05-25 00:00:00.000 1.466 0.147 1.000 0.147 1.190 0.184 Deactivated, outlier +FOPR 2011-06-04 00:00:00.000 1.470 0.147 1.000 0.147 1.170 0.183 Deactivated, outlier +FOPR 2011-06-14 00:00:00.000 1.474 0.147 1.000 0.147 1.146 0.183 Deactivated, outlier +FOPR 2011-06-24 00:00:00.000 1.475 0.148 1.000 0.148 1.122 0.184 Deactivated, outlier +FOPR 2011-07-04 00:00:00.000 1.474 0.147 1.000 0.147 1.098 0.188 Deactivated, outlier +FOPR 2011-07-14 00:00:00.000 1.469 0.147 1.000 0.147 1.077 0.192 Deactivated, outlier +FOPR 2011-07-24 00:00:00.000 1.461 0.146 1.000 0.146 1.053 0.194 Deactivated, outlier +FOPR 2011-08-03 00:00:00.000 1.449 0.145 1.000 0.145 1.027 0.196 Deactivated, outlier +FOPR 2011-08-13 00:00:00.000 1.436 0.144 1.000 0.144 1.002 0.196 Deactivated, outlier +FOPR 2011-08-23 00:00:00.000 1.421 0.142 1.000 0.142 0.975 0.197 Deactivated, outlier +FOPR 2011-09-02 00:00:00.000 1.403 0.140 1.000 0.140 0.947 0.200 Deactivated, outlier +FOPR 2011-09-12 00:00:00.000 1.379 0.138 1.000 0.138 0.928 0.200 Deactivated, outlier +FOPR 2011-09-22 00:00:00.000 1.353 0.135 1.000 0.135 0.902 0.203 Deactivated, outlier +FOPR 2011-10-02 00:00:00.000 1.324 0.132 1.000 0.132 0.878 0.206 Deactivated, outlier +FOPR 2011-10-12 00:00:00.000 1.297 0.130 1.000 0.130 0.851 0.210 Deactivated, outlier +FOPR 2011-10-22 00:00:00.000 1.270 0.127 1.000 0.127 0.824 0.213 Deactivated, outlier +FOPR 2011-11-01 00:00:00.000 1.243 0.124 1.000 0.124 0.801 0.215 Deactivated, outlier +FOPR 2011-11-11 00:00:00.000 1.216 0.122 1.000 0.122 0.781 0.216 Deactivated, outlier +FOPR 2011-11-21 00:00:00.000 1.189 0.119 1.000 0.119 0.762 0.216 Deactivated, outlier +FOPR 2011-12-01 00:00:00.000 1.161 0.116 1.000 0.116 0.744 0.215 Deactivated, outlier +FOPR 2011-12-11 00:00:00.000 1.134 0.113 1.000 0.113 0.725 0.212 Deactivated, outlier +FOPR 2011-12-21 00:00:00.000 1.112 0.111 1.000 0.111 0.704 0.206 Deactivated, outlier +FOPR 2011-12-31 00:00:00.000 1.091 0.109 1.000 0.109 0.683 0.200 Deactivated, outlier +FOPR 2012-01-10 00:00:00.000 1.072 0.107 1.000 0.107 0.661 0.194 Deactivated, outlier +FOPR 2012-01-20 00:00:00.000 1.053 0.105 1.000 0.105 0.640 0.189 Deactivated, outlier +FOPR 2012-01-30 00:00:00.000 1.033 0.103 1.000 0.103 0.619 0.185 Deactivated, outlier +FOPR 2012-02-09 00:00:00.000 1.013 0.101 1.000 0.101 0.597 0.181 Deactivated, outlier +FOPR 2012-02-19 00:00:00.000 0.995 0.100 1.000 0.100 0.576 0.176 Deactivated, outlier +FOPR 2012-02-29 00:00:00.000 0.975 0.100 1.000 0.100 0.555 0.171 Deactivated, outlier +FOPR 2012-03-10 00:00:00.000 0.956 0.100 1.000 0.100 0.533 0.171 Deactivated, outlier +FOPR 2012-03-20 00:00:00.000 0.936 0.100 1.000 0.100 0.513 0.171 Deactivated, outlier +FOPR 2012-03-30 00:00:00.000 0.916 0.100 1.000 0.100 0.494 0.170 Deactivated, outlier +FOPR 2012-04-09 00:00:00.000 0.893 0.100 1.000 0.100 0.477 0.169 Deactivated, outlier +FOPR 2012-04-19 00:00:00.000 0.869 0.100 1.000 0.100 0.462 0.169 Deactivated, outlier +FOPR 2012-04-29 00:00:00.000 0.842 0.100 1.000 0.100 0.447 0.170 Deactivated, outlier +FOPR 2012-05-09 00:00:00.000 0.812 0.100 1.000 0.100 0.432 0.170 Deactivated, outlier +FOPR 2012-05-19 00:00:00.000 0.779 0.100 1.000 0.100 0.417 0.171 Deactivated, outlier +FOPR 2012-05-29 00:00:00.000 0.742 0.100 1.000 0.100 0.403 0.170 Deactivated, outlier +FOPR 2012-06-08 00:00:00.000 0.702 0.100 1.000 0.100 0.389 0.171 Deactivated, outlier +FOPR 2012-06-18 00:00:00.000 0.661 0.100 1.000 0.100 0.379 0.171 Deactivated, outlier +FOPR 2012-06-28 00:00:00.000 0.619 0.100 1.000 0.100 0.370 0.171 Deactivated, outlier +FOPR 2012-07-08 00:00:00.000 0.578 0.100 1.000 0.100 0.361 0.169 Deactivated, outlier +FOPR 2012-07-18 00:00:00.000 0.540 0.100 1.000 0.100 0.354 0.168 Deactivated, outlier +FOPR 2012-07-28 00:00:00.000 0.505 0.100 1.000 0.100 0.349 0.166 Deactivated, outlier +FOPR 2012-08-07 00:00:00.000 0.475 0.100 1.000 0.100 0.344 0.165 Deactivated, outlier +FOPR 2012-08-17 00:00:00.000 0.450 0.100 1.000 0.100 0.340 0.165 Deactivated, outlier +FOPR 2012-08-27 00:00:00.000 0.431 0.100 1.000 0.100 0.344 0.168 Deactivated, outlier +FOPR 2012-09-06 00:00:00.000 0.419 0.100 1.000 0.100 0.350 0.171 Deactivated, outlier +FOPR 2012-09-16 00:00:00.000 0.410 0.100 1.000 0.100 0.349 0.171 Deactivated, outlier +FOPR 2012-09-26 00:00:00.000 0.406 0.100 1.000 0.100 0.350 0.173 Deactivated, outlier +FOPR 2012-10-06 00:00:00.000 0.404 0.100 1.000 0.100 0.347 0.171 Deactivated, outlier +FOPR 2012-10-16 00:00:00.000 0.399 0.100 1.000 0.100 0.344 0.168 Deactivated, outlier +FOPR 2012-10-26 00:00:00.000 0.389 0.100 1.000 0.100 0.346 0.165 Deactivated, outlier +FOPR 2012-11-05 00:00:00.000 0.374 0.100 1.000 0.100 0.348 0.162 Deactivated, outlier +FOPR 2012-11-15 00:00:00.000 0.355 0.100 1.000 0.100 0.350 0.156 Deactivated, outlier +FOPR 2012-11-25 00:00:00.000 0.332 0.100 1.000 0.100 0.350 0.148 Deactivated, outlier +FOPR 2012-12-05 00:00:00.000 0.306 0.100 1.000 0.100 0.349 0.140 Deactivated, outlier +FOPR 2012-12-15 00:00:00.000 0.282 0.100 1.000 0.100 0.348 0.133 Deactivated, outlier +FOPR 2012-12-25 00:00:00.000 0.264 0.100 1.000 0.100 0.344 0.125 Deactivated, outlier +FOPR 2013-01-04 00:00:00.000 0.248 0.100 1.000 0.100 0.340 0.118 Deactivated, outlier +FOPR 2013-01-14 00:00:00.000 0.233 0.100 1.000 0.100 0.337 0.114 Deactivated, outlier +FOPR 2013-01-24 00:00:00.000 0.219 0.100 1.000 0.100 0.335 0.112 Deactivated, outlier +FOPR 2013-02-03 00:00:00.000 0.205 0.100 1.000 0.100 0.334 0.110 Deactivated, outlier +FOPR 2013-02-13 00:00:00.000 0.192 0.100 1.000 0.100 0.333 0.110 Deactivated, outlier +FOPR 2013-02-23 00:00:00.000 0.180 0.100 1.000 0.100 0.332 0.109 Deactivated, outlier +FOPR 2013-03-05 00:00:00.000 0.169 0.100 1.000 0.100 0.330 0.107 Deactivated, outlier +FOPR 2013-03-15 00:00:00.000 0.160 0.100 1.000 0.100 0.327 0.106 Deactivated, outlier +FOPR 2013-03-25 00:00:00.000 0.152 0.100 1.000 0.100 0.323 0.105 Deactivated, outlier +FOPR 2013-04-04 00:00:00.000 0.146 0.100 1.000 0.100 0.317 0.102 Deactivated, outlier +FOPR 2013-04-14 00:00:00.000 0.141 0.100 1.000 0.100 0.310 0.100 Deactivated, outlier +FOPR 2013-04-24 00:00:00.000 0.137 0.100 1.000 0.100 0.303 0.098 Deactivated, outlier +FOPR 2013-05-04 00:00:00.000 0.134 0.100 1.000 0.100 0.296 0.096 Deactivated, outlier +FOPR 2013-05-14 00:00:00.000 0.130 0.100 1.000 0.100 0.290 0.094 Deactivated, outlier +FOPR 2013-05-24 00:00:00.000 0.127 0.100 1.000 0.100 0.284 0.092 Deactivated, outlier +FOPR 2013-06-03 00:00:00.000 0.123 0.100 1.000 0.100 0.279 0.090 Deactivated, outlier +FOPR 2013-06-13 00:00:00.000 0.119 0.100 1.000 0.100 0.275 0.088 Deactivated, outlier +FOPR 2013-06-23 00:00:00.000 0.120 0.100 1.000 0.100 0.270 0.085 Deactivated, outlier +FOPR 2013-07-03 00:00:00.000 0.128 0.100 1.000 0.100 0.266 0.081 Deactivated, outlier +FOPR 2013-07-13 00:00:00.000 0.136 0.100 1.000 0.100 0.263 0.077 Deactivated, outlier +FOPR 2013-07-23 00:00:00.000 0.143 0.100 1.000 0.100 0.261 0.073 Deactivated, outlier +FOPR 2013-08-02 00:00:00.000 0.150 0.100 1.000 0.100 0.258 0.069 Deactivated, outlier +FOPR 2013-08-12 00:00:00.000 0.155 0.100 1.000 0.100 0.256 0.066 Deactivated, outlier +FOPR 2013-08-22 00:00:00.000 0.159 0.100 1.000 0.100 0.254 0.063 Deactivated, outlier +FOPR 2013-09-01 00:00:00.000 0.163 0.100 1.000 0.100 0.251 0.061 Deactivated, outlier +FOPR 2013-09-11 00:00:00.000 0.166 0.100 1.000 0.100 0.248 0.059 Deactivated, outlier +FOPR 2013-09-21 00:00:00.000 0.167 0.100 1.000 0.100 0.247 0.058 Deactivated, outlier +FOPR 2013-10-01 00:00:00.000 0.167 0.100 1.000 0.100 0.245 0.058 Deactivated, outlier +FOPR 2013-10-11 00:00:00.000 0.166 0.100 1.000 0.100 0.243 0.058 Deactivated, outlier +FOPR 2013-10-21 00:00:00.000 0.165 0.100 1.000 0.100 0.243 0.058 Deactivated, outlier +FOPR 2013-10-31 00:00:00.000 0.164 0.100 1.000 0.100 0.242 0.059 Deactivated, outlier +FOPR 2013-11-10 00:00:00.000 0.165 0.100 1.000 0.100 0.243 0.059 Deactivated, outlier +FOPR 2013-11-20 00:00:00.000 0.169 0.100 1.000 0.100 0.243 0.059 Deactivated, outlier +FOPR 2013-11-30 00:00:00.000 0.176 0.100 1.000 0.100 0.242 0.058 Deactivated, outlier +FOPR 2013-12-10 00:00:00.000 0.186 0.100 1.000 0.100 0.242 0.057 Deactivated, outlier +FOPR 2013-12-20 00:00:00.000 0.197 0.100 1.000 0.100 0.241 0.057 Deactivated, outlier +FOPR 2013-12-30 00:00:00.000 0.211 0.100 1.000 0.100 0.239 0.058 Deactivated, outlier +FOPR 2014-01-09 00:00:00.000 0.225 0.100 1.000 0.100 0.238 0.059 Deactivated, outlier +FOPR 2014-01-19 00:00:00.000 0.239 0.100 1.000 0.100 0.238 0.061 Deactivated, outlier +FOPR 2014-01-29 00:00:00.000 0.252 0.100 1.000 0.100 0.238 0.061 Deactivated, outlier +FOPR 2014-02-08 00:00:00.000 0.264 0.100 1.000 0.100 0.237 0.061 Deactivated, outlier +FOPR 2014-02-18 00:00:00.000 0.275 0.100 1.000 0.100 0.236 0.062 Deactivated, outlier +FOPR 2014-02-28 00:00:00.000 0.285 0.100 1.000 0.100 0.236 0.064 Deactivated, outlier +FOPR 2014-03-10 00:00:00.000 0.295 0.100 1.000 0.100 0.236 0.066 Deactivated, outlier +FOPR 2014-03-20 00:00:00.000 0.303 0.100 1.000 0.100 0.235 0.069 Deactivated, outlier +FOPR 2014-03-30 00:00:00.000 0.309 0.100 1.000 0.100 0.234 0.072 Deactivated, outlier +FOPR 2014-04-09 00:00:00.000 0.312 0.100 1.000 0.100 0.231 0.074 Deactivated, outlier +FOPR 2014-04-19 00:00:00.000 0.313 0.100 1.000 0.100 0.229 0.076 Deactivated, outlier +FOPR 2014-04-29 00:00:00.000 0.310 0.100 1.000 0.100 0.225 0.077 Deactivated, outlier +FOPR 2014-05-09 00:00:00.000 0.304 0.100 1.000 0.100 0.220 0.078 Deactivated, outlier +FOPR 2014-05-19 00:00:00.000 0.296 0.100 1.000 0.100 0.215 0.078 Deactivated, outlier +FOPR 2014-05-29 00:00:00.000 0.286 0.100 1.000 0.100 0.209 0.078 Deactivated, outlier +FOPR 2014-06-08 00:00:00.000 0.275 0.100 1.000 0.100 0.202 0.078 Deactivated, outlier +FOPR 2014-06-18 00:00:00.000 0.264 0.100 1.000 0.100 0.195 0.079 Deactivated, outlier +FOPR 2014-06-28 00:00:00.000 0.253 0.100 1.000 0.100 0.188 0.079 Deactivated, outlier +FOPR 2014-07-08 00:00:00.000 0.241 0.100 1.000 0.100 0.181 0.080 Deactivated, outlier +FOPR 2014-07-18 00:00:00.000 0.230 0.100 1.000 0.100 0.173 0.082 Deactivated, outlier +FOPR 2014-07-28 00:00:00.000 0.218 0.100 1.000 0.100 0.167 0.084 Deactivated, outlier +FOPR 2014-08-07 00:00:00.000 0.207 0.100 1.000 0.100 0.161 0.086 Deactivated, outlier +FOPR 2014-08-17 00:00:00.000 0.197 0.100 1.000 0.100 0.155 0.088 Deactivated, outlier +FOPR 2014-08-27 00:00:00.000 0.187 0.100 1.000 0.100 0.149 0.090 Deactivated, outlier +FOPR 2014-09-06 00:00:00.000 0.178 0.100 1.000 0.100 0.143 0.092 Deactivated, outlier +FOPR 2014-09-16 00:00:00.000 0.168 0.100 1.000 0.100 0.138 0.094 Deactivated, outlier +FOPR 2014-09-26 00:00:00.000 0.159 0.100 1.000 0.100 0.132 0.095 Deactivated, outlier +FOPR 2014-10-06 00:00:00.000 0.150 0.100 1.000 0.100 0.128 0.096 Deactivated, outlier +FOPR 2014-10-16 00:00:00.000 0.141 0.100 1.000 0.100 0.124 0.096 Deactivated, outlier +FOPR 2014-10-26 00:00:00.000 0.134 0.100 1.000 0.100 0.120 0.096 Deactivated, outlier +FOPR 2014-11-05 00:00:00.000 0.127 0.100 1.000 0.100 0.116 0.097 Deactivated, outlier +FOPR 2014-11-15 00:00:00.000 0.120 0.100 1.000 0.100 0.113 0.097 Deactivated, outlier +FOPR 2014-11-25 00:00:00.000 0.115 0.100 1.000 0.100 0.110 0.096 Deactivated, outlier +FOPR 2014-12-05 00:00:00.000 0.111 0.100 1.000 0.100 0.107 0.096 Deactivated, outlier +FOPR 2014-12-15 00:00:00.000 0.107 0.100 1.000 0.100 0.105 0.095 Deactivated, outlier +FOPR 2014-12-25 00:00:00.000 0.101 0.100 1.000 0.100 0.102 0.095 Deactivated, outlier +FOPR 2015-01-04 00:00:00.000 0.096 0.100 1.000 0.100 0.100 0.095 Deactivated, outlier +FOPR 2015-01-14 00:00:00.000 0.089 0.100 1.000 0.100 0.097 0.096 Deactivated, outlier +FOPR 2015-01-24 00:00:00.000 0.081 0.100 1.000 0.100 0.094 0.096 Deactivated, outlier +FOPR 2015-02-03 00:00:00.000 0.073 0.100 1.000 0.100 0.092 0.098 Deactivated, outlier +FOPR 2015-02-13 00:00:00.000 0.065 0.100 1.000 0.100 0.090 0.099 Deactivated, outlier +FOPR 2015-02-23 00:00:00.000 0.058 0.100 1.000 0.100 0.088 0.101 Deactivated, outlier +FOPR 2015-03-05 00:00:00.000 0.050 0.100 1.000 0.100 0.087 0.103 Deactivated, outlier +FOPR 2015-03-15 00:00:00.000 0.044 0.100 1.000 0.100 0.086 0.104 Deactivated, outlier +FOPR 2015-03-25 00:00:00.000 0.038 0.100 1.000 0.100 0.085 0.106 Deactivated, outlier +FOPR 2015-04-04 00:00:00.000 0.033 0.100 1.000 0.100 0.084 0.107 Deactivated, outlier +FOPR 2015-04-14 00:00:00.000 0.029 0.100 1.000 0.100 0.084 0.108 Deactivated, outlier +FOPR 2015-04-24 00:00:00.000 0.026 0.100 1.000 0.100 0.084 0.108 Deactivated, outlier +FOPR 2015-05-04 00:00:00.000 0.024 0.100 1.000 0.100 0.084 0.109 Deactivated, outlier +FOPR 2015-05-14 00:00:00.000 0.022 0.100 1.000 0.100 0.084 0.109 Deactivated, outlier +FOPR 2015-05-24 00:00:00.000 0.021 0.100 1.000 0.100 0.084 0.109 Deactivated, outlier +FOPR 2015-06-03 00:00:00.000 0.020 0.100 1.000 0.100 0.084 0.110 Deactivated, outlier +FOPR 2015-06-13 00:00:00.000 0.020 0.100 1.000 0.100 0.084 0.110 Deactivated, outlier +FOPR 2015-06-23 00:00:00.000 0.020 0.100 1.000 0.100 0.084 0.110 Deactivated, outlier +WOPR_OP1_108 2012-12-15 00:00:00.000 0.300 0.075 1.000 0.075 0.257 0.099 Deactivated, outlier +WOPR_OP1_144 2013-12-10 00:00:00.000 0.200 0.035 1.000 0.035 0.183 0.106 Deactivated, outlier +WOPR_OP1_190 2015-03-15 00:00:00.000 0.015 0.010 1.000 0.010 0.042 0.041 Deactivated, outlier +WOPR_OP1_36 2010-12-26 00:00:00.000 0.700 0.070 1.000 0.070 0.650 0.084 Deactivated, outlier +WOPR_OP1_72 2011-12-21 00:00:00.000 0.500 0.050 1.000 0.050 0.405 0.170 Deactivated, outlier +WOPR_OP1_9 2010-03-31 00:00:00.000 0.100 0.050 1.000 0.050 0.096 0.060 Deactivated, outlier +WPR_DIFF_1 199, 400 0.000 0.100 1.000 0.100 -0.011 0.060 Deactivated, outlier +WPR_DIFF_1 199, 800 0.100 0.200 1.000 0.200 0.081 0.126 Deactivated, outlier +WPR_DIFF_1 199, 1200 0.200 0.150 1.000 0.150 0.073 0.130 Deactivated, outlier +WPR_DIFF_1 199, 1800 0.000 0.050 1.000 0.050 0.127 0.125 Deactivated, outlier +------------ ----------------------- ----- ----- ----- ----- ------ ----- -------------------- diff --git a/tests/ert/unit_tests/analysis/test_es_update.py b/tests/ert/unit_tests/analysis/test_es_update.py index fe59b76849e..93fc9184c0b 100644 --- a/tests/ert/unit_tests/analysis/test_es_update.py +++ b/tests/ert/unit_tests/analysis/test_es_update.py @@ -5,6 +5,7 @@ from unittest.mock import patch import numpy as np +import polars import pytest import xarray as xr import xtgeo @@ -45,14 +46,16 @@ def uniform_parameter(): @pytest.fixture -def obs(): - return xr.Dataset( +def obs() -> polars.DataFrame: + return polars.DataFrame( { - "observations": (["report_step", "index"], [[1.0, 1.0, 1.0]]), - "std": (["report_step", "index"], [[0.1, 1.0, 10.0]]), - }, - coords={"index": [0, 1, 2], "report_step": [0]}, - attrs={"response": "RESPONSE"}, + "response_key": "RESPONSE", + "observation_key": "OBSERVATION", + "report_step": polars.Series(np.full(3, 0), dtype=polars.UInt16), + "index": polars.Series([0, 1, 2], dtype=polars.UInt16), + "observations": polars.Series([1.0, 1.0, 1.0], dtype=polars.Float32), + "std": polars.Series([0.1, 1.0, 10.0], dtype=polars.Float32), + } ) @@ -96,7 +99,7 @@ def test_update_report( smoother_update( prior_ens, posterior_ens, - list(ert_config.observations.keys()), + experiment.observation_keys, ert_config.ensemble_config.parameters, UpdateSettings(auto_scale_observations=misfit_preprocess), ESSettings(inversion="subspace"), @@ -132,7 +135,7 @@ def test_update_report_with_exception_in_analysis_ES( smoother_update( prior_ens, posterior_ens, - list(ert_config.observations.keys()), + experiment.observation_keys, ert_config.ensemble_config.parameters, UpdateSettings(alpha=0.0000000001), ESSettings(inversion="subspace"), @@ -175,7 +178,7 @@ def test_update_report_with_different_observation_status_from_smoother_update( ss = smoother_update( prior_ens, posterior_ens, - list(ert_config.observations.keys()), + experiment.observation_keys, ert_config.ensemble_config.parameters, update_settings, ESSettings(inversion="subspace"), @@ -291,7 +294,7 @@ def test_update_snapshot( prior_storage=prior_ens, posterior_storage=posterior_ens, sies_smoother=sies_smoother, - observations=list(ert_config.observations.keys()), + observations=experiment.observation_keys, parameters=list(ert_config.ensemble_config.parameters), update_settings=UpdateSettings(), analysis_config=IESSettings(inversion="subspace_exact"), @@ -303,7 +306,7 @@ def test_update_snapshot( smoother_update( prior_ens, posterior_ens, - list(ert_config.observations.keys()), + experiment.observation_keys, list(ert_config.ensemble_config.parameters), UpdateSettings(), ESSettings(inversion="subspace"), @@ -322,7 +325,7 @@ def test_update_snapshot( assert sim_gen_kw != target_gen_kw # Check that posterior is as expected - assert target_gen_kw == pytest.approx(expected_gen_kw) + assert target_gen_kw == pytest.approx(expected_gen_kw, rel=1e-5) @pytest.mark.usefixtures("use_tmpdir") @@ -378,7 +381,7 @@ def test_smoother_snapshot_alpha( experiment = storage.create_experiment( parameters=[uniform_parameter], responses=[resp], - observations={"OBSERVATION": obs}, + observations={"gen_data": obs}, ) prior_storage = storage.create_ensemble( experiment, @@ -403,13 +406,15 @@ def test_smoother_snapshot_alpha( data = rng.uniform(0.8, 1, 3) prior_storage.save_response( "gen_data", - xr.Dataset( - {"values": (["name", "report_step", "index"], [[data]])}, - coords={ - "name": ["RESPONSE"], - "index": range(len(data)), - "report_step": [0], - }, + polars.DataFrame( + { + "response_key": "RESPONSE", + "report_step": polars.Series( + np.full(len(data), 0), dtype=polars.UInt16 + ), + "index": polars.Series(range(len(data)), dtype=polars.UInt16), + "values": data, + } ), iens, ) @@ -580,19 +585,6 @@ def test_temporary_parameter_storage_with_inactive_fields( np.testing.assert_array_equal(ds["values"].values[0], fields[iens]["values"]) -def test_that_observations_keep_sorting(snake_oil_case_storage, snake_oil_storage): - """ - The order of the observations influence the update as it affects the - perturbations, so we make sure we maintain the order throughout. - """ - ert_config = snake_oil_case_storage - experiment = snake_oil_storage.get_experiment_by_name("ensemble-experiment") - prior_ens = experiment.get_ensemble_by_name("default_0") - assert list(ert_config.observations.keys()) == list( - prior_ens.experiment.observations.keys() - ) - - def _mock_load_observations_and_responses( S, observations, @@ -681,20 +673,24 @@ def test_that_autoscaling_applies_to_scaled_errors(storage): assert scaled_errors_without_autoscale.tolist() == [1, 2] +@pytest.mark.integration_test def test_gen_data_obs_data_mismatch(storage, uniform_parameter): resp = GenDataConfig(keys=["RESPONSE"]) - obs = xr.Dataset( + gen_data_obs = polars.DataFrame( { - "observations": (["report_step", "index"], [[1.0]]), - "std": (["report_step", "index"], [[0.1]]), - }, - coords={"index": [1000], "report_step": [0]}, - attrs={"response": "RESPONSE"}, + "observation_key": "OBSERVATION", + "response_key": ["RESPONSE"], + "report_step": polars.Series([0], dtype=polars.UInt16), + "index": polars.Series([1000], dtype=polars.UInt16), + "observations": polars.Series([1.0], dtype=polars.Float32), + "std": polars.Series([0.1], dtype=polars.Float32), + } ) + experiment = storage.create_experiment( parameters=[uniform_parameter], responses=[resp], - observations={"OBSERVATION": obs}, + observations={"gen_data": gen_data_obs}, ) prior = storage.create_ensemble( experiment, @@ -716,16 +712,17 @@ def test_gen_data_obs_data_mismatch(storage, uniform_parameter): } ), ) + data = rng.uniform(0.8, 1, 3) prior.save_response( "gen_data", - xr.Dataset( - {"values": (["name", "report_step", "index"], [[data]])}, - coords={ - "name": ["RESPONSE"], - "index": range(len(data)), - "report_step": [0], - }, + polars.DataFrame( + { + "response_key": "RESPONSE", + "report_step": polars.Series([0] * len(data), dtype=polars.UInt16), + "index": polars.Series(range(len(data)), dtype=polars.UInt16), + "values": polars.Series(data, dtype=polars.Float32), + } ), iens, ) @@ -751,12 +748,13 @@ def test_gen_data_obs_data_mismatch(storage, uniform_parameter): @pytest.mark.usefixtures("use_tmpdir") +@pytest.mark.integration_test def test_gen_data_missing(storage, uniform_parameter, obs): resp = GenDataConfig(keys=["RESPONSE"]) experiment = storage.create_experiment( parameters=[uniform_parameter], responses=[resp], - observations={"OBSERVATION": obs}, + observations={"gen_data": obs}, ) prior = storage.create_ensemble( experiment, @@ -781,13 +779,13 @@ def test_gen_data_missing(storage, uniform_parameter, obs): data = rng.uniform(0.8, 1, 2) # Importantly, shorter than obs prior.save_response( "gen_data", - xr.Dataset( - {"values": (["name", "report_step", "index"], [[data]])}, - coords={ - "name": ["RESPONSE"], - "index": range(len(data)), - "report_step": [0], - }, + polars.DataFrame( + { + "response_key": "RESPONSE", + "report_step": polars.Series([0] * len(data), dtype=polars.UInt16), + "index": polars.Series(range(len(data)), dtype=polars.UInt16), + "values": polars.Series(data, dtype=polars.Float32), + } ), iens, ) @@ -822,6 +820,7 @@ def test_gen_data_missing(storage, uniform_parameter, obs): @pytest.mark.usefixtures("use_tmpdir") +@pytest.mark.integration_test def test_update_subset_parameters(storage, uniform_parameter, obs): no_update_param = GenKwConfig( name="EXTRA_PARAMETER", @@ -837,7 +836,7 @@ def test_update_subset_parameters(storage, uniform_parameter, obs): experiment = storage.create_experiment( parameters=[uniform_parameter, no_update_param], responses=[resp], - observations={"OBSERVATION": obs}, + observations={"gen_data": obs}, ) prior = storage.create_ensemble( experiment, @@ -874,13 +873,13 @@ def test_update_subset_parameters(storage, uniform_parameter, obs): data = rng.uniform(0.8, 1, 10) prior.save_response( "gen_data", - xr.Dataset( - {"values": (["name", "report_step", "index"], [[data]])}, - coords={ - "name": ["RESPONSE"], - "index": range(len(data)), - "report_step": [0], - }, + polars.DataFrame( + { + "response_key": "RESPONSE", + "report_step": polars.Series([0] * len(data), dtype=polars.UInt16), + "index": polars.Series(range(len(data)), dtype=polars.UInt16), + "values": polars.Series(data, dtype=polars.Float32), + } ), iens, ) diff --git a/tests/ert/unit_tests/config/observations_generator.py b/tests/ert/unit_tests/config/observations_generator.py index 4c0b65bc932..22c7723be66 100644 --- a/tests/ert/unit_tests/config/observations_generator.py +++ b/tests/ert/unit_tests/config/observations_generator.py @@ -183,6 +183,9 @@ def summary_observations( "error_mode": draw(st.sampled_from(ErrorMode)), "value": draw(positive_floats), } + + assume(kws["error_mode"] == ErrorMode.ABS or kws["error"] < 2) + time_type = draw(time_types) if time_type == "date": date = draw(dates) diff --git a/tests/ert/unit_tests/config/test_observations.py b/tests/ert/unit_tests/config/test_observations.py index 9d3dfb35e66..ace152a3ad5 100644 --- a/tests/ert/unit_tests/config/test_observations.py +++ b/tests/ert/unit_tests/config/test_observations.py @@ -198,12 +198,32 @@ def test_that_enkf_obs_keys_are_ordered(tmp_path_factory, config_generator): with config_generator(tmp_path_factory) as config_values: observations = ErtConfig.from_dict( config_values.to_config_dict("test.ert", os.getcwd()) - ).enkf_obs - for o in config_values.observations: - assert o.name in observations - assert sorted({o.name for o in config_values.observations}) == list( - observations.datasets.keys() - ) + ).observations + + non_empty_observations = { + _response_type: _df + for _response_type, _df in observations.items() + if not _df.is_empty() + } + + for _obs in config_values.observations: + if ( + _obs.class_name == "SUMMARY_OBSERVATION" + and "summary" in non_empty_observations + ): + assert _obs.name in non_empty_observations["summary"]["observation_key"] + if ( + _obs.class_name == "GENERAL_OBSERVATION" + and _obs.value is not None + and "gen_data" in non_empty_observations + ): + assert ( + _obs.name in non_empty_observations["gen_data"]["observation_key"] + ) + + for df in observations.values(): + obs_keys_list = df["observation_key"].to_list() + assert sorted(obs_keys_list) == obs_keys_list def test_that_empty_observations_file_causes_exception(tmpdir): diff --git a/tests/ert/unit_tests/data/snapshots/test_integration_data/test_all_measured_snapshot/0/snake_oil_measured_output.csv b/tests/ert/unit_tests/data/snapshots/test_integration_data/test_all_measured_snapshot/0/snake_oil_measured_output.csv index b508a4bf1aa..374643657d6 100644 --- a/tests/ert/unit_tests/data/snapshots/test_integration_data/test_all_measured_snapshot/0/snake_oil_measured_output.csv +++ b/tests/ert/unit_tests/data/snapshots/test_integration_data/test_all_measured_snapshot/0/snake_oil_measured_output.csv @@ -1,10 +1,9 @@ -,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,WOPR_OP1_108,WOPR_OP1_144,WOPR_OP1_190,WOPR_OP1_36,WOPR_OP1_72,WOPR_OP1_9,WPR_DIFF_1,WPR_DIFF_1,WPR_DIFF_1,WPR_DIFF_1 -key_index,2010-01-10 00:00:00,2010-01-20 00:00:00,2010-01-30 00:00:00,2010-02-09 00:00:00,2010-02-19 00:00:00,2010-03-01 00:00:00,2010-03-11 00:00:00,2010-03-21 00:00:00,2010-03-31 00:00:00,2010-04-10 00:00:00,2010-04-20 00:00:00,2010-04-30 00:00:00,2010-05-10 00:00:00,2010-05-20 00:00:00,2010-05-30 00:00:00,2010-06-09 00:00:00,2010-06-19 00:00:00,2010-06-29 00:00:00,2010-07-09 00:00:00,2010-07-19 00:00:00,2010-07-29 00:00:00,2010-08-08 00:00:00,2010-08-18 00:00:00,2010-08-28 00:00:00,2010-09-07 00:00:00,2010-09-17 00:00:00,2010-09-27 00:00:00,2010-10-07 00:00:00,2010-10-17 00:00:00,2010-10-27 00:00:00,2010-11-06 00:00:00,2010-11-16 00:00:00,2010-11-26 00:00:00,2010-12-06 00:00:00,2010-12-16 00:00:00,2010-12-26 00:00:00,2011-01-05 00:00:00,2011-01-15 00:00:00,2011-01-25 00:00:00,2011-02-04 00:00:00,2011-02-14 00:00:00,2011-02-24 00:00:00,2011-03-06 00:00:00,2011-03-16 00:00:00,2011-03-26 00:00:00,2011-04-05 00:00:00,2011-04-15 00:00:00,2011-04-25 00:00:00,2011-05-05 00:00:00,2011-05-15 00:00:00,2011-05-25 00:00:00,2011-06-04 00:00:00,2011-06-14 00:00:00,2011-06-24 00:00:00,2011-07-04 00:00:00,2011-07-14 00:00:00,2011-07-24 00:00:00,2011-08-03 00:00:00,2011-08-13 00:00:00,2011-08-23 00:00:00,2011-09-02 00:00:00,2011-09-12 00:00:00,2011-09-22 00:00:00,2011-10-02 00:00:00,2011-10-12 00:00:00,2011-10-22 00:00:00,2011-11-01 00:00:00,2011-11-11 00:00:00,2011-11-21 00:00:00,2011-12-01 00:00:00,2011-12-11 00:00:00,2011-12-21 00:00:00,2011-12-31 00:00:00,2012-01-10 00:00:00,2012-01-20 00:00:00,2012-01-30 00:00:00,2012-02-09 00:00:00,2012-02-19 00:00:00,2012-02-29 00:00:00,2012-03-10 00:00:00,2012-03-20 00:00:00,2012-03-30 00:00:00,2012-04-09 00:00:00,2012-04-19 00:00:00,2012-04-29 00:00:00,2012-05-09 00:00:00,2012-05-19 00:00:00,2012-05-29 00:00:00,2012-06-08 00:00:00,2012-06-18 00:00:00,2012-06-28 00:00:00,2012-07-08 00:00:00,2012-07-18 00:00:00,2012-07-28 00:00:00,2012-08-07 00:00:00,2012-08-17 00:00:00,2012-08-27 00:00:00,2012-09-06 00:00:00,2012-09-16 00:00:00,2012-09-26 00:00:00,2012-10-06 00:00:00,2012-10-16 00:00:00,2012-10-26 00:00:00,2012-11-05 00:00:00,2012-11-15 00:00:00,2012-11-25 00:00:00,2012-12-05 00:00:00,2012-12-15 00:00:00,2012-12-25 00:00:00,2013-01-04 00:00:00,2013-01-14 00:00:00,2013-01-24 00:00:00,2013-02-03 00:00:00,2013-02-13 00:00:00,2013-02-23 00:00:00,2013-03-05 00:00:00,2013-03-15 00:00:00,2013-03-25 00:00:00,2013-04-04 00:00:00,2013-04-14 00:00:00,2013-04-24 00:00:00,2013-05-04 00:00:00,2013-05-14 00:00:00,2013-05-24 00:00:00,2013-06-03 00:00:00,2013-06-13 00:00:00,2013-06-23 00:00:00,2013-07-03 00:00:00,2013-07-13 00:00:00,2013-07-23 00:00:00,2013-08-02 00:00:00,2013-08-12 00:00:00,2013-08-22 00:00:00,2013-09-01 00:00:00,2013-09-11 00:00:00,2013-09-21 00:00:00,2013-10-01 00:00:00,2013-10-11 00:00:00,2013-10-21 00:00:00,2013-10-31 00:00:00,2013-11-10 00:00:00,2013-11-20 00:00:00,2013-11-30 00:00:00,2013-12-10 00:00:00,2013-12-20 00:00:00,2013-12-30 00:00:00,2014-01-09 00:00:00,2014-01-19 00:00:00,2014-01-29 00:00:00,2014-02-08 00:00:00,2014-02-18 00:00:00,2014-02-28 00:00:00,2014-03-10 00:00:00,2014-03-20 00:00:00,2014-03-30 00:00:00,2014-04-09 00:00:00,2014-04-19 00:00:00,2014-04-29 00:00:00,2014-05-09 00:00:00,2014-05-19 00:00:00,2014-05-29 00:00:00,2014-06-08 00:00:00,2014-06-18 00:00:00,2014-06-28 00:00:00,2014-07-08 00:00:00,2014-07-18 00:00:00,2014-07-28 00:00:00,2014-08-07 00:00:00,2014-08-17 00:00:00,2014-08-27 00:00:00,2014-09-06 00:00:00,2014-09-16 00:00:00,2014-09-26 00:00:00,2014-10-06 00:00:00,2014-10-16 00:00:00,2014-10-26 00:00:00,2014-11-05 00:00:00,2014-11-15 00:00:00,2014-11-25 00:00:00,2014-12-05 00:00:00,2014-12-15 00:00:00,2014-12-25 00:00:00,2015-01-04 00:00:00,2015-01-14 00:00:00,2015-01-24 00:00:00,2015-02-03 00:00:00,2015-02-13 00:00:00,2015-02-23 00:00:00,2015-03-05 00:00:00,2015-03-15 00:00:00,2015-03-25 00:00:00,2015-04-04 00:00:00,2015-04-14 00:00:00,2015-04-24 00:00:00,2015-05-04 00:00:00,2015-05-14 00:00:00,2015-05-24 00:00:00,2015-06-03 00:00:00,2015-06-13 00:00:00,2015-06-23 00:00:00,2012-12-15 00:00:00,2013-12-10 00:00:00,2015-03-15 00:00:00,2010-12-26 00:00:00,2011-12-21 00:00:00,2010-03-31 00:00:00,400,800,1200,1800 -data_index,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,107,143,189,35,71,8,400,800,1200,1800 -OBS,0.0016968873096629977,0.007549144793301821,0.017537245526909828,0.03158785030245781,0.04960281774401665,0.07146798074245453,0.09703561663627625,0.12614504992961884,0.1586153209209442,0.1942545473575592,0.23281694948673248,0.27404671907424927,0.3176907002925873,0.3634442389011383,0.4109863340854645,0.46002548933029175,0.5102593302726746,0.5614363551139832,0.6133571267127991,0.6655344367027283,0.7178515791893005,0.7704011797904968,0.8226962685585022,0.8746448755264282,0.9261661171913147,0.977008044719696,1.0266836881637573,1.0750459432601929,1.12155020236969,1.1657692193984985,1.207544207572937,1.2470088005065918,1.2835049629211426,1.3167047500610352,1.346083641052246,1.3711466789245605,1.3915883302688599,1.4073505401611328,1.4176363945007324,1.4222338199615479,1.4235652685165405,1.4251763820648193,1.4272525310516357,1.4300298690795898,1.4334416389465332,1.43769371509552,1.4429181814193726,1.4488641023635864,1.4547947645187378,1.4603124856948853,1.465605616569519,1.4704256057739258,1.4741872549057007,1.4752846956253052,1.4738245010375977,1.4694164991378784,1.4611896276474,1.4494869709014893,1.4363856315612793,1.4213961362838745,1.4026654958724976,1.3793243169784546,1.3527154922485352,1.3241467475891113,1.296581506729126,1.270460844039917,1.2434195280075073,1.2160032987594604,1.1891443729400635,1.161468505859375,1.1344152688980103,1.111630916595459,1.0911470651626587,1.071900486946106,1.0527071952819824,1.0326411724090576,1.0128751993179321,0.9945804476737976,0.975469708442688,0.9557305574417114,0.9363316893577576,0.9158328175544739,0.8928252458572388,0.8686985969543457,0.8423308730125427,0.8124594688415527,0.7789327502250671,0.7419267892837524,0.7024903893470764,0.661297619342804,0.6193501949310303,0.5782303810119629,0.5396573543548584,0.5051060914993286,0.47489526867866516,0.4502047300338745,0.43144863843917847,0.4186316132545471,0.410041481256485,0.40574684739112854,0.40424859523773193,0.3991520404815674,0.3887236714363098,0.37419527769088745,0.3551763594150543,0.331745445728302,0.30616295337677,0.28151485323905945,0.26365551352500916,0.24812838435173035,0.23326681554317474,0.21852639317512512,0.20469489693641663,0.19195015728473663,0.17977432906627655,0.16876085102558136,0.15952761471271515,0.15166985988616943,0.14568953216075897,0.14111457765102386,0.13730789721012115,0.13369180262088776,0.1301889419555664,0.12653681635856628,0.12283045053482056,0.11926789581775665,0.11993221193552017,0.12808072566986084,0.1359952986240387,0.1433563381433487,0.14990629255771637,0.1549033373594284,0.15908613801002502,0.16274403035640717,0.16555064916610718,0.1669514924287796,0.16719110310077667,0.1661362498998642,0.16499200463294983,0.16432030498981476,0.165121391415596,0.169014111161232,0.17592155933380127,0.18565155565738678,0.19735679030418396,0.2105773389339447,0.2247595340013504,0.23917199671268463,0.2524295449256897,0.2640857398509979,0.2746853232383728,0.2849123775959015,0.2945040166378021,0.3027935326099396,0.30875587463378906,0.3120051324367523,0.31252342462539673,0.3097202479839325,0.3039141893386841,0.2956465780735016,0.28585320711135864,0.2753968834877014,0.2641619145870209,0.2527305483818054,0.24120257794857025,0.22952820360660553,0.21775572001934052,0.20688839256763458,0.19651590287685394,0.18688032031059265,0.17763660848140717,0.1682787537574768,0.1587630957365036,0.14956273138523102,0.14119677245616913,0.13354657590389252,0.12660714983940125,0.12049901485443115,0.11532926559448242,0.11091870814561844,0.10653064399957657,0.10148541629314423,0.09563612192869186,0.0887933000922203,0.08123061805963516,0.0733993723988533,0.0654938817024231,0.05767139419913292,0.05034296214580536,0.04377567023038864,0.03793442249298096,0.032930485904216766,0.02895224094390869,0.025974156334996223,0.023769771680235863,0.022172002121806145,0.021033743396401405,0.020261472091078758,0.019794177263975143,0.01961757428944111,0.3,0.2,0.015,0.7,0.5,0.1,0.0,0.1,0.2,0.0 -STD,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.10266836732625961,0.10750459879636765,0.112155020236969,0.11657692492008209,0.1207544207572937,0.1247008815407753,0.12835049629211426,0.13167047500610352,0.13460837304592133,0.13711467385292053,0.13915883004665375,0.14073505997657776,0.14176364243030548,0.14222338795661926,0.1423565298318863,0.14251764118671417,0.14272525906562805,0.14300298690795898,0.14334416389465332,0.14376936852931976,0.14429181814193726,0.14488641917705536,0.1454794853925705,0.1460312455892563,0.14656056463718414,0.14704255759716034,0.14741872251033783,0.14752846956253052,0.147382453083992,0.1469416469335556,0.14611896872520447,0.14494870603084564,0.14363856613636017,0.14213961362838745,0.140266552567482,0.1379324346780777,0.13527154922485352,0.13241468369960785,0.12965814769268036,0.12704609334468842,0.12434195727109909,0.12160032987594604,0.11891444027423859,0.11614685505628586,0.11344152688980103,0.11116309463977814,0.10911470651626587,0.10719005018472672,0.10527072101831436,0.10326411575078964,0.10128752142190933,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.075,0.035,0.01,0.07,0.05,0.05,0.1,0.2,0.15,0.05 -0,0.05596115440130234,0.05905991047620773,0.06433762609958649,0.07174286246299744,0.08120841532945633,0.09265599399805069,0.10600091516971588,0.12115591764450073,0.1380334496498108,0.15654607117176056,0.17655602097511292,0.20094838738441467,0.24621784687042236,0.2936668395996094,0.3425387442111969,0.39265134930610657,0.4441823959350586,0.4966517984867096,0.5499683022499084,0.603771448135376,0.6578561067581177,0.7111904621124268,0.7627429366111755,0.8122514486312866,0.8594288229942322,0.9040638208389282,0.9463410973548889,0.9862102270126343,1.0224096775054932,1.0546443462371826,1.0845394134521484,1.1104881763458252,1.131589651107788,1.1479130983352661,1.1595455408096313,1.167633056640625,1.1722285747528076,1.1743475198745728,1.1731048822402954,1.1686681509017944,1.161161184310913,1.1525744199752808,1.1427159309387207,1.1304982900619507,1.1179068088531494,1.1081316471099854,1.0939658880233765,1.0752445459365845,1.0542879104614258,1.033347487449646,1.0119364261627197,0.991693377494812,0.9730311632156372,0.9550253748893738,0.9345653653144836,0.915583610534668,0.8953654766082764,0.8732743263244629,0.8482869863510132,0.8196418881416321,0.7878987193107605,0.7517772316932678,0.7119350433349609,0.6717563271522522,0.6330385804176331,0.5994275212287903,0.5638179183006287,0.5303453207015991,0.4990736246109009,0.47381284832954407,0.4495185911655426,0.4257318377494812,0.4019607603549957,0.3778245449066162,0.35616952180862427,0.33382049202919006,0.3128863275051117,0.2942618131637573,0.2768097221851349,0.25245460867881775,0.23063282668590546,0.2152853012084961,0.20333616435527802,0.19387012720108032,0.18325699865818024,0.1716025322675705,0.15743741393089294,0.14652186632156372,0.13051219284534454,0.12044452875852585,0.11048588901758194,0.10224469006061554,0.09571051597595215,0.09076317399740219,0.08720768988132477,0.08480052649974823,0.0832802802324295,0.0823993906378746,0.08195365220308304,0.08180616050958633,0.08303830027580261,0.0871763601899147,0.0938313826918602,0.1023586317896843,0.1119394525885582,0.12166640162467957,0.1306365430355072,0.1380424052476883,0.14325076341629028,0.1458611786365509,0.1471879780292511,0.14924518764019012,0.1518167108297348,0.15459828078746796,0.15724658966064453,0.15941375494003296,0.16078181564807892,0.16109345853328705,0.16017602384090424,0.15795643627643585,0.15502306818962097,0.15231360495090485,0.15010681748390198,0.14880436658859253,0.1488730013370514,0.15077413618564606,0.15489619970321655,0.1614965796470642,0.1706589013338089,0.1822691708803177,0.19436874985694885,0.2043376863002777,0.2121737152338028,0.2180357575416565,0.22218506038188934,0.22784097492694855,0.23126012086868286,0.23103396594524384,0.2298966646194458,0.22823171317577362,0.2288496047258377,0.2323354035615921,0.2407100647687912,0.24989749491214752,0.259870707988739,0.2709311246871948,0.2825491726398468,0.2953783869743347,0.3056764602661133,0.3122561275959015,0.3177250623703003,0.3260450065135956,0.33306464552879333,0.3378613293170929,0.3401772677898407,0.3393363654613495,0.33513420820236206,0.32767120003700256,0.3184562027454376,0.3070579171180725,0.2937939465045929,0.2805998921394348,0.26584646105766296,0.2500576078891754,0.23389898240566254,0.2171536237001419,0.2064875066280365,0.19675801694393158,0.18681614100933075,0.1767863929271698,0.16696739196777344,0.15770217776298523,0.14908964931964874,0.1412104070186615,0.1341284066438675,0.1278918832540512,0.12253551930189133,0.11808308213949203,0.11455046385526657,0.11194827407598495,0.10930047929286957,0.10525462031364441,0.10003970563411713,0.09402676671743393,0.08766300231218338,0.08140913397073746,0.07567841559648514,0.07078717648983002,0.06692437827587128,0.06414353847503662,0.06218907982110977,0.0607629232108593,0.05987086892127991,0.059472911059856415,0.0594835989177227,0.05978194996714592,0.06022725999355316,0.060678575187921524,0.06101493909955025,0.06115317344665527,0.1380424052476883,0.23878537118434906,0.06414353847503662,0.6714974045753479,0.2962648868560791,0.1380334496498108,0.047452,0.186768,0.183387,0.206747 -1,0.015982799232006073,0.018984779715538025,0.024110613390803337,0.03132806345820427,0.040592338889837265,0.05184478685259819,0.06501130759716034,0.08000797778367996,0.09674280881881714,0.11666669696569443,0.1547873169183731,0.19551505148410797,0.23858241736888885,0.2837105095386505,0.33061379194259644,0.3790050148963928,0.42859306931495667,0.4790826141834259,0.530165433883667,0.5815176963806152,0.6328243017196655,0.683779776096344,0.7340631484985352,0.7833876609802246,0.8314805030822754,0.8780428767204285,0.9227654933929443,0.9654030203819275,1.0057004690170288,1.0433998107910156,1.0782145261764526,1.1098326444625854,1.1379904747009277,1.1624739170074463,1.1830859184265137,1.199626088142395,1.2118992805480957,1.2197221517562866,1.2229278087615967,1.2213786840438843,1.2169352769851685,1.2124816179275513,1.2080864906311035,1.2037124633789062,1.1992862224578857,1.1947860717773438,1.1902142763137817,1.18546462059021,1.1803616285324097,1.1747498512268066,1.168567180633545,1.1618250608444214,1.1543725728988647,1.1459240913391113,1.13620924949646,1.124887466430664,1.1115686893463135,1.0958844423294067,1.0775634050369263,1.0562971830368042,1.0329523086547852,1.0090575218200684,0.9846935868263245,0.9599347710609436,0.9349110126495361,0.9096108078956604,0.8839359879493713,0.8580445647239685,0.8321131467819214,0.8062962293624878,0.7803827524185181,0.7539368867874146,0.7269884943962097,0.6998342871665955,0.6727391481399536,0.6459682583808899,0.6198227405548096,0.5945395827293396,0.5701333284378052,0.546614944934845,0.5241619348526001,0.5030096173286438,0.4830918610095978,0.46424102783203125,0.44636914134025574,0.4295010268688202,0.41373512148857117,0.3993065655231476,0.3863489031791687,0.37498939037323,0.36516276001930237,0.3567117750644684,0.34958377480506897,0.34382718801498413,0.3394446074962616,0.3363114297389984,0.3341835141181946,0.3328339457511902,0.33216604590415955,0.33196502923965454,0.3318219780921936,0.3313627243041992,0.33065733313560486,0.32973673939704895,0.3287767171859741,0.3275703489780426,0.32573410868644714,0.32341766357421875,0.3206343948841095,0.3175012469291687,0.3141641318798065,0.310667484998703,0.3068810999393463,0.30280783772468567,0.2981817126274109,0.2929636240005493,0.2872481048107147,0.2808453440666199,0.273607462644577,0.26548323035240173,0.2569913864135742,0.24875681102275848,0.24054837226867676,0.23218560218811035,0.22346261143684387,0.21454405784606934,0.2057448923587799,0.1969687044620514,0.19148972630500793,0.1869451254606247,0.18230167031288147,0.1777462363243103,0.17350296676158905,0.16964203119277954,0.16624945402145386,0.16334843635559082,0.1608814150094986,0.15887707471847534,0.15757042169570923,0.15705910325050354,0.15676461160182953,0.1558055281639099,0.15419445931911469,0.15193144977092743,0.14906775951385498,0.1457849144935608,0.14229340851306915,0.13865648210048676,0.14243510365486145,0.14706450700759888,0.15147319436073303,0.15541724860668182,0.15862180292606354,0.16089214384555817,0.16202522814273834,0.16175909340381622,0.15994486212730408,0.15665996074676514,0.15195421874523163,0.14596134424209595,0.13947585225105286,0.13341030478477478,0.1276789754629135,0.12229876965284348,0.11719293892383575,0.11222783476114273,0.10731115192174911,0.10240022838115692,0.0974106714129448,0.0923248678445816,0.08721800893545151,0.08217174559831619,0.07716022431850433,0.07480820268392563,0.07278872281312943,0.07074357569217682,0.0686924159526825,0.06665557622909546,0.06462446600198746,0.06258249282836914,0.06048394367098808,0.05825715884566307,0.055906541645526886,0.05344926938414574,0.05093437433242798,0.04839274287223816,0.04584064334630966,0.043324366211891174,0.040897443890571594,0.03858765959739685,0.036393437534570694,0.03432837128639221,0.03244904801249504,0.030789656564593315,0.02938135340809822,0.02822822891175747,0.02732691913843155,0.026679888367652893,0.026284758001565933,0.026137633249163628,0.14323775470256805,0.0,0.0,0.5081279873847961,0.3630423843860626,0.0,-0.018255,-0.045011,0.003181,-0.063963 -2,0.0,0.0,0.0,0.0009306804859079421,0.009585856460034847,0.020108461380004883,0.032440222799777985,0.046518269926309586,0.06227773800492287,0.07963735610246658,0.09848103672266006,0.11865821480751038,0.1488896757364273,0.19660300016403198,0.24429930746555328,0.2945767641067505,0.345316618680954,0.39578354358673096,0.450306236743927,0.5048250555992126,0.5587748885154724,0.614186704158783,0.6681363582611084,0.721177875995636,0.7719404697418213,0.8255054354667664,0.8687918186187744,0.9061083793640137,0.9438246488571167,0.982487678527832,1.0182257890701294,1.0524622201919556,1.0842313766479492,1.1144633293151855,1.1407458782196045,1.1650632619857788,1.1853220462799072,1.1931416988372803,1.1973447799682617,1.1967073678970337,1.1917431354522705,1.1848559379577637,1.1863983869552612,1.180171012878418,1.1808456182479858,1.1644538640975952,1.1476174592971802,1.139690637588501,1.1310341358184814,1.1272388696670532,1.1152210235595703,1.093773603439331,1.0590318441390991,1.0220450162887573,0.9824433922767639,0.9581566452980042,0.9283046126365662,0.8893449902534485,0.8637832999229431,0.8359286785125732,0.803458571434021,0.8110893368721008,0.7883930206298828,0.769569993019104,0.736599326133728,0.6992374658584595,0.6777465343475342,0.6741881966590881,0.671044111251831,0.6680765151977539,0.664774477481842,0.6605854034423828,0.6556973457336426,0.6500316858291626,0.6434630751609802,0.6357719302177429,0.6268970966339111,0.617358922958374,0.6077398061752319,0.5987376570701599,0.5895726084709167,0.578502357006073,0.5655543208122253,0.5514233112335205,0.5361951589584351,0.5202483534812927,0.5043804049491882,0.4890173077583313,0.474770188331604,0.4622876048088074,0.45095524191856384,0.4394868314266205,0.4282333254814148,0.41782838106155396,0.408579021692276,0.4006316661834717,0.4190254509449005,0.43807944655418396,0.4212518632411957,0.4232972264289856,0.4041292369365692,0.3852272927761078,0.3837123215198517,0.38165757060050964,0.3787357211112976,0.374404639005661,0.36859017610549927,0.3616580367088318,0.3533220887184143,0.344603955745697,0.3364063501358032,0.32908573746681213,0.32303041219711304,0.31812265515327454,0.31358474493026733,0.3091912567615509,0.3050493597984314,0.3004007935523987,0.29471608996391296,0.28817132115364075,0.28165388107299805,0.2761516869068146,0.27177420258522034,0.2684633135795593,0.2654974162578583,0.262513667345047,0.2592756748199463,0.25492778420448303,0.24965855479240417,0.24329020082950592,0.2366958111524582,0.2313782125711441,0.22729013860225677,0.22418691217899323,0.2218572497367859,0.22002002596855164,0.21842610836029053,0.21708914637565613,0.21592605113983154,0.21536625921726227,0.2147497832775116,0.21293288469314575,0.21053028106689453,0.2077907919883728,0.2046555131673813,0.20135003328323364,0.19799858331680298,0.19402647018432617,0.18963764607906342,0.18482011556625366,0.1794918328523636,0.17377987504005432,0.16786564886569977,0.16131030023097992,0.15413634479045868,0.14697274565696716,0.14039060473442078,0.1342773735523224,0.12885694205760956,0.12410005927085876,0.11916770786046982,0.11318899691104889,0.10661362111568451,0.09984112530946732,0.09322840720415115,0.08676834404468536,0.08038439601659775,0.07439789175987244,0.06882855296134949,0.06383582949638367,0.059450600296258926,0.05551062524318695,0.051901817321777344,0.048607032746076584,0.04552468657493591,0.042628213763237,0.03994819521903992,0.037432871758937836,0.035108331590890884,0.03296605870127678,0.030791183933615685,0.028320135548710823,0.025629933923482895,0.022796794772148132,0.019936542958021164,0.017027921974658966,0.014029205776751041,0.011087421327829361,0.008258547633886337,0.005624615587294102,0.0033161561004817486,0.0014094742946326733,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3616580367088318,0.2077907919883728,0.005624615587294102,0.6489679217338562,0.6605854034423828,0.06227773800492287,0.0,0.167201,0.264971,0.229273 -3,0.28399229049682617,0.2900899052619934,0.30051347613334656,0.31520578265190125,0.3340320289134979,0.3568198084831238,0.38345974683761597,0.41381514072418213,0.44766536355018616,0.48479968309402466,0.524895191192627,0.5675287842750549,0.6124934554100037,0.659464418888092,0.7083309292793274,0.7591266632080078,0.8110880851745605,0.8637502193450928,0.9169859886169434,0.9708776473999023,1.0252817869186401,1.0793012380599976,1.1328692436218262,1.1856926679611206,1.2374732494354248,1.2876266241073608,1.3354979753494263,1.3810325860977173,1.4239223003387451,1.4638843536376953,1.501342535018921,1.5354032516479492,1.5647892951965332,1.5895379781723022,1.6103185415267944,1.6276174783706665,1.6417065858840942,1.6522436141967773,1.6595404148101807,1.6629419326782227,1.6622159481048584,1.6604959964752197,1.6582337617874146,1.6521093845367432,1.6410725116729736,1.6280039548873901,1.6145401000976562,1.5991586446762085,1.582806944847107,1.5639278888702393,1.542736291885376,1.5189188718795776,1.493863821029663,1.469462513923645,1.4498372077941895,1.4321577548980713,1.4089341163635254,1.383515477180481,1.3558306694030762,1.32869291305542,1.3047574758529663,1.28446364402771,1.2640172243118286,1.2433749437332153,1.2219152450561523,1.1997239589691162,1.1781433820724487,1.159340500831604,1.1392289400100708,1.1183892488479614,1.0908747911453247,1.056386947631836,1.018433690071106,0.9807536602020264,0.9458610415458679,0.9133395552635193,0.879306435585022,0.8442026972770691,0.8080228567123413,0.778321385383606,0.7529441118240356,0.7308405041694641,0.715999960899353,0.7056357264518738,0.6951778531074524,0.6831094622612,0.6720735430717468,0.6578577160835266,0.6461779475212097,0.6373482346534729,0.6276736855506897,0.6161053776741028,0.6078271865844727,0.6010143160820007,0.5948863625526428,0.5922757387161255,0.5962059497833252,0.6016223430633545,0.6080636978149414,0.6132354736328125,0.6123179793357849,0.6122469305992126,0.6102297902107239,0.6086387634277344,0.6013227105140686,0.5878710150718689,0.5724338889122009,0.5560264587402344,0.5341708660125732,0.5133089423179626,0.49811720848083496,0.4873057007789612,0.4790615141391754,0.4766489863395691,0.4725334048271179,0.4662644565105438,0.4611850678920746,0.45502641797065735,0.4445648193359375,0.43355774879455566,0.42516061663627625,0.41411468386650085,0.4056221842765808,0.3962383568286896,0.388287752866745,0.3828529715538025,0.37402740120887756,0.36259591579437256,0.3537798821926117,0.34560051560401917,0.3363794982433319,0.32862865924835205,0.3196941912174225,0.30884209275245667,0.2979681193828583,0.29072046279907227,0.2843686640262604,0.2812165319919586,0.28171229362487793,0.28330865502357483,0.28534188866615295,0.2869175672531128,0.2849505841732025,0.28144049644470215,0.27814629673957825,0.2747631072998047,0.2722829580307007,0.27271410822868347,0.2723371088504791,0.27203190326690674,0.27342113852500916,0.27600958943367004,0.27884557843208313,0.2836582064628601,0.28787606954574585,0.2923819124698639,0.29844561219215393,0.3024548888206482,0.304222971200943,0.30586937069892883,0.30722901225090027,0.3077033460140228,0.3087846040725708,0.30966421961784363,0.31035280227661133,0.3119439482688904,0.31266963481903076,0.31322699785232544,0.313370019197464,0.31348881125450134,0.31317460536956787,0.31274160742759705,0.3114594519138336,0.30946511030197144,0.3065339922904968,0.3032349646091461,0.3004685938358307,0.2975768744945526,0.29431015253067017,0.29039499163627625,0.28660133481025696,0.28363025188446045,0.2822751998901367,0.281708300113678,0.2817384600639343,0.28266236186027527,0.2846493422985077,0.2868160903453827,0.28935301303863525,0.29160943627357483,0.29359668493270874,0.29520100355148315,0.2964218556880951,0.29742148518562317,0.29827019572257996,0.2988854944705963,0.29930371046066284,0.29959961771965027,0.29972729086875916,0.2997667193412781,0.2820355296134949,0.15045836567878723,0.10954739153385162,0.7725098729133606,0.524307370185852,0.17006300389766693,-0.120237,-0.098908,-0.004551,0.019996 -4,0.02509653940796852,0.02827547676861286,0.03370004892349243,0.041331253945827484,0.051114898175001144,0.06298260390758514,0.07685297727584839,0.0926329717040062,0.11021918058395386,0.12949924170970917,0.15035124123096466,0.17264455556869507,0.21688063442707062,0.2665579319000244,0.31835392117500305,0.3719891309738159,0.42720311880111694,0.48359477519989014,0.540685772895813,0.5980349183082581,0.6550778150558472,0.7111934423446655,0.765991747379303,0.8190850615501404,0.8700788021087646,0.918589174747467,0.9642108082771301,1.0068879127502441,1.0467756986618042,1.0840752124786377,1.118454933166504,1.1493537425994873,1.1766772270202637,1.2003511190414429,1.2203409671783447,1.2367597818374634,1.2497233152389526,1.2590172290802002,1.2645816802978516,1.2663131952285767,1.264798641204834,1.2609126567840576,1.2547250986099243,1.2461302280426025,1.2350307703018188,1.2211872339248657,1.2045375108718872,1.185194969177246,1.1630009412765503,1.137857437133789,1.1104543209075928,1.0815999507904053,1.05112886428833,1.0198420286178589,0.9876242280006409,0.9549700021743774,0.9232159852981567,0.8924859762191772,0.8628618121147156,0.8347347378730774,0.8083072304725647,0.784145712852478,0.7628934383392334,0.7445844411849976,0.7288458943367004,0.7142981886863708,0.6996052861213684,0.6846065521240234,0.6691861152648926,0.6542112231254578,0.6396579742431641,0.6247348189353943,0.6098151803016663,0.5952072739601135,0.5802691578865051,0.5646029114723206,0.5484598875045776,0.5307885408401489,0.5107890367507935,0.48859673738479614,0.4652012586593628,0.44159096479415894,0.41829437017440796,0.3958168029785156,0.37400123476982117,0.3536297082901001,0.336173951625824,0.3211837410926819,0.3096402585506439,0.30152666568756104,0.29626551270484924,0.29285570979118347,0.2909570038318634,0.2892732322216034,0.2875249981880188,0.28604134917259216,0.2852393686771393,0.29412710666656494,0.29974955320358276,0.3018835186958313,0.3028077483177185,0.30590304732322693,0.3110741972923279,0.31811466813087463,0.32674533128738403,0.33662697672843933,0.34737518429756165,0.35857677459716797,0.36980652809143066,0.3806433379650116,0.3907493054866791,0.39983856678009033,0.40756067633628845,0.41360563039779663,0.4177159368991852,0.41969481110572815,0.41941192746162415,0.41680705547332764,0.41188982129096985,0.40473729372024536,0.39652687311172485,0.388846218585968,0.3817134499549866,0.37512412667274475,0.3690653145313263,0.363515168428421,0.3584473729133606,0.35383835434913635,0.34966516494750977,0.34590643644332886,0.3425322473049164,0.33951255679130554,0.33683890104293823,0.3345080614089966,0.3325205445289612,0.33087849617004395,0.32958513498306274,0.328645795583725,0.32806527614593506,0.32784706354141235,0.3272450268268585,0.3251878619194031,0.3217240869998932,0.3169499337673187,0.31099560856819153,0.30402103066444397,0.2962065637111664,0.28774014115333557,0.2788122892379761,0.2696090042591095,0.26029443740844727,0.2510133981704712,0.24190938472747803,0.2331041544675827,0.22469566762447357,0.21675612032413483,0.20933285355567932,0.20245112478733063,0.1961149126291275,0.1903093010187149,0.18420985341072083,0.1767779290676117,0.16823911666870117,0.158842995762825,0.14884279668331146,0.1384870409965515,0.12801021337509155,0.1176237091422081,0.10751236975193024,0.09783150255680084,0.08870455622673035,0.08022389560937881,0.07245419919490814,0.0654345378279686,0.05918315798044205,0.053702980279922485,0.0489872507750988,0.04502492770552635,0.041805557906627655,0.039323147386312485,0.03737601265311241,0.03567379340529442,0.034217219799757004,0.033006906509399414,0.03203965350985527,0.03130673989653587,0.03079403005540371,0.03048313409090042,0.030350450426340103,0.03036794252693653,0.030501989647746086,0.030718181282281876,0.030987171456217766,0.03128131106495857,0.031575482338666916,0.031847789883613586,0.03208010271191597,0.032258305698633194,0.032372280955314636,0.03241586685180664,0.35857677459716797,0.3169499337673187,0.03036794252693653,0.6498203873634338,0.17971111834049225,0.11021918058395386,0.036091,0.194078,-0.082472,0.242714 +observation_key,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,FOPR,WOPR_OP1_108,WOPR_OP1_144,WOPR_OP1_190,WOPR_OP1_36,WOPR_OP1_72,WOPR_OP1_9,WPR_DIFF_1,WPR_DIFF_1,WPR_DIFF_1,WPR_DIFF_1 +key_index,2010-01-10 00:00:00.000,2010-01-20 00:00:00.000,2010-01-30 00:00:00.000,2010-02-09 00:00:00.000,2010-02-19 00:00:00.000,2010-03-01 00:00:00.000,2010-03-11 00:00:00.000,2010-03-21 00:00:00.000,2010-03-31 00:00:00.000,2010-04-10 00:00:00.000,2010-04-20 00:00:00.000,2010-04-30 00:00:00.000,2010-05-10 00:00:00.000,2010-05-20 00:00:00.000,2010-05-30 00:00:00.000,2010-06-09 00:00:00.000,2010-06-19 00:00:00.000,2010-06-29 00:00:00.000,2010-07-09 00:00:00.000,2010-07-19 00:00:00.000,2010-07-29 00:00:00.000,2010-08-08 00:00:00.000,2010-08-18 00:00:00.000,2010-08-28 00:00:00.000,2010-09-07 00:00:00.000,2010-09-17 00:00:00.000,2010-09-27 00:00:00.000,2010-10-07 00:00:00.000,2010-10-17 00:00:00.000,2010-10-27 00:00:00.000,2010-11-06 00:00:00.000,2010-11-16 00:00:00.000,2010-11-26 00:00:00.000,2010-12-06 00:00:00.000,2010-12-16 00:00:00.000,2010-12-26 00:00:00.000,2011-01-05 00:00:00.000,2011-01-15 00:00:00.000,2011-01-25 00:00:00.000,2011-02-04 00:00:00.000,2011-02-14 00:00:00.000,2011-02-24 00:00:00.000,2011-03-06 00:00:00.000,2011-03-16 00:00:00.000,2011-03-26 00:00:00.000,2011-04-05 00:00:00.000,2011-04-15 00:00:00.000,2011-04-25 00:00:00.000,2011-05-05 00:00:00.000,2011-05-15 00:00:00.000,2011-05-25 00:00:00.000,2011-06-04 00:00:00.000,2011-06-14 00:00:00.000,2011-06-24 00:00:00.000,2011-07-04 00:00:00.000,2011-07-14 00:00:00.000,2011-07-24 00:00:00.000,2011-08-03 00:00:00.000,2011-08-13 00:00:00.000,2011-08-23 00:00:00.000,2011-09-02 00:00:00.000,2011-09-12 00:00:00.000,2011-09-22 00:00:00.000,2011-10-02 00:00:00.000,2011-10-12 00:00:00.000,2011-10-22 00:00:00.000,2011-11-01 00:00:00.000,2011-11-11 00:00:00.000,2011-11-21 00:00:00.000,2011-12-01 00:00:00.000,2011-12-11 00:00:00.000,2011-12-21 00:00:00.000,2011-12-31 00:00:00.000,2012-01-10 00:00:00.000,2012-01-20 00:00:00.000,2012-01-30 00:00:00.000,2012-02-09 00:00:00.000,2012-02-19 00:00:00.000,2012-02-29 00:00:00.000,2012-03-10 00:00:00.000,2012-03-20 00:00:00.000,2012-03-30 00:00:00.000,2012-04-09 00:00:00.000,2012-04-19 00:00:00.000,2012-04-29 00:00:00.000,2012-05-09 00:00:00.000,2012-05-19 00:00:00.000,2012-05-29 00:00:00.000,2012-06-08 00:00:00.000,2012-06-18 00:00:00.000,2012-06-28 00:00:00.000,2012-07-08 00:00:00.000,2012-07-18 00:00:00.000,2012-07-28 00:00:00.000,2012-08-07 00:00:00.000,2012-08-17 00:00:00.000,2012-08-27 00:00:00.000,2012-09-06 00:00:00.000,2012-09-16 00:00:00.000,2012-09-26 00:00:00.000,2012-10-06 00:00:00.000,2012-10-16 00:00:00.000,2012-10-26 00:00:00.000,2012-11-05 00:00:00.000,2012-11-15 00:00:00.000,2012-11-25 00:00:00.000,2012-12-05 00:00:00.000,2012-12-15 00:00:00.000,2012-12-25 00:00:00.000,2013-01-04 00:00:00.000,2013-01-14 00:00:00.000,2013-01-24 00:00:00.000,2013-02-03 00:00:00.000,2013-02-13 00:00:00.000,2013-02-23 00:00:00.000,2013-03-05 00:00:00.000,2013-03-15 00:00:00.000,2013-03-25 00:00:00.000,2013-04-04 00:00:00.000,2013-04-14 00:00:00.000,2013-04-24 00:00:00.000,2013-05-04 00:00:00.000,2013-05-14 00:00:00.000,2013-05-24 00:00:00.000,2013-06-03 00:00:00.000,2013-06-13 00:00:00.000,2013-06-23 00:00:00.000,2013-07-03 00:00:00.000,2013-07-13 00:00:00.000,2013-07-23 00:00:00.000,2013-08-02 00:00:00.000,2013-08-12 00:00:00.000,2013-08-22 00:00:00.000,2013-09-01 00:00:00.000,2013-09-11 00:00:00.000,2013-09-21 00:00:00.000,2013-10-01 00:00:00.000,2013-10-11 00:00:00.000,2013-10-21 00:00:00.000,2013-10-31 00:00:00.000,2013-11-10 00:00:00.000,2013-11-20 00:00:00.000,2013-11-30 00:00:00.000,2013-12-10 00:00:00.000,2013-12-20 00:00:00.000,2013-12-30 00:00:00.000,2014-01-09 00:00:00.000,2014-01-19 00:00:00.000,2014-01-29 00:00:00.000,2014-02-08 00:00:00.000,2014-02-18 00:00:00.000,2014-02-28 00:00:00.000,2014-03-10 00:00:00.000,2014-03-20 00:00:00.000,2014-03-30 00:00:00.000,2014-04-09 00:00:00.000,2014-04-19 00:00:00.000,2014-04-29 00:00:00.000,2014-05-09 00:00:00.000,2014-05-19 00:00:00.000,2014-05-29 00:00:00.000,2014-06-08 00:00:00.000,2014-06-18 00:00:00.000,2014-06-28 00:00:00.000,2014-07-08 00:00:00.000,2014-07-18 00:00:00.000,2014-07-28 00:00:00.000,2014-08-07 00:00:00.000,2014-08-17 00:00:00.000,2014-08-27 00:00:00.000,2014-09-06 00:00:00.000,2014-09-16 00:00:00.000,2014-09-26 00:00:00.000,2014-10-06 00:00:00.000,2014-10-16 00:00:00.000,2014-10-26 00:00:00.000,2014-11-05 00:00:00.000,2014-11-15 00:00:00.000,2014-11-25 00:00:00.000,2014-12-05 00:00:00.000,2014-12-15 00:00:00.000,2014-12-25 00:00:00.000,2015-01-04 00:00:00.000,2015-01-14 00:00:00.000,2015-01-24 00:00:00.000,2015-02-03 00:00:00.000,2015-02-13 00:00:00.000,2015-02-23 00:00:00.000,2015-03-05 00:00:00.000,2015-03-15 00:00:00.000,2015-03-25 00:00:00.000,2015-04-04 00:00:00.000,2015-04-14 00:00:00.000,2015-04-24 00:00:00.000,2015-05-04 00:00:00.000,2015-05-14 00:00:00.000,2015-05-24 00:00:00.000,2015-06-03 00:00:00.000,2015-06-13 00:00:00.000,2015-06-23 00:00:00.000,2012-12-15 00:00:00.000,2013-12-10 00:00:00.000,2015-03-15 00:00:00.000,2010-12-26 00:00:00.000,2011-12-21 00:00:00.000,2010-03-31 00:00:00.000,"199, 400","199, 800","199, 1200","199, 1800" +OBS,0.0016968873,0.007549145,0.017537246,0.03158785,0.049602818,0.07146798,0.09703562,0.12614505,0.15861532,0.19425455,0.23281695,0.27404672,0.3176907,0.36344424,0.41098633,0.4600255,0.51025933,0.56143636,0.6133571,0.66553444,0.7178516,0.7704012,0.82269627,0.8746449,0.9261661,0.97700804,1.0266837,1.075046,1.1215502,1.1657692,1.2075442,1.2470088,1.283505,1.3167048,1.3460836,1.3711467,1.3915883,1.4073505,1.4176364,1.4222338,1.4235653,1.4251764,1.4272525,1.4300299,1.4334416,1.4376937,1.4429182,1.4488641,1.4547948,1.4603125,1.4656056,1.4704256,1.4741873,1.4752847,1.4738245,1.4694165,1.4611896,1.449487,1.4363856,1.4213961,1.4026655,1.3793243,1.3527155,1.3241467,1.2965815,1.2704608,1.2434195,1.2160033,1.1891444,1.1614685,1.1344153,1.1116309,1.0911471,1.0719005,1.0527072,1.0326412,1.0128752,0.99458045,0.9754697,0.95573056,0.9363317,0.9158328,0.89282525,0.8686986,0.8423309,0.81245947,0.77893275,0.7419268,0.7024904,0.6612976,0.6193502,0.5782304,0.53965735,0.5051061,0.47489527,0.45020473,0.43144864,0.4186316,0.41004148,0.40574685,0.4042486,0.39915204,0.38872367,0.37419528,0.35517636,0.33174545,0.30616295,0.28151485,0.2636555,0.24812838,0.23326682,0.2185264,0.2046949,0.19195016,0.17977433,0.16876085,0.15952761,0.15166986,0.14568953,0.14111458,0.1373079,0.1336918,0.13018894,0.12653682,0.12283045,0.119267896,0.11993221,0.12808073,0.1359953,0.14335634,0.1499063,0.15490334,0.15908614,0.16274403,0.16555065,0.16695149,0.1671911,0.16613625,0.164992,0.1643203,0.16512139,0.16901411,0.17592156,0.18565156,0.19735679,0.21057734,0.22475953,0.239172,0.25242954,0.26408574,0.27468532,0.28491238,0.29450402,0.30279353,0.30875587,0.31200513,0.31252342,0.30972025,0.3039142,0.29564658,0.2858532,0.27539688,0.2641619,0.25273055,0.24120258,0.2295282,0.21775572,0.2068884,0.1965159,0.18688032,0.17763661,0.16827875,0.1587631,0.14956273,0.14119677,0.13354658,0.12660715,0.120499015,0.115329266,0.11091871,0.106530644,0.10148542,0.09563612,0.0887933,0.08123062,0.07339937,0.06549388,0.057671394,0.050342962,0.04377567,0.037934422,0.032930486,0.028952241,0.025974156,0.023769772,0.022172002,0.021033743,0.020261472,0.019794177,0.019617574,0.3,0.2,0.015,0.7,0.5,0.1,0.0,0.1,0.2,0.0 +STD,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.10266837,0.1075046,0.11215502,0.116576925,0.12075442,0.12470088,0.1283505,0.13167048,0.13460837,0.13711467,0.13915883,0.14073506,0.14176364,0.14222339,0.14235653,0.14251764,0.14272526,0.14300299,0.14334416,0.14376937,0.14429182,0.14488642,0.14547949,0.14603125,0.14656056,0.14704256,0.14741872,0.14752847,0.14738245,0.14694165,0.14611897,0.1449487,0.14363857,0.14213961,0.14026655,0.13793243,0.13527155,0.13241468,0.12965815,0.1270461,0.12434196,0.12160033,0.11891444,0.116146855,0.11344153,0.111163095,0.10911471,0.10719005,0.10527072,0.103264116,0.10128752,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.075,0.035,0.01,0.07,0.05,0.05,0.1,0.2,0.15,0.05 +0,0.055961154,0.05905991,0.064337626,0.07174286,0.081208415,0.092655994,0.106000915,0.12115592,0.13803345,0.15654607,0.17655602,0.20094839,0.24621785,0.29366684,0.34253874,0.39265135,0.4441824,0.4966518,0.5499683,0.60377145,0.6578561,0.71119046,0.76274294,0.81225145,0.8594288,0.9040638,0.9463411,0.9862102,1.0224097,1.0546443,1.0845394,1.1104882,1.1315897,1.1479131,1.1595455,1.167633,1.1722286,1.1743475,1.1731049,1.1686682,1.1611612,1.1525744,1.1427159,1.1304983,1.1179068,1.1081316,1.0939659,1.0752445,1.0542879,1.0333475,1.0119364,0.9916934,0.97303116,0.9550254,0.93456537,0.9155836,0.8953655,0.8732743,0.848287,0.8196419,0.7878987,0.75177723,0.71193504,0.6717563,0.6330386,0.5994275,0.5638179,0.5303453,0.49907362,0.47381285,0.4495186,0.42573184,0.40196076,0.37782454,0.35616952,0.3338205,0.31288633,0.2942618,0.27680972,0.2524546,0.23063283,0.2152853,0.20333616,0.19387013,0.183257,0.17160253,0.15743741,0.14652187,0.1305122,0.12044453,0.11048589,0.10224469,0.095710516,0.090763174,0.08720769,0.08480053,0.08328028,0.08239939,0.08195365,0.08180616,0.0830383,0.08717636,0.09383138,0.10235863,0.11193945,0.1216664,0.13063654,0.1380424,0.14325076,0.14586118,0.14718798,0.14924519,0.15181671,0.15459828,0.15724659,0.15941375,0.16078182,0.16109346,0.16017602,0.15795644,0.15502307,0.1523136,0.15010682,0.14880437,0.148873,0.15077414,0.1548962,0.16149658,0.1706589,0.18226917,0.19436875,0.20433769,0.21217372,0.21803576,0.22218506,0.22784097,0.23126012,0.23103397,0.22989666,0.22823171,0.2288496,0.2323354,0.24071006,0.2498975,0.2598707,0.27093112,0.28254917,0.2953784,0.30567646,0.31225613,0.31772506,0.326045,0.33306465,0.33786133,0.34017727,0.33933637,0.3351342,0.3276712,0.3184562,0.30705792,0.29379395,0.2805999,0.26584646,0.2500576,0.23389898,0.21715362,0.2064875,0.19675802,0.18681614,0.1767864,0.16696739,0.15770218,0.14908965,0.1412104,0.1341284,0.12789188,0.12253552,0.11808308,0.114550464,0.111948274,0.10930048,0.10525462,0.100039706,0.09402677,0.087663,0.081409134,0.075678416,0.07078718,0.06692438,0.06414354,0.06218908,0.060762923,0.05987087,0.05947291,0.0594836,0.05978195,0.06022726,0.060678575,0.06101494,0.061153173,0.1380424,0.23878537,0.06414354,0.6714974,0.2962649,0.13803345,0.047452,0.186768,0.183387,0.206747 +1,0.0159828,0.01898478,0.024110613,0.031328063,0.04059234,0.051844787,0.06501131,0.08000798,0.09674281,0.1166667,0.15478732,0.19551505,0.23858242,0.2837105,0.3306138,0.379005,0.42859307,0.4790826,0.53016543,0.5815177,0.6328243,0.6837798,0.73406315,0.78338766,0.8314805,0.8780429,0.9227655,0.965403,1.0057005,1.0433998,1.0782145,1.1098326,1.1379905,1.1624739,1.1830859,1.1996261,1.2118993,1.2197222,1.2229278,1.2213787,1.2169353,1.2124816,1.2080865,1.2037125,1.1992862,1.1947861,1.1902143,1.1854646,1.1803616,1.1747499,1.1685672,1.1618251,1.1543726,1.1459241,1.1362092,1.1248875,1.1115687,1.0958844,1.0775634,1.0562972,1.0329523,1.0090575,0.9846936,0.9599348,0.934911,0.9096108,0.883936,0.85804456,0.83211315,0.8062962,0.78038275,0.7539369,0.7269885,0.6998343,0.67273915,0.64596826,0.61982274,0.5945396,0.5701333,0.54661494,0.52416193,0.5030096,0.48309186,0.46424103,0.44636914,0.42950103,0.41373512,0.39930657,0.3863489,0.3749894,0.36516276,0.35671178,0.34958377,0.3438272,0.3394446,0.33631143,0.3341835,0.33283395,0.33216605,0.33196503,0.33182198,0.33136272,0.33065733,0.32973674,0.32877672,0.32757035,0.3257341,0.32341766,0.3206344,0.31750125,0.31416413,0.31066748,0.3068811,0.30280784,0.2981817,0.29296362,0.2872481,0.28084534,0.27360746,0.26548323,0.2569914,0.24875681,0.24054837,0.2321856,0.22346261,0.21454406,0.20574489,0.1969687,0.19148973,0.18694513,0.18230167,0.17774624,0.17350297,0.16964203,0.16624945,0.16334844,0.16088142,0.15887707,0.15757042,0.1570591,0.15676461,0.15580553,0.15419446,0.15193145,0.14906776,0.14578491,0.14229341,0.13865648,0.1424351,0.1470645,0.1514732,0.15541725,0.1586218,0.16089214,0.16202523,0.1617591,0.15994486,0.15665996,0.15195422,0.14596134,0.13947585,0.1334103,0.12767898,0.12229877,0.11719294,0.112227835,0.10731115,0.10240023,0.09741067,0.09232487,0.08721801,0.082171746,0.077160224,0.0748082,0.07278872,0.070743576,0.068692416,0.066655576,0.064624466,0.06258249,0.060483944,0.05825716,0.05590654,0.05344927,0.050934374,0.048392743,0.045840643,0.043324366,0.040897444,0.03858766,0.036393438,0.03432837,0.032449048,0.030789657,0.029381353,0.028228229,0.02732692,0.026679888,0.026284758,0.026137633,0.14323775,0.0,0.0,0.508128,0.36304238,0.0,-0.018255,-0.045011,0.003181,-0.063963 +2,0.0,0.0,0.0,0.0009306805,0.009585856,0.020108461,0.032440223,0.04651827,0.062277738,0.079637356,0.09848104,0.118658215,0.14888968,0.196603,0.24429931,0.29457676,0.34531662,0.39578354,0.45030624,0.50482506,0.5587749,0.6141867,0.66813636,0.7211779,0.77194047,0.82550544,0.8687918,0.9061084,0.94382465,0.9824877,1.0182258,1.0524622,1.0842314,1.1144633,1.1407459,1.1650633,1.185322,1.1931417,1.1973448,1.1967074,1.1917431,1.1848559,1.1863984,1.180171,1.1808456,1.1644539,1.1476175,1.1396906,1.1310341,1.1272389,1.115221,1.0937736,1.0590318,1.022045,0.9824434,0.95815665,0.9283046,0.889345,0.8637833,0.8359287,0.8034586,0.81108934,0.788393,0.76957,0.7365993,0.69923747,0.67774653,0.6741882,0.6710441,0.6680765,0.6647745,0.6605854,0.65569735,0.6500317,0.6434631,0.63577193,0.6268971,0.6173589,0.6077398,0.59873766,0.5895726,0.57850236,0.5655543,0.5514233,0.53619516,0.52024835,0.5043804,0.4890173,0.4747702,0.4622876,0.45095524,0.43948683,0.42823333,0.41782838,0.40857902,0.40063167,0.41902545,0.43807945,0.42125186,0.42329723,0.40412924,0.3852273,0.38371232,0.38165757,0.37873572,0.37440464,0.36859018,0.36165804,0.3533221,0.34460396,0.33640635,0.32908574,0.3230304,0.31812266,0.31358474,0.30919126,0.30504936,0.3004008,0.2947161,0.28817132,0.28165388,0.2761517,0.2717742,0.2684633,0.26549742,0.26251367,0.25927567,0.25492778,0.24965855,0.2432902,0.23669581,0.23137821,0.22729014,0.22418691,0.22185725,0.22002003,0.21842611,0.21708915,0.21592605,0.21536626,0.21474978,0.21293288,0.21053028,0.20779079,0.20465551,0.20135003,0.19799858,0.19402647,0.18963765,0.18482012,0.17949183,0.17377988,0.16786565,0.1613103,0.15413634,0.14697275,0.1403906,0.13427737,0.12885694,0.12410006,0.11916771,0.113189,0.10661362,0.099841125,0.09322841,0.086768344,0.080384396,0.07439789,0.06882855,0.06383583,0.0594506,0.055510625,0.051901817,0.048607033,0.045524687,0.042628214,0.039948195,0.03743287,0.03510833,0.03296606,0.030791184,0.028320136,0.025629934,0.022796795,0.019936543,0.017027922,0.014029206,0.011087421,0.008258548,0.0056246156,0.003316156,0.0014094743,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36165804,0.20779079,0.0056246156,0.6489679,0.6605854,0.062277738,0.0,0.167201,0.264971,0.229273 +3,0.2839923,0.2900899,0.30051348,0.31520578,0.33403203,0.3568198,0.38345975,0.41381514,0.44766536,0.48479968,0.5248952,0.5675288,0.61249346,0.6594644,0.7083309,0.75912666,0.8110881,0.8637502,0.916986,0.97087765,1.0252818,1.0793012,1.1328692,1.1856927,1.2374732,1.2876266,1.335498,1.3810326,1.4239223,1.4638844,1.5013425,1.5354033,1.5647893,1.589538,1.6103185,1.6276175,1.6417066,1.6522436,1.6595404,1.6629419,1.662216,1.660496,1.6582338,1.6521094,1.6410725,1.628004,1.6145401,1.5991586,1.582807,1.5639279,1.5427363,1.5189189,1.4938638,1.4694625,1.4498372,1.4321578,1.4089341,1.3835155,1.3558307,1.3286929,1.3047575,1.2844636,1.2640172,1.243375,1.2219152,1.199724,1.1781434,1.1593405,1.1392289,1.1183892,1.0908748,1.056387,1.0184337,0.98075366,0.94586104,0.91333956,0.87930644,0.8442027,0.80802286,0.7783214,0.7529441,0.7308405,0.71599996,0.7056357,0.69517785,0.68310946,0.67207354,0.6578577,0.64617795,0.63734823,0.6276737,0.6161054,0.6078272,0.6010143,0.59488636,0.59227574,0.59620595,0.60162234,0.6080637,0.6132355,0.612318,0.61224693,0.6102298,0.60863876,0.6013227,0.587871,0.5724339,0.55602646,0.53417087,0.51330894,0.4981172,0.4873057,0.4790615,0.476649,0.4725334,0.46626446,0.46118507,0.45502642,0.44456482,0.43355775,0.42516062,0.41411468,0.40562218,0.39623836,0.38828775,0.38285297,0.3740274,0.36259592,0.35377988,0.34560052,0.3363795,0.32862866,0.3196942,0.3088421,0.29796812,0.29072046,0.28436866,0.28121653,0.2817123,0.28330866,0.2853419,0.28691757,0.28495058,0.2814405,0.2781463,0.2747631,0.27228296,0.2727141,0.2723371,0.2720319,0.27342114,0.2760096,0.27884558,0.2836582,0.28787607,0.2923819,0.2984456,0.3024549,0.30422297,0.30586937,0.307229,0.30770335,0.3087846,0.30966422,0.3103528,0.31194395,0.31266963,0.313227,0.31337002,0.3134888,0.3131746,0.3127416,0.31145945,0.3094651,0.306534,0.30323496,0.3004686,0.29757687,0.29431015,0.290395,0.28660133,0.28363025,0.2822752,0.2817083,0.28173846,0.28266236,0.28464934,0.2868161,0.289353,0.29160944,0.29359668,0.295201,0.29642186,0.2974215,0.2982702,0.2988855,0.2993037,0.29959962,0.2997273,0.29976672,0.28203553,0.15045837,0.10954739,0.7725099,0.52430737,0.170063,-0.120237,-0.098908,-0.004551,0.019996 +4,0.02509654,0.028275477,0.03370005,0.041331254,0.0511149,0.062982604,0.07685298,0.09263297,0.11021918,0.12949924,0.15035124,0.17264456,0.21688063,0.26655793,0.31835392,0.37198913,0.42720312,0.48359478,0.5406858,0.5980349,0.6550778,0.71119344,0.76599175,0.81908506,0.8700788,0.9185892,0.9642108,1.0068879,1.0467757,1.0840752,1.1184549,1.1493537,1.1766772,1.2003511,1.220341,1.2367598,1.2497233,1.2590172,1.2645817,1.2663132,1.2647986,1.2609127,1.2547251,1.2461302,1.2350308,1.2211872,1.2045375,1.185195,1.163001,1.1378574,1.1104543,1.0816,1.0511289,1.019842,0.9876242,0.95497,0.923216,0.892486,0.8628618,0.83473474,0.80830723,0.7841457,0.76289344,0.74458444,0.7288459,0.7142982,0.6996053,0.68460655,0.6691861,0.6542112,0.639658,0.6247348,0.6098152,0.5952073,0.58026916,0.5646029,0.5484599,0.53078854,0.51078904,0.48859674,0.46520126,0.44159096,0.41829437,0.3958168,0.37400123,0.3536297,0.33617395,0.32118374,0.30964026,0.30152667,0.2962655,0.2928557,0.290957,0.28927323,0.287525,0.28604135,0.28523937,0.2941271,0.29974955,0.30188352,0.30280775,0.30590305,0.3110742,0.31811467,0.32674533,0.33662698,0.34737518,0.35857677,0.36980653,0.38064334,0.3907493,0.39983857,0.40756068,0.41360563,0.41771594,0.4196948,0.41941193,0.41680706,0.41188982,0.4047373,0.39652687,0.38884622,0.38171345,0.37512413,0.3690653,0.36351517,0.35844737,0.35383835,0.34966516,0.34590644,0.34253225,0.33951256,0.3368389,0.33450806,0.33252054,0.3308785,0.32958513,0.3286458,0.32806528,0.32784706,0.32724503,0.32518786,0.3217241,0.31694993,0.3109956,0.30402103,0.29620656,0.28774014,0.2788123,0.269609,0.26029444,0.2510134,0.24190938,0.23310415,0.22469567,0.21675612,0.20933285,0.20245112,0.19611491,0.1903093,0.18420985,0.17677793,0.16823912,0.158843,0.1488428,0.13848704,0.12801021,0.11762371,0.10751237,0.0978315,0.088704556,0.080223896,0.0724542,0.06543454,0.059183158,0.05370298,0.04898725,0.045024928,0.041805558,0.039323147,0.037376013,0.035673793,0.03421722,0.033006907,0.032039654,0.03130674,0.03079403,0.030483134,0.03035045,0.030367943,0.03050199,0.030718181,0.030987171,0.03128131,0.031575482,0.03184779,0.032080103,0.032258306,0.03237228,0.032415867,0.35857677,0.31694993,0.030367943,0.6498204,0.17971112,0.11021918,0.036091,0.194078,-0.082472,0.242714 diff --git a/tests/ert/unit_tests/data/test_integration_data.py b/tests/ert/unit_tests/data/test_integration_data.py index 44f1620a769..adae3ebff33 100644 --- a/tests/ert/unit_tests/data/test_integration_data.py +++ b/tests/ert/unit_tests/data/test_integration_data.py @@ -31,19 +31,17 @@ def test_history_obs(create_measured_data): fopr = create_measured_data(["FOPR"]) fopr.remove_inactive_observations() - assert all( - fopr.data.columns.get_level_values("data_index").values == list(range(200)) - ) + assert fopr.data.shape == (7, 200) def test_summary_obs(create_measured_data): summary_obs = create_measured_data(["WOPR_OP1_72"]) summary_obs.remove_inactive_observations() - assert all(summary_obs.data.columns.get_level_values("data_index").values == [71]) # Only one observation, we check the key_index is what we expect: - assert summary_obs.data.columns.get_level_values("key_index").values[ - 0 - ] == np.datetime64("2011-12-21") + assert ( + summary_obs.data.columns.get_level_values("key_index").values[0] + == "2011-12-21 00:00:00.000" + ) @pytest.mark.filterwarnings("ignore::ert.config.ConfigWarning") @@ -71,10 +69,8 @@ def test_gen_obs(create_measured_data): df.remove_inactive_observations() assert all( - df.data.columns.get_level_values("data_index").values == [400, 800, 1200, 1800] - ) - assert all( - df.data.columns.get_level_values("key_index").values == [400, 800, 1200, 1800] + df.data.columns.get_level_values("key_index").values + == ["199, 400", "199, 800", "199, 1200", "199, 1800"] ) @@ -82,20 +78,15 @@ def test_gen_obs_and_summary(create_measured_data): df = create_measured_data(["WPR_DIFF_1", "WOPR_OP1_9"]) df.remove_inactive_observations() - assert df.data.columns.get_level_values(0).to_list() == [ - "WPR_DIFF_1", - "WPR_DIFF_1", - "WPR_DIFF_1", - "WPR_DIFF_1", - "WOPR_OP1_9", - ] - assert df.data.columns.get_level_values("data_index").to_list() == [ - 400, - 800, - 1200, - 1800, - 8, - ] + assert df.data.columns.get_level_values(0).to_list() == sorted( + [ + "WPR_DIFF_1", + "WPR_DIFF_1", + "WPR_DIFF_1", + "WPR_DIFF_1", + "WOPR_OP1_9", + ] + ) @pytest.mark.parametrize( @@ -152,11 +143,12 @@ def create_general_observation(): return observations -def test_all_measured_snapshot(snapshot, facade_snake_oil, create_measured_data): +def test_all_measured_snapshot(snapshot, snake_oil_storage, create_measured_data): """ While there is no guarantee that this snapshot is 100% correct, it does represent the current state of loading from storage for the snake_oil case. """ - obs_keys = facade_snake_oil.get_observations().datasets.keys() + experiment = next(snake_oil_storage.experiments) + obs_keys = experiment.observation_keys measured_data = create_measured_data(obs_keys) snapshot.assert_match(measured_data.data.to_csv(), "snake_oil_measured_output.csv") diff --git a/tests/ert/unit_tests/scenarios/test_summary_response.py b/tests/ert/unit_tests/scenarios/test_summary_response.py index 5af62a3e2b3..bb07dddaf74 100644 --- a/tests/ert/unit_tests/scenarios/test_summary_response.py +++ b/tests/ert/unit_tests/scenarios/test_summary_response.py @@ -101,7 +101,7 @@ def test_that_reading_matching_time_is_ok(ert_config, storage, prior_ensemble): smoother_update( prior_ensemble, target_ensemble, - list(ert_config.observations.keys()), + prior_ensemble.experiment.observation_keys, ert_config.ensemble_config.parameters, ) @@ -128,7 +128,7 @@ def test_that_mismatched_responses_give_error(ert_config, storage, prior_ensembl smoother_update( prior_ensemble, target_ensemble, - list(ert_config.observations.keys()), + prior_ensemble.experiment.observation_keys, ert_config.ensemble_config.parameters, ) @@ -159,7 +159,7 @@ def test_that_different_length_is_ok_as_long_as_observation_time_exists( smoother_update( prior_ensemble, target_ensemble, - list(ert_config.observations.keys()), + prior_ensemble.experiment.observation_keys, ert_config.ensemble_config.parameters, ) @@ -205,7 +205,7 @@ def test_that_duplicate_summary_time_steps_does_not_fail( smoother_update( prior_ensemble, target_ensemble, - list(ert_config.observations.keys()), + prior_ensemble.experiment.observation_keys, ert_config.ensemble_config.parameters, ) @@ -224,15 +224,48 @@ def test_that_mismatched_responses_gives_nan_measured_data(ert_config, prior_ens fopr_1 = measured_data.data["FOPR_1"] assert isinstance(fopr_1, pd.DataFrame) - assert fopr_1.loc["OBS"].iloc[0] == 0.9 - assert fopr_1.loc["STD"].iloc[0] == 0.05 - assert fopr_1.loc[0].iloc[0] == -1.6038367748260498 - assert fopr_1.loc[1].iloc[0] == 0.06409991532564163 + assert np.isclose(fopr_1.loc["OBS"].iloc[0], 0.9) + assert np.isclose(fopr_1.loc["STD"].iloc[0], 0.05) + assert np.isclose(fopr_1.loc[0].iloc[0], -1.6038367748260498) + assert np.isclose(fopr_1.loc[1].iloc[0], 0.06409991532564163) assert pd.isna(fopr_1.loc[2].iloc[0]) fopr_2 = measured_data.data["FOPR_2"] - assert fopr_2.loc["OBS"].iloc[0] == 1.1 - assert fopr_2.loc["STD"].iloc[0] == 0.05 + assert np.isclose(fopr_2.loc["OBS"].iloc[0], 1.1) + assert np.isclose(fopr_2.loc["STD"].iloc[0], 0.05) assert pd.isna(fopr_2.loc[0].iloc[0]) assert pd.isna(fopr_2.loc[1].iloc[0]) assert pd.isna(fopr_1.loc[2].iloc[0]) + + +def test_reading_past_2263_is_ok(ert_config, storage, prior_ensemble): + sample_prior(prior_ensemble, range(prior_ensemble.ensemble_size)) + + create_responses( + ert_config.user_config_file, + prior_ensemble, + ert_config.model_config.num_realizations * [[datetime(2500, 9, 9)]], + ) + + responses = prior_ensemble.load_responses("summary", (0, 1, 2)) + assert np.isclose( + [-1.6038368, 0.06409992, 0.7408913], responses["values"].to_numpy() + ).all() + + assert responses[["realization", "response_key", "time"]].to_dicts() == [ + { + "realization": 0, + "response_key": "FOPR", + "time": datetime(2500, 9, 10, 0, 0), + }, + { + "realization": 1, + "response_key": "FOPR", + "time": datetime(2500, 9, 10, 0, 0), + }, + { + "realization": 2, + "response_key": "FOPR", + "time": datetime(2500, 9, 10, 0, 0), + }, + ] diff --git a/tests/ert/unit_tests/snapshots/test_libres_facade/test_misfit_collector/0/misfit_collector.csv b/tests/ert/unit_tests/snapshots/test_libres_facade/test_misfit_collector/0/misfit_collector.csv index f5bc3163718..1bff34c1de8 100644 --- a/tests/ert/unit_tests/snapshots/test_libres_facade/test_misfit_collector/0/misfit_collector.csv +++ b/tests/ert/unit_tests/snapshots/test_libres_facade/test_misfit_collector/0/misfit_collector.csv @@ -1,6 +1,6 @@ Realization,MISFIT:FOPR,MISFIT:WOPR_OP1_108,MISFIT:WOPR_OP1_144,MISFIT:WOPR_OP1_190,MISFIT:WOPR_OP1_36,MISFIT:WOPR_OP1_72,MISFIT:WOPR_OP1_9,MISFIT:WPR_DIFF_1,MISFIT:TOTAL -0,1572.455126624968,4.663157777414048,1.2280040962512109,24.150873738474047,0.16579549917171352,16.6031985311065,0.5786173169058768,17.52338148044444,1637.3681550647357 -1,564.7325372587165,4.368782497900839,32.6530612244898,2.25,7.513238617348759,7.502955389862009,4.0,3.917211792502779,626.9377867808207 -2,760.2134646694443,0.6758601761400266,0.0495481141274234,0.878978328860087,0.53148428819629,10.315068719501141,0.5691876200100965,21.326953031224996,794.5605449475045 -3,762.2886383355541,0.057372834892021204,2.003570229564708,89.39209245855437,1.0729962591656552,0.23633929814081966,1.963529806065796,4.454344394944445,861.468883616882 -4,978.68543806519,0.6099979595035421,11.1651322515757,2.3617365751122437,0.5138762294603726,41.03398708587926,0.04177266072298375,27.46179846677778,1061.8737392942219 +0,1572.4551,4.6631575,1.2280039,24.150873,0.16579537,16.603199,0.5786172,17.52338,1637.3682 +1,564.73254,4.3687825,32.65306,2.25,7.5132375,7.502955,4.0,3.917212,626.9378 +2,760.21344,0.67585987,0.04954808,0.8789783,0.53148407,10.315068,0.56918764,21.326956,794.56055 +3,762.2886,0.057372905,2.0035706,89.3921,1.0729967,0.2363393,1.9635296,4.454344,861.46875 +4,978.6854,0.60999763,11.165132,2.3617368,0.51387596,41.033993,0.04177265,27.461798,1061.8737 diff --git a/tests/ert/unit_tests/storage/migration/test_version_3.py b/tests/ert/unit_tests/storage/migration/test_version_3.py index 00576d2c76f..45c121f88db 100644 --- a/tests/ert/unit_tests/storage/migration/test_version_3.py +++ b/tests/ert/unit_tests/storage/migration/test_version_3.py @@ -19,7 +19,12 @@ def test_migrate_observations(setup_case, set_ert_config): with open_storage(ert_config.ens_path, "w") as storage: assert len(list(storage.experiments)) == 1 experiment = next(iter(storage.experiments)) - assert experiment.observations == ert_config.observations + + assert experiment.observations.keys() == ert_config.observations.keys() + assert all( + experiment.observations[k].equals(ert_config.observations[k]) + for k in experiment.observations + ) def test_migrate_gen_kw_config(setup_case, set_ert_config): diff --git a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/FWPR b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/FWPR deleted file mode 100644 index 9ab94b51f6d..00000000000 --- a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/FWPR +++ /dev/null @@ -1,2 +0,0 @@ -name,time,observations,std -RWPR,1996-01-02,0.1,0.05 diff --git a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/GEN b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/GEN deleted file mode 100644 index 3dfa01048df..00000000000 --- a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/GEN +++ /dev/null @@ -1,2 +0,0 @@ -report_step,index,observations,std -1,0,0.0,0.1 diff --git a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/gen_data b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/gen_data new file mode 100644 index 00000000000..2ed3a72563b --- /dev/null +++ b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/gen_data @@ -0,0 +1,2 @@ +,response_key,observation_key,report_step,index,observations,std +0,GEN,GEN,1,0,0.0,0.1 diff --git a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/summary b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/summary new file mode 100644 index 00000000000..18d0db311c2 --- /dev/null +++ b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/observations/summary @@ -0,0 +1,2 @@ +,response_key,observation_key,time,observations,std +0,RWPR,FWPR,1996-01-02,0.1,0.05 diff --git a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/summary_data b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/summary_data index 38b654b284c..ddb87262c2b 100644 --- a/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/summary_data +++ b/tests/ert/unit_tests/storage/snapshots/test_storage_migration/test_that_storage_matches/summary_data @@ -1,4 +1,4 @@ -time,name,realization,values +time,response_key,realization,values 1996-01-02,FOPR,0,1.1 1996-01-02,FOPR,1,1.1 1996-01-02,FOPR,2,1.1 diff --git a/tests/ert/unit_tests/storage/test_local_storage.py b/tests/ert/unit_tests/storage/test_local_storage.py index b30b44ec5a4..1b2e4cb38c7 100644 --- a/tests/ert/unit_tests/storage/test_local_storage.py +++ b/tests/ert/unit_tests/storage/test_local_storage.py @@ -11,6 +11,7 @@ import hypothesis.strategies as st import numpy as np +import polars import pytest import xarray as xr from hypothesis import assume, given @@ -88,25 +89,18 @@ def test_that_saving_empty_responses_fails_nicely(tmp_path): ValueError, match="Dataset for response group 'RESPONSE' must contain a 'values' variable", ): - ensemble.save_response( - "RESPONSE", - xr.Dataset(), - 0, - ) + ensemble.save_response("RESPONSE", polars.DataFrame(), 0) # Test for dataset with 'values' but no actual data - empty_data = xr.Dataset( + empty_data = polars.DataFrame( { - "values": ( - ["report_step", "index"], - np.array([], dtype=float).reshape(0, 0), - ) - }, - coords={ - "index": np.array([], dtype=int), - "report_step": np.array([], dtype=int), - }, + "response_key": [], + "report_step": [], + "index": [], + "values": [], + } ) + with pytest.raises( ValueError, match="Responses RESPONSE are empty. Cannot proceed with saving to storage.", @@ -762,15 +756,13 @@ def save_summary(self, model_ensemble: Ensemble, summary_data): @rule(model_ensemble=ensembles) def get_responses(self, model_ensemble: Ensemble): storage_ensemble = self.storage.get_ensemble(model_ensemble.uuid) - names = model_ensemble.response_values.keys() + response_types = model_ensemble.response_values.keys() iens = 0 - for n in names: - data = storage_ensemble.load_responses(n, (iens,)) - xr.testing.assert_equal( - model_ensemble.response_values[n], - data.isel(realization=0, drop=True), - ) + for response_type in response_types: + ensemble_data = storage_ensemble.load_responses(response_type, (iens,)) + model_data = model_ensemble.response_values[response_type] + assert ensemble_data.equals(model_data) @rule(model_ensemble=ensembles, parameter=words) def load_unknown_parameter(self, model_ensemble: Ensemble, parameter: str): @@ -844,7 +836,7 @@ def get_experiment(self, model_experiment: Experiment): ) for obskey, obs in model_experiment.observations.items(): assert obskey in storage_experiment.observations - xr.testing.assert_allclose(obs, storage_experiment.observations[obskey]) + assert obs.equals(storage_experiment.observations[obskey]) @rule(model_ensemble=ensembles) def get_ensemble(self, model_ensemble: Ensemble): diff --git a/tests/ert/unit_tests/storage/test_storage_migration.py b/tests/ert/unit_tests/storage/test_storage_migration.py index 9201d36b356..4d526045845 100644 --- a/tests/ert/unit_tests/storage/test_storage_migration.py +++ b/tests/ert/unit_tests/storage/test_storage_migration.py @@ -169,19 +169,23 @@ def test_that_storage_matches( tuple(ensemble.get_realization_list_with_responses("summary")), ) snapshot.assert_match( - summary_data.to_dataframe(dim_order=["time", "name", "realization"]) + summary_data.sort("time", "response_key", "realization") + .to_pandas() + .set_index(["time", "response_key", "realization"]) .transform(np.sort) .to_csv(), "summary_data", ) snapshot.assert_match_dir( { - key: value.to_dataframe().to_csv() + key: value.to_pandas().to_csv() for key, value in experiment.observations.items() }, "observations", ) + assert ensemble.get_summary_keyset() == ["FOPR"] + @pytest.mark.integration_test @pytest.mark.usefixtures("copy_shared") diff --git a/tests/ert/unit_tests/test_load_forward_model.py b/tests/ert/unit_tests/test_load_forward_model.py index 706ec11a0fb..ada18db7e77 100644 --- a/tests/ert/unit_tests/test_load_forward_model.py +++ b/tests/ert/unit_tests/test_load_forward_model.py @@ -4,6 +4,7 @@ from textwrap import dedent import numpy as np +import polars import pytest from resdata.summary import Summary @@ -166,13 +167,9 @@ def test_load_forward_model_gen_data(setup_case): facade = LibresFacade(config) facade.load_from_forward_model(prior_ensemble, [True], 0) - assert list( - prior_ensemble.load_responses("RESPONSE", (0,)) - .sel(report_step=0, drop=True) - .to_dataframe() - .dropna() - .values.flatten() - ) == [1.0, 3.0] + df = prior_ensemble.load_responses("gen_data", (0,)) + filter_cond = polars.col("report_step").eq(0), polars.col("values").is_not_nan() + assert df.filter(filter_cond)["values"].to_list() == [1.0, 3.0] def test_single_valued_gen_data_with_active_info_is_loaded(setup_case): @@ -192,9 +189,8 @@ def test_single_valued_gen_data_with_active_info_is_loaded(setup_case): facade = LibresFacade(config) facade.load_from_forward_model(prior_ensemble, [True], 0) - assert list( - prior_ensemble.load_responses("RESPONSE", (0,)).to_dataframe().values.flatten() - ) == [1.0] + df = prior_ensemble.load_responses("RESPONSE", (0,)) + assert df["values"].to_list() == [1.0] def test_that_all_deactivated_values_are_loaded(setup_case): @@ -214,10 +210,8 @@ def test_that_all_deactivated_values_are_loaded(setup_case): facade = LibresFacade(config) facade.load_from_forward_model(prior_ensemble, [True], 0) - response = ( - prior_ensemble.load_responses("RESPONSE", (0,)).to_dataframe().values.flatten() - ) - assert np.isnan(response[0]) + response = prior_ensemble.load_responses("RESPONSE", (0,)) + assert np.isnan(response[0]["values"].to_list()) assert len(response) == 1 @@ -254,12 +248,9 @@ def test_loading_gen_data_without_restart(storage, run_paths, run_args): facade = LibresFacade.from_config_file("config.ert") facade.load_from_forward_model(prior_ensemble, [True], 0) - assert list( - prior_ensemble.load_responses("RESPONSE", (0,)) - .to_dataframe() - .dropna() - .values.flatten() - ) == [1.0, 3.0] + df = prior_ensemble.load_responses("RESPONSE", (0,)) + df_no_nans = df.filter(polars.col("values").is_not_nan()) + assert df_no_nans["values"].to_list() == [1.0, 3.0] @pytest.mark.usefixtures("copy_snake_oil_case_storage") diff --git a/tests/ert/unit_tests/test_summary_response.py b/tests/ert/unit_tests/test_summary_response.py index cdcf01a7be9..8f57fa0d231 100644 --- a/tests/ert/unit_tests/test_summary_response.py +++ b/tests/ert/unit_tests/test_summary_response.py @@ -51,13 +51,12 @@ def test_load_summary_response_restart_not_zero( facade = LibresFacade.from_config_file("config.ert") facade.load_from_forward_model(ensemble, [True], 0) - df = ensemble.load_responses("summary", (0,)).to_dataframe() - df = df.unstack(level="name") - df.columns = [col[1] for col in df.columns.values] - df.index = df.index.rename( - {"time": "Date", "realization": "Realization"} - ).reorder_levels(["Realization", "Date"]) + df = ensemble.load_responses("summary", (0,)) + df = df.pivot(on="response_key", values="values") + df = df[df.columns[:17]] + df = df.rename({"time": "Date", "realization": "Realization"}) + snapshot.assert_match( - df.dropna().iloc[:, :15].to_csv(), + df.to_pandas().to_csv(index=False), "summary_restart", )