From 01637d8a6d2d3b5e07fe9727c4b6816a354cbc37 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 14:14:13 +0100 Subject: [PATCH 01/11] Added option to run multiple analytics workflows during history matching --- src/flownet/config_parser/_config_parser.py | 59 +++++++++++-------- src/flownet/ert/_create_ert_setup.py | 40 ++++++++----- .../static/SAVE_ITERATION_ANALYTICS_WORKFLOW | 1 - .../SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 | 1 + src/flownet/templates/ahm_config.ert.jinja2 | 21 +++---- 5 files changed, 70 insertions(+), 52 deletions(-) delete mode 100644 src/flownet/static/SAVE_ITERATION_ANALYTICS_WORKFLOW create mode 100644 src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 diff --git a/src/flownet/config_parser/_config_parser.py b/src/flownet/config_parser/_config_parser.py index c55ffa529..70a8d6d91 100644 --- a/src/flownet/config_parser/_config_parser.py +++ b/src/flownet/config_parser/_config_parser.py @@ -553,31 +553,42 @@ def _to_abs_path(path: Optional[str]) -> str: "and webviz", }, "analysis": { - MK.Type: types.NamedDict, + MK.Type: types.List, MK.Content: { - "metric": { - MK.Type: types.List, - MK.Content: { - MK.Item: {MK.Type: types.String, MK.AllowNone: True} - }, - MK.Transformation: _to_upper, - MK.Description: "List of accuracy metrics to be computed " - "in FlowNet analysis workflow", - }, - "quantity": { - MK.Type: types.List, + MK.Item: { + MK.Type: types.NamedDict, MK.Content: { - MK.Item: {MK.Type: types.String, MK.AllowNone: True} + "metric": { + MK.Type: types.List, + MK.Content: { + MK.Item: { + MK.Type: types.String, + MK.AllowNone: True, + } + }, + MK.Transformation: _to_upper, + MK.Description: "List of accuracy metrics to be computed " + "in FlowNet analysis workflow", + }, + "quantity": { + MK.Type: types.List, + MK.Content: { + MK.Item: { + MK.Type: types.String, + MK.AllowNone: True, + } + }, + MK.Transformation: _to_upper, + MK.Description: "List of summary vectors for which accuracy " + "is to be computed", + }, + "start": {MK.Type: types.Date, MK.AllowNone: True}, + "end": {MK.Type: types.Date, MK.AllowNone: True}, + "outfile": { + MK.Type: types.String, + MK.AllowNone: True, + }, }, - MK.Transformation: _to_upper, - MK.Description: "List of summary vectors for which accuracy " - "is to be computed", - }, - "start": {MK.Type: types.Date, MK.AllowNone: True}, - "end": {MK.Type: types.Date, MK.AllowNone: True}, - "outfile": { - MK.Type: types.String, - MK.AllowNone: True, }, }, }, @@ -1856,8 +1867,8 @@ def parse_config( ) if ( - config.ert.analysis.metric - and config.flownet.hyperopt.loss.metric not in config.ert.analysis.metric + config.ert.analysis[0].metric + and config.flownet.hyperopt.loss.metric not in config.ert.analysis[0].metric ): raise ValueError( f"Key {config.flownet.hyperopt.loss.metric} is not defined as an analysis" diff --git a/src/flownet/ert/_create_ert_setup.py b/src/flownet/ert/_create_ert_setup.py index 6296bba26..87a6ba411 100644 --- a/src/flownet/ert/_create_ert_setup.py +++ b/src/flownet/ert/_create_ert_setup.py @@ -206,13 +206,6 @@ def create_ert_setup( # pylint: disable=too-many-arguments with open(output_folder / "parameters.pickled", "wb") as fh: pickle.dump(parameters, fh) - if hasattr(config.ert, "analysis"): - analysis_metric = "[" + ",".join(list(config.ert.analysis.metric)) + "]" - analysis_quantity = "[" + ",".join(list(config.ert.analysis.quantity)) + "]" - else: - analysis_metric = str(None) - analysis_quantity = str(None) - configuration = { "pickled_network": output_folder.resolve() / "network.pickled", "pickled_schedule": output_folder.resolve() / "schedule.pickled", @@ -221,8 +214,6 @@ def create_ert_setup( # pylint: disable=too-many-arguments "random_seed": None, "debug": args.debug if hasattr(args, "debug") else False, "pred_schedule_file": getattr(config.ert, "pred_schedule_file", None), - "analysis_metric": analysis_metric, - "analysis_quantity": analysis_quantity, } if not prediction_setup: @@ -263,16 +254,36 @@ def create_ert_setup( # pylint: disable=too-many-arguments else config.ert.static_include_files ) - shutil.copyfile( - _MODULE_FOLDER / ".." / "static" / "SAVE_ITERATION_ANALYTICS_WORKFLOW", - output_folder / "SAVE_ITERATION_ANALYTICS_WORKFLOW", - ) - shutil.copyfile( _MODULE_FOLDER / ".." / "static" / "SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB", output_folder / "SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB", ) + analytics_workflow_template = _TEMPLATE_ENVIRONMENT.get_template( + "SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2" + ) + for i, analysis_item in enumerate(config.ert.analysis): + with open(output_folder / f"SAVE_ITERATION_ANALYTICS_WORKFLOW_{i}", "w") as fh: + fh.write( + analytics_workflow_template.render( + { + "reference_simulation": path_ref_sim, + "perforation_strategy": config.flownet.perforation_handling_strategy, + "run_path": config.ert.runpath, + "ecl_base": config.ert.eclbase, + "analysis_start": analysis_item.start, + "analysis_end": analysis_item.end, + "analysis_quantity": "[" + + ",".join(list(analysis_item.quantity)) + + "]", + "analysis_metric": "[" + + ",".join(list(analysis_item.metric)) + + "]", + "analysis_outfile": analysis_item.outfile, + } + ) + ) + shutil.copyfile(args.config, output_folder / args.config.name) with open(os.path.join(output_folder, "pipfreeze.output"), "w") as fh: subprocess.call(["pip", "freeze"], stdout=fh) @@ -285,6 +296,7 @@ def create_ert_setup( # pylint: disable=too-many-arguments else: # Otherwise create an empty one. (output_folder / f"{section}.inc").touch() + if not prediction_setup: if parameters is not None: create_observation_file( diff --git a/src/flownet/static/SAVE_ITERATION_ANALYTICS_WORKFLOW b/src/flownet/static/SAVE_ITERATION_ANALYTICS_WORKFLOW deleted file mode 100644 index 54646075a..000000000 --- a/src/flownet/static/SAVE_ITERATION_ANALYTICS_WORKFLOW +++ /dev/null @@ -1 +0,0 @@ -SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB diff --git a/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 b/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 new file mode 100644 index 000000000..eb36c232b --- /dev/null +++ b/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 @@ -0,0 +1 @@ +SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB {{ reference_simulation }} {{ perforation_strategy }} {{ run_path }} {{ ecl_base }} {{ analysis_start }} {{ analysis_end }} {{ analysis_quantity }} {{ analysis_metric }} {{ analysis_outfile }} \ No newline at end of file diff --git a/src/flownet/templates/ahm_config.ert.jinja2 b/src/flownet/templates/ahm_config.ert.jinja2 index ec16fdf3a..bb80545af 100644 --- a/src/flownet/templates/ahm_config.ert.jinja2 +++ b/src/flownet/templates/ahm_config.ert.jinja2 @@ -3,20 +3,11 @@ INSTALL_JOB DELETE_IN_CURRENT_ITERATION ./DELETE_IN_CURRENT_ITERATION REFCASE /SYNTHETIC_REFCASE -{%- if config.ert.analysis.metric: %} -DEFINE {{ analysis_metric }} -DEFINE {{ analysis_quantity }} -DEFINE {{ config.ert.analysis.start }} -DEFINE {{ config.ert.analysis.end }} -DEFINE {{ config.ert.analysis.outfile }} -DEFINE {{ config.flownet.perforation_handling_strategy }} -DEFINE {{ reference_simulation }} -{%- endif %} + DEFINE {{ config.ert.runpath }} DEFINE {{ config.ert.eclbase }} DEFINE ./parameters.json - INSTALL_JOB CREATE_FLOWNET_MODEL ./CREATE_FLOWNET_MODEL {%- if not debug: %} INSTALL_JOB DELETE_IN_CURRENT_ITERATION ./DELETE_IN_CURRENT_ITERATION @@ -25,10 +16,14 @@ INSTALL_JOB DELETE_IN_CURRENT_ITERATION ./DELETE_IN_CURRENT_ITERATION LOAD_WORKFLOW_JOB ./SAVE_ITERATION_PARAMETERS_WORKFLOW_JOB LOAD_WORKFLOW SAVE_ITERATION_PARAMETERS_WORKFLOW HOOK_WORKFLOW SAVE_ITERATION_PARAMETERS_WORKFLOW PRE_SIMULATION -{%- if config.ert.analysis.metric: %} + +{%- if config.ert.analysis[0].metric: %} LOAD_WORKFLOW_JOB ./SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB -LOAD_WORKFLOW SAVE_ITERATION_ANALYTICS_WORKFLOW -HOOK_WORKFLOW SAVE_ITERATION_ANALYTICS_WORKFLOW POST_SIMULATION + +{% for item in config.ert.analysis %} +LOAD_WORKFLOW SAVE_ITERATION_ANALYTICS_WORKFLOW_{{ loop.index - 1 }} +HOOK_WORKFLOW SAVE_ITERATION_ANALYTICS_WORKFLOW_{{ loop.index - 1 }} POST_SIMULATION +{% endfor %} {%- endif %} GEN_KW FLOWNET_PARAMETERS ./EMPTYFILE ./EMPTYFILE ./parameters.ertparam From 2fa32d4eba08ace8f158e98a60096c6f74d71977 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 14:45:23 +0100 Subject: [PATCH 02/11] Added changelog item --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfef70333..d31f6abdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#272](https://github.com/equinor/flownet/pull/272) Adds resampling of observation dates at requested frequency by finding nearest date among existing observation dates (i.e., no interpolated dates added) ### Changes +- [#337](https://github.com/equinor/flownet/pull/337) You can now add multiple analytics workflows in your FlowNet config. This is also a breaking change in that it requires you to change the ert.analysis keyword to being a list. - [#322](https://github.com/equinor/flownet/pull/322) RSVD input through csv files can now be done either as one table used for all EQLNUM regions, or as one table for each EQLNUM region. The csv file needs a header with column names "depth", "rs" and "eqlnum" (the latter only when multiple tables are defined). ## [0.4.0] - 2020-11-18 From 8f3bc144da9ac191c10ac3450f37af850c2d7a2d Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 14:46:18 +0100 Subject: [PATCH 03/11] Made sure that if no analysis is request there are no errors --- src/flownet/config_parser/_config_parser.py | 19 ++++++++++++++++--- src/flownet/templates/ahm_config.ert.jinja2 | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/flownet/config_parser/_config_parser.py b/src/flownet/config_parser/_config_parser.py index 70a8d6d91..5feeab03a 100644 --- a/src/flownet/config_parser/_config_parser.py +++ b/src/flownet/config_parser/_config_parser.py @@ -554,9 +554,11 @@ def _to_abs_path(path: Optional[str]) -> str: }, "analysis": { MK.Type: types.List, + MK.Description: "List of analysis workflows to run.", MK.Content: { MK.Item: { MK.Type: types.NamedDict, + MK.Description: "Definitions of the analysis workflow.", MK.Content: { "metric": { MK.Type: types.List, @@ -582,11 +584,21 @@ def _to_abs_path(path: Optional[str]) -> str: MK.Description: "List of summary vectors for which accuracy " "is to be computed", }, - "start": {MK.Type: types.Date, MK.AllowNone: True}, - "end": {MK.Type: types.Date, MK.AllowNone: True}, + "start": { + MK.Type: types.Date, + MK.AllowNone: True, + MK.Description: "Start date in YYYY-MM-DD format.", + }, + "end": { + MK.Type: types.Date, + MK.AllowNone: True, + MK.Description: "End date in YYYY-MM-DD format.", + }, "outfile": { MK.Type: types.String, MK.AllowNone: True, + MK.Description: "The filename of the output of the workflow. " + "In case multiple analysis workflows are run this name should be unique.", }, }, }, @@ -1867,7 +1879,8 @@ def parse_config( ) if ( - config.ert.analysis[0].metric + hasattr(config.ert, "analysis") + and len(config.ert.analysis) and config.flownet.hyperopt.loss.metric not in config.ert.analysis[0].metric ): raise ValueError( diff --git a/src/flownet/templates/ahm_config.ert.jinja2 b/src/flownet/templates/ahm_config.ert.jinja2 index bb80545af..36103c368 100644 --- a/src/flownet/templates/ahm_config.ert.jinja2 +++ b/src/flownet/templates/ahm_config.ert.jinja2 @@ -17,7 +17,7 @@ LOAD_WORKFLOW_JOB ./SAVE_ITERATION_PARAMETERS_WORKFLOW_JOB LOAD_WORKFLOW SAVE_ITERATION_PARAMETERS_WORKFLOW HOOK_WORKFLOW SAVE_ITERATION_PARAMETERS_WORKFLOW PRE_SIMULATION -{%- if config.ert.analysis[0].metric: %} +{%- if config.ert.analysis: %} LOAD_WORKFLOW_JOB ./SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB {% for item in config.ert.analysis %} From e0cb2a060b9c339ea4412e8c9a35399e2e22af27 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 14:46:34 +0100 Subject: [PATCH 04/11] Added blank line --- src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 b/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 index eb36c232b..3b75805fa 100644 --- a/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 +++ b/src/flownet/templates/SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2 @@ -1 +1 @@ -SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB {{ reference_simulation }} {{ perforation_strategy }} {{ run_path }} {{ ecl_base }} {{ analysis_start }} {{ analysis_end }} {{ analysis_quantity }} {{ analysis_metric }} {{ analysis_outfile }} \ No newline at end of file +SAVE_ITERATION_ANALYTICS_WORKFLOW_JOB {{ reference_simulation }} {{ perforation_strategy }} {{ run_path }} {{ ecl_base }} {{ analysis_start }} {{ analysis_end }} {{ analysis_quantity }} {{ analysis_metric }} {{ analysis_outfile }} From c4729f6ae936170693eedffdc7c43d8a5305211f Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 15:01:11 +0100 Subject: [PATCH 05/11] Test new analysis keyword in CI/CD --- .github/workflows/flownet.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flownet.yml b/.github/workflows/flownet.yml index 633da7a33..9d6e2b51d 100644 --- a/.github/workflows/flownet.yml +++ b/.github/workflows/flownet.yml @@ -40,10 +40,10 @@ jobs: INPUT_MODEL_FOLDER: ./flownet-testdata/${{ matrix.flownet-model }}/input_model # If you want the CI to (temporarily) run against your fork of the testdada, # change the value her from "equinor" to your username. - TESTDATA_REPO_OWNER: equinor + TESTDATA_REPO_OWNER: wouterjdb # If you want the CI to (temporarily) run against another branch than master, # change the value her from "master" to the relevant branch name. - TESTDATA_REPO_BRANCH: master + TESTDATA_REPO_BRANCH: add-new-analysis-defs run: | git clone --depth 1 --branch $TESTDATA_REPO_BRANCH https://github.com/$TESTDATA_REPO_OWNER/flownet-testdata.git --recursive for f in $INPUT_MODEL_FOLDER/*.tar.gz; do tar -zxvf "$f" -C $INPUT_MODEL_FOLDER; done From e5f4eae5eafb79d1a42d0de1d48e3da56265e9d1 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 15:14:53 +0100 Subject: [PATCH 06/11] Fix hyperopt issues with new analysis keyword --- src/flownet/config_parser/_config_parser.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/flownet/config_parser/_config_parser.py b/src/flownet/config_parser/_config_parser.py index 5feeab03a..c52995381 100644 --- a/src/flownet/config_parser/_config_parser.py +++ b/src/flownet/config_parser/_config_parser.py @@ -1873,14 +1873,17 @@ def parse_config( ) for key in config.flownet.hyperopt.loss.keys: - if not key in config.ert.analysis.quantity: + if ( + not len(config.ert.analysis) > 0 + or not key in config.ert.analysis[0].quantity + ): raise ValueError( f"Key {key} is not defined as an analysis quantity ({config.flownet.hyperopt.loss.keys})." ) if ( hasattr(config.ert, "analysis") - and len(config.ert.analysis) + and len(config.ert.analysis) > 0 and config.flownet.hyperopt.loss.metric not in config.ert.analysis[0].metric ): raise ValueError( From 2d1998308490ec8eaa917fb8944f8ecb94629018 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 15:23:25 +0100 Subject: [PATCH 07/11] Use first analytics item defined in hyperopt --- src/flownet/hyperparameter/_run_hyper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flownet/hyperparameter/_run_hyper.py b/src/flownet/hyperparameter/_run_hyper.py index c44a471ac..ee843388a 100644 --- a/src/flownet/hyperparameter/_run_hyper.py +++ b/src/flownet/hyperparameter/_run_hyper.py @@ -88,7 +88,7 @@ def flownet_ahm_run(x: list, args: argparse.Namespace): run_flownet_history_matching(config, run_args) df_analytics = pd.read_csv( - (run_args.output_folder / config.ert.analysis.outfile).with_suffix(".csv") + (run_args.output_folder / config.ert.analysis[0].outfile).with_suffix(".csv") ).drop_duplicates() hyperopt_loss = 0.0 From 9f3cd0679544a8da448f3300a50fcf856533163c Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 15:27:13 +0100 Subject: [PATCH 08/11] black --- src/flownet/hyperparameter/_run_hyper.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/flownet/hyperparameter/_run_hyper.py b/src/flownet/hyperparameter/_run_hyper.py index ee843388a..dee1e6bda 100644 --- a/src/flownet/hyperparameter/_run_hyper.py +++ b/src/flownet/hyperparameter/_run_hyper.py @@ -88,7 +88,9 @@ def flownet_ahm_run(x: list, args: argparse.Namespace): run_flownet_history_matching(config, run_args) df_analytics = pd.read_csv( - (run_args.output_folder / config.ert.analysis[0].outfile).with_suffix(".csv") + (run_args.output_folder / config.ert.analysis[0].outfile).with_suffix( + ".csv" + ) ).drop_duplicates() hyperopt_loss = 0.0 From b13c8912fa49c938cd8cad8c072d773d962547d9 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Thu, 25 Feb 2021 15:38:44 +0100 Subject: [PATCH 09/11] Check if attr exists --- src/flownet/ert/_create_ert_setup.py | 43 +++++++++++++++------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/src/flownet/ert/_create_ert_setup.py b/src/flownet/ert/_create_ert_setup.py index 87a6ba411..6c4a971ea 100644 --- a/src/flownet/ert/_create_ert_setup.py +++ b/src/flownet/ert/_create_ert_setup.py @@ -262,27 +262,30 @@ def create_ert_setup( # pylint: disable=too-many-arguments analytics_workflow_template = _TEMPLATE_ENVIRONMENT.get_template( "SAVE_ITERATION_ANALYTICS_WORKFLOW.jinja2" ) - for i, analysis_item in enumerate(config.ert.analysis): - with open(output_folder / f"SAVE_ITERATION_ANALYTICS_WORKFLOW_{i}", "w") as fh: - fh.write( - analytics_workflow_template.render( - { - "reference_simulation": path_ref_sim, - "perforation_strategy": config.flownet.perforation_handling_strategy, - "run_path": config.ert.runpath, - "ecl_base": config.ert.eclbase, - "analysis_start": analysis_item.start, - "analysis_end": analysis_item.end, - "analysis_quantity": "[" - + ",".join(list(analysis_item.quantity)) - + "]", - "analysis_metric": "[" - + ",".join(list(analysis_item.metric)) - + "]", - "analysis_outfile": analysis_item.outfile, - } + if hasattr(config.ert, "analysis"): + for i, analysis_item in enumerate(config.ert.analysis): + with open( + output_folder / f"SAVE_ITERATION_ANALYTICS_WORKFLOW_{i}", "w" + ) as fh: + fh.write( + analytics_workflow_template.render( + { + "reference_simulation": path_ref_sim, + "perforation_strategy": config.flownet.perforation_handling_strategy, + "run_path": config.ert.runpath, + "ecl_base": config.ert.eclbase, + "analysis_start": analysis_item.start, + "analysis_end": analysis_item.end, + "analysis_quantity": "[" + + ",".join(list(analysis_item.quantity)) + + "]", + "analysis_metric": "[" + + ",".join(list(analysis_item.metric)) + + "]", + "analysis_outfile": analysis_item.outfile, + } + ) ) - ) shutil.copyfile(args.config, output_folder / args.config.name) with open(os.path.join(output_folder, "pipfreeze.output"), "w") as fh: From ea53b66fdd8261319b12bea8d9db1f6f0efe9891 Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Fri, 26 Feb 2021 10:30:27 +0100 Subject: [PATCH 10/11] Add comment that hyperopt looks at first analysis workflow --- src/flownet/config_parser/_config_parser.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/flownet/config_parser/_config_parser.py b/src/flownet/config_parser/_config_parser.py index c52995381..b2f643d52 100644 --- a/src/flownet/config_parser/_config_parser.py +++ b/src/flownet/config_parser/_config_parser.py @@ -453,6 +453,8 @@ def _to_abs_path(path: Optional[str]) -> str: }, "loss": { MK.Type: types.NamedDict, + MK.Description: "Definition of the hyperopt loss function. The definitions " + "refer to the first analysis workflow ONLY.", MK.Content: { "keys": { MK.Type: types.List, From 0aaabf5206752dd646755953dea07adf477191de Mon Sep 17 00:00:00 2001 From: "Wouter J. de Bruin" Date: Fri, 26 Feb 2021 10:31:16 +0100 Subject: [PATCH 11/11] Put back equinor:master --- .github/workflows/flownet.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flownet.yml b/.github/workflows/flownet.yml index 9d6e2b51d..633da7a33 100644 --- a/.github/workflows/flownet.yml +++ b/.github/workflows/flownet.yml @@ -40,10 +40,10 @@ jobs: INPUT_MODEL_FOLDER: ./flownet-testdata/${{ matrix.flownet-model }}/input_model # If you want the CI to (temporarily) run against your fork of the testdada, # change the value her from "equinor" to your username. - TESTDATA_REPO_OWNER: wouterjdb + TESTDATA_REPO_OWNER: equinor # If you want the CI to (temporarily) run against another branch than master, # change the value her from "master" to the relevant branch name. - TESTDATA_REPO_BRANCH: add-new-analysis-defs + TESTDATA_REPO_BRANCH: master run: | git clone --depth 1 --branch $TESTDATA_REPO_BRANCH https://github.com/$TESTDATA_REPO_OWNER/flownet-testdata.git --recursive for f in $INPUT_MODEL_FOLDER/*.tar.gz; do tar -zxvf "$f" -C $INPUT_MODEL_FOLDER; done