subscript 1.14.5__tar.gz → 1.14.7__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.5 → subscript-1.14.7}/.github/workflows/subscript.yml +13 -1
- {subscript-1.14.5 → subscript-1.14.7}/PKG-INFO +4 -4
- {subscript-1.14.5 → subscript-1.14.7}/pyproject.toml +14 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/casegen_upcars/casegen_upcars.py +4 -4
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/casegen_upcars/model.py +40 -40
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/casegen_upcars/udf.py +1 -1
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/check_swatinit/check_swatinit.py +2 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/convert_grid_format/convert_grid_format.py +3 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/csv2ofmvol/csv2ofmvol.py +13 -13
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/csv_merge/csv_merge.py +9 -13
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/csv_stack/csv_stack.py +3 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/eclcompress/eclcompress.py +1 -1
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/ecldiff2roff/ecldiff2roff.py +2 -2
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/field_statistics/field_statistics.py +5 -5
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmuobs/fmuobs.py +3 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmuobs/parsers.py +13 -14
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmuobs/writers.py +6 -12
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/grav_subs_maps/grav_subs_maps.py +1 -1
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/grav_subs_points/grav_subs_points.py +2 -2
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/interp_relperm/interp_relperm.py +4 -4
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +7 -7
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/ofmvol2csv/ofmvol2csv.py +5 -5
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/pack_sim/pack_sim.py +4 -4
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/params2csv/params2csv.py +1 -1
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/presentvalue/presentvalue.py +6 -8
- subscript-1.14.7/src/subscript/restartthinner/restartthinner.py +249 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/completions.py +1 -1
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/fluxfile_obj.py +2 -2
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/summaryplot/summaryplot.py +9 -9
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sunsch/sunsch.py +12 -12
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sw_model_utilities/sw_model_utilities.py +3 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/version.py +3 -3
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/welltest_dpds/welltest_dpds.py +2 -4
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript.egg-info/PKG-INFO +4 -4
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript.egg-info/requires.txt +3 -3
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_casegen_upcars.py +18 -19
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_check_swatinit.py +9 -8
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_check_swatinit_simulators.py +58 -56
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_convert_grid_format.py +2 -3
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_csv2ofmvol.py +12 -11
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_csv_merge.py +10 -9
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_csv_stack.py +23 -21
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_eclcompress.py +34 -34
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_ecldiff2roff.py +5 -11
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_eclinit2roff.py +5 -11
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_field_statistics.py +6 -6
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_fmu_copy_revision.py +28 -28
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_fmuobs.py +14 -18
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_fmuobs_parsers.py +4 -3
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_fmuobs_writers.py +1 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_grav_subs_maps.py +5 -11
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_grav_subs_points.py +7 -13
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_interp_relperm.py +30 -29
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_merge_rft_ertobs.py +7 -14
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_merge_unrst_files.py +8 -9
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_ofmvol2csv.py +11 -8
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_pack_sim.py +26 -24
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_params2csv.py +26 -23
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_presentvalue.py +12 -13
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_prtvol2csv.py +36 -37
- subscript-1.14.7/tests/test_restartthinner.py +222 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_rmsecl_volumetrics.py +4 -5
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_sector2fluxnum.py +6 -7
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_summaryplot.py +16 -17
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_sunsch.py +22 -32
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_vfp2csv.py +2 -3
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_welltest_dpds.py +8 -9
- {subscript-1.14.5 → subscript-1.14.7}/tests/utils.py +2 -2
- subscript-1.14.5/src/subscript/restartthinner/restartthinner.py +0 -230
- subscript-1.14.5/tests/test_restartthinner.py +0 -98
- {subscript-1.14.5 → subscript-1.14.7}/.github/dependabot.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/.github/workflows/codecov.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/.github/workflows/linting.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/.github/workflows/publish.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/.gitignore +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/LICENSE +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/README.md +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/SECURITY.md +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/ci/testkomodo.sh +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/Makefile +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/_static/equinor-logo.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/_static/equinor-logo2.jpg +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/_static/equinor-logo2.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/_static/equinor_logo.jpg +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/_static/equinor_logo_only.jpg +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/_templates/layout.html +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/conf.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/contributing.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/history.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/index.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/make.bat +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/overview.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/bjobsusers.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/casegen_upcars.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/check_swatinit.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/convert_grid_format.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/create_date_files.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/csv2ofmvol.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/csv_merge.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/csv_stack.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/eclcompress.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/ecldiff2roff.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/field_statistics.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/fmu_copy_revision.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/fmuobs.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/grav_subs_maps.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/grav_subs_points.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/Pack_sim_overview.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/Summaryplot-ert.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/check_swatinit_scatter.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/check_swatinit_volplot.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/ecl-swat-initialization.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/interp_relperm.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/merge_rft_ertobs.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/merge_unrst_files.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/ofmvol2csv.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/pack_sim.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/params2csv.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/presentvalue.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/prtvol2csv.csv +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/prtvol2csv.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/restartthinner.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/rmsecl_volumetrics.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/sector2fluxnum.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/summaryplot.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/sunsch.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/sw_model_utilities.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/vfp2csv.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/scripts/welltest_dpds.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/docs/usage.rst +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/setup.cfg +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/bjobsusers/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/bjobsusers/bjobsusers.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/casegen_upcars/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/check_swatinit/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/check_swatinit/constants.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/check_swatinit/pillarmodel.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/check_swatinit/plotter.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/convert_grid_format/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/create_date_files/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/create_date_files/create_date_files.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/csv2ofmvol/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/csv_merge/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/csv_stack/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/eclcompress/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/eclcompress/allowlist.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/ecldiff2roff/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/field_statistics/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmu_copy_revision/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmuobs/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/fmuobs/util.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/grav_subs_maps/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/grav_subs_points/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/hook_implementations/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/hook_implementations/forward_model_steps.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/interp_relperm/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/legacy/duf +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/legacy/eclmanual +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/legacy/ertwatch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/legacy/list_rms_usage +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/legacy/nosim +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/legacy/runeclipse +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/merge_unrst_files/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/merge_unrst_files/merge_unrst_files.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/ofmvol2csv/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/pack_sim/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/params2csv/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/presentvalue/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/prtvol2csv/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/prtvol2csv/prtvol2csv.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/restartthinner/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/datafile_obj.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/flux_util.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/summaryplot/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sunsch/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sunsch/time_vector.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/sw_model_utilities/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/vfp2csv/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/vfp2csv/vfp2csv.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript/welltest_dpds/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript.egg-info/SOURCES.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript.egg-info/dependency_links.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript.egg-info/entry_points.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/src/subscript.egg-info/top_level.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/__init__.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args0.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args1.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args10.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args11.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args2.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args3.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args4.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args5.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args6.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args7.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args8.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args9.png +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/conftest.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/eclipse/model/parameters.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/parameters.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/rms/README +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/vfp/GasProd.VFP +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/vfp/pd2.VFP +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_bjobsusers.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_create_date_files.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_docs.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_hook_implementations.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_subscriptlogger.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/test_sw_model_utilities.py +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/config_example.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/ert/model/0readme +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/ert-doc.csv +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/ert-doc.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/ert-doc.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_fmuobs/ri-obs.csv +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/HIST.EGRID +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/HIST.INIT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/HIST.UNRST +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/global_variables.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/grav_subs_points.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/seabed.gri +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_gravity/station_coordinates.csv +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/cfg.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/swof_base.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_prtvol2csv/0readme.txt +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE.PRT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE_FLOW.PRT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/config.yml +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/emptyinit.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/foo1.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/footemplate.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/initwithdates.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/merge2.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/mergeme.sch +0 -0
- {subscript-1.14.5 → subscript-1.14.7}/tests/testdata_sunsch/options3.sch +0 -0
|
@@ -26,9 +26,17 @@ jobs:
|
|
|
26
26
|
strategy:
|
|
27
27
|
matrix:
|
|
28
28
|
python-version: ["3.11", "3.12", "3.13"]
|
|
29
|
+
pandas-version: [""]
|
|
30
|
+
include:
|
|
31
|
+
- python-version: "3.13"
|
|
32
|
+
pandas-version: ">=2,<3"
|
|
33
|
+
- python-version: "3.13"
|
|
34
|
+
pandas-version: ">=3.0.0"
|
|
35
|
+
exclude:
|
|
36
|
+
- python-version: "3.13"
|
|
37
|
+
pandas-version: ""
|
|
29
38
|
|
|
30
39
|
steps:
|
|
31
|
-
|
|
32
40
|
- name: Install Ubuntu dependencies
|
|
33
41
|
run: |
|
|
34
42
|
sudo apt-get update
|
|
@@ -63,6 +71,10 @@ jobs:
|
|
|
63
71
|
run: |
|
|
64
72
|
uv pip install ".[tests, docs]"
|
|
65
73
|
|
|
74
|
+
- name: Pin pandas version
|
|
75
|
+
if: matrix.pandas-version
|
|
76
|
+
run: uv pip install "pandas${{ matrix.pandas-version }}"
|
|
77
|
+
|
|
66
78
|
- name: Log OPM-Flow version
|
|
67
79
|
run: |
|
|
68
80
|
flow --version
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subscript
|
|
3
|
-
Version: 1.14.
|
|
3
|
+
Version: 1.14.7
|
|
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
|
|
@@ -31,7 +31,7 @@ Requires-Dist: jinja2
|
|
|
31
31
|
Requires-Dist: matplotlib
|
|
32
32
|
Requires-Dist: numpy
|
|
33
33
|
Requires-Dist: opm>=2023.04
|
|
34
|
-
Requires-Dist: pandas
|
|
34
|
+
Requires-Dist: pandas>=2
|
|
35
35
|
Requires-Dist: pydantic
|
|
36
36
|
Requires-Dist: pyscal
|
|
37
37
|
Requires-Dist: pyyaml
|
|
@@ -56,12 +56,12 @@ Requires-Dist: types-seaborn; extra == "tests"
|
|
|
56
56
|
Requires-Dist: scipy-stubs; extra == "tests"
|
|
57
57
|
Provides-Extra: docs
|
|
58
58
|
Requires-Dist: autoapi; extra == "docs"
|
|
59
|
-
Requires-Dist: sphinx; extra == "docs"
|
|
59
|
+
Requires-Dist: sphinx<9; extra == "docs"
|
|
60
60
|
Requires-Dist: sphinx-argparse; extra == "docs"
|
|
61
61
|
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
62
62
|
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
63
63
|
Requires-Dist: sphinx-togglebutton; extra == "docs"
|
|
64
|
-
Requires-Dist: sphinx_rtd_theme; extra == "docs"
|
|
64
|
+
Requires-Dist: sphinx_rtd_theme>=3.1.0.rc1; extra == "docs"
|
|
65
65
|
Dynamic: license-file
|
|
66
66
|
|
|
67
67
|
# subscript
|
|
@@ -43,7 +43,7 @@ dependencies = [
|
|
|
43
43
|
"matplotlib",
|
|
44
44
|
"numpy",
|
|
45
45
|
"opm>=2023.04",
|
|
46
|
-
"pandas",
|
|
46
|
+
"pandas >= 2",
|
|
47
47
|
"pydantic",
|
|
48
48
|
"pyscal",
|
|
49
49
|
"pyyaml",
|
|
@@ -72,12 +72,12 @@ tests = [
|
|
|
72
72
|
]
|
|
73
73
|
docs = [
|
|
74
74
|
"autoapi",
|
|
75
|
-
"sphinx",
|
|
75
|
+
"sphinx < 9",
|
|
76
76
|
"sphinx-argparse",
|
|
77
77
|
"sphinx-autodoc-typehints",
|
|
78
78
|
"sphinx-copybutton",
|
|
79
79
|
"sphinx-togglebutton",
|
|
80
|
-
"sphinx_rtd_theme",
|
|
80
|
+
"sphinx_rtd_theme >= 3.1.0.rc1",
|
|
81
81
|
]
|
|
82
82
|
|
|
83
83
|
[project.urls]
|
|
@@ -198,6 +198,9 @@ select = [
|
|
|
198
198
|
"B", # flake8-bugbear
|
|
199
199
|
"ANN", # flake8-annotations
|
|
200
200
|
]
|
|
201
|
+
|
|
202
|
+
preview = true
|
|
203
|
+
|
|
201
204
|
ignore = [
|
|
202
205
|
"C901", # complex-structure
|
|
203
206
|
"PD013", # pandas-use-of-dot-stack
|
|
@@ -205,6 +208,14 @@ ignore = [
|
|
|
205
208
|
"PLR0912", # too-many-branches
|
|
206
209
|
"PLR2004", # magic-value-comparison
|
|
207
210
|
"PLW2901", # redefined-loop-name
|
|
211
|
+
"PLC2701", # import-private-name
|
|
212
|
+
"PLR0914", # too-many-locals
|
|
213
|
+
"PLR6301", # no-self-use
|
|
214
|
+
"PLR0904", # too-many-public-methods
|
|
215
|
+
"PLR1702", # too-many-nested-blocks
|
|
216
|
+
"RUF067", # non empty init module
|
|
217
|
+
"RUF069", # unreliable-floating-point-equality
|
|
218
|
+
"PLC1901", # compare-to-empty-string
|
|
208
219
|
]
|
|
209
220
|
|
|
210
221
|
[tool.ruff.lint.extend-per-file-ignores]
|
|
@@ -247,10 +247,10 @@ def main():
|
|
|
247
247
|
throws_j1 = throws_section["j1"]
|
|
248
248
|
throws_j2 = throws_section["j2"]
|
|
249
249
|
throws_dz = throws_section["dz"]
|
|
250
|
-
for
|
|
250
|
+
for i1, i2, j1, j2, dz in zip(
|
|
251
251
|
throws_i1, throws_i2, throws_j1, throws_j2, throws_dz, strict=False
|
|
252
252
|
):
|
|
253
|
-
throws.append([
|
|
253
|
+
throws.append([i1, i2, j1, j2, dz])
|
|
254
254
|
else:
|
|
255
255
|
throws = []
|
|
256
256
|
for throw in parser.throws:
|
|
@@ -548,8 +548,8 @@ def main():
|
|
|
548
548
|
]
|
|
549
549
|
file_list.insert(0, dictionary["GRDECL_file"])
|
|
550
550
|
with open(parser.debug_model, "wb", encoding="utf8") as wfd:
|
|
551
|
-
for
|
|
552
|
-
with open(
|
|
551
|
+
for file in file_list:
|
|
552
|
+
with open(file, "rb") as file_handle:
|
|
553
553
|
shutil.copyfileobj(file_handle, wfd)
|
|
554
554
|
|
|
555
555
|
|
|
@@ -100,15 +100,15 @@ class Model:
|
|
|
100
100
|
elif isinstance(streak_rect[0], list):
|
|
101
101
|
streak_rect = [streak_rect[0]] * len(streak_k)
|
|
102
102
|
else:
|
|
103
|
-
streak_rect
|
|
103
|
+
streak_rect *= len(streak_k)
|
|
104
104
|
else:
|
|
105
105
|
streak_rect = [None] * len(streak_k)
|
|
106
106
|
|
|
107
107
|
prts = [-1] * nz
|
|
108
108
|
if streak_k is not None:
|
|
109
|
-
for idx, (
|
|
110
|
-
if
|
|
111
|
-
if
|
|
109
|
+
for idx, (k, nz_) in enumerate(zip(streak_k, streak_nz, strict=False)):
|
|
110
|
+
if nz_ > 0:
|
|
111
|
+
if k - 1 < 0 or k + nz_ - 1 > nz:
|
|
112
112
|
print(
|
|
113
113
|
TERMINALCOLORS["WARNING"]
|
|
114
114
|
+ f"Warning: Streak #{idx + 1} is outside "
|
|
@@ -116,7 +116,7 @@ class Model:
|
|
|
116
116
|
"The streak will be ignored." + TERMINALCOLORS["ENDC"]
|
|
117
117
|
)
|
|
118
118
|
else:
|
|
119
|
-
prts[
|
|
119
|
+
prts[k - 1 : k + nz_ - 1] = [idx] * nz_
|
|
120
120
|
|
|
121
121
|
layer_nz = []
|
|
122
122
|
layer_dz = []
|
|
@@ -270,26 +270,26 @@ class Model:
|
|
|
270
270
|
self._streak_idx = np.full((self._total_nx, self._total_ny, self._total_nz), -1)
|
|
271
271
|
offset = 0
|
|
272
272
|
streak_idx = -1
|
|
273
|
-
for
|
|
274
|
-
if
|
|
273
|
+
for prt, nz_ in zip(layer_prt, layer_nz, strict=False):
|
|
274
|
+
if prt >= 0:
|
|
275
275
|
# Streak
|
|
276
276
|
streak_idx += 1
|
|
277
|
-
|
|
278
|
-
if
|
|
277
|
+
rect = streak_rect[prt]
|
|
278
|
+
if rect is None or len(rect) == 0:
|
|
279
279
|
box_i1 = 0
|
|
280
280
|
box_i2 = self._total_nx - 1
|
|
281
281
|
box_j1 = 0
|
|
282
282
|
box_j2 = self._total_ny - 1
|
|
283
283
|
else:
|
|
284
|
-
box_i1 = max(0,
|
|
285
|
-
box_i2 = min(self._total_nx - 1,
|
|
286
|
-
box_j1 = max(0,
|
|
287
|
-
box_j2 = min(self._total_ny - 1,
|
|
284
|
+
box_i1 = max(0, rect[0] - 1)
|
|
285
|
+
box_i2 = min(self._total_nx - 1, rect[1] - 1)
|
|
286
|
+
box_j1 = max(0, rect[2] - 1)
|
|
287
|
+
box_j2 = min(self._total_ny - 1, rect[3] - 1)
|
|
288
288
|
self._streak_rect[streak_idx] = [box_i1, box_i2, box_j1, box_j2]
|
|
289
289
|
self._streak_idx[
|
|
290
|
-
box_i1 : box_i2 + 1, box_j1 : box_j2 + 1, offset : offset +
|
|
291
|
-
] =
|
|
292
|
-
offset +=
|
|
290
|
+
box_i1 : box_i2 + 1, box_j1 : box_j2 + 1, offset : offset + nz_
|
|
291
|
+
] = prt
|
|
292
|
+
offset += nz_
|
|
293
293
|
|
|
294
294
|
# Layer Index
|
|
295
295
|
self._layer_idx = np.empty(
|
|
@@ -298,10 +298,10 @@ class Model:
|
|
|
298
298
|
self._layer_dz = np.zeros(self._total_nz)
|
|
299
299
|
# self._layer_nz = layer_nz
|
|
300
300
|
offset = 0
|
|
301
|
-
for idx,
|
|
302
|
-
self._layer_idx[:, :, offset : offset +
|
|
303
|
-
self._layer_dz[offset : offset +
|
|
304
|
-
offset +=
|
|
301
|
+
for idx, layer_nz_ in enumerate(layer_nz):
|
|
302
|
+
self._layer_idx[:, :, offset : offset + layer_nz_] = idx
|
|
303
|
+
self._layer_dz[offset : offset + layer_nz_] = layer_dz[idx]
|
|
304
|
+
offset += layer_nz_
|
|
305
305
|
|
|
306
306
|
self._matrix_props = {
|
|
307
307
|
"PORO": 0.0,
|
|
@@ -407,10 +407,10 @@ Initializing model
|
|
|
407
407
|
(self._total_nx, self._total_ny, self._total_nz), dtype=np.int16
|
|
408
408
|
)
|
|
409
409
|
# Use length instead of number of cells
|
|
410
|
-
for
|
|
411
|
-
fracture_length = max(0.0, min(1.0, self._fracture_length_y[
|
|
410
|
+
for i, idx in enumerate(self._fracture_i):
|
|
411
|
+
fracture_length = max(0.0, min(1.0, self._fracture_length_y[i])) * self._ly
|
|
412
412
|
start_fracture = (
|
|
413
|
-
min(self._fracture_offset_y[
|
|
413
|
+
min(self._fracture_offset_y[i], 1.0 - self._fracture_length_y[i])
|
|
414
414
|
* self._ly
|
|
415
415
|
)
|
|
416
416
|
start_fracture_idx = np.abs(self._y - start_fracture).argmin()
|
|
@@ -418,9 +418,9 @@ Initializing model
|
|
|
418
418
|
self._y - (start_fracture + fracture_length)
|
|
419
419
|
).argmin()
|
|
420
420
|
|
|
421
|
-
fracture_height = max(0.0, min(1.0, self._fracture_height_y[
|
|
421
|
+
fracture_height = max(0.0, min(1.0, self._fracture_height_y[i])) * self._lz
|
|
422
422
|
start_fracture_vert = (
|
|
423
|
-
min(self._fracture_zoffset_y[
|
|
423
|
+
min(self._fracture_zoffset_y[i], 1.0 - self._fracture_height_y[i])
|
|
424
424
|
* self._lz
|
|
425
425
|
)
|
|
426
426
|
start_fracture_k = np.abs(self._z - start_fracture_vert).argmin()
|
|
@@ -432,12 +432,12 @@ Initializing model
|
|
|
432
432
|
idx : idx + self._fracture_cell_count,
|
|
433
433
|
start_fracture_idx:end_fracture_idx,
|
|
434
434
|
start_fracture_k : end_fracture_k + 1,
|
|
435
|
-
] =
|
|
435
|
+
] = i + 1
|
|
436
436
|
|
|
437
|
-
for
|
|
438
|
-
fracture_length = max(0.0, min(1.0, self._fracture_length_x[
|
|
437
|
+
for i, idx in enumerate(self._fracture_j):
|
|
438
|
+
fracture_length = max(0.0, min(1.0, self._fracture_length_x[i])) * self._lx
|
|
439
439
|
start_fracture = (
|
|
440
|
-
min(self._fracture_offset_x[
|
|
440
|
+
min(self._fracture_offset_x[i], 1.0 - self._fracture_length_x[i])
|
|
441
441
|
* self._lx
|
|
442
442
|
)
|
|
443
443
|
start_fracture_idx = np.abs(self._x - start_fracture).argmin()
|
|
@@ -445,9 +445,9 @@ Initializing model
|
|
|
445
445
|
self._x - (start_fracture + fracture_length)
|
|
446
446
|
).argmin()
|
|
447
447
|
|
|
448
|
-
fracture_height = max(0.0, min(1.0, self._fracture_height_x[
|
|
448
|
+
fracture_height = max(0.0, min(1.0, self._fracture_height_x[i])) * self._lz
|
|
449
449
|
start_fracture_vert = (
|
|
450
|
-
min(self._fracture_zoffset_x[
|
|
450
|
+
min(self._fracture_zoffset_x[i], 1.0 - self._fracture_height_x[i])
|
|
451
451
|
* self._lz
|
|
452
452
|
)
|
|
453
453
|
start_fracture_k = np.abs(self._z - start_fracture_vert).argmin()
|
|
@@ -458,7 +458,7 @@ Initializing model
|
|
|
458
458
|
start_fracture_idx:end_fracture_idx,
|
|
459
459
|
idx : idx + self._fracture_cell_count,
|
|
460
460
|
start_fracture_k : end_fracture_k + 1,
|
|
461
|
-
] = -(
|
|
461
|
+
] = -(i + 1)
|
|
462
462
|
|
|
463
463
|
def _build_grid(self):
|
|
464
464
|
"""Create the mesh xv, yv and zv"""
|
|
@@ -796,13 +796,13 @@ Initializing model
|
|
|
796
796
|
print("/", file=buffer_)
|
|
797
797
|
|
|
798
798
|
print("COORD", file=buffer_)
|
|
799
|
-
for
|
|
800
|
-
for
|
|
799
|
+
for i in range(self._xv.shape[0]):
|
|
800
|
+
for j in range(self._xv.shape[1]):
|
|
801
801
|
print(
|
|
802
802
|
"{{x:{0}}} {{y:{0}}} {{z:{0}}} " # noqa: UP032
|
|
803
803
|
"{{x:{0}}} {{y:{0}}} {{z:{0}}}".format(
|
|
804
804
|
self._eclipse_output_float
|
|
805
|
-
).format(x=self._xv[
|
|
805
|
+
).format(x=self._xv[i, j], y=self._yv[i, j], z=0.0),
|
|
806
806
|
file=buffer_,
|
|
807
807
|
)
|
|
808
808
|
print("/", file=buffer_)
|
|
@@ -828,7 +828,7 @@ Initializing model
|
|
|
828
828
|
|
|
829
829
|
def _print_property(self, stream, keyword, array_value):
|
|
830
830
|
props = array_value.reshape(array_value.size, order="f")
|
|
831
|
-
if array_value.dtype.str[1] in
|
|
831
|
+
if array_value.dtype.str[1] in {"i", "u"}:
|
|
832
832
|
value_format = ""
|
|
833
833
|
else:
|
|
834
834
|
value_format = self._eclipse_output_float_compact
|
|
@@ -1017,17 +1017,17 @@ Initializing model
|
|
|
1017
1017
|
)
|
|
1018
1018
|
)
|
|
1019
1019
|
streak_box = []
|
|
1020
|
-
for
|
|
1020
|
+
for k, nz_size, rect in zip(
|
|
1021
1021
|
self._streak_k, self._streak_nz, self._streak_rect, strict=False
|
|
1022
1022
|
):
|
|
1023
|
-
|
|
1023
|
+
k -= 1
|
|
1024
1024
|
box = self.bounded_box(
|
|
1025
1025
|
rect[0] - near_streak_vug_distance_to_streak,
|
|
1026
1026
|
rect[1] + near_streak_vug_distance_to_streak,
|
|
1027
1027
|
rect[2] - near_streak_vug_distance_to_streak,
|
|
1028
1028
|
rect[3] + near_streak_vug_distance_to_streak,
|
|
1029
|
-
|
|
1030
|
-
|
|
1029
|
+
k - near_streak_vug_distance_to_streak,
|
|
1030
|
+
k + nz_size - 1 + near_streak_vug_distance_to_streak,
|
|
1031
1031
|
)
|
|
1032
1032
|
streak_box.append(box)
|
|
1033
1033
|
streak_domain_flag[
|
|
@@ -55,8 +55,7 @@ def main() -> None:
|
|
|
55
55
|
check_applicability(eclfiles)
|
|
56
56
|
|
|
57
57
|
qc_frame = make_qc_gridframe(eclfiles)
|
|
58
|
-
|
|
59
|
-
if args.output != "":
|
|
58
|
+
if args.output:
|
|
60
59
|
logger.info("Exporting CSV to %s", args.output)
|
|
61
60
|
reorder_dframe_for_nonnans(qc_frame).to_csv(args.output, index=False)
|
|
62
61
|
|
|
@@ -65,7 +64,7 @@ def main() -> None:
|
|
|
65
64
|
return
|
|
66
65
|
qc_vols = qc_volumes(qc_frame)
|
|
67
66
|
print(human_report_qc_vols(qc_vols))
|
|
68
|
-
qcsum = qc_vols["SWATINIT_WVOL"] + sum(
|
|
67
|
+
qcsum = qc_vols["SWATINIT_WVOL"] + sum(qc_vols[qc_flag] for qc_flag in QC_FLAGS)
|
|
69
68
|
diff = qc_vols["SWAT_WVOL"] - qcsum
|
|
70
69
|
if not np.isclose(diff, 0, atol=1e-6):
|
|
71
70
|
print(f"Unexplained difference: {diff} Rm3")
|
{subscript-1.14.5 → subscript-1.14.7}/src/subscript/convert_grid_format/convert_grid_format.py
RENAMED
|
@@ -124,7 +124,7 @@ def _convert_ecl2roff(
|
|
|
124
124
|
if option: # standardfmu separator
|
|
125
125
|
filesep = "--"
|
|
126
126
|
|
|
127
|
-
if mode in
|
|
127
|
+
if mode in {"grid", "init", "restart"}:
|
|
128
128
|
logger.info("Running GRID conversion...")
|
|
129
129
|
|
|
130
130
|
logger.info("Convert from EGRID to ROFF...")
|
|
@@ -138,7 +138,7 @@ def _convert_ecl2roff(
|
|
|
138
138
|
else:
|
|
139
139
|
raise SystemExit(f"STOP! Invalid mode: <{mode}>")
|
|
140
140
|
|
|
141
|
-
if mode in
|
|
141
|
+
if mode in {"restart", "init"}:
|
|
142
142
|
xtg.say(f"Mode is {mode}")
|
|
143
143
|
logger.info("Running %s conversion...", mode.upper())
|
|
144
144
|
fname, fext = os.path.splitext(filename)
|
|
@@ -162,7 +162,7 @@ def _convert_ecl2roff(
|
|
|
162
162
|
else:
|
|
163
163
|
dates_list = None
|
|
164
164
|
|
|
165
|
-
if fext in
|
|
165
|
+
if fext in {".UNRST", ".INIT", ""}:
|
|
166
166
|
usext = f".{fformat.upper()}"
|
|
167
167
|
myprops = xtgeo.gridproperties_from_file(
|
|
168
168
|
fname + usext,
|
|
@@ -179,12 +179,12 @@ def check_consecutive_dates(data: pd.DataFrame) -> None:
|
|
|
179
179
|
if len(datedeltas) > 1 and checkprod > 0.1:
|
|
180
180
|
logger.warning(
|
|
181
181
|
"Warning: Uneven date intervals for well %s, check these rows:\n%s",
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
well,
|
|
183
|
+
checkrows,
|
|
184
184
|
)
|
|
185
185
|
if int(datedeltas[0]) != 1:
|
|
186
|
-
logger.warning("Dates are not daily-consecutive for well %s",
|
|
187
|
-
logger.warning("Most common timedelta is: %s",
|
|
186
|
+
logger.warning("Dates are not daily-consecutive for well %s", well)
|
|
187
|
+
logger.warning("Most common timedelta is: %s", dominantdelta)
|
|
188
188
|
|
|
189
189
|
|
|
190
190
|
def df2vol(data: pd.DataFrame) -> str:
|
|
@@ -211,7 +211,7 @@ def df2vol(data: pd.DataFrame) -> str:
|
|
|
211
211
|
|
|
212
212
|
unsupported = set(columns_trans) - set(columns)
|
|
213
213
|
if unsupported:
|
|
214
|
-
logger.warning("Unsupported column(s) %s",
|
|
214
|
+
logger.warning("Unsupported column(s) %s", unsupported)
|
|
215
215
|
|
|
216
216
|
# Translate column names:
|
|
217
217
|
voldata = data.rename(columns=PDMCOLS2VOL, inplace=False)
|
|
@@ -281,7 +281,7 @@ def csv2ofmvol_main(csvfilepatterns: list[str], output: str) -> bool:
|
|
|
281
281
|
|
|
282
282
|
csvfiles = glob_patterns(csvfilepatterns)
|
|
283
283
|
if set(csvfiles) != set(csvfilepatterns):
|
|
284
|
-
logger.info("Wildcards used: %s",
|
|
284
|
+
logger.info("Wildcards used: %s", csvfilepatterns)
|
|
285
285
|
if not csvfiles:
|
|
286
286
|
logger.error("No filenames found")
|
|
287
287
|
return False
|
|
@@ -303,21 +303,21 @@ def csv2ofmvol_main(csvfilepatterns: list[str], output: str) -> bool:
|
|
|
303
303
|
outfile.write(volstr)
|
|
304
304
|
|
|
305
305
|
assert isinstance(data.index, pd.MultiIndex)
|
|
306
|
-
logger.info("Well count: %s",
|
|
307
|
-
logger.info("Date count: %s",
|
|
306
|
+
logger.info("Well count: %s", len(data.index.levels[0]))
|
|
307
|
+
logger.info("Date count: %s", len(data.index.levels[1]))
|
|
308
308
|
|
|
309
309
|
if len(data) > 1:
|
|
310
310
|
startdate = data.index.levels[1].min()
|
|
311
311
|
enddate = data.index.levels[1].max()
|
|
312
312
|
delta = relativedelta(enddate, startdate)
|
|
313
|
-
logger.info("Date range: %s --> %s",
|
|
313
|
+
logger.info("Date range: %s --> %s", startdate.date(), enddate.date())
|
|
314
314
|
logger.info(
|
|
315
315
|
" %s years, %s months, %s days.",
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
316
|
+
delta.years,
|
|
317
|
+
delta.months,
|
|
318
|
+
delta.days,
|
|
319
319
|
)
|
|
320
|
-
logger.info("Written %s lines to %s.",
|
|
320
|
+
logger.info("Written %s lines to %s.", len(volstr) + 3, output)
|
|
321
321
|
return True
|
|
322
322
|
|
|
323
323
|
|
|
@@ -192,11 +192,9 @@ def merge_csvfiles(
|
|
|
192
192
|
if tag not in dframe:
|
|
193
193
|
dframe[tag] = tags[tag][idx]
|
|
194
194
|
else:
|
|
195
|
-
logger.warning("Tag %s already in dataframe",
|
|
195
|
+
logger.warning("Tag %s already in dataframe", tag)
|
|
196
196
|
else:
|
|
197
|
-
logger.warning(
|
|
198
|
-
"Could not use tag %s, insufficient length", str(tag)
|
|
199
|
-
)
|
|
197
|
+
logger.warning("Could not use tag %s, insufficient length", tag)
|
|
200
198
|
logger.info(" - Merging with previously loaded CSV files")
|
|
201
199
|
merged_df = pd.concat(
|
|
202
200
|
[merged_df, dframe], axis=0, ignore_index=True, sort=False
|
|
@@ -222,11 +220,9 @@ def merge_csvfiles(
|
|
|
222
220
|
if tag not in dframe:
|
|
223
221
|
dframe[tag] = tags[tag][idx]
|
|
224
222
|
else:
|
|
225
|
-
logger.warning("Tag %s already in dataframe",
|
|
223
|
+
logger.warning("Tag %s already in dataframe", tag)
|
|
226
224
|
else:
|
|
227
|
-
logger.warning(
|
|
228
|
-
"Could not use tag %s, insufficient length", str(tag)
|
|
229
|
-
)
|
|
225
|
+
logger.warning("Could not use tag %s, insufficient length", tag)
|
|
230
226
|
logger.info("Merging %d files..", loaded_files)
|
|
231
227
|
merged_df = pd.concat(dfs, axis=0, ignore_index=True, sort=False)
|
|
232
228
|
return merged_df
|
|
@@ -290,8 +286,8 @@ def csv_merge_main(
|
|
|
290
286
|
tags[filecolumn] = csvfiles
|
|
291
287
|
tags = {key: value for key, value in tags.items() if len(value)}
|
|
292
288
|
|
|
293
|
-
logger.info("Found tags: %s",
|
|
294
|
-
logger.debug("Tags: %s",
|
|
289
|
+
logger.info("Found tags: %s", tags.keys())
|
|
290
|
+
logger.debug("Tags: %s", tags)
|
|
295
291
|
|
|
296
292
|
merged_df = merge_csvfiles(csvfiles, tags, memoryconservative=memoryconservative)
|
|
297
293
|
|
|
@@ -300,18 +296,18 @@ def csv_merge_main(
|
|
|
300
296
|
for col in merged_df.columns:
|
|
301
297
|
if len(merged_df[col].unique()) == 1:
|
|
302
298
|
columnstodelete.append(col)
|
|
303
|
-
logger.info("Dropping constant columns %s",
|
|
299
|
+
logger.info("Dropping constant columns %s", columnstodelete)
|
|
304
300
|
merged_df = merged_df.drop(columnstodelete, axis=1)
|
|
305
301
|
|
|
306
302
|
if merged_df.empty:
|
|
307
303
|
logger.error("No data to output")
|
|
308
304
|
raise NoDataError
|
|
309
305
|
|
|
310
|
-
logger.info("Final column list: %s",
|
|
306
|
+
logger.info("Final column list: %s", merged_df.columns)
|
|
311
307
|
|
|
312
308
|
logger.info("Exporting CSV data to %s", output)
|
|
313
309
|
|
|
314
|
-
if output in
|
|
310
|
+
if output in {"-", "stdout"}:
|
|
315
311
|
merged_df.to_csv(sys.stdout, index=False)
|
|
316
312
|
else:
|
|
317
313
|
merged_df.to_csv(path_or_buf=output, index=False)
|
|
@@ -244,9 +244,9 @@ def drop_constants(
|
|
|
244
244
|
if keepminimal and (not (stackmatcher.match(col) or col.lower() in keepthese)):
|
|
245
245
|
columnstodelete.append(col)
|
|
246
246
|
if keepminimal:
|
|
247
|
-
logger.info("Deleting constant and unwanted columns %s",
|
|
247
|
+
logger.info("Deleting constant and unwanted columns %s", columnstodelete)
|
|
248
248
|
else:
|
|
249
|
-
logger.info("Deleting constant columns %s",
|
|
249
|
+
logger.info("Deleting constant columns %s", columnstodelete)
|
|
250
250
|
logger.info("Deleted %d columns", len(columnstodelete))
|
|
251
251
|
return dframe.drop(columnstodelete, axis=1)
|
|
252
252
|
|
|
@@ -287,7 +287,7 @@ def csv_stack(
|
|
|
287
287
|
for col in dframe.columns:
|
|
288
288
|
if stackmatcher.match(col):
|
|
289
289
|
tuplecols.append(tuple(col.split(stackseparator)))
|
|
290
|
-
colstostack
|
|
290
|
+
colstostack += 1
|
|
291
291
|
dostack = True
|
|
292
292
|
else:
|
|
293
293
|
tuplecols.append((col, ""))
|
|
@@ -107,7 +107,7 @@ def eclcompress(
|
|
|
107
107
|
continue
|
|
108
108
|
|
|
109
109
|
compressedlines = compress_multiple_keywordsets(keywordsets, filelines)
|
|
110
|
-
compressedbytecount = sum(
|
|
110
|
+
compressedbytecount = sum(len(x) for x in compressedlines)
|
|
111
111
|
|
|
112
112
|
# 1 means no compression, the higher the better.
|
|
113
113
|
# The header added below is not included in the calculated
|
|
@@ -715,7 +715,7 @@ def get_values_in_ertbox(
|
|
|
715
715
|
ertbox_prop_values = np.ma.masked_all(
|
|
716
716
|
(ertbox_size[0], ertbox_size[1], ertbox_size[2]), dtype=np.int32
|
|
717
717
|
)
|
|
718
|
-
if conformity.upper() in
|
|
718
|
+
if conformity.upper() in {"PROPORTIONAL", "TOP_CONFORM"}:
|
|
719
719
|
ertbox_prop_values[:, :, :nz_zone] = prop_values[:, :, start_layer:end_layer]
|
|
720
720
|
elif conformity.upper() == "BASE_CONFORM":
|
|
721
721
|
start_layer_ertbox = ertbox_size[2] - nz_zone
|
|
@@ -764,7 +764,7 @@ def set_values_in_geogrid(
|
|
|
764
764
|
prop_values = geogrid_property_param.values
|
|
765
765
|
|
|
766
766
|
# Update only the property of the geogrid for the given zone
|
|
767
|
-
if conformity.upper() in
|
|
767
|
+
if conformity.upper() in {"PROPORTIONAL", "TOP_CONFORM"}:
|
|
768
768
|
prop_values[:, :, start_layer:end_layer] = ertbox_values[:, :, :nz_zone]
|
|
769
769
|
elif conformity.upper() == "BASE_CONFORM":
|
|
770
770
|
start_layer_ertbox = ertbox_size[2] - nz_zone
|
|
@@ -1234,7 +1234,7 @@ def check_zone_conformity(zone_code_names, zone_names_used, zone_conformity):
|
|
|
1234
1234
|
for zone_name, conformity in zone_conformity.items():
|
|
1235
1235
|
if zone_name not in list(zone_code_names.values()):
|
|
1236
1236
|
raise ValueError("Unknown zone names in keyword 'zone_conformity'.")
|
|
1237
|
-
if conformity.upper() not in
|
|
1237
|
+
if conformity.upper() not in {"TOP_CONFORM", "BASE_CONFORM", "PROPORTIONAL"}:
|
|
1238
1238
|
raise ValueError(
|
|
1239
1239
|
"Undefined zone conformity specified "
|
|
1240
1240
|
"(Must be Top_conform, Base_conform or Proportional)."
|
|
@@ -1876,9 +1876,9 @@ def main():
|
|
|
1876
1876
|
if __name__ == "__main__":
|
|
1877
1877
|
main()
|
|
1878
1878
|
|
|
1879
|
-
"""
|
|
1879
|
+
""" # noqa: RUF027
|
|
1880
1880
|
print(f"Write file: {rms_load_script}")
|
|
1881
|
-
with open(rms_load_script, "w") as file:
|
|
1881
|
+
with open(rms_load_script, "w", encoding="utf-8") as file:
|
|
1882
1882
|
file.write(
|
|
1883
1883
|
template_string.format(
|
|
1884
1884
|
ert_config_path=ert_config_path,
|
|
@@ -166,14 +166,14 @@ def validate_internal_dframe(obs_df: pd.DataFrame) -> bool:
|
|
|
166
166
|
failed = True
|
|
167
167
|
non_supported_classes = set(obs_df["CLASS"]) - set(CLASS_SHORTNAME.keys())
|
|
168
168
|
if non_supported_classes:
|
|
169
|
-
logger.error("Unsupported observation classes: %s",
|
|
169
|
+
logger.error("Unsupported observation classes: %s", non_supported_classes)
|
|
170
170
|
failed = True
|
|
171
171
|
|
|
172
172
|
index = {"CLASS", "LABEL", "OBS", "SEGMENT"}.intersection(set(obs_df.columns))
|
|
173
173
|
repeated_rows = obs_df[obs_df.set_index(list(index)).index.duplicated(keep=False)]
|
|
174
174
|
if not repeated_rows.empty:
|
|
175
175
|
logger.error("Non-unique observation classes and labels")
|
|
176
|
-
logger.error("\n%s",
|
|
176
|
+
logger.error("\n%s", repeated_rows.dropna(axis="columns", how="all"))
|
|
177
177
|
failed = True
|
|
178
178
|
|
|
179
179
|
# Possibilities for further validation:
|
|
@@ -305,7 +305,7 @@ def fmuobs(
|
|
|
305
305
|
) -> None:
|
|
306
306
|
"""Alternative to main() with named arguments"""
|
|
307
307
|
if verbose or debug:
|
|
308
|
-
if __MAGIC_STDOUT__ in
|
|
308
|
+
if __MAGIC_STDOUT__ in {csv, yml, ertobs}:
|
|
309
309
|
raise SystemExit("Don't use verbose/debug when writing to stdout")
|
|
310
310
|
loglevel = logging.INFO
|
|
311
311
|
if debug:
|