subscript 1.14.7__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.7 → subscript-1.15.0}/.github/workflows/codecov.yml +1 -1
- {subscript-1.14.7 → subscript-1.15.0}/PKG-INFO +2 -1
- {subscript-1.14.7 → subscript-1.15.0}/pyproject.toml +1 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/eclcompress/eclcompress.py +1 -1
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/field_statistics/field_statistics.py +85 -38
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmuobs/fmuobs.py +2 -2
- subscript-1.15.0/src/subscript/version.py +24 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript.egg-info/PKG-INFO +2 -1
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript.egg-info/SOURCES.txt +1 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript.egg-info/requires.txt +1 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_field_statistics.py +122 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_fmuobs.py +49 -0
- subscript-1.15.0/tests/testdata_fmuobs/summary_obs_without_date.obs +28 -0
- subscript-1.14.7/src/subscript/version.py +0 -34
- {subscript-1.14.7 → subscript-1.15.0}/.github/dependabot.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/.github/workflows/linting.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/.github/workflows/publish.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/.github/workflows/subscript.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/.gitignore +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/LICENSE +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/README.md +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/SECURITY.md +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/ci/testkomodo.sh +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/Makefile +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/_static/equinor-logo.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/_static/equinor-logo2.jpg +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/_static/equinor-logo2.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/_static/equinor_logo.jpg +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/_static/equinor_logo_only.jpg +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/_templates/layout.html +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/conf.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/contributing.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/history.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/index.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/make.bat +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/overview.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/bjobsusers.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/casegen_upcars.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/check_swatinit.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/convert_grid_format.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/create_date_files.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/csv2ofmvol.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/csv_merge.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/csv_stack.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/eclcompress.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/ecldiff2roff.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/field_statistics.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/fmu_copy_revision.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/fmuobs.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/grav_subs_maps.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/grav_subs_points.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/Pack_sim_overview.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/Summaryplot-ert.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/check_swatinit_scatter.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/check_swatinit_volplot.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/ecl-swat-initialization.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/interp_relperm.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/merge_rft_ertobs.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/merge_unrst_files.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/ofmvol2csv.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/pack_sim.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/params2csv.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/presentvalue.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/prtvol2csv.csv +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/prtvol2csv.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/restartthinner.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/rmsecl_volumetrics.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/sector2fluxnum.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/summaryplot.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/sunsch.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/sw_model_utilities.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/vfp2csv.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/scripts/welltest_dpds.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/docs/usage.rst +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/setup.cfg +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/bjobsusers/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/bjobsusers/bjobsusers.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/casegen_upcars/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/casegen_upcars/casegen_upcars.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/casegen_upcars/model.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/casegen_upcars/udf.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/check_swatinit/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/check_swatinit/check_swatinit.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/check_swatinit/constants.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/check_swatinit/pillarmodel.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/check_swatinit/plotter.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/convert_grid_format/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/convert_grid_format/convert_grid_format.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/create_date_files/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/create_date_files/create_date_files.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/csv2ofmvol/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/csv2ofmvol/csv2ofmvol.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/csv_merge/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/csv_merge/csv_merge.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/csv_stack/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/csv_stack/csv_stack.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/eclcompress/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/eclcompress/allowlist.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/ecldiff2roff/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/ecldiff2roff/ecldiff2roff.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/field_statistics/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmu_copy_revision/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmuobs/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmuobs/parsers.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmuobs/util.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/fmuobs/writers.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/grav_subs_maps/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/grav_subs_maps/grav_subs_maps.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/grav_subs_points/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/grav_subs_points/grav_subs_points.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/hook_implementations/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/hook_implementations/forward_model_steps.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/interp_relperm/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/interp_relperm/interp_relperm.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/legacy/duf +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/legacy/eclmanual +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/legacy/ertwatch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/legacy/list_rms_usage +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/legacy/nosim +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/legacy/runeclipse +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/merge_unrst_files/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/merge_unrst_files/merge_unrst_files.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/ofmvol2csv/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/ofmvol2csv/ofmvol2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/pack_sim/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/pack_sim/pack_sim.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/params2csv/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/params2csv/params2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/presentvalue/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/presentvalue/presentvalue.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/prtvol2csv/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/prtvol2csv/prtvol2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/restartthinner/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/restartthinner/restartthinner.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/completions.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/datafile_obj.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/flux_util.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/fluxfile_obj.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/summaryplot/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/summaryplot/summaryplot.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sunsch/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sunsch/sunsch.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sunsch/time_vector.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sw_model_utilities/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/sw_model_utilities/sw_model_utilities.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/vfp2csv/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/vfp2csv/vfp2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/welltest_dpds/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript/welltest_dpds/welltest_dpds.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript.egg-info/dependency_links.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript.egg-info/entry_points.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/src/subscript.egg-info/top_level.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/__init__.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args0.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args1.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args10.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args11.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args2.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args3.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args4.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args5.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args6.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args7.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args8.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/baseline/test_summaryplotter_mpl_test_cmd_args9.png +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/conftest.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/eclipse/model/parameters.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/parameters.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/rms/README +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/vfp/GasProd.VFP +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/vfp/pd2.VFP +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_bjobsusers.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_casegen_upcars.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_check_swatinit.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_check_swatinit_simulators.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_convert_grid_format.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_create_date_files.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_csv2ofmvol.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_csv_merge.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_csv_stack.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_docs.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_eclcompress.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_ecldiff2roff.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_eclinit2roff.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_fmu_copy_revision.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_fmuobs_parsers.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_fmuobs_writers.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_grav_subs_maps.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_grav_subs_points.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_hook_implementations.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_interp_relperm.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_merge_rft_ertobs.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_merge_unrst_files.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_ofmvol2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_pack_sim.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_params2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_presentvalue.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_prtvol2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_restartthinner.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_rmsecl_volumetrics.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_sector2fluxnum.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_subscriptlogger.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_summaryplot.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_sunsch.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_sw_model_utilities.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_vfp2csv.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/test_welltest_dpds.py +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/config_example.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/ert/model/0readme +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/ert-doc.csv +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/ert-doc.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/ert-doc.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_fmuobs/ri-obs.csv +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/HIST.EGRID +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/HIST.INIT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/HIST.UNRST +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/global_variables.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/grav_subs_points.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/seabed.gri +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_gravity/station_coordinates.csv +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/cfg.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/swof_base.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_prtvol2csv/0readme.txt +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE.PRT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE_FLOW.PRT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/config.yml +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/emptyinit.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/foo1.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/footemplate.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/initwithdates.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/merge2.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/mergeme.sch +0 -0
- {subscript-1.14.7 → subscript-1.15.0}/tests/testdata_sunsch/options3.sch +0 -0
- {subscript-1.14.7 → 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
|
|
@@ -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,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
|
|
@@ -4,12 +4,14 @@ import subprocess
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
|
|
6
6
|
import fmu.config.utilities as utils
|
|
7
|
+
import gaussianfft as sim
|
|
7
8
|
import numpy as np
|
|
8
9
|
import pytest
|
|
9
10
|
import xtgeo
|
|
10
11
|
|
|
11
12
|
from subscript.field_statistics.field_statistics import (
|
|
12
13
|
calc_stats,
|
|
14
|
+
calc_temporary_field_stats,
|
|
13
15
|
check_disc_param_name_dict,
|
|
14
16
|
check_param_name_dict,
|
|
15
17
|
check_use_zones,
|
|
@@ -1101,3 +1103,123 @@ def test_main(tmp_path, config_file, config_dict, print_info=True):
|
|
|
1101
1103
|
# For this test not to fail, the CONFIG_DICT and the specified
|
|
1102
1104
|
# config file in yaml format must define the same setup
|
|
1103
1105
|
assert compare_with_referencedata(ens_path, result_path, print_check=True)
|
|
1106
|
+
|
|
1107
|
+
|
|
1108
|
+
def simulate_ensembles(
|
|
1109
|
+
nreal: int, nx: int, ny: int, nz: int, nreal_lost: int, result_dir: str
|
|
1110
|
+
) -> None:
|
|
1111
|
+
sim.seed(123456)
|
|
1112
|
+
variogram = sim.variogram("exponential", 100.0, 50.0, 5.0, 45.0, 0.0)
|
|
1113
|
+
dx = 5.0
|
|
1114
|
+
dy = 5.0
|
|
1115
|
+
dz = 1.0
|
|
1116
|
+
init_ens_field_3d = np.zeros((nx, ny, nz, nreal), dtype=np.float32)
|
|
1117
|
+
final_ens_field_3d = np.zeros((nx, ny, nz, nreal - nreal_lost), dtype=np.float32)
|
|
1118
|
+
for i in range(nreal):
|
|
1119
|
+
gauss_vector = sim.simulate(variogram, nx, dx, ny, dy, nz, dz)
|
|
1120
|
+
field_3d = gauss_vector.reshape((nx, ny, nz), order="F")
|
|
1121
|
+
init_ens_field_3d[:, :, :, i] = field_3d
|
|
1122
|
+
if i < (nreal - nreal_lost):
|
|
1123
|
+
final_ens_field_3d[:, :, :, i] = field_3d
|
|
1124
|
+
write_ensemble(init_ens_field_3d, final_ens_field_3d, result_dir)
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
def write_ensemble(init_ens_field_3d, final_ens_field_3d, result_dir):
|
|
1128
|
+
nx, ny, nz, nreal = init_ens_field_3d.shape
|
|
1129
|
+
_, _, _, nreal_final = final_ens_field_3d.shape
|
|
1130
|
+
|
|
1131
|
+
init_real_defined = np.arange(nreal)
|
|
1132
|
+
final_real_defined = np.arange(nreal_final)
|
|
1133
|
+
for iter in [0, 1]:
|
|
1134
|
+
if iter == 0:
|
|
1135
|
+
for i in init_real_defined:
|
|
1136
|
+
real_path = (
|
|
1137
|
+
Path(result_dir)
|
|
1138
|
+
/ Path("realization-" + str(i))
|
|
1139
|
+
/ Path("iter-" + str(iter))
|
|
1140
|
+
)
|
|
1141
|
+
real_path /= Path("rms/output/aps")
|
|
1142
|
+
values = init_ens_field_3d[:, :, :, i]
|
|
1143
|
+
name = "GRF"
|
|
1144
|
+
xtgeo_param = xtgeo.GridProperty(
|
|
1145
|
+
ncol=nx,
|
|
1146
|
+
nrow=ny,
|
|
1147
|
+
nlay=nz,
|
|
1148
|
+
name=name,
|
|
1149
|
+
roxar_dtype=np.float32,
|
|
1150
|
+
values=values,
|
|
1151
|
+
)
|
|
1152
|
+
if not real_path.exists():
|
|
1153
|
+
real_path.mkdir(parents=True, exist_ok=True)
|
|
1154
|
+
real_path /= Path("GRF.roff")
|
|
1155
|
+
xtgeo_param.to_file(real_path, fformat="roff")
|
|
1156
|
+
else:
|
|
1157
|
+
for i in final_real_defined:
|
|
1158
|
+
real_path = (
|
|
1159
|
+
Path(result_dir)
|
|
1160
|
+
/ Path("realization-" + str(i))
|
|
1161
|
+
/ Path("iter-" + str(iter))
|
|
1162
|
+
)
|
|
1163
|
+
values = final_ens_field_3d[:, :, :, i]
|
|
1164
|
+
name = "GRF"
|
|
1165
|
+
xtgeo_param = xtgeo.GridProperty(
|
|
1166
|
+
ncol=nx,
|
|
1167
|
+
nrow=ny,
|
|
1168
|
+
nlay=nz,
|
|
1169
|
+
name=name,
|
|
1170
|
+
roxar_dtype=np.float32,
|
|
1171
|
+
values=values,
|
|
1172
|
+
)
|
|
1173
|
+
if not real_path.exists():
|
|
1174
|
+
real_path.mkdir(parents=True, exist_ok=True)
|
|
1175
|
+
real_path /= Path("GRF.roff")
|
|
1176
|
+
xtgeo_param.to_file(real_path, fformat="roff")
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
@pytest.mark.parametrize(
|
|
1180
|
+
"nreal, nreal_lost",
|
|
1181
|
+
[
|
|
1182
|
+
(10, 0),
|
|
1183
|
+
(10, 2),
|
|
1184
|
+
(10, 8), # Number of realizations must be at least 2
|
|
1185
|
+
],
|
|
1186
|
+
)
|
|
1187
|
+
def test_compare_mean_stdev_of_ensembles(tmp_path, nreal, nreal_lost):
|
|
1188
|
+
nx = 5
|
|
1189
|
+
ny = 5
|
|
1190
|
+
nz = 2
|
|
1191
|
+
field_name = "GRF"
|
|
1192
|
+
simulate_ensembles(nreal, nx, ny, nz, nreal_lost, tmp_path)
|
|
1193
|
+
ertbox_size = (nx, ny, nz)
|
|
1194
|
+
input_dict = {
|
|
1195
|
+
"nreal": nreal,
|
|
1196
|
+
"iterations": [0, 1],
|
|
1197
|
+
"use_population_stdev": False,
|
|
1198
|
+
"temporary_ertbox_fields": {
|
|
1199
|
+
"initial_relative_path": "rms/output/aps",
|
|
1200
|
+
"parameter_names": [field_name],
|
|
1201
|
+
},
|
|
1202
|
+
}
|
|
1203
|
+
ens_path = tmp_path
|
|
1204
|
+
result_path = tmp_path
|
|
1205
|
+
ert_config_path = None
|
|
1206
|
+
calc_temporary_field_stats(
|
|
1207
|
+
input_dict, ens_path, result_path, ert_config_path, ertbox_size
|
|
1208
|
+
)
|
|
1209
|
+
compare_ensemble_stats(result_path, field_name)
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
def compare_ensemble_stats(result_path, field_name, tolerance=1e-8):
|
|
1213
|
+
mean_file_name1 = Path(result_path) / Path("mean_" + field_name + "_0.roff")
|
|
1214
|
+
mean_file_name2 = Path(result_path) / Path("mean_" + field_name + "_1.roff")
|
|
1215
|
+
xtgeo_mean1_field = xtgeo.gridproperty_from_file(mean_file_name1, fformat="roff")
|
|
1216
|
+
xtgeo_mean2_field = xtgeo.gridproperty_from_file(mean_file_name2, fformat="roff")
|
|
1217
|
+
diff_values = np.abs(xtgeo_mean1_field.values - xtgeo_mean2_field.values)
|
|
1218
|
+
assert np.all(diff_values < tolerance)
|
|
1219
|
+
|
|
1220
|
+
sdev_file_name1 = Path(result_path) / Path("stdev_" + field_name + "_0.roff")
|
|
1221
|
+
sdev_file_name2 = Path(result_path) / Path("stdev_" + field_name + "_1.roff")
|
|
1222
|
+
xtgeo_sdev1_field = xtgeo.gridproperty_from_file(sdev_file_name1, fformat="roff")
|
|
1223
|
+
xtgeo_sdev2_field = xtgeo.gridproperty_from_file(sdev_file_name2, fformat="roff")
|
|
1224
|
+
diff_values = np.abs(xtgeo_sdev1_field.values - xtgeo_sdev2_field.values)
|
|
1225
|
+
assert np.all(diff_values < tolerance)
|
|
@@ -247,6 +247,55 @@ def test_integration():
|
|
|
247
247
|
assert subprocess.check_output(["fmuobs", "-h"])
|
|
248
248
|
|
|
249
249
|
|
|
250
|
+
@pytest.mark.integration
|
|
251
|
+
def test_startdate_argument(tmp_path, mocker, monkeypatch):
|
|
252
|
+
"""Test that the startdate argument is handled correctly"""
|
|
253
|
+
monkeypatch.chdir(tmp_path)
|
|
254
|
+
# Test that summary observations without a date are not valid without
|
|
255
|
+
# startdate argument
|
|
256
|
+
mocker.patch(
|
|
257
|
+
"sys.argv",
|
|
258
|
+
[
|
|
259
|
+
"fmuobs",
|
|
260
|
+
"--yml",
|
|
261
|
+
"output.yml",
|
|
262
|
+
str(
|
|
263
|
+
TESTDATA_DIR / "summary_obs_without_date.obs",
|
|
264
|
+
),
|
|
265
|
+
],
|
|
266
|
+
)
|
|
267
|
+
with pytest.raises(
|
|
268
|
+
ValueError, match=r"Can't have summary observation without a date"
|
|
269
|
+
):
|
|
270
|
+
main()
|
|
271
|
+
# Test that summary observations without a date are valid with startdate argument
|
|
272
|
+
start_date = "2020-01-01"
|
|
273
|
+
mocker.patch(
|
|
274
|
+
"sys.argv",
|
|
275
|
+
[
|
|
276
|
+
"fmuobs",
|
|
277
|
+
"--startdate",
|
|
278
|
+
start_date,
|
|
279
|
+
"--yml",
|
|
280
|
+
"output.yml",
|
|
281
|
+
str(
|
|
282
|
+
TESTDATA_DIR / "summary_obs_without_date.obs",
|
|
283
|
+
),
|
|
284
|
+
],
|
|
285
|
+
)
|
|
286
|
+
main()
|
|
287
|
+
assert Path("output.yml").exists()
|
|
288
|
+
# Test that the dates in the output are correctly calculated
|
|
289
|
+
# from the startdate and the days in the input
|
|
290
|
+
with open(Path("output.yml"), encoding="utf8") as stream:
|
|
291
|
+
config = yaml.safe_load(stream)
|
|
292
|
+
for smry in config["smry"]:
|
|
293
|
+
for obs in smry["observations"]:
|
|
294
|
+
assert pd.to_datetime(obs["date"]) == pd.to_datetime(
|
|
295
|
+
start_date
|
|
296
|
+
) + pd.to_timedelta(obs["days"], unit="D")
|
|
297
|
+
|
|
298
|
+
|
|
250
299
|
@pytest.mark.integration
|
|
251
300
|
@pytest.mark.parametrize("verbose", ["", "--verbose", "--debug"])
|
|
252
301
|
def test_commandline(tmp_path, verbose, mocker, caplog, monkeypatch):
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- These observations are modified from ert-doc.obs
|
|
2
|
+
-- and stripped down to demonstrate summary observations without dates
|
|
3
|
+
|
|
4
|
+
SUMMARY_OBSERVATION SEP_TEST_2005
|
|
5
|
+
{
|
|
6
|
+
VALUE = 100.0;
|
|
7
|
+
ERROR = 5;
|
|
8
|
+
DAYS = 135;
|
|
9
|
+
KEY = GOPR:BRENT;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
SUMMARY_OBSERVATION SEP_TEST_2006
|
|
13
|
+
{
|
|
14
|
+
VALUE = 100.0;
|
|
15
|
+
ERROR = 5;
|
|
16
|
+
DAYS = 500;
|
|
17
|
+
KEY = GOPR:BRENT;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
SUMMARY_OBSERVATION SEP_TEST_2008
|
|
21
|
+
{
|
|
22
|
+
VALUE = 213;
|
|
23
|
+
ERROR = 10;
|
|
24
|
+
DAYS = 911;
|
|
25
|
+
KEY = GOPR:NESS;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools-scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
TYPE_CHECKING = False
|
|
14
|
-
if TYPE_CHECKING:
|
|
15
|
-
from typing import Tuple
|
|
16
|
-
from typing import Union
|
|
17
|
-
|
|
18
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
|
-
else:
|
|
21
|
-
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
|
-
|
|
24
|
-
version: str
|
|
25
|
-
__version__: str
|
|
26
|
-
__version_tuple__: VERSION_TUPLE
|
|
27
|
-
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
|
-
|
|
31
|
-
__version__ = version = '1.14.7'
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 14, 7)
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = 'g88003f2b0'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|