subscript 1.14.6__tar.gz → 1.15.0__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.14.6 → subscript-1.15.0}/.github/workflows/codecov.yml +1 -1
- {subscript-1.14.6 → subscript-1.15.0}/PKG-INFO +2 -1
- {subscript-1.14.6 → subscript-1.15.0}/pyproject.toml +2 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/eclcompress/eclcompress.py +1 -1
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/field_statistics/field_statistics.py +85 -38
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmuobs/fmuobs.py +2 -2
- subscript-1.15.0/src/subscript/restartthinner/restartthinner.py +249 -0
- subscript-1.15.0/src/subscript/version.py +24 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript.egg-info/PKG-INFO +2 -1
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript.egg-info/SOURCES.txt +1 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript.egg-info/requires.txt +1 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_field_statistics.py +122 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_fmuobs.py +49 -0
- subscript-1.15.0/tests/test_restartthinner.py +222 -0
- subscript-1.15.0/tests/testdata_fmuobs/summary_obs_without_date.obs +28 -0
- subscript-1.14.6/src/subscript/restartthinner/restartthinner.py +0 -230
- subscript-1.14.6/src/subscript/version.py +0 -34
- subscript-1.14.6/tests/test_restartthinner.py +0 -98
- {subscript-1.14.6 → subscript-1.15.0}/.github/dependabot.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/.github/workflows/linting.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/.github/workflows/publish.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/.github/workflows/subscript.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/.gitignore +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/LICENSE +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/README.md +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/SECURITY.md +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/ci/testkomodo.sh +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/Makefile +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/_static/equinor-logo.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/_static/equinor-logo2.jpg +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/_static/equinor-logo2.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/_static/equinor_logo.jpg +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/_static/equinor_logo_only.jpg +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/_templates/layout.html +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/conf.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/contributing.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/history.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/index.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/make.bat +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/overview.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/bjobsusers.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/casegen_upcars.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/check_swatinit.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/convert_grid_format.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/create_date_files.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/csv2ofmvol.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/csv_merge.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/csv_stack.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/eclcompress.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/ecldiff2roff.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/field_statistics.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/fmu_copy_revision.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/fmuobs.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/grav_subs_maps.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/grav_subs_points.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/Pack_sim_overview.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/Summaryplot-ert.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/check_swatinit_scatter.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/check_swatinit_volplot.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/ecl-swat-initialization.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/interp_relperm.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/merge_rft_ertobs.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/merge_unrst_files.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/ofmvol2csv.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/pack_sim.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/params2csv.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/presentvalue.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/prtvol2csv.csv +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/prtvol2csv.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/restartthinner.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/rmsecl_volumetrics.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/sector2fluxnum.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/summaryplot.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/sunsch.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/sw_model_utilities.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/vfp2csv.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/scripts/welltest_dpds.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/docs/usage.rst +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/setup.cfg +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/bjobsusers/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/bjobsusers/bjobsusers.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/casegen_upcars/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/casegen_upcars/casegen_upcars.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/casegen_upcars/model.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/casegen_upcars/udf.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/check_swatinit/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/check_swatinit/check_swatinit.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/check_swatinit/constants.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/check_swatinit/pillarmodel.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/check_swatinit/plotter.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/convert_grid_format/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/convert_grid_format/convert_grid_format.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/create_date_files/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/create_date_files/create_date_files.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/csv2ofmvol/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/csv2ofmvol/csv2ofmvol.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/csv_merge/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/csv_merge/csv_merge.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/csv_stack/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/csv_stack/csv_stack.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/eclcompress/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/eclcompress/allowlist.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/ecldiff2roff/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/ecldiff2roff/ecldiff2roff.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/field_statistics/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmu_copy_revision/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmuobs/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmuobs/parsers.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmuobs/util.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/fmuobs/writers.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/grav_subs_maps/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/grav_subs_maps/grav_subs_maps.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/grav_subs_points/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/grav_subs_points/grav_subs_points.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/hook_implementations/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/hook_implementations/forward_model_steps.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/interp_relperm/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/interp_relperm/interp_relperm.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/legacy/duf +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/legacy/eclmanual +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/legacy/ertwatch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/legacy/list_rms_usage +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/legacy/nosim +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/legacy/runeclipse +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/merge_unrst_files/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/merge_unrst_files/merge_unrst_files.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/ofmvol2csv/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/ofmvol2csv/ofmvol2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/pack_sim/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/pack_sim/pack_sim.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/params2csv/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/params2csv/params2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/presentvalue/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/presentvalue/presentvalue.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/prtvol2csv/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/prtvol2csv/prtvol2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/restartthinner/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/completions.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/datafile_obj.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/flux_util.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/fluxfile_obj.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/summaryplot/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/summaryplot/summaryplot.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sunsch/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sunsch/sunsch.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sunsch/time_vector.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sw_model_utilities/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/sw_model_utilities/sw_model_utilities.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/vfp2csv/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/vfp2csv/vfp2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/welltest_dpds/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript/welltest_dpds/welltest_dpds.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript.egg-info/dependency_links.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript.egg-info/entry_points.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/src/subscript.egg-info/top_level.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/__init__.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args0.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args1.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args10.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args11.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args2.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args3.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args4.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args5.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args6.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args7.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args8.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args9.png +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/conftest.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/eclipse/model/parameters.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/parameters.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/rms/README +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/vfp/GasProd.VFP +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/vfp/pd2.VFP +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_bjobsusers.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_casegen_upcars.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_check_swatinit.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_check_swatinit_simulators.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_convert_grid_format.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_create_date_files.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_csv2ofmvol.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_csv_merge.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_csv_stack.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_docs.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_eclcompress.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_ecldiff2roff.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_eclinit2roff.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_fmu_copy_revision.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_fmuobs_parsers.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_fmuobs_writers.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_grav_subs_maps.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_grav_subs_points.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_hook_implementations.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_interp_relperm.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_merge_rft_ertobs.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_merge_unrst_files.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_ofmvol2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_pack_sim.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_params2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_presentvalue.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_prtvol2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_rmsecl_volumetrics.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_sector2fluxnum.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_subscriptlogger.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_summaryplot.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_sunsch.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_sw_model_utilities.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_vfp2csv.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/test_welltest_dpds.py +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/config_example.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/ert/model/0readme +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/ert-doc.csv +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/ert-doc.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/ert-doc.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_fmuobs/ri-obs.csv +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/HIST.EGRID +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/HIST.INIT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/HIST.UNRST +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/global_variables.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/grav_subs_points.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/seabed.gri +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_gravity/station_coordinates.csv +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/cfg.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/swof_base.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_prtvol2csv/0readme.txt +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE.PRT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE_FLOW.PRT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/config.yml +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/emptyinit.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/foo1.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/footemplate.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/initwithdates.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/merge2.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/mergeme.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/testdata_sunsch/options3.sch +0 -0
- {subscript-1.14.6 → subscript-1.15.0}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subscript
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.15.0
|
|
4
4
|
Summary: Equinor's collection of subsurface reservoir modelling scripts
|
|
5
5
|
Author-email: Equinor <rnyb@equinor.com>
|
|
6
6
|
License-Expression: GPL-3.0-only
|
|
@@ -26,6 +26,7 @@ Requires-Dist: resdata
|
|
|
26
26
|
Requires-Dist: res2df
|
|
27
27
|
Requires-Dist: ert>=10.2.0b13
|
|
28
28
|
Requires-Dist: fmu-tools
|
|
29
|
+
Requires-Dist: gaussianfft
|
|
29
30
|
Requires-Dist: grid3d_maps
|
|
30
31
|
Requires-Dist: jinja2
|
|
31
32
|
Requires-Dist: matplotlib
|
|
@@ -38,6 +38,7 @@ dependencies = [
|
|
|
38
38
|
"res2df",
|
|
39
39
|
"ert>=10.2.0b13",
|
|
40
40
|
"fmu-tools",
|
|
41
|
+
"gaussianfft",
|
|
41
42
|
"grid3d_maps",
|
|
42
43
|
"jinja2",
|
|
43
44
|
"matplotlib",
|
|
@@ -214,6 +215,7 @@ ignore = [
|
|
|
214
215
|
"PLR0904", # too-many-public-methods
|
|
215
216
|
"PLR1702", # too-many-nested-blocks
|
|
216
217
|
"RUF067", # non empty init module
|
|
218
|
+
"RUF069", # unreliable-floating-point-equality
|
|
217
219
|
"PLC1901", # compare-to-empty-string
|
|
218
220
|
]
|
|
219
221
|
|
|
@@ -154,7 +154,7 @@ def file_is_binary(filename: str | Path) -> bool:
|
|
|
154
154
|
Args:
|
|
155
155
|
filename: File to check
|
|
156
156
|
"""
|
|
157
|
-
# https://stackoverflow.com/questions/898669/how-can-i-detect-if-a-file-is-binary-non-text-in-python
|
|
157
|
+
# https://stackoverflow.com/questions/898669/how-can-i-detect-if-a-file-is-binary-non-text-in-python
|
|
158
158
|
textchars = bytearray({7, 8, 9, 10, 12, 13, 27} | set(range(0x20, 0x100)) - {0x7F})
|
|
159
159
|
with open(filename, "rb") as filehandle:
|
|
160
160
|
return bool(filehandle.read(1024).translate(None, textchars))
|
|
@@ -1080,6 +1080,7 @@ def get_specifications(
|
|
|
1080
1080
|
use_population_stdev = input_dict[key]
|
|
1081
1081
|
|
|
1082
1082
|
use_geogrid_fields = False
|
|
1083
|
+
geogrid_name = None
|
|
1083
1084
|
zone_names_used = None
|
|
1084
1085
|
zone_conformity = None
|
|
1085
1086
|
zone_code_names = None
|
|
@@ -1339,6 +1340,11 @@ def calc_stats(
|
|
|
1339
1340
|
if not use_geogrid_fields:
|
|
1340
1341
|
return
|
|
1341
1342
|
|
|
1343
|
+
# Get list of active realization (Must be active for all iterations in iter_list)
|
|
1344
|
+
active_real, number_of_skipped = get_active_real(
|
|
1345
|
+
iter_list, ens_path, nreal, geogrid_name
|
|
1346
|
+
)
|
|
1347
|
+
|
|
1342
1348
|
ensemble_path = ens_path
|
|
1343
1349
|
|
|
1344
1350
|
logger.info(f"Number of realizations: {nreal}")
|
|
@@ -1356,8 +1362,8 @@ def calc_stats(
|
|
|
1356
1362
|
(ertbox_size[0], ertbox_size[1], ertbox_size[2], nreal),
|
|
1357
1363
|
dtype=np.float32,
|
|
1358
1364
|
)
|
|
1359
|
-
|
|
1360
|
-
for real_number in
|
|
1365
|
+
|
|
1366
|
+
for real_number in active_real:
|
|
1361
1367
|
grid_dimensions, subgrids, property_param = (
|
|
1362
1368
|
read_ensemble_realization(
|
|
1363
1369
|
ensemble_path,
|
|
@@ -1368,11 +1374,7 @@ def calc_stats(
|
|
|
1368
1374
|
geogrid_name,
|
|
1369
1375
|
)
|
|
1370
1376
|
)
|
|
1371
|
-
|
|
1372
|
-
txt = f" Skip non-existing realization: {real_number}"
|
|
1373
|
-
logger.info(txt)
|
|
1374
|
-
number_of_skipped += 1
|
|
1375
|
-
continue
|
|
1377
|
+
assert grid_dimensions is not None
|
|
1376
1378
|
ertbox_prop_values = get_values_in_ertbox(
|
|
1377
1379
|
grid_dimensions,
|
|
1378
1380
|
subgrids,
|
|
@@ -1445,8 +1447,8 @@ def calc_stats(
|
|
|
1445
1447
|
(ertbox_size[0], ertbox_size[1], ertbox_size[2], nreal),
|
|
1446
1448
|
dtype=np.int32,
|
|
1447
1449
|
)
|
|
1448
|
-
|
|
1449
|
-
for real_number in
|
|
1450
|
+
|
|
1451
|
+
for real_number in active_real:
|
|
1450
1452
|
grid_dimensions, subgrids, property_param = (
|
|
1451
1453
|
read_ensemble_realization(
|
|
1452
1454
|
ensemble_path,
|
|
@@ -1457,11 +1459,7 @@ def calc_stats(
|
|
|
1457
1459
|
geogrid_name,
|
|
1458
1460
|
)
|
|
1459
1461
|
)
|
|
1460
|
-
|
|
1461
|
-
if grid_dimensions is None:
|
|
1462
|
-
logger.info(f" Skip realization: {real_number}")
|
|
1463
|
-
number_of_skipped += 1
|
|
1464
|
-
continue
|
|
1462
|
+
assert grid_dimensions is not None
|
|
1465
1463
|
ertbox_prop_values = get_values_in_ertbox(
|
|
1466
1464
|
grid_dimensions,
|
|
1467
1465
|
subgrids,
|
|
@@ -1576,7 +1574,8 @@ def calc_temporary_field_stats(
|
|
|
1576
1574
|
# Check if any need to continue to calculation
|
|
1577
1575
|
if not use_temporary_fields:
|
|
1578
1576
|
return
|
|
1579
|
-
|
|
1577
|
+
# Get list of active realization (Must be active for all iterations in iter_list)
|
|
1578
|
+
active_real, number_of_skipped = get_active_real(iter_list, ens_path, nreal)
|
|
1580
1579
|
# Import realizations of temporary field parameters
|
|
1581
1580
|
for param_name in param_list:
|
|
1582
1581
|
for iteration in iter_list:
|
|
@@ -1590,9 +1589,7 @@ def calc_temporary_field_stats(
|
|
|
1590
1589
|
(ertbox_size[0], ertbox_size[1], ertbox_size[2], nreal),
|
|
1591
1590
|
dtype=np.float32,
|
|
1592
1591
|
)
|
|
1593
|
-
|
|
1594
|
-
number_of_skipped = 0
|
|
1595
|
-
for real_number in range(nreal):
|
|
1592
|
+
for real_number in active_real:
|
|
1596
1593
|
filepath = (
|
|
1597
1594
|
ens_path
|
|
1598
1595
|
/ Path(
|
|
@@ -1600,11 +1597,7 @@ def calc_temporary_field_stats(
|
|
|
1600
1597
|
)
|
|
1601
1598
|
/ Path(full_param_filename)
|
|
1602
1599
|
)
|
|
1603
|
-
|
|
1604
|
-
txt = f" Skip non-existing realization: {real_number}"
|
|
1605
|
-
logger.info(txt)
|
|
1606
|
-
number_of_skipped += 1
|
|
1607
|
-
continue
|
|
1600
|
+
assert filepath.exists()
|
|
1608
1601
|
property = xtgeo.gridproperty_from_file(filepath, fformat="roff")
|
|
1609
1602
|
values = property.values
|
|
1610
1603
|
all_values[:, :, :, real_number] = values
|
|
@@ -1657,6 +1650,38 @@ def calc_temporary_field_stats(
|
|
|
1657
1650
|
xtgeo_ertbox_stdev.to_file(result_stdev_file_path, fformat="roff")
|
|
1658
1651
|
|
|
1659
1652
|
|
|
1653
|
+
def get_active_real(
|
|
1654
|
+
iter_list: list, ens_path: Path, nreal: int, geogrid_name: str = ""
|
|
1655
|
+
):
|
|
1656
|
+
"""Get a list of active realizations"""
|
|
1657
|
+
number_of_skipped = 0
|
|
1658
|
+
active_real = []
|
|
1659
|
+
for real_number in range(nreal):
|
|
1660
|
+
real_exist = True
|
|
1661
|
+
for iteration in iter_list:
|
|
1662
|
+
ensemble_path = ens_path / Path(
|
|
1663
|
+
"realization-" + str(real_number) + "/iter-" + str(iteration)
|
|
1664
|
+
)
|
|
1665
|
+
if len(geogrid_name) > 0:
|
|
1666
|
+
grid_path = Path("share/results/grids/" + geogrid_name + ".roff")
|
|
1667
|
+
file_path_grid = ensemble_path / grid_path
|
|
1668
|
+
txt = f" Skip non-existing realization of grid: {real_number}"
|
|
1669
|
+
else:
|
|
1670
|
+
file_path_grid = ensemble_path
|
|
1671
|
+
txt = f" Skip non-existing realization: {real_number}"
|
|
1672
|
+
if not file_path_grid.exists():
|
|
1673
|
+
logger.info(txt)
|
|
1674
|
+
number_of_skipped += 1
|
|
1675
|
+
# No need to check other iterations since active_real should
|
|
1676
|
+
# only be those realizations that exists for all specified
|
|
1677
|
+
# iterations in iter_list
|
|
1678
|
+
real_exist = False
|
|
1679
|
+
continue
|
|
1680
|
+
if real_exist:
|
|
1681
|
+
active_real.append(real_number)
|
|
1682
|
+
return active_real, number_of_skipped
|
|
1683
|
+
|
|
1684
|
+
|
|
1660
1685
|
def generate_script(
|
|
1661
1686
|
rms_load_script, ert_config_path, result_path, field_stat_config_file
|
|
1662
1687
|
):
|
|
@@ -1853,25 +1878,47 @@ def main():
|
|
|
1853
1878
|
if init_path and param_names:
|
|
1854
1879
|
for param_name in param_names:
|
|
1855
1880
|
for iteration in iter_list:
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1881
|
+
mean_name = "mean_" + param_name + "_" + str(iteration)
|
|
1882
|
+
std_name = "stdev_" + param_name + "_" + str(iteration)
|
|
1883
|
+
|
|
1884
|
+
mean_param_file_name = Path(result_path) / Path(mean_name + ".roff")
|
|
1885
|
+
mean_prop_param = xtgeo.gridproperty_from_file(
|
|
1886
|
+
mean_param_file_name, fformat="roff"
|
|
1860
1887
|
)
|
|
1861
|
-
print(f"Read: {{
|
|
1862
|
-
if label:
|
|
1863
|
-
new_name = new_name + "_" + label
|
|
1864
|
-
prop_param.to_roxar(PRJ, GRIDNAME, new_name)
|
|
1888
|
+
print(f"Read: {{mean_name}} into {{GRIDNAME}}")
|
|
1865
1889
|
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
param_file_name, fformat="roff"
|
|
1890
|
+
std_param_file_name = Path(result_path) / Path(std_name + ".roff")
|
|
1891
|
+
std_prop_param = xtgeo.gridproperty_from_file(
|
|
1892
|
+
std_param_file_name, fformat="roff"
|
|
1870
1893
|
)
|
|
1871
|
-
print(f"Read: {{
|
|
1894
|
+
print(f"Read: {{std_name}} into {{GRIDNAME}}")
|
|
1895
|
+
|
|
1872
1896
|
if label:
|
|
1873
|
-
|
|
1874
|
-
|
|
1897
|
+
new_mean_name = mean_name + "_" + label
|
|
1898
|
+
new_std_name = std_name + "_" + label
|
|
1899
|
+
difference_mean_name = "diff_" + new_mean_name
|
|
1900
|
+
difference_std_name = "diff_" + new_std_name
|
|
1901
|
+
|
|
1902
|
+
mean_prop_param.to_roxar(PRJ, GRIDNAME, new_mean_name)
|
|
1903
|
+
std_prop_param.to_roxar(PRJ, GRIDNAME, new_std_name)
|
|
1904
|
+
|
|
1905
|
+
if iteration == iter_list[0]:
|
|
1906
|
+
# Init
|
|
1907
|
+
mean_prop_param_init = mean_prop_param
|
|
1908
|
+
std_prop_param_init = std_prop_param
|
|
1909
|
+
elif iteration == iter_list[-1]:
|
|
1910
|
+
mean_prop_param_upd = mean_prop_param
|
|
1911
|
+
std_prop_param_upd = std_prop_param
|
|
1912
|
+
diff_mean_prop_param = mean_prop_param_upd.copy()
|
|
1913
|
+
diff_std_prop_param = std_prop_param_upd.copy()
|
|
1914
|
+
diff_mean_prop_param.values = \
|
|
1915
|
+
mean_prop_param_upd.values - mean_prop_param_init.values
|
|
1916
|
+
diff_std_prop_param.values = \
|
|
1917
|
+
std_prop_param_upd.values - std_prop_param_init.values
|
|
1918
|
+
diff_mean_prop_param.to_roxar(PRJ,
|
|
1919
|
+
GRIDNAME, difference_mean_name)
|
|
1920
|
+
diff_std_prop_param.to_roxar(PRJ,
|
|
1921
|
+
GRIDNAME, difference_std_name)
|
|
1875
1922
|
|
|
1876
1923
|
if __name__ == "__main__":
|
|
1877
1924
|
main()
|
|
@@ -335,10 +335,10 @@ def fmuobs(
|
|
|
335
335
|
starttime=starttime,
|
|
336
336
|
)
|
|
337
337
|
else:
|
|
338
|
-
dframe = ertobs2df(input_str, cwd=includedir)
|
|
338
|
+
dframe = ertobs2df(input_str, cwd=includedir, starttime=starttime)
|
|
339
339
|
|
|
340
340
|
if starttime:
|
|
341
|
-
dframe = compute_date_from_days(dframe)
|
|
341
|
+
dframe = compute_date_from_days(dframe, starttime=starttime)
|
|
342
342
|
|
|
343
343
|
if not validate_internal_dframe(dframe):
|
|
344
344
|
logger.error("Observation dataframe is invalid!")
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"""Restart file (UNRST) thinner, command line application"""
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import datetime
|
|
5
|
+
import logging
|
|
6
|
+
import shutil
|
|
7
|
+
import subprocess
|
|
8
|
+
import tempfile
|
|
9
|
+
from contextlib import chdir
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
import numpy as np
|
|
13
|
+
import pandas as pd
|
|
14
|
+
from resdata.resfile import ResdataFile
|
|
15
|
+
|
|
16
|
+
from subscript import __version__, getLogger
|
|
17
|
+
|
|
18
|
+
logger = getLogger(__name__)
|
|
19
|
+
|
|
20
|
+
DESCRIPTION = """
|
|
21
|
+
Slice a subset of restart-dates from an E100 Restart file (UNRST)
|
|
22
|
+
|
|
23
|
+
Example::
|
|
24
|
+
|
|
25
|
+
$ restartthinner --restarts 4 ECLIPSE.UNRST
|
|
26
|
+
|
|
27
|
+
where four restarts evenly spread out in relevant dates will be picked and
|
|
28
|
+
written to the same filename (keeping the original is optional)
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def find_resdata_app(toolname: str) -> str:
|
|
33
|
+
"""Locate path of resdata apps, trying common suffixes (.x, .c.x, .cpp.x).
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
toolname: Base name of the tool (e.g., 'rd_unpack')
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
Full path to the executable.
|
|
40
|
+
|
|
41
|
+
Raises:
|
|
42
|
+
OSError: If tool cannot be found in PATH.
|
|
43
|
+
"""
|
|
44
|
+
for ext in [".x", ".c.x", ".cpp.x", ""]: # Order matters.
|
|
45
|
+
if path := shutil.which(toolname + ext):
|
|
46
|
+
return path
|
|
47
|
+
raise OSError(f"{toolname} not found in PATH")
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def date_slicer(
|
|
51
|
+
slicedates: list[pd.Timestamp],
|
|
52
|
+
restartdates: list[datetime.datetime],
|
|
53
|
+
restartindices: list[int],
|
|
54
|
+
) -> list[int]:
|
|
55
|
+
"""Make a list of report indices that match the input slicedates."""
|
|
56
|
+
slicedatelist = []
|
|
57
|
+
for slicedate in slicedates:
|
|
58
|
+
daydistances = [abs((pd.Timestamp(slicedate) - x).days) for x in restartdates]
|
|
59
|
+
slicedatelist.append(restartindices[daydistances.index(min(daydistances))])
|
|
60
|
+
return slicedatelist
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def rd_repacker(rstfilename: str, slicerstindices: list[int], quiet: bool) -> None:
|
|
64
|
+
"""Repack a UNRST file keeping only selected restart indices.
|
|
65
|
+
|
|
66
|
+
Uses rd_unpack and rd_pack utilities from resdata to unpack the UNRST file,
|
|
67
|
+
remove unwanted dates, and repack into a new UNRST file.
|
|
68
|
+
|
|
69
|
+
Args:
|
|
70
|
+
rstfilename: Path to the UNRST file.
|
|
71
|
+
slicerstindices: List of restart indices to keep.
|
|
72
|
+
quiet: If True, suppress subprocess output.
|
|
73
|
+
|
|
74
|
+
Raises:
|
|
75
|
+
OSError: If rd_unpack or rd_pack tools are not found.
|
|
76
|
+
"""
|
|
77
|
+
rd_unpack = find_resdata_app("rd_unpack")
|
|
78
|
+
rd_pack = find_resdata_app("rd_pack")
|
|
79
|
+
|
|
80
|
+
rstpath = Path(rstfilename)
|
|
81
|
+
rstdir = rstpath.parent or Path(".")
|
|
82
|
+
rstname = rstpath.name
|
|
83
|
+
|
|
84
|
+
with chdir(rstdir):
|
|
85
|
+
tempdir = Path(tempfile.mkdtemp(dir="."))
|
|
86
|
+
try:
|
|
87
|
+
# Move UNRST into temp directory and work there
|
|
88
|
+
shutil.move(rstname, tempdir / rstname)
|
|
89
|
+
|
|
90
|
+
with chdir(tempdir):
|
|
91
|
+
subprocess.run(
|
|
92
|
+
[rd_unpack, rstname],
|
|
93
|
+
stdout=subprocess.DEVNULL if quiet else None,
|
|
94
|
+
check=True,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
for file in Path(".").glob("*.X*"):
|
|
98
|
+
index = int(file.suffix.lstrip(".X"))
|
|
99
|
+
if index not in slicerstindices:
|
|
100
|
+
file.unlink()
|
|
101
|
+
|
|
102
|
+
remaining_files = sorted(Path(".").glob("*.X*"))
|
|
103
|
+
subprocess.run(
|
|
104
|
+
[rd_pack, *[str(f) for f in remaining_files]],
|
|
105
|
+
stdout=subprocess.DEVNULL if quiet else None,
|
|
106
|
+
check=True,
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
# Move result back up
|
|
110
|
+
shutil.move(rstname, Path("..") / rstname)
|
|
111
|
+
finally:
|
|
112
|
+
shutil.rmtree(tempdir)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def get_restart_indices(rstfilename: str) -> list[int]:
|
|
116
|
+
"""Extract a list of restart indices for a filename.
|
|
117
|
+
|
|
118
|
+
Args:
|
|
119
|
+
rstfilename: Path to the UNRST file.
|
|
120
|
+
|
|
121
|
+
Returns:
|
|
122
|
+
List of restart report indices.
|
|
123
|
+
|
|
124
|
+
Raises:
|
|
125
|
+
FileNotFoundError: If the file does not exist.
|
|
126
|
+
"""
|
|
127
|
+
if Path(rstfilename).exists():
|
|
128
|
+
# This function segfaults if file does not exist
|
|
129
|
+
return ResdataFile.file_report_list(str(rstfilename))
|
|
130
|
+
raise FileNotFoundError(f"{rstfilename} not found")
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def restartthinner(
|
|
134
|
+
filename: str,
|
|
135
|
+
numberofslices: int,
|
|
136
|
+
quiet: bool = False,
|
|
137
|
+
dryrun: bool = True,
|
|
138
|
+
keep: bool = False,
|
|
139
|
+
) -> None:
|
|
140
|
+
"""Thin an existing UNRST file to selected number of restarts.
|
|
141
|
+
|
|
142
|
+
Args:
|
|
143
|
+
filename: Path to the UNRST file.
|
|
144
|
+
numberofslices: Number of restart dates to keep.
|
|
145
|
+
quiet: If True, suppress informational output.
|
|
146
|
+
dryrun: If True, only show what would be done without modifying files.
|
|
147
|
+
keep: If True, keep original file with .orig suffix.
|
|
148
|
+
"""
|
|
149
|
+
rst = ResdataFile(filename)
|
|
150
|
+
restart_indices = get_restart_indices(filename)
|
|
151
|
+
restart_dates = [
|
|
152
|
+
rst.iget_restart_sim_time(index) for index in range(len(restart_indices))
|
|
153
|
+
]
|
|
154
|
+
|
|
155
|
+
if numberofslices > 1:
|
|
156
|
+
slicedates = pd.DatetimeIndex(
|
|
157
|
+
np.linspace(
|
|
158
|
+
pd.Timestamp(restart_dates[0]).value,
|
|
159
|
+
pd.Timestamp(restart_dates[-1]).value,
|
|
160
|
+
int(numberofslices),
|
|
161
|
+
)
|
|
162
|
+
).to_list()
|
|
163
|
+
else:
|
|
164
|
+
slicedates = [restart_dates[-1]] # Only return last date if only one is wanted
|
|
165
|
+
|
|
166
|
+
slicerstindices = date_slicer(slicedates, restart_dates, restart_indices)
|
|
167
|
+
slicerstindices = sorted(set(slicerstindices)) # uniquify
|
|
168
|
+
|
|
169
|
+
if not quiet:
|
|
170
|
+
logger.info("Selected restarts:")
|
|
171
|
+
logger.info("-----------------------")
|
|
172
|
+
for idx, rstidx in enumerate(restart_indices):
|
|
173
|
+
slicepresent = "X" if rstidx in slicerstindices else ""
|
|
174
|
+
logger.info(
|
|
175
|
+
"%4d %s %s",
|
|
176
|
+
rstidx,
|
|
177
|
+
datetime.date.strftime(restart_dates[idx], "%Y-%m-%d"),
|
|
178
|
+
slicepresent,
|
|
179
|
+
)
|
|
180
|
+
logger.info("-----------------------")
|
|
181
|
+
|
|
182
|
+
if not dryrun:
|
|
183
|
+
if keep:
|
|
184
|
+
backupname = filename + ".orig"
|
|
185
|
+
logger.info("Backing up %s to %s", filename, backupname)
|
|
186
|
+
shutil.copyfile(filename, backupname)
|
|
187
|
+
rd_repacker(filename, slicerstindices, quiet)
|
|
188
|
+
logger.info("Written to %s", filename)
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
def get_parser() -> argparse.ArgumentParser:
|
|
192
|
+
"""Setup parser"""
|
|
193
|
+
parser = argparse.ArgumentParser(
|
|
194
|
+
formatter_class=argparse.ArgumentDefaultsHelpFormatter, description=DESCRIPTION
|
|
195
|
+
)
|
|
196
|
+
parser.add_argument("UNRST", help="Name of UNRST file")
|
|
197
|
+
parser.add_argument(
|
|
198
|
+
"-n",
|
|
199
|
+
"--restarts",
|
|
200
|
+
type=int,
|
|
201
|
+
help="Number of restart dates wanted",
|
|
202
|
+
required=True,
|
|
203
|
+
)
|
|
204
|
+
parser.add_argument(
|
|
205
|
+
"-d",
|
|
206
|
+
"--dryrun",
|
|
207
|
+
action="store_true",
|
|
208
|
+
default=False,
|
|
209
|
+
help="Dry-run only, do not touch files",
|
|
210
|
+
)
|
|
211
|
+
parser.add_argument(
|
|
212
|
+
"-q",
|
|
213
|
+
"--quiet",
|
|
214
|
+
action="store_true",
|
|
215
|
+
default=False,
|
|
216
|
+
help="Mute output from script",
|
|
217
|
+
)
|
|
218
|
+
parser.add_argument(
|
|
219
|
+
"-k",
|
|
220
|
+
"--keep",
|
|
221
|
+
action="store_true",
|
|
222
|
+
default=False,
|
|
223
|
+
help="Keep original UNRST file",
|
|
224
|
+
)
|
|
225
|
+
parser.add_argument(
|
|
226
|
+
"--version",
|
|
227
|
+
action="version",
|
|
228
|
+
version="%(prog)s (subscript version " + __version__ + ")",
|
|
229
|
+
)
|
|
230
|
+
return parser
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
def main() -> None:
|
|
234
|
+
"""Endpoint for command line script."""
|
|
235
|
+
parser = get_parser()
|
|
236
|
+
args = parser.parse_args()
|
|
237
|
+
|
|
238
|
+
if args.restarts <= 0:
|
|
239
|
+
parser.error("Number of restarts must be a positive number")
|
|
240
|
+
if args.UNRST.endswith(".DATA"):
|
|
241
|
+
parser.error("Provide the UNRST file, not the DATA file")
|
|
242
|
+
if args.quiet:
|
|
243
|
+
logger.setLevel(logging.WARNING)
|
|
244
|
+
|
|
245
|
+
restartthinner(args.UNRST, args.restarts, args.quiet, args.dryrun, args.keep)
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
if __name__ == "__main__":
|
|
249
|
+
main()
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# file generated by vcs-versioning
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"__version__",
|
|
7
|
+
"__version_tuple__",
|
|
8
|
+
"version",
|
|
9
|
+
"version_tuple",
|
|
10
|
+
"__commit_id__",
|
|
11
|
+
"commit_id",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
version: str
|
|
15
|
+
__version__: str
|
|
16
|
+
__version_tuple__: tuple[int | str, ...]
|
|
17
|
+
version_tuple: tuple[int | str, ...]
|
|
18
|
+
commit_id: str | None
|
|
19
|
+
__commit_id__: str | None
|
|
20
|
+
|
|
21
|
+
__version__ = version = '1.15.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 15, 0)
|
|
23
|
+
|
|
24
|
+
__commit_id__ = commit_id = 'g6d34949f7'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subscript
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.15.0
|
|
4
4
|
Summary: Equinor's collection of subsurface reservoir modelling scripts
|
|
5
5
|
Author-email: Equinor <rnyb@equinor.com>
|
|
6
6
|
License-Expression: GPL-3.0-only
|
|
@@ -26,6 +26,7 @@ Requires-Dist: resdata
|
|
|
26
26
|
Requires-Dist: res2df
|
|
27
27
|
Requires-Dist: ert>=10.2.0b13
|
|
28
28
|
Requires-Dist: fmu-tools
|
|
29
|
+
Requires-Dist: gaussianfft
|
|
29
30
|
Requires-Dist: grid3d_maps
|
|
30
31
|
Requires-Dist: jinja2
|
|
31
32
|
Requires-Dist: matplotlib
|
|
@@ -343,6 +343,7 @@ tests/testdata_fmuobs/ert-doc.yml
|
|
|
343
343
|
tests/testdata_fmuobs/fmu-ensemble-obs.yml
|
|
344
344
|
tests/testdata_fmuobs/hist_obs_wells.txt
|
|
345
345
|
tests/testdata_fmuobs/ri-obs.csv
|
|
346
|
+
tests/testdata_fmuobs/summary_obs_without_date.obs
|
|
346
347
|
tests/testdata_gravity/HIST.EGRID
|
|
347
348
|
tests/testdata_gravity/HIST.INIT
|
|
348
349
|
tests/testdata_gravity/HIST.UNRST
|