subscript 1.13.1__tar.gz → 1.14.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {subscript-1.13.1 → subscript-1.14.1}/.github/workflows/codecov.yml +13 -7
- {subscript-1.13.1 → subscript-1.14.1}/.github/workflows/subscript.yml +11 -12
- {subscript-1.13.1 → subscript-1.14.1}/PKG-INFO +4 -4
- {subscript-1.13.1 → subscript-1.14.1}/pyproject.toml +13 -9
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/check_swatinit.py +23 -21
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/plotter.py +7 -7
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv2ofmvol/csv2ofmvol.py +2 -2
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_merge/csv_merge.py +1 -1
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_stack/csv_stack.py +1 -1
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/field_statistics/field_statistics.py +48 -11
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/parsers.py +1 -2
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/writers.py +33 -32
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/interp_relperm/interp_relperm.py +4 -4
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +2 -2
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/params2csv/params2csv.py +3 -4
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/presentvalue/presentvalue.py +12 -9
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/prtvol2csv/prtvol2csv.py +54 -11
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/restartthinner/restartthinner.py +1 -1
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/summaryplot/summaryplot.py +32 -39
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/version.py +16 -3
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/vfp2csv/vfp2csv.py +5 -5
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/PKG-INFO +4 -4
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/SOURCES.txt +14 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/requires.txt +3 -3
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args0.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args1.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args10.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args11.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args2.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args3.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args4.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args5.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args6.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args7.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args8.png +0 -0
- subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args9.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_check_swatinit.py +4 -4
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_check_swatinit_simulators.py +9 -9
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_csv_stack.py +4 -4
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_field_statistics.py +22 -6
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmuobs.py +16 -19
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_merge_rft_ertobs.py +2 -2
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_ofmvol2csv.py +3 -2
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_params2csv.py +4 -4
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_presentvalue.py +1 -1
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_prtvol2csv.py +42 -12
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_summaryplot.py +32 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/config_example.yml +1 -0
- subscript-1.14.1/tests/testdata_prtvol2csv/0readme.txt +17 -0
- subscript-1.14.1/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE.PRT +4189 -0
- subscript-1.14.1/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE_FLOW.PRT +4089 -0
- subscript-1.13.1/tests/testdata_prtvol2csv/0readme.txt +0 -12
- {subscript-1.13.1 → subscript-1.14.1}/.github/workflows/publish.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/.gitignore +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/.pylintrc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/LICENSE +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/README.md +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/SECURITY.md +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/ci/testkomodo.sh +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/Makefile +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor-logo.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor-logo2.jpg +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor-logo2.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor_logo.jpg +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor_logo_only.jpg +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/_templates/layout.html +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/conf.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/contributing.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/history.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/index.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/make.bat +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/overview.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/bjobsusers.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/casegen_upcars.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/check_swatinit.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/convert_grid_format.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/csv2ofmvol.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/csv_merge.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/csv_stack.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/eclcompress.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/ecldiff2roff.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/field_statistics.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/fmu_copy_revision.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/fmuobs.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/grav_subs_maps.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/grav_subs_points.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Pack_sim_overview.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Summaryplot-ert.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/check_swatinit_scatter.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/check_swatinit_volplot.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/ecl-swat-initialization.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/interp_relperm.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/merge_rft_ertobs.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/merge_unrst_files.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/ofmvol2csv.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/pack_sim.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/params2csv.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/presentvalue.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/prtvol2csv.csv +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/prtvol2csv.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/restartthinner.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/ri_wellmod.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/rmsecl_volumetrics.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/sector2fluxnum.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/summaryplot.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/sunsch.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/sw_model_utilities.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/vfp2csv.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/welltest_dpds.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/docs/usage.rst +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/setup.cfg +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/bjobsusers/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/bjobsusers/bjobsusers.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/casegen_upcars.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/model.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/udf.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/constants.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/pillarmodel.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/convert_grid_format/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/convert_grid_format/convert_grid_format.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv2ofmvol/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_merge/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_stack/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/eclcompress/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/eclcompress/allowlist.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/eclcompress/eclcompress.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ecldiff2roff/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ecldiff2roff/ecldiff2roff.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/field_statistics/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmu_copy_revision/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/fmuobs.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/util.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_maps/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_maps/grav_subs_maps.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_points/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_points/grav_subs_points.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/hook_implementations/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/hook_implementations/forward_model_steps.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/interp_relperm/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/duf +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/eclmanual +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/ertwatch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/list_rms_usage +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/nosim +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/runeclipse +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_unrst_files/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_unrst_files/merge_unrst_files.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ofmvol2csv/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ofmvol2csv/ofmvol2csv.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/pack_sim/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/pack_sim/pack_sim.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/params2csv/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/presentvalue/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/prtvol2csv/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/restartthinner/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ri_wellmod/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ri_wellmod/ri_wellmod.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/completions.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/datafile_obj.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/flux_util.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/fluxfile_obj.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/summaryplot/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sunsch/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sunsch/sunsch.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sunsch/time_vector.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sw_model_utilities/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sw_model_utilities/sw_model_utilities.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/vfp2csv/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/welltest_dpds/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript/welltest_dpds/welltest_dpds.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/dependency_links.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/entry_points.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/top_level.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/__init__.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/conftest.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/parameters.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/parameters.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/rms/README +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/vfp/GasProd.VFP +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/vfp/pd2.VFP +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_bjobsusers.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_casegen_upcars.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_convert_grid_format.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_csv2ofmvol.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_csv_merge.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_docs.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_eclcompress.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_ecldiff2roff.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_eclinit2roff.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmu_copy_revision.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmuobs_parsers.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmuobs_writers.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_grav_subs_maps.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_grav_subs_points.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_hook_implementations.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_interp_relperm.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_merge_unrst_files.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_pack_sim.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_restartthinner.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_ri_wellmod.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_rmsecl_volumetrics.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_sector2fluxnum.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_subscriptlogger.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_sunsch.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_sw_model_utilities.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_vfp2csv.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/test_welltest_dpds.py +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ert/model/0readme +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ert-doc.csv +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ert-doc.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ert-doc.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ri-obs.csv +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/HIST.EGRID +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/HIST.INIT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/HIST.UNRST +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/global_variables.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/grav_subs_points.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/seabed.gri +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/station_coordinates.csv +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/cfg.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/swof_base.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.grid.grdecl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.ntg.grdecl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.perm.grdecl +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_trajectories/rft_wells.dat +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_trajectories/wells.dat +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_wells_noicd.rsp +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/reek_trajectories/reek_wells.dat +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/ri_reek_wells.rsp +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/config.yml +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/emptyinit.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/foo1.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/footemplate.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/initwithdates.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/merge2.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/mergeme.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/options3.sch +0 -0
- {subscript-1.13.1 → subscript-1.14.1}/tests/utils.py +0 -0
|
@@ -14,6 +14,7 @@ jobs:
|
|
|
14
14
|
env:
|
|
15
15
|
OS: ${{ matrix.os }}
|
|
16
16
|
PYTHON: '3.12'
|
|
17
|
+
UV_SYSTEM_PYTHON: 1
|
|
17
18
|
|
|
18
19
|
steps:
|
|
19
20
|
|
|
@@ -22,13 +23,19 @@ jobs:
|
|
|
22
23
|
sudo apt-get update
|
|
23
24
|
sudo apt-get install libegl1
|
|
24
25
|
|
|
25
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v5
|
|
26
27
|
|
|
27
28
|
- name: Setup Python
|
|
28
29
|
uses: actions/setup-python@v5
|
|
29
30
|
with:
|
|
30
31
|
python-version: 3.12
|
|
31
32
|
|
|
33
|
+
- name: Install uv
|
|
34
|
+
uses: astral-sh/setup-uv@v6
|
|
35
|
+
with:
|
|
36
|
+
enable-cache: true
|
|
37
|
+
python-version: "3.12"
|
|
38
|
+
|
|
32
39
|
- name: Install OPM-flow and ResInsight (for testing)
|
|
33
40
|
run: |
|
|
34
41
|
sudo apt-get install software-properties-common
|
|
@@ -40,19 +47,18 @@ jobs:
|
|
|
40
47
|
|
|
41
48
|
- name: Install subscript and test dependencies
|
|
42
49
|
run: |
|
|
43
|
-
pip install
|
|
44
|
-
pip install .[tests]
|
|
50
|
+
uv pip install ".[tests]"
|
|
45
51
|
|
|
46
|
-
- name:
|
|
52
|
+
- name: Log OPM-Flow and ResInsight version
|
|
47
53
|
run: |
|
|
48
|
-
|
|
49
|
-
ResInsight --console --
|
|
54
|
+
flow --version
|
|
55
|
+
ResInsight --console --version
|
|
50
56
|
|
|
51
57
|
- name: Generate coverage report
|
|
52
58
|
run: |
|
|
53
59
|
pytest tests --disable-warnings --cov=subscript --cov-report=xml
|
|
54
60
|
|
|
55
61
|
- name: Upload coverage to Codecov
|
|
56
|
-
uses: codecov/codecov-action@
|
|
62
|
+
uses: codecov/codecov-action@v5
|
|
57
63
|
with:
|
|
58
64
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -16,6 +16,7 @@ on:
|
|
|
16
16
|
|
|
17
17
|
env:
|
|
18
18
|
MPLBACKEND: Agg
|
|
19
|
+
UV_SYSTEM_PYTHON: 1
|
|
19
20
|
|
|
20
21
|
jobs:
|
|
21
22
|
subscript:
|
|
@@ -32,7 +33,7 @@ jobs:
|
|
|
32
33
|
sudo apt-get install libegl1
|
|
33
34
|
|
|
34
35
|
- name: Checkout commit locally
|
|
35
|
-
uses: actions/checkout@
|
|
36
|
+
uses: actions/checkout@v5
|
|
36
37
|
with:
|
|
37
38
|
fetch-depth: 0
|
|
38
39
|
|
|
@@ -41,6 +42,12 @@ jobs:
|
|
|
41
42
|
with:
|
|
42
43
|
python-version: ${{ matrix.python-version }}
|
|
43
44
|
|
|
45
|
+
- name: Install uv
|
|
46
|
+
uses: astral-sh/setup-uv@v6
|
|
47
|
+
with:
|
|
48
|
+
enable-cache: true
|
|
49
|
+
python-version: ${{ matrix.python-version }}
|
|
50
|
+
|
|
44
51
|
- name: Install OPM-flow and ResInsight (for testing)
|
|
45
52
|
run: |
|
|
46
53
|
sudo apt-get install software-properties-common
|
|
@@ -53,15 +60,7 @@ jobs:
|
|
|
53
60
|
- name: Install subscript with dependencies
|
|
54
61
|
if: ${{ always() }}
|
|
55
62
|
run: |
|
|
56
|
-
pip install
|
|
57
|
-
pip install .[tests,docs]
|
|
58
|
-
|
|
59
|
-
- name: Force correct RIPS version
|
|
60
|
-
run: |
|
|
61
|
-
ResInsight --console --help | grep "ResInsight v. 2021.06" \
|
|
62
|
-
&& pip install rips==2021.6.0.1 || true
|
|
63
|
-
ResInsight --console --help | grep "ResInsight v. 2020.10" \
|
|
64
|
-
&& pip install rips==2020.10.0.2 || true
|
|
63
|
+
uv pip install ".[tests, docs]"
|
|
65
64
|
|
|
66
65
|
- name: Log OPM-Flow and ResInsight version
|
|
67
66
|
run: |
|
|
@@ -69,7 +68,7 @@ jobs:
|
|
|
69
68
|
ResInsight --console --version
|
|
70
69
|
|
|
71
70
|
- name: List all installed packages
|
|
72
|
-
run: pip freeze
|
|
71
|
+
run: uv pip freeze
|
|
73
72
|
|
|
74
73
|
- name: Format with ruff
|
|
75
74
|
if: ${{ always() }}
|
|
@@ -85,7 +84,7 @@ jobs:
|
|
|
85
84
|
|
|
86
85
|
- name: Run tests
|
|
87
86
|
if: ${{ always() }}
|
|
88
|
-
run: pytest -n auto tests
|
|
87
|
+
run: pytest -n auto tests --mpl
|
|
89
88
|
|
|
90
89
|
- name: Syntax check documentation
|
|
91
90
|
if: ${{ always() }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subscript
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.14.1
|
|
4
4
|
Summary: Equinor's collection of subsurface reservoir modelling scripts
|
|
5
5
|
Author-email: Equinor <rnyb@equinor.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -719,8 +719,8 @@ Requires-Dist: mypy; extra == "tests"
|
|
|
719
719
|
Requires-Dist: pytest; extra == "tests"
|
|
720
720
|
Requires-Dist: pytest-cov; extra == "tests"
|
|
721
721
|
Requires-Dist: pytest-mock; extra == "tests"
|
|
722
|
+
Requires-Dist: pytest-mpl; extra == "tests"
|
|
722
723
|
Requires-Dist: pytest-xdist; extra == "tests"
|
|
723
|
-
Requires-Dist: PyQt5-sip; extra == "tests"
|
|
724
724
|
Requires-Dist: rstcheck; extra == "tests"
|
|
725
725
|
Requires-Dist: rstcheck-core; extra == "tests"
|
|
726
726
|
Requires-Dist: ruff; extra == "tests"
|
|
@@ -729,9 +729,9 @@ Requires-Dist: types-PyYAML; extra == "tests"
|
|
|
729
729
|
Requires-Dist: types-python-dateutil; extra == "tests"
|
|
730
730
|
Provides-Extra: docs
|
|
731
731
|
Requires-Dist: autoapi; extra == "docs"
|
|
732
|
-
Requires-Dist: sphinx
|
|
732
|
+
Requires-Dist: sphinx; extra == "docs"
|
|
733
733
|
Requires-Dist: sphinx-argparse; extra == "docs"
|
|
734
|
-
Requires-Dist: sphinx-autodoc-typehints
|
|
734
|
+
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
735
735
|
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
736
736
|
Requires-Dist: sphinx-togglebutton; extra == "docs"
|
|
737
737
|
Requires-Dist: sphinx_rtd_theme; extra == "docs"
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
requires = [
|
|
3
3
|
"setuptools>=45.0",
|
|
4
4
|
"setuptools_scm[toml]>=6.2",
|
|
5
|
-
"wheel>=0.38.1",
|
|
6
5
|
]
|
|
7
6
|
build-backend = "setuptools.build_meta"
|
|
8
7
|
|
|
@@ -60,8 +59,8 @@ tests = [
|
|
|
60
59
|
"pytest",
|
|
61
60
|
"pytest-cov",
|
|
62
61
|
"pytest-mock",
|
|
62
|
+
"pytest-mpl",
|
|
63
63
|
"pytest-xdist",
|
|
64
|
-
"PyQt5-sip",
|
|
65
64
|
"rstcheck",
|
|
66
65
|
"rstcheck-core",
|
|
67
66
|
"ruff",
|
|
@@ -71,9 +70,9 @@ tests = [
|
|
|
71
70
|
]
|
|
72
71
|
docs = [
|
|
73
72
|
"autoapi",
|
|
74
|
-
"sphinx
|
|
73
|
+
"sphinx",
|
|
75
74
|
"sphinx-argparse",
|
|
76
|
-
"sphinx-autodoc-typehints
|
|
75
|
+
"sphinx-autodoc-typehints",
|
|
77
76
|
"sphinx-copybutton",
|
|
78
77
|
"sphinx-togglebutton",
|
|
79
78
|
"sphinx_rtd_theme",
|
|
@@ -164,10 +163,11 @@ markers = [
|
|
|
164
163
|
ignore_directives = ["argparse", "automodule"]
|
|
165
164
|
|
|
166
165
|
[tool.ruff]
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
lint
|
|
166
|
+
src = ["src"]
|
|
167
|
+
line-length = 88
|
|
168
|
+
|
|
169
|
+
[tool.ruff.lint]
|
|
170
|
+
select = [
|
|
171
171
|
"C",
|
|
172
172
|
"E",
|
|
173
173
|
"F",
|
|
@@ -178,8 +178,12 @@ lint.select = [
|
|
|
178
178
|
"RSE",
|
|
179
179
|
"SIM",
|
|
180
180
|
"W",
|
|
181
|
+
"PD",
|
|
182
|
+
]
|
|
183
|
+
ignore = [
|
|
184
|
+
"C901",
|
|
185
|
+
"PD013",
|
|
181
186
|
]
|
|
182
|
-
line-length = 88
|
|
183
187
|
|
|
184
188
|
[tool.ruff.lint.isort]
|
|
185
189
|
combine-as-imports = true
|
|
@@ -74,21 +74,23 @@ def main() -> None:
|
|
|
74
74
|
|
|
75
75
|
if args.volplot or args.volplotfile:
|
|
76
76
|
plotter.wvol_waterfall(qc_vols)
|
|
77
|
-
if args.volplot:
|
|
78
|
-
pyplot.show()
|
|
79
77
|
if args.volplotfile:
|
|
80
78
|
print(f"Dumping volume plot to {args.volplotfile}")
|
|
81
79
|
pyplot.savefig(args.volplotfile)
|
|
80
|
+
if args.volplot:
|
|
81
|
+
pyplot.show()
|
|
82
82
|
|
|
83
|
-
if (args.plotfile or args.plot) and args.eqlnum not in qc_frame[
|
|
83
|
+
if (args.plotfile or args.plot) and args.eqlnum not in qc_frame[
|
|
84
|
+
"EQLNUM"
|
|
85
|
+
].to_numpy():
|
|
84
86
|
sys.exit(f"Error: EQLNUM {args.eqlnum} does not exist in grid. No plotting.")
|
|
85
87
|
if args.plot or args.plotfile:
|
|
86
88
|
plotter.plot_qc_panels(qc_frame[qc_frame["EQLNUM"] == args.eqlnum])
|
|
87
|
-
if args.plot:
|
|
88
|
-
pyplot.show()
|
|
89
89
|
if args.plotfile:
|
|
90
90
|
print(f"Dumping plot to {args.plotfile}")
|
|
91
91
|
pyplot.savefig(args.plotfile)
|
|
92
|
+
if args.plot:
|
|
93
|
+
pyplot.show()
|
|
92
94
|
|
|
93
95
|
|
|
94
96
|
def check_applicability(eclfiles: res2df.ResdataFiles) -> None:
|
|
@@ -129,7 +131,7 @@ def reorder_dframe_for_nonnans(dframe: pd.DataFrame) -> pd.DataFrame:
|
|
|
129
131
|
will aid data analysis application to deduce correct datatypes for
|
|
130
132
|
columns"""
|
|
131
133
|
null_count = "__NULL_COUNT__"
|
|
132
|
-
dframe[null_count] = dframe.
|
|
134
|
+
dframe[null_count] = dframe.isna().sum(axis=1)
|
|
133
135
|
return (
|
|
134
136
|
dframe.sort_values(null_count).drop(null_count, axis=1).reset_index(drop=True)
|
|
135
137
|
)
|
|
@@ -253,11 +255,11 @@ def make_qc_gridframe(eclfiles: res2df.ResdataFiles) -> pd.DataFrame:
|
|
|
253
255
|
# GLOBAL_INDEX is 0-indexed.
|
|
254
256
|
grid_df["SWATINIT_DECK"] = pd.Series(swatinit_deckdata)[
|
|
255
257
|
grid_df["GLOBAL_INDEX"].astype(int).tolist()
|
|
256
|
-
].
|
|
258
|
+
].to_numpy()
|
|
257
259
|
|
|
258
260
|
if "SWATINIT" not in grid_df:
|
|
259
261
|
# OPM-flow does not include SWATINIT in the INIT file.
|
|
260
|
-
grid_df.rename({"SWATINIT_DECK": "SWATINIT"}, axis="columns"
|
|
262
|
+
grid_df = grid_df.rename({"SWATINIT_DECK": "SWATINIT"}, axis="columns")
|
|
261
263
|
elif "SWATINIT_DECK" in grid_df:
|
|
262
264
|
# (if SWATINIT is inputted using binary data in Eclipse deck, the code above
|
|
263
265
|
# is not able to extract it)
|
|
@@ -352,7 +354,7 @@ def qc_flag(qc_frame: pd.DataFrame) -> pd.DataFrame:
|
|
|
352
354
|
qc_col[
|
|
353
355
|
(~np.isclose(qc_frame["OIP_INIT"], 0))
|
|
354
356
|
& (~np.isclose(qc_frame["SWAT"], qc_frame["SWATINIT"], atol=1e-6))
|
|
355
|
-
& (~pd.
|
|
357
|
+
& (~pd.isna(qc_frame["PC_SCALING"]))
|
|
356
358
|
] = __FINE_EQUIL__
|
|
357
359
|
|
|
358
360
|
# SWATINIT=1 above contact:
|
|
@@ -409,9 +411,7 @@ def qc_flag(qc_frame: pd.DataFrame) -> pd.DataFrame:
|
|
|
409
411
|
|
|
410
412
|
# Tag the remainder with "unknown", when/if this happens, it is a bug or a
|
|
411
413
|
# feature request:
|
|
412
|
-
qc_col.fillna(__UNKNOWN__
|
|
413
|
-
|
|
414
|
-
return qc_col
|
|
414
|
+
return qc_col.fillna(__UNKNOWN__)
|
|
415
415
|
|
|
416
416
|
|
|
417
417
|
def qc_volumes(qc_frame: pd.DataFrame) -> Dict[str, float]:
|
|
@@ -496,8 +496,10 @@ def _evaluate_pc(
|
|
|
496
496
|
np.interp(
|
|
497
497
|
swat,
|
|
498
498
|
swl
|
|
499
|
-
+ (satfunc[sat_name].
|
|
500
|
-
|
|
499
|
+
+ (satfunc[sat_name].to_numpy() - sw_min)
|
|
500
|
+
/ (sw_max - sw_min)
|
|
501
|
+
* (swu - swl),
|
|
502
|
+
satfunc[pc_name].to_numpy() * pc_scaling,
|
|
501
503
|
)
|
|
502
504
|
)
|
|
503
505
|
return p_cap
|
|
@@ -534,15 +536,15 @@ def compute_pc(qc_frame: pd.DataFrame, satfunc_df: pd.DataFrame) -> pd.Series:
|
|
|
534
536
|
|
|
535
537
|
for satnum, satnum_frame in qc_frame.groupby("SATNUM"):
|
|
536
538
|
if "SWLPC" in satnum_frame:
|
|
537
|
-
swls = satnum_frame["SWLPC"].
|
|
539
|
+
swls = satnum_frame["SWLPC"].to_numpy()
|
|
538
540
|
elif "SWL" in satnum_frame:
|
|
539
|
-
swls = satnum_frame["SWL"].
|
|
541
|
+
swls = satnum_frame["SWL"].to_numpy()
|
|
540
542
|
else:
|
|
541
543
|
swls = None
|
|
542
|
-
swus = satnum_frame["SWU"].
|
|
544
|
+
swus = satnum_frame["SWU"].to_numpy() if "SWU" in satnum_frame else None
|
|
543
545
|
p_cap[satnum_frame.index] = _evaluate_pc(
|
|
544
|
-
satnum_frame["SWAT"].
|
|
545
|
-
satnum_frame["PC_SCALING"].
|
|
546
|
+
satnum_frame["SWAT"].to_numpy(),
|
|
547
|
+
satnum_frame["PC_SCALING"].to_numpy(),
|
|
546
548
|
swls,
|
|
547
549
|
swus,
|
|
548
550
|
satfunc_df[satfunc_df["SATNUM"] == satnum],
|
|
@@ -596,7 +598,7 @@ def merge_equil(grid_df: pd.DataFrame, equil_df: pd.DataFrame) -> pd.DataFrame:
|
|
|
596
598
|
assert "PRESSURE" in equil_df
|
|
597
599
|
|
|
598
600
|
# Be compatible with future change in res2df:
|
|
599
|
-
equil_df.rename({"ACCURACY": "OIP_INIT"}, axis="columns"
|
|
601
|
+
equil_df = equil_df.rename({"ACCURACY": "OIP_INIT"}, axis="columns")
|
|
600
602
|
|
|
601
603
|
contacts = list({"OWC", "GOC", "GWC"}.intersection(set(equil_df.columns)))
|
|
602
604
|
# Rename and slice the equil dataframe:
|
|
@@ -607,7 +609,7 @@ def merge_equil(grid_df: pd.DataFrame, equil_df: pd.DataFrame) -> pd.DataFrame:
|
|
|
607
609
|
equil_df = equil_df[equil_df["KEYWORD"] == "EQUIL"]
|
|
608
610
|
equil_df = equil_df[["Z_DATUM", "PRESSURE_DATUM", "EQLNUM", "OIP_INIT"] + contacts]
|
|
609
611
|
equil_df["EQLNUM"] = equil_df["EQLNUM"].astype(int)
|
|
610
|
-
assert not pd.
|
|
612
|
+
assert not pd.isna(equil_df).any().any(), (
|
|
611
613
|
f"BUG: NaNs in equil dataframe:\n{equil_df}"
|
|
612
614
|
)
|
|
613
615
|
return grid_df.merge(equil_df, on="EQLNUM", how="left")
|
|
@@ -63,8 +63,8 @@ def plot_qc_panels(
|
|
|
63
63
|
pyplot.subplot(2, 2, 4)
|
|
64
64
|
pc_depth(qc_frame)
|
|
65
65
|
|
|
66
|
-
oip_init = qc_frame["OIP_INIT"].
|
|
67
|
-
eqlnum = qc_frame["EQLNUM"].
|
|
66
|
+
oip_init = qc_frame["OIP_INIT"].to_numpy()[0]
|
|
67
|
+
eqlnum = qc_frame["EQLNUM"].to_numpy()[0]
|
|
68
68
|
pyplot.suptitle(f"EQLNUM: {eqlnum}, OIP_INIT: {oip_init}")
|
|
69
69
|
if show:
|
|
70
70
|
pyplot.show()
|
|
@@ -150,15 +150,15 @@ def pc_depth(
|
|
|
150
150
|
def add_contacts_to_plot(qc_frame: pd.DataFrame, axis: pyplot.Axes) -> None:
|
|
151
151
|
"""Annotate axes with named horizontal lines for contacts."""
|
|
152
152
|
if "OWC" in qc_frame:
|
|
153
|
-
owc = qc_frame["OWC"].
|
|
153
|
+
owc = qc_frame["OWC"].to_numpy()[0] # OWC is assumed constant in the dataframe
|
|
154
154
|
axis.axhline(owc, color="black", linestyle="--", linewidth=1)
|
|
155
155
|
axis.annotate(f"OWC={owc:g}", (0, owc))
|
|
156
156
|
if "GOC" in qc_frame:
|
|
157
|
-
goc = qc_frame["GOC"].
|
|
157
|
+
goc = qc_frame["GOC"].to_numpy()[0]
|
|
158
158
|
axis.axhline(goc, color="black", linestyle="--", linewidth=1)
|
|
159
159
|
axis.annotate(f"GOC={goc:g}", (0, goc))
|
|
160
160
|
if "GWC" in qc_frame:
|
|
161
|
-
gwc = qc_frame["GWC"].
|
|
161
|
+
gwc = qc_frame["GWC"].to_numpy()[0]
|
|
162
162
|
axis.axhline(gwc, color="black", linestyle="--", linewidth=1)
|
|
163
163
|
axis.annotate(f"GWC={gwc:g}", (0, gwc))
|
|
164
164
|
|
|
@@ -199,10 +199,10 @@ def wvol_waterfall(qc_vols: Dict[str, float]) -> None:
|
|
|
199
199
|
blank.loc["SWAT_WVOL"] = 0
|
|
200
200
|
|
|
201
201
|
fig = trans.plot(kind="bar", alpha=0.7, stacked=True, legend=None, bottom=blank)
|
|
202
|
-
fig.plot(step.index, step.
|
|
202
|
+
fig.plot(step.index, step.to_numpy(), "k")
|
|
203
203
|
pyplot.gcf().subplots_adjust(bottom=0.25)
|
|
204
204
|
|
|
205
|
-
blanktrans = blank.
|
|
205
|
+
blanktrans = blank.to_numpy() + trans["volume"].to_numpy()
|
|
206
206
|
span = blank.max() - blanktrans[1:-1].min()
|
|
207
207
|
|
|
208
208
|
if np.isclose(span, 0.0):
|
|
@@ -116,7 +116,7 @@ def read_pdm_csv_files(
|
|
|
116
116
|
# Reindex:
|
|
117
117
|
data = data.set_index(["WELL", "DATE"])
|
|
118
118
|
|
|
119
|
-
if not [data.columns.
|
|
119
|
+
if not [data.columns.to_numpy()]:
|
|
120
120
|
raise ValueError("No data columns found")
|
|
121
121
|
|
|
122
122
|
# Drop duplicate multiindices (WELL, DATE)
|
|
@@ -220,7 +220,7 @@ def df2vol(data: pd.DataFrame) -> str:
|
|
|
220
220
|
|
|
221
221
|
# Fill empty cells with zeros, empty cells can stem from concatenation
|
|
222
222
|
# of dataframes with gas and water injectors.
|
|
223
|
-
voldata.fillna(value=0.0
|
|
223
|
+
voldata = voldata.fillna(value=0.0)
|
|
224
224
|
|
|
225
225
|
volstr = ""
|
|
226
226
|
volstr += "*METRIC\n"
|
|
@@ -307,7 +307,7 @@ def csv_merge_main(
|
|
|
307
307
|
if len(merged_df[col].unique()) == 1:
|
|
308
308
|
columnstodelete.append(col)
|
|
309
309
|
logger.info("Dropping constant columns %s", str(columnstodelete))
|
|
310
|
-
merged_df.drop(columnstodelete,
|
|
310
|
+
merged_df = merged_df.drop(columnstodelete, axis=1)
|
|
311
311
|
|
|
312
312
|
if merged_df.empty:
|
|
313
313
|
logger.error("No data to output")
|
|
@@ -311,7 +311,7 @@ def csv_stack(
|
|
|
311
311
|
|
|
312
312
|
# Stack the multiindex columns, this will add a lot of rows to
|
|
313
313
|
# our ensemble, and condense the number of columns
|
|
314
|
-
dframe = dframe.stack()
|
|
314
|
+
dframe = dframe.stack(future_stack=True)
|
|
315
315
|
|
|
316
316
|
# The values from non-multiindex-columns must be propagated to
|
|
317
317
|
# the rows that emerged from the stacking. If you use the
|
|
@@ -37,7 +37,7 @@ from field parameters using ERTBOX grid.
|
|
|
37
37
|
The script reads ensembles of realizations from scratch disk from
|
|
38
38
|
<RUN_PATH> directory::
|
|
39
39
|
|
|
40
|
-
share/results/grids
|
|
40
|
+
share/results/grids/<geogridname>--<propertyname>.roff.
|
|
41
41
|
|
|
42
42
|
Optionally also temporary field parameters coming from APS or petrophysical
|
|
43
43
|
field parameters can be used to calculate mean and standard deviations.
|
|
@@ -172,9 +172,13 @@ EPILOGUE = """
|
|
|
172
172
|
|
|
173
173
|
# Specify which geogrid fields to use
|
|
174
174
|
# Geogrid fields are typically found in:
|
|
175
|
-
# <RUN_PATH>/share/results/grids
|
|
175
|
+
# <RUN_PATH>/share/results/grids/<geogridname>--<property-name>.roff
|
|
176
176
|
# Optional keyword
|
|
177
177
|
geogrid_fields:
|
|
178
|
+
# Prefix (name of geogrid) to be used for field parameters related to the
|
|
179
|
+
# geogrid.
|
|
180
|
+
geogrid_name: "geogrid"
|
|
181
|
+
|
|
178
182
|
# Selected set of zone names to use in calculations of statistics.
|
|
179
183
|
# Must be one or more of the defined zones.
|
|
180
184
|
# Require at least one zone to be selected.
|
|
@@ -201,7 +205,7 @@ EPILOGUE = """
|
|
|
201
205
|
# For each zone specify which discrete parameter to use to calculate
|
|
202
206
|
# facies probability estimates.
|
|
203
207
|
# Possible names are those found in the
|
|
204
|
-
# share/results/grids
|
|
208
|
+
# share/results/grids/<geogridname>--<name>.roff
|
|
205
209
|
# files that are of discrete type.
|
|
206
210
|
# This key can be omitted or some of the lines specifying parameters
|
|
207
211
|
# for a zone if you don't want to use it.
|
|
@@ -213,7 +217,7 @@ EPILOGUE = """
|
|
|
213
217
|
# For each zone specify which continuous parameter to use to
|
|
214
218
|
# calculate estimate of mean and stdev over ensemble.
|
|
215
219
|
# Possible names are those found in the
|
|
216
|
-
# share/results/grids
|
|
220
|
+
# share/results/grids/<geogridname>--<name>.roff
|
|
217
221
|
# files that are of continuous type
|
|
218
222
|
# This key can be omitted or some of the lines specifying
|
|
219
223
|
# parameters for a zone if you don't want to use it.
|
|
@@ -608,9 +612,10 @@ def read_ensemble_realization(
|
|
|
608
612
|
iter_number,
|
|
609
613
|
property_param_name,
|
|
610
614
|
zone_code_names,
|
|
615
|
+
geogrid_name,
|
|
611
616
|
):
|
|
612
617
|
realization_path = Path(f"realization-{realization_number}/iter-{iter_number}")
|
|
613
|
-
grid_path = Path("share/results/grids/
|
|
618
|
+
grid_path = Path("share/results/grids/" + geogrid_name + ".roff")
|
|
614
619
|
file_path_grid = Path(ensemble_path) / realization_path / grid_path
|
|
615
620
|
if file_path_grid.exists():
|
|
616
621
|
grid = xtgeo.grid_from_file(file_path_grid, fformat="roff")
|
|
@@ -618,7 +623,9 @@ def read_ensemble_realization(
|
|
|
618
623
|
else:
|
|
619
624
|
return None, None, None
|
|
620
625
|
|
|
621
|
-
property_path = Path(
|
|
626
|
+
property_path = Path(
|
|
627
|
+
"share/results/grids/" + geogrid_name + f"--{property_param_name}.roff"
|
|
628
|
+
)
|
|
622
629
|
file_path_property = Path(ensemble_path) / realization_path / property_path
|
|
623
630
|
property_param = xtgeo.gridproperty_from_file(file_path_property, fformat="roff")
|
|
624
631
|
|
|
@@ -635,9 +642,10 @@ def read_geogrid_realization(
|
|
|
635
642
|
realization_number,
|
|
636
643
|
iter_number,
|
|
637
644
|
zone_code_names,
|
|
645
|
+
geogrid_name,
|
|
638
646
|
):
|
|
639
647
|
realization_path = Path(f"realization-{realization_number}/iter-{iter_number}")
|
|
640
|
-
grid_path = Path("share/results/grids/
|
|
648
|
+
grid_path = Path("share/results/grids/" + geogrid_name + ".roff")
|
|
641
649
|
file_path_grid = Path(ensemble_path) / realization_path / grid_path
|
|
642
650
|
if file_path_grid.exists():
|
|
643
651
|
grid = xtgeo.grid_from_file(file_path_grid, fformat="roff")
|
|
@@ -778,6 +786,7 @@ def write_mean_stdev_nactive(
|
|
|
778
786
|
result_path,
|
|
779
787
|
ens_path,
|
|
780
788
|
zone_code_names,
|
|
789
|
+
geogrid_name,
|
|
781
790
|
copy_to_geogrid_realization=False,
|
|
782
791
|
):
|
|
783
792
|
output_path = result_path
|
|
@@ -826,7 +835,11 @@ def write_mean_stdev_nactive(
|
|
|
826
835
|
# Use realization number 0
|
|
827
836
|
real_number = 0
|
|
828
837
|
geogrid_dimensions, geogrid_subgrids = read_geogrid_realization(
|
|
829
|
-
ens_path,
|
|
838
|
+
ens_path,
|
|
839
|
+
real_number,
|
|
840
|
+
iter_number,
|
|
841
|
+
zone_code_names,
|
|
842
|
+
geogrid_name,
|
|
830
843
|
)
|
|
831
844
|
|
|
832
845
|
ertbox_to_geogrid_statistics(
|
|
@@ -839,6 +852,7 @@ def write_mean_stdev_nactive(
|
|
|
839
852
|
ertbox_dims,
|
|
840
853
|
conformity,
|
|
841
854
|
ens_path,
|
|
855
|
+
geogrid_name,
|
|
842
856
|
param_name=param_name,
|
|
843
857
|
)
|
|
844
858
|
|
|
@@ -852,6 +866,7 @@ def write_mean_stdev_nactive(
|
|
|
852
866
|
ertbox_dims,
|
|
853
867
|
conformity,
|
|
854
868
|
ens_path,
|
|
869
|
+
geogrid_name,
|
|
855
870
|
param_name=param_name,
|
|
856
871
|
)
|
|
857
872
|
|
|
@@ -875,13 +890,14 @@ def ertbox_to_geogrid_statistics(
|
|
|
875
890
|
ertbox_dimensions,
|
|
876
891
|
zone_conformity,
|
|
877
892
|
ens_path,
|
|
893
|
+
geogrid_name,
|
|
878
894
|
param_name=None,
|
|
879
895
|
facies_name=None,
|
|
880
896
|
):
|
|
881
897
|
if param_name:
|
|
882
|
-
geogrid_stat_name = f"
|
|
898
|
+
geogrid_stat_name = f"{geogrid_name}--{statistics_name}_{param_name}"
|
|
883
899
|
if facies_name:
|
|
884
|
-
geogrid_stat_name = f"
|
|
900
|
+
geogrid_stat_name = f"{geogrid_name}--{statistics_name}_{facies_name}"
|
|
885
901
|
assert (param_name is not None) or (facies_name is not None)
|
|
886
902
|
geogrid_stat_file_name = (
|
|
887
903
|
ens_path
|
|
@@ -930,6 +946,7 @@ def write_fraction_nactive(
|
|
|
930
946
|
result_path,
|
|
931
947
|
ens_path,
|
|
932
948
|
zone_code_names,
|
|
949
|
+
geogrid_name,
|
|
933
950
|
ncount_active_values=None,
|
|
934
951
|
copy_to_geogrid_realization=False,
|
|
935
952
|
):
|
|
@@ -979,7 +996,11 @@ def write_fraction_nactive(
|
|
|
979
996
|
# Use realization number 0
|
|
980
997
|
real_number = 0
|
|
981
998
|
geogrid_dimensions, geogrid_subgrids = read_geogrid_realization(
|
|
982
|
-
ens_path,
|
|
999
|
+
ens_path,
|
|
1000
|
+
real_number,
|
|
1001
|
+
iter_number,
|
|
1002
|
+
zone_code_names,
|
|
1003
|
+
geogrid_name,
|
|
983
1004
|
)
|
|
984
1005
|
ertbox_to_geogrid_statistics(
|
|
985
1006
|
"prob",
|
|
@@ -991,6 +1012,7 @@ def write_fraction_nactive(
|
|
|
991
1012
|
ertbox_dimensions,
|
|
992
1013
|
conformity,
|
|
993
1014
|
ens_path,
|
|
1015
|
+
geogrid_name,
|
|
994
1016
|
facies_name=facies_name,
|
|
995
1017
|
)
|
|
996
1018
|
|
|
@@ -1042,6 +1064,14 @@ def get_specifications(input_dict, ertbox_size, ert_config_path):
|
|
|
1042
1064
|
use_geogrid_fields = True
|
|
1043
1065
|
geogrid_fields_dict = input_dict["geogrid_fields"]
|
|
1044
1066
|
|
|
1067
|
+
key = "geogrid_name"
|
|
1068
|
+
if key in geogrid_fields_dict:
|
|
1069
|
+
geogrid_name = geogrid_fields_dict[key]
|
|
1070
|
+
geogrid_name = geogrid_name.strip()
|
|
1071
|
+
else:
|
|
1072
|
+
# Set default
|
|
1073
|
+
geogrid_name = "geogrid"
|
|
1074
|
+
|
|
1045
1075
|
key = "zone_code_names"
|
|
1046
1076
|
if key in geogrid_fields_dict:
|
|
1047
1077
|
zone_code_names = geogrid_fields_dict[key]
|
|
@@ -1119,6 +1149,7 @@ def get_specifications(input_dict, ertbox_size, ert_config_path):
|
|
|
1119
1149
|
zone_names_used,
|
|
1120
1150
|
zone_conformity,
|
|
1121
1151
|
zone_code_names,
|
|
1152
|
+
geogrid_name,
|
|
1122
1153
|
param_name_dict,
|
|
1123
1154
|
disc_param_name_dict,
|
|
1124
1155
|
init_path,
|
|
@@ -1254,6 +1285,7 @@ def calc_stats(
|
|
|
1254
1285
|
zone_names,
|
|
1255
1286
|
zone_conformity,
|
|
1256
1287
|
zone_code_names,
|
|
1288
|
+
geogrid_name,
|
|
1257
1289
|
param_name_dict,
|
|
1258
1290
|
disc_param_name_dict,
|
|
1259
1291
|
_,
|
|
@@ -1290,6 +1322,7 @@ def calc_stats(
|
|
|
1290
1322
|
iter_number,
|
|
1291
1323
|
param_name,
|
|
1292
1324
|
zone_code_names,
|
|
1325
|
+
geogrid_name,
|
|
1293
1326
|
)
|
|
1294
1327
|
)
|
|
1295
1328
|
if grid_dimensions is None:
|
|
@@ -1342,6 +1375,7 @@ def calc_stats(
|
|
|
1342
1375
|
result_path,
|
|
1343
1376
|
ens_path,
|
|
1344
1377
|
zone_code_names,
|
|
1378
|
+
geogrid_name,
|
|
1345
1379
|
copy_to_geogrid_realization=copy_to_geogrid_realization,
|
|
1346
1380
|
)
|
|
1347
1381
|
has_written_nactive = True
|
|
@@ -1377,6 +1411,7 @@ def calc_stats(
|
|
|
1377
1411
|
iter_number,
|
|
1378
1412
|
param_name,
|
|
1379
1413
|
zone_code_names,
|
|
1414
|
+
geogrid_name,
|
|
1380
1415
|
)
|
|
1381
1416
|
)
|
|
1382
1417
|
|
|
@@ -1439,6 +1474,7 @@ def calc_stats(
|
|
|
1439
1474
|
result_path,
|
|
1440
1475
|
ens_path,
|
|
1441
1476
|
zone_code_names,
|
|
1477
|
+
geogrid_name,
|
|
1442
1478
|
ncount_active_values=sum_active,
|
|
1443
1479
|
copy_to_geogrid_realization=copy_to_geogrid_realization,
|
|
1444
1480
|
)
|
|
@@ -1453,6 +1489,7 @@ def calc_stats(
|
|
|
1453
1489
|
result_path,
|
|
1454
1490
|
ens_path,
|
|
1455
1491
|
zone_code_names,
|
|
1492
|
+
geogrid_name,
|
|
1456
1493
|
copy_to_geogrid_realization=copy_to_geogrid_realization,
|
|
1457
1494
|
)
|
|
1458
1495
|
txt4 = f" Sum facies volume fraction: {sum_fraction}"
|
|
@@ -458,8 +458,7 @@ def resinsight_df2df(ri_dframe: pd.DataFrame) -> pd.DataFrame:
|
|
|
458
458
|
if ri_dframe.empty:
|
|
459
459
|
return pd.DataFrame()
|
|
460
460
|
|
|
461
|
-
dframe = ri_dframe.copy()
|
|
462
|
-
dframe.rename({"VECTOR": "KEY"}, axis="columns", inplace=True)
|
|
461
|
+
dframe = ri_dframe.copy().rename({"VECTOR": "KEY"}, axis="columns")
|
|
463
462
|
dframe["LABEL"] = (
|
|
464
463
|
dframe["KEY"].astype(str)
|
|
465
464
|
+ "-"
|