subscript 1.14.6__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.
Files changed (404) hide show
  1. {subscript-1.14.6 → subscript-1.14.7}/PKG-INFO +1 -1
  2. {subscript-1.14.6 → subscript-1.14.7}/pyproject.toml +1 -0
  3. subscript-1.14.7/src/subscript/restartthinner/restartthinner.py +249 -0
  4. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/version.py +3 -3
  5. {subscript-1.14.6 → subscript-1.14.7}/src/subscript.egg-info/PKG-INFO +1 -1
  6. subscript-1.14.7/tests/test_restartthinner.py +222 -0
  7. subscript-1.14.6/src/subscript/restartthinner/restartthinner.py +0 -230
  8. subscript-1.14.6/tests/test_restartthinner.py +0 -98
  9. {subscript-1.14.6 → subscript-1.14.7}/.github/dependabot.yml +0 -0
  10. {subscript-1.14.6 → subscript-1.14.7}/.github/workflows/codecov.yml +0 -0
  11. {subscript-1.14.6 → subscript-1.14.7}/.github/workflows/linting.yml +0 -0
  12. {subscript-1.14.6 → subscript-1.14.7}/.github/workflows/publish.yml +0 -0
  13. {subscript-1.14.6 → subscript-1.14.7}/.github/workflows/subscript.yml +0 -0
  14. {subscript-1.14.6 → subscript-1.14.7}/.gitignore +0 -0
  15. {subscript-1.14.6 → subscript-1.14.7}/LICENSE +0 -0
  16. {subscript-1.14.6 → subscript-1.14.7}/README.md +0 -0
  17. {subscript-1.14.6 → subscript-1.14.7}/SECURITY.md +0 -0
  18. {subscript-1.14.6 → subscript-1.14.7}/ci/testkomodo.sh +0 -0
  19. {subscript-1.14.6 → subscript-1.14.7}/docs/Makefile +0 -0
  20. {subscript-1.14.6 → subscript-1.14.7}/docs/_static/equinor-logo.png +0 -0
  21. {subscript-1.14.6 → subscript-1.14.7}/docs/_static/equinor-logo2.jpg +0 -0
  22. {subscript-1.14.6 → subscript-1.14.7}/docs/_static/equinor-logo2.png +0 -0
  23. {subscript-1.14.6 → subscript-1.14.7}/docs/_static/equinor_logo.jpg +0 -0
  24. {subscript-1.14.6 → subscript-1.14.7}/docs/_static/equinor_logo_only.jpg +0 -0
  25. {subscript-1.14.6 → subscript-1.14.7}/docs/_templates/layout.html +0 -0
  26. {subscript-1.14.6 → subscript-1.14.7}/docs/conf.py +0 -0
  27. {subscript-1.14.6 → subscript-1.14.7}/docs/contributing.rst +0 -0
  28. {subscript-1.14.6 → subscript-1.14.7}/docs/history.rst +0 -0
  29. {subscript-1.14.6 → subscript-1.14.7}/docs/index.rst +0 -0
  30. {subscript-1.14.6 → subscript-1.14.7}/docs/make.bat +0 -0
  31. {subscript-1.14.6 → subscript-1.14.7}/docs/overview.rst +0 -0
  32. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/bjobsusers.rst +0 -0
  33. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/casegen_upcars.rst +0 -0
  34. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/check_swatinit.rst +0 -0
  35. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/convert_grid_format.rst +0 -0
  36. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/create_date_files.rst +0 -0
  37. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/csv2ofmvol.rst +0 -0
  38. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/csv_merge.rst +0 -0
  39. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/csv_stack.rst +0 -0
  40. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/eclcompress.rst +0 -0
  41. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/ecldiff2roff.rst +0 -0
  42. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/field_statistics.rst +0 -0
  43. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/fmu_copy_revision.rst +0 -0
  44. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/fmuobs.rst +0 -0
  45. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/grav_subs_maps.rst +0 -0
  46. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/grav_subs_points.rst +0 -0
  47. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/Pack_sim_overview.png +0 -0
  48. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
  49. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/Summaryplot-ert.png +0 -0
  50. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
  51. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
  52. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
  53. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/check_swatinit_scatter.png +0 -0
  54. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/check_swatinit_volplot.png +0 -0
  55. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/ecl-swat-initialization.png +0 -0
  56. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
  57. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
  58. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/interp_relperm.rst +0 -0
  59. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/merge_rft_ertobs.rst +0 -0
  60. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/merge_unrst_files.rst +0 -0
  61. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/ofmvol2csv.rst +0 -0
  62. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/pack_sim.rst +0 -0
  63. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/params2csv.rst +0 -0
  64. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/presentvalue.rst +0 -0
  65. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/prtvol2csv.csv +0 -0
  66. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/prtvol2csv.rst +0 -0
  67. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/restartthinner.rst +0 -0
  68. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/rmsecl_volumetrics.rst +0 -0
  69. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/sector2fluxnum.rst +0 -0
  70. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/summaryplot.rst +0 -0
  71. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/sunsch.rst +0 -0
  72. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/sw_model_utilities.rst +0 -0
  73. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/vfp2csv.rst +0 -0
  74. {subscript-1.14.6 → subscript-1.14.7}/docs/scripts/welltest_dpds.rst +0 -0
  75. {subscript-1.14.6 → subscript-1.14.7}/docs/usage.rst +0 -0
  76. {subscript-1.14.6 → subscript-1.14.7}/setup.cfg +0 -0
  77. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/__init__.py +0 -0
  78. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/bjobsusers/__init__.py +0 -0
  79. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/bjobsusers/bjobsusers.py +0 -0
  80. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/casegen_upcars/__init__.py +0 -0
  81. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/casegen_upcars/casegen_upcars.py +0 -0
  82. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/casegen_upcars/model.py +0 -0
  83. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/casegen_upcars/udf.py +0 -0
  84. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
  85. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/check_swatinit/__init__.py +0 -0
  86. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/check_swatinit/check_swatinit.py +0 -0
  87. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/check_swatinit/constants.py +0 -0
  88. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/check_swatinit/pillarmodel.py +0 -0
  89. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/check_swatinit/plotter.py +0 -0
  90. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/convert_grid_format/__init__.py +0 -0
  91. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/convert_grid_format/convert_grid_format.py +0 -0
  92. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/create_date_files/__init__.py +0 -0
  93. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/create_date_files/create_date_files.py +0 -0
  94. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/csv2ofmvol/__init__.py +0 -0
  95. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/csv2ofmvol/csv2ofmvol.py +0 -0
  96. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/csv_merge/__init__.py +0 -0
  97. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/csv_merge/csv_merge.py +0 -0
  98. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/csv_stack/__init__.py +0 -0
  99. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/csv_stack/csv_stack.py +0 -0
  100. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/eclcompress/__init__.py +0 -0
  101. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/eclcompress/allowlist.py +0 -0
  102. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/eclcompress/eclcompress.py +0 -0
  103. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/ecldiff2roff/__init__.py +0 -0
  104. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/ecldiff2roff/ecldiff2roff.py +0 -0
  105. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/field_statistics/__init__.py +0 -0
  106. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/field_statistics/field_statistics.py +0 -0
  107. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmu_copy_revision/__init__.py +0 -0
  108. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +0 -0
  109. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmuobs/__init__.py +0 -0
  110. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmuobs/fmuobs.py +0 -0
  111. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmuobs/parsers.py +0 -0
  112. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmuobs/util.py +0 -0
  113. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/fmuobs/writers.py +0 -0
  114. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/grav_subs_maps/__init__.py +0 -0
  115. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/grav_subs_maps/grav_subs_maps.py +0 -0
  116. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/grav_subs_points/__init__.py +0 -0
  117. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/grav_subs_points/grav_subs_points.py +0 -0
  118. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/hook_implementations/__init__.py +0 -0
  119. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/hook_implementations/forward_model_steps.py +0 -0
  120. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/interp_relperm/__init__.py +0 -0
  121. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/interp_relperm/interp_relperm.py +0 -0
  122. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/legacy/duf +0 -0
  123. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/legacy/eclmanual +0 -0
  124. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/legacy/ertwatch +0 -0
  125. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/legacy/list_rms_usage +0 -0
  126. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/legacy/nosim +0 -0
  127. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/legacy/runeclipse +0 -0
  128. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
  129. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +0 -0
  130. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/merge_unrst_files/__init__.py +0 -0
  131. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/merge_unrst_files/merge_unrst_files.py +0 -0
  132. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/ofmvol2csv/__init__.py +0 -0
  133. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/ofmvol2csv/ofmvol2csv.py +0 -0
  134. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/pack_sim/__init__.py +0 -0
  135. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/pack_sim/pack_sim.py +0 -0
  136. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/params2csv/__init__.py +0 -0
  137. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/params2csv/params2csv.py +0 -0
  138. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/presentvalue/__init__.py +0 -0
  139. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/presentvalue/presentvalue.py +0 -0
  140. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/prtvol2csv/__init__.py +0 -0
  141. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/prtvol2csv/prtvol2csv.py +0 -0
  142. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/restartthinner/__init__.py +0 -0
  143. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
  144. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
  145. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/__init__.py +0 -0
  146. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/completions.py +0 -0
  147. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/datafile_obj.py +0 -0
  148. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
  149. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/flux_util.py +0 -0
  150. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/fluxfile_obj.py +0 -0
  151. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
  152. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/summaryplot/__init__.py +0 -0
  153. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/summaryplot/summaryplot.py +0 -0
  154. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sunsch/__init__.py +0 -0
  155. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sunsch/sunsch.py +0 -0
  156. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sunsch/time_vector.py +0 -0
  157. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sw_model_utilities/__init__.py +0 -0
  158. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/sw_model_utilities/sw_model_utilities.py +0 -0
  159. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/vfp2csv/__init__.py +0 -0
  160. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/vfp2csv/vfp2csv.py +0 -0
  161. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/welltest_dpds/__init__.py +0 -0
  162. {subscript-1.14.6 → subscript-1.14.7}/src/subscript/welltest_dpds/welltest_dpds.py +0 -0
  163. {subscript-1.14.6 → subscript-1.14.7}/src/subscript.egg-info/SOURCES.txt +0 -0
  164. {subscript-1.14.6 → subscript-1.14.7}/src/subscript.egg-info/dependency_links.txt +0 -0
  165. {subscript-1.14.6 → subscript-1.14.7}/src/subscript.egg-info/entry_points.txt +0 -0
  166. {subscript-1.14.6 → subscript-1.14.7}/src/subscript.egg-info/requires.txt +0 -0
  167. {subscript-1.14.6 → subscript-1.14.7}/src/subscript.egg-info/top_level.txt +0 -0
  168. {subscript-1.14.6 → subscript-1.14.7}/tests/__init__.py +0 -0
  169. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args0.png +0 -0
  170. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args1.png +0 -0
  171. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args10.png +0 -0
  172. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args11.png +0 -0
  173. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args2.png +0 -0
  174. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args3.png +0 -0
  175. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args4.png +0 -0
  176. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args5.png +0 -0
  177. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args6.png +0 -0
  178. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args7.png +0 -0
  179. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args8.png +0 -0
  180. {subscript-1.14.6 → subscript-1.14.7}/tests/baseline/test_summaryplotter_mpl_test_cmd_args9.png +0 -0
  181. {subscript-1.14.6 → subscript-1.14.7}/tests/conftest.py +0 -0
  182. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
  183. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
  184. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
  185. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
  186. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
  187. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
  188. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
  189. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
  190. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
  191. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
  192. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
  193. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
  194. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
  195. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
  196. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
  197. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
  198. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
  199. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
  200. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
  201. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
  202. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
  203. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
  204. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
  205. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
  206. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
  207. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
  208. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
  209. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
  210. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
  211. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
  212. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
  213. {subscript-1.14.6 → subscript-1.14.7}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
  214. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
  215. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
  216. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
  217. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
  218. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
  219. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
  220. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
  221. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
  222. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
  223. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
  224. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
  225. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
  226. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
  227. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
  228. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
  229. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
  230. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
  231. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
  232. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
  233. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
  234. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
  235. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
  236. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
  237. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
  238. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
  239. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
  240. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
  241. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
  242. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
  243. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/eclipse/model/parameters.txt +0 -0
  244. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/parameters.txt +0 -0
  245. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/rms/README +0 -0
  246. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
  247. {subscript-1.14.6 → subscript-1.14.7}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
  248. {subscript-1.14.6 → subscript-1.14.7}/tests/data/vfp/GasProd.VFP +0 -0
  249. {subscript-1.14.6 → subscript-1.14.7}/tests/data/vfp/pd2.VFP +0 -0
  250. {subscript-1.14.6 → subscript-1.14.7}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
  251. {subscript-1.14.6 → subscript-1.14.7}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
  252. {subscript-1.14.6 → subscript-1.14.7}/tests/test_bjobsusers.py +0 -0
  253. {subscript-1.14.6 → subscript-1.14.7}/tests/test_casegen_upcars.py +0 -0
  254. {subscript-1.14.6 → subscript-1.14.7}/tests/test_check_swatinit.py +0 -0
  255. {subscript-1.14.6 → subscript-1.14.7}/tests/test_check_swatinit_simulators.py +0 -0
  256. {subscript-1.14.6 → subscript-1.14.7}/tests/test_convert_grid_format.py +0 -0
  257. {subscript-1.14.6 → subscript-1.14.7}/tests/test_create_date_files.py +0 -0
  258. {subscript-1.14.6 → subscript-1.14.7}/tests/test_csv2ofmvol.py +0 -0
  259. {subscript-1.14.6 → subscript-1.14.7}/tests/test_csv_merge.py +0 -0
  260. {subscript-1.14.6 → subscript-1.14.7}/tests/test_csv_stack.py +0 -0
  261. {subscript-1.14.6 → subscript-1.14.7}/tests/test_docs.py +0 -0
  262. {subscript-1.14.6 → subscript-1.14.7}/tests/test_eclcompress.py +0 -0
  263. {subscript-1.14.6 → subscript-1.14.7}/tests/test_ecldiff2roff.py +0 -0
  264. {subscript-1.14.6 → subscript-1.14.7}/tests/test_eclinit2roff.py +0 -0
  265. {subscript-1.14.6 → subscript-1.14.7}/tests/test_field_statistics.py +0 -0
  266. {subscript-1.14.6 → subscript-1.14.7}/tests/test_fmu_copy_revision.py +0 -0
  267. {subscript-1.14.6 → subscript-1.14.7}/tests/test_fmuobs.py +0 -0
  268. {subscript-1.14.6 → subscript-1.14.7}/tests/test_fmuobs_parsers.py +0 -0
  269. {subscript-1.14.6 → subscript-1.14.7}/tests/test_fmuobs_writers.py +0 -0
  270. {subscript-1.14.6 → subscript-1.14.7}/tests/test_grav_subs_maps.py +0 -0
  271. {subscript-1.14.6 → subscript-1.14.7}/tests/test_grav_subs_points.py +0 -0
  272. {subscript-1.14.6 → subscript-1.14.7}/tests/test_hook_implementations.py +0 -0
  273. {subscript-1.14.6 → subscript-1.14.7}/tests/test_interp_relperm.py +0 -0
  274. {subscript-1.14.6 → subscript-1.14.7}/tests/test_merge_rft_ertobs.py +0 -0
  275. {subscript-1.14.6 → subscript-1.14.7}/tests/test_merge_unrst_files.py +0 -0
  276. {subscript-1.14.6 → subscript-1.14.7}/tests/test_ofmvol2csv.py +0 -0
  277. {subscript-1.14.6 → subscript-1.14.7}/tests/test_pack_sim.py +0 -0
  278. {subscript-1.14.6 → subscript-1.14.7}/tests/test_params2csv.py +0 -0
  279. {subscript-1.14.6 → subscript-1.14.7}/tests/test_presentvalue.py +0 -0
  280. {subscript-1.14.6 → subscript-1.14.7}/tests/test_prtvol2csv.py +0 -0
  281. {subscript-1.14.6 → subscript-1.14.7}/tests/test_rmsecl_volumetrics.py +0 -0
  282. {subscript-1.14.6 → subscript-1.14.7}/tests/test_sector2fluxnum.py +0 -0
  283. {subscript-1.14.6 → subscript-1.14.7}/tests/test_subscriptlogger.py +0 -0
  284. {subscript-1.14.6 → subscript-1.14.7}/tests/test_summaryplot.py +0 -0
  285. {subscript-1.14.6 → subscript-1.14.7}/tests/test_sunsch.py +0 -0
  286. {subscript-1.14.6 → subscript-1.14.7}/tests/test_sw_model_utilities.py +0 -0
  287. {subscript-1.14.6 → subscript-1.14.7}/tests/test_vfp2csv.py +0 -0
  288. {subscript-1.14.6 → subscript-1.14.7}/tests/test_welltest_dpds.py +0 -0
  289. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
  290. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
  291. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
  292. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
  293. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
  294. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
  295. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/config_example.yml +0 -0
  296. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
  297. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
  298. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
  299. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
  300. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
  301. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
  302. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
  303. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
  304. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
  305. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
  306. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
  307. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
  308. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
  309. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
  310. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
  311. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
  312. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
  313. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
  314. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
  315. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
  316. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
  317. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
  318. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
  319. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
  320. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
  321. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
  322. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
  323. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
  324. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
  325. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
  326. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
  327. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
  328. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
  329. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
  330. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
  331. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
  332. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
  333. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
  334. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
  335. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
  336. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
  337. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
  338. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
  339. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/ert/model/0readme +0 -0
  340. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
  341. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
  342. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
  343. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/ert-doc.csv +0 -0
  344. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/ert-doc.obs +0 -0
  345. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/ert-doc.yml +0 -0
  346. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
  347. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
  348. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_fmuobs/ri-obs.csv +0 -0
  349. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/HIST.EGRID +0 -0
  350. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/HIST.INIT +0 -0
  351. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/HIST.UNRST +0 -0
  352. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/global_variables.yml +0 -0
  353. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
  354. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/grav_subs_points.yml +0 -0
  355. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/seabed.gri +0 -0
  356. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_gravity/station_coordinates.csv +0 -0
  357. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/cfg.yml +0 -0
  358. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
  359. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
  360. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
  361. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/swof_base.inc +0 -0
  362. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
  363. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
  364. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
  365. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
  366. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
  367. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
  368. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
  369. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
  370. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
  371. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
  372. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
  373. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
  374. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
  375. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
  376. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
  377. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
  378. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
  379. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
  380. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
  381. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
  382. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_prtvol2csv/0readme.txt +0 -0
  383. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
  384. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
  385. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +0 -0
  386. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE.PRT +0 -0
  387. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE_FLOW.PRT +0 -0
  388. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
  389. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
  390. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
  391. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
  392. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
  393. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
  394. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
  395. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
  396. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/config.yml +0 -0
  397. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/emptyinit.sch +0 -0
  398. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/foo1.sch +0 -0
  399. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/footemplate.sch +0 -0
  400. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/initwithdates.sch +0 -0
  401. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/merge2.sch +0 -0
  402. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/mergeme.sch +0 -0
  403. {subscript-1.14.6 → subscript-1.14.7}/tests/testdata_sunsch/options3.sch +0 -0
  404. {subscript-1.14.6 → subscript-1.14.7}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: subscript
3
- Version: 1.14.6
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
@@ -214,6 +214,7 @@ ignore = [
214
214
  "PLR0904", # too-many-public-methods
215
215
  "PLR1702", # too-many-nested-blocks
216
216
  "RUF067", # non empty init module
217
+ "RUF069", # unreliable-floating-point-equality
217
218
  "PLC1901", # compare-to-empty-string
218
219
  ]
219
220
 
@@ -0,0 +1,249 @@
1
+ """Restart file (UNRST) thinner, command line application"""
2
+
3
+ import argparse
4
+ import datetime
5
+ import logging
6
+ import shutil
7
+ import subprocess
8
+ import tempfile
9
+ from contextlib import chdir
10
+ from pathlib import Path
11
+
12
+ import numpy as np
13
+ import pandas as pd
14
+ from resdata.resfile import ResdataFile
15
+
16
+ from subscript import __version__, getLogger
17
+
18
+ logger = getLogger(__name__)
19
+
20
+ DESCRIPTION = """
21
+ Slice a subset of restart-dates from an E100 Restart file (UNRST)
22
+
23
+ Example::
24
+
25
+ $ restartthinner --restarts 4 ECLIPSE.UNRST
26
+
27
+ where four restarts evenly spread out in relevant dates will be picked and
28
+ written to the same filename (keeping the original is optional)
29
+ """
30
+
31
+
32
+ def find_resdata_app(toolname: str) -> str:
33
+ """Locate path of resdata apps, trying common suffixes (.x, .c.x, .cpp.x).
34
+
35
+ Args:
36
+ toolname: Base name of the tool (e.g., 'rd_unpack')
37
+
38
+ Returns:
39
+ Full path to the executable.
40
+
41
+ Raises:
42
+ OSError: If tool cannot be found in PATH.
43
+ """
44
+ for ext in [".x", ".c.x", ".cpp.x", ""]: # Order matters.
45
+ if path := shutil.which(toolname + ext):
46
+ return path
47
+ raise OSError(f"{toolname} not found in PATH")
48
+
49
+
50
+ def date_slicer(
51
+ slicedates: list[pd.Timestamp],
52
+ restartdates: list[datetime.datetime],
53
+ restartindices: list[int],
54
+ ) -> list[int]:
55
+ """Make a list of report indices that match the input slicedates."""
56
+ slicedatelist = []
57
+ for slicedate in slicedates:
58
+ daydistances = [abs((pd.Timestamp(slicedate) - x).days) for x in restartdates]
59
+ slicedatelist.append(restartindices[daydistances.index(min(daydistances))])
60
+ return slicedatelist
61
+
62
+
63
+ def rd_repacker(rstfilename: str, slicerstindices: list[int], quiet: bool) -> None:
64
+ """Repack a UNRST file keeping only selected restart indices.
65
+
66
+ Uses rd_unpack and rd_pack utilities from resdata to unpack the UNRST file,
67
+ remove unwanted dates, and repack into a new UNRST file.
68
+
69
+ Args:
70
+ rstfilename: Path to the UNRST file.
71
+ slicerstindices: List of restart indices to keep.
72
+ quiet: If True, suppress subprocess output.
73
+
74
+ Raises:
75
+ OSError: If rd_unpack or rd_pack tools are not found.
76
+ """
77
+ rd_unpack = find_resdata_app("rd_unpack")
78
+ rd_pack = find_resdata_app("rd_pack")
79
+
80
+ rstpath = Path(rstfilename)
81
+ rstdir = rstpath.parent or Path(".")
82
+ rstname = rstpath.name
83
+
84
+ with chdir(rstdir):
85
+ tempdir = Path(tempfile.mkdtemp(dir="."))
86
+ try:
87
+ # Move UNRST into temp directory and work there
88
+ shutil.move(rstname, tempdir / rstname)
89
+
90
+ with chdir(tempdir):
91
+ subprocess.run(
92
+ [rd_unpack, rstname],
93
+ stdout=subprocess.DEVNULL if quiet else None,
94
+ check=True,
95
+ )
96
+
97
+ for file in Path(".").glob("*.X*"):
98
+ index = int(file.suffix.lstrip(".X"))
99
+ if index not in slicerstindices:
100
+ file.unlink()
101
+
102
+ remaining_files = sorted(Path(".").glob("*.X*"))
103
+ subprocess.run(
104
+ [rd_pack, *[str(f) for f in remaining_files]],
105
+ stdout=subprocess.DEVNULL if quiet else None,
106
+ check=True,
107
+ )
108
+
109
+ # Move result back up
110
+ shutil.move(rstname, Path("..") / rstname)
111
+ finally:
112
+ shutil.rmtree(tempdir)
113
+
114
+
115
+ def get_restart_indices(rstfilename: str) -> list[int]:
116
+ """Extract a list of restart indices for a filename.
117
+
118
+ Args:
119
+ rstfilename: Path to the UNRST file.
120
+
121
+ Returns:
122
+ List of restart report indices.
123
+
124
+ Raises:
125
+ FileNotFoundError: If the file does not exist.
126
+ """
127
+ if Path(rstfilename).exists():
128
+ # This function segfaults if file does not exist
129
+ return ResdataFile.file_report_list(str(rstfilename))
130
+ raise FileNotFoundError(f"{rstfilename} not found")
131
+
132
+
133
+ def restartthinner(
134
+ filename: str,
135
+ numberofslices: int,
136
+ quiet: bool = False,
137
+ dryrun: bool = True,
138
+ keep: bool = False,
139
+ ) -> None:
140
+ """Thin an existing UNRST file to selected number of restarts.
141
+
142
+ Args:
143
+ filename: Path to the UNRST file.
144
+ numberofslices: Number of restart dates to keep.
145
+ quiet: If True, suppress informational output.
146
+ dryrun: If True, only show what would be done without modifying files.
147
+ keep: If True, keep original file with .orig suffix.
148
+ """
149
+ rst = ResdataFile(filename)
150
+ restart_indices = get_restart_indices(filename)
151
+ restart_dates = [
152
+ rst.iget_restart_sim_time(index) for index in range(len(restart_indices))
153
+ ]
154
+
155
+ if numberofslices > 1:
156
+ slicedates = pd.DatetimeIndex(
157
+ np.linspace(
158
+ pd.Timestamp(restart_dates[0]).value,
159
+ pd.Timestamp(restart_dates[-1]).value,
160
+ int(numberofslices),
161
+ )
162
+ ).to_list()
163
+ else:
164
+ slicedates = [restart_dates[-1]] # Only return last date if only one is wanted
165
+
166
+ slicerstindices = date_slicer(slicedates, restart_dates, restart_indices)
167
+ slicerstindices = sorted(set(slicerstindices)) # uniquify
168
+
169
+ if not quiet:
170
+ logger.info("Selected restarts:")
171
+ logger.info("-----------------------")
172
+ for idx, rstidx in enumerate(restart_indices):
173
+ slicepresent = "X" if rstidx in slicerstindices else ""
174
+ logger.info(
175
+ "%4d %s %s",
176
+ rstidx,
177
+ datetime.date.strftime(restart_dates[idx], "%Y-%m-%d"),
178
+ slicepresent,
179
+ )
180
+ logger.info("-----------------------")
181
+
182
+ if not dryrun:
183
+ if keep:
184
+ backupname = filename + ".orig"
185
+ logger.info("Backing up %s to %s", filename, backupname)
186
+ shutil.copyfile(filename, backupname)
187
+ rd_repacker(filename, slicerstindices, quiet)
188
+ logger.info("Written to %s", filename)
189
+
190
+
191
+ def get_parser() -> argparse.ArgumentParser:
192
+ """Setup parser"""
193
+ parser = argparse.ArgumentParser(
194
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter, description=DESCRIPTION
195
+ )
196
+ parser.add_argument("UNRST", help="Name of UNRST file")
197
+ parser.add_argument(
198
+ "-n",
199
+ "--restarts",
200
+ type=int,
201
+ help="Number of restart dates wanted",
202
+ required=True,
203
+ )
204
+ parser.add_argument(
205
+ "-d",
206
+ "--dryrun",
207
+ action="store_true",
208
+ default=False,
209
+ help="Dry-run only, do not touch files",
210
+ )
211
+ parser.add_argument(
212
+ "-q",
213
+ "--quiet",
214
+ action="store_true",
215
+ default=False,
216
+ help="Mute output from script",
217
+ )
218
+ parser.add_argument(
219
+ "-k",
220
+ "--keep",
221
+ action="store_true",
222
+ default=False,
223
+ help="Keep original UNRST file",
224
+ )
225
+ parser.add_argument(
226
+ "--version",
227
+ action="version",
228
+ version="%(prog)s (subscript version " + __version__ + ")",
229
+ )
230
+ return parser
231
+
232
+
233
+ def main() -> None:
234
+ """Endpoint for command line script."""
235
+ parser = get_parser()
236
+ args = parser.parse_args()
237
+
238
+ if args.restarts <= 0:
239
+ parser.error("Number of restarts must be a positive number")
240
+ if args.UNRST.endswith(".DATA"):
241
+ parser.error("Provide the UNRST file, not the DATA file")
242
+ if args.quiet:
243
+ logger.setLevel(logging.WARNING)
244
+
245
+ restartthinner(args.UNRST, args.restarts, args.quiet, args.dryrun, args.keep)
246
+
247
+
248
+ if __name__ == "__main__":
249
+ main()
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.14.6'
32
- __version_tuple__ = version_tuple = (1, 14, 6)
31
+ __version__ = version = '1.14.7'
32
+ __version_tuple__ = version_tuple = (1, 14, 7)
33
33
 
34
- __commit_id__ = commit_id = 'g4ac49d50d'
34
+ __commit_id__ = commit_id = 'g88003f2b0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: subscript
3
- Version: 1.14.6
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
@@ -0,0 +1,222 @@
1
+ import datetime
2
+ import logging
3
+ import os
4
+ import shutil
5
+ import subprocess
6
+ from pathlib import Path
7
+ from unittest.mock import patch
8
+
9
+ import pandas as pd
10
+ import pytest
11
+
12
+ from subscript.restartthinner import restartthinner
13
+
14
+ ECLDIR = Path(__file__).absolute().parent / "data/reek/eclipse/model"
15
+
16
+ UNRST_FNAME = "2_R001_REEK-0.UNRST"
17
+
18
+
19
+ def test_dryrun(tmp_path, mocker, monkeypatch):
20
+ """Test dry-run"""
21
+ shutil.copyfile(ECLDIR / UNRST_FNAME, tmp_path / UNRST_FNAME)
22
+
23
+ monkeypatch.chdir(tmp_path)
24
+
25
+ orig_rstindices = restartthinner.get_restart_indices(UNRST_FNAME)
26
+ assert len(orig_rstindices) == 4
27
+
28
+ mocker.patch("sys.argv", ["restartthinner", "-d", "-n", "2", UNRST_FNAME])
29
+ restartthinner.main()
30
+
31
+ # Check that dry run did not do anything
32
+ assert Path(UNRST_FNAME).exists()
33
+ assert len(orig_rstindices) == len(restartthinner.get_restart_indices(UNRST_FNAME))
34
+
35
+
36
+ def test_first_and_last(tmp_path, mocker, monkeypatch):
37
+ """Ask for two restart points, this should give us the first and last."""
38
+ shutil.copyfile(ECLDIR / UNRST_FNAME, tmp_path / UNRST_FNAME)
39
+
40
+ monkeypatch.chdir(tmp_path)
41
+
42
+ orig_rstindices = restartthinner.get_restart_indices(UNRST_FNAME)
43
+
44
+ mocker.patch("sys.argv", ["restartthinner", "-n", "2", UNRST_FNAME, "--keep"])
45
+ restartthinner.main()
46
+
47
+ assert Path(UNRST_FNAME).exists()
48
+ assert Path(UNRST_FNAME + ".orig").exists() # The backed up file
49
+
50
+ new_rstindices = restartthinner.get_restart_indices(UNRST_FNAME)
51
+ assert len(new_rstindices) == 2
52
+ assert new_rstindices[0] == orig_rstindices[0]
53
+ assert new_rstindices[-1] == orig_rstindices[-1]
54
+ assert len(restartthinner.get_restart_indices(UNRST_FNAME + ".orig")) == 4
55
+
56
+
57
+ def test_subdirectory(tmp_path, mocker, monkeypatch):
58
+ """Check that we can thin an UNRST file two directory levels down"""
59
+ monkeypatch.chdir(tmp_path)
60
+
61
+ subdir = Path("eclipse/model")
62
+ subdir.mkdir(parents=True)
63
+
64
+ shutil.copyfile(ECLDIR / UNRST_FNAME, subdir / UNRST_FNAME)
65
+ orig_rstindices = restartthinner.get_restart_indices(subdir / UNRST_FNAME)
66
+
67
+ mocker.patch(
68
+ "sys.argv", ["restartthinner", "-n", "3", str(subdir / UNRST_FNAME), "--keep"]
69
+ )
70
+ print(os.getcwd())
71
+ restartthinner.main()
72
+ print(os.getcwd())
73
+
74
+ assert (subdir / UNRST_FNAME).exists()
75
+ assert (subdir / (UNRST_FNAME + ".orig")).exists() # The backed up file
76
+
77
+ new_rstindices = restartthinner.get_restart_indices(subdir / UNRST_FNAME)
78
+ assert len(new_rstindices) == 3
79
+ assert new_rstindices[0] == orig_rstindices[0]
80
+ assert new_rstindices[-1] == orig_rstindices[-1]
81
+ assert (
82
+ len(restartthinner.get_restart_indices(subdir / (UNRST_FNAME + ".orig"))) == 4
83
+ )
84
+
85
+
86
+ def test_get_restart_indices_filenotfound(tmp_path, monkeypatch):
87
+ """EclFile.file_report_list segfaults unless the code is careful"""
88
+ with pytest.raises(FileNotFoundError, match="foo"):
89
+ restartthinner.get_restart_indices("foo")
90
+ with pytest.raises(FileNotFoundError, match="foo"):
91
+ restartthinner.get_restart_indices(Path("foo"))
92
+
93
+ monkeypatch.chdir(tmp_path)
94
+ Path("FOO.UNRST").write_text("this is not an unrst file", encoding="utf8")
95
+ with pytest.raises(TypeError, match="which is not a restart file"):
96
+ restartthinner.get_restart_indices("FOO.UNRST")
97
+
98
+
99
+ @pytest.mark.integration
100
+ def test_integration():
101
+ """Test that the endpoint is installed, and the binary tools are available"""
102
+ assert subprocess.check_output(["restartthinner", "-h"])
103
+
104
+
105
+ def test_single_restart_slice(tmp_path, mocker, monkeypatch):
106
+ """Test requesting only 1 restart (should return just the last date)."""
107
+ shutil.copyfile(ECLDIR / UNRST_FNAME, tmp_path / UNRST_FNAME)
108
+ monkeypatch.chdir(tmp_path)
109
+
110
+ orig_rstindices = restartthinner.get_restart_indices(UNRST_FNAME)
111
+
112
+ mocker.patch("sys.argv", ["restartthinner", "-n", "1", UNRST_FNAME])
113
+ restartthinner.main()
114
+
115
+ new_rstindices = restartthinner.get_restart_indices(UNRST_FNAME)
116
+ assert len(new_rstindices) == 1
117
+ assert new_rstindices[0] == orig_rstindices[-1] # Should be the last date
118
+
119
+
120
+ def test_negative_restarts_error(tmp_path, mocker, capsys, monkeypatch):
121
+ """Test that negative restart count gives an error."""
122
+ shutil.copyfile(ECLDIR / UNRST_FNAME, tmp_path / UNRST_FNAME)
123
+ monkeypatch.chdir(tmp_path)
124
+
125
+ mocker.patch("sys.argv", ["restartthinner", "-n", "-1", UNRST_FNAME])
126
+ with pytest.raises(SystemExit) as excinfo:
127
+ restartthinner.main()
128
+
129
+ assert excinfo.value.code == 2 # argparse error exit code
130
+ captured = capsys.readouterr()
131
+ assert "positive number" in captured.err
132
+
133
+
134
+ def test_zero_restarts_error(tmp_path, mocker, capsys, monkeypatch):
135
+ """Test that zero restart count gives an error."""
136
+ shutil.copyfile(ECLDIR / UNRST_FNAME, tmp_path / UNRST_FNAME)
137
+ monkeypatch.chdir(tmp_path)
138
+
139
+ mocker.patch("sys.argv", ["restartthinner", "-n", "0", UNRST_FNAME])
140
+ with pytest.raises(SystemExit) as excinfo:
141
+ restartthinner.main()
142
+
143
+ assert excinfo.value.code == 2
144
+ captured = capsys.readouterr()
145
+ assert "positive number" in captured.err
146
+
147
+
148
+ def test_data_file_error(tmp_path, mocker, capsys, monkeypatch):
149
+ """Test that providing a DATA file instead of UNRST gives an error."""
150
+ monkeypatch.chdir(tmp_path)
151
+ Path("TEST.DATA").touch()
152
+
153
+ mocker.patch("sys.argv", ["restartthinner", "-n", "2", "TEST.DATA"])
154
+ with pytest.raises(SystemExit) as excinfo:
155
+ restartthinner.main()
156
+
157
+ assert excinfo.value.code == 2
158
+ captured = capsys.readouterr()
159
+ assert "UNRST file" in captured.err
160
+
161
+
162
+ def test_find_resdata_app_not_found():
163
+ """Test that OSError is raised when resdata tools are not in PATH."""
164
+ with (
165
+ patch.object(shutil, "which", return_value=None),
166
+ pytest.raises(OSError, match="nonexistent_tool not found in PATH"),
167
+ ):
168
+ restartthinner.find_resdata_app("nonexistent_tool")
169
+
170
+
171
+ def test_find_resdata_app_with_suffix():
172
+ """Test that find_resdata_app tries different suffixes."""
173
+ call_count = {"count": 0}
174
+
175
+ def mock_which(name):
176
+ call_count["count"] += 1
177
+ # Simulate finding tool with .c.x suffix on second try
178
+ if name == "rd_unpack.c.x":
179
+ return "/usr/bin/rd_unpack.c.x"
180
+ return None
181
+
182
+ with patch.object(shutil, "which", side_effect=mock_which):
183
+ result = restartthinner.find_resdata_app("rd_unpack")
184
+ assert result == "/usr/bin/rd_unpack.c.x"
185
+ assert call_count["count"] == 2 # Tried .x first, then .c.x
186
+
187
+
188
+ def test_date_slicer():
189
+ """Test date_slicer matches slicedates to nearest restart dates."""
190
+
191
+ # Create test data with 4 restart dates
192
+ restart_dates = [
193
+ datetime.datetime(2020, 1, 1),
194
+ datetime.datetime(2020, 4, 1),
195
+ datetime.datetime(2020, 7, 1),
196
+ datetime.datetime(2020, 10, 1),
197
+ ]
198
+ restart_indices = [0, 1, 2, 3]
199
+
200
+ # Slice dates that should match to indices 0, 2, 3
201
+ slice_dates = [
202
+ pd.Timestamp("2020-01-15"), # Closest to Jan 1 -> index 0
203
+ pd.Timestamp("2020-06-15"), # Closest to Jul 1 -> index 2
204
+ pd.Timestamp("2020-11-01"), # Closest to Oct 1 -> index 3
205
+ ]
206
+
207
+ result = restartthinner.date_slicer(slice_dates, restart_dates, restart_indices)
208
+ assert result == [0, 2, 3]
209
+
210
+
211
+ def test_quiet_mode(tmp_path, mocker, caplog, monkeypatch):
212
+ """Test that quiet mode suppresses log output."""
213
+ shutil.copyfile(ECLDIR / UNRST_FNAME, tmp_path / UNRST_FNAME)
214
+ monkeypatch.chdir(tmp_path)
215
+
216
+ # Run with quiet mode
217
+ with caplog.at_level(logging.INFO, logger="subscript"):
218
+ mocker.patch("sys.argv", ["restartthinner", "-q", "-n", "2", UNRST_FNAME])
219
+ restartthinner.main()
220
+
221
+ # Check that log output is empty
222
+ assert len(caplog.text) == 0