subscript 1.10.0__tar.gz → 1.12.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.
Files changed (419) hide show
  1. {subscript-1.10.0 → subscript-1.12.0}/.github/workflows/codecov.yml +6 -0
  2. {subscript-1.10.0 → subscript-1.12.0}/.github/workflows/subscript.yml +6 -0
  3. {subscript-1.10.0 → subscript-1.12.0}/PKG-INFO +3 -3
  4. {subscript-1.10.0 → subscript-1.12.0}/ci/testkomodo.sh +8 -1
  5. {subscript-1.10.0 → subscript-1.12.0}/docs/contributing.rst +2 -4
  6. {subscript-1.10.0 → subscript-1.12.0}/pyproject.toml +2 -2
  7. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/casegen_upcars/casegen_upcars.py +3 -3
  8. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/casegen_upcars/model.py +15 -15
  9. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/check_swatinit/check_swatinit.py +12 -12
  10. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/check_swatinit/pillarmodel.py +1 -1
  11. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/check_swatinit/plotter.py +10 -10
  12. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/csv_merge/csv_merge.py +4 -3
  13. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/csv_stack/csv_stack.py +1 -2
  14. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/field_statistics/field_statistics.py +4 -3
  15. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +17 -8
  16. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmuobs/fmuobs.py +1 -2
  17. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/grav_subs_points/grav_subs_points.py +3 -2
  18. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/interp_relperm/interp_relperm.py +3 -3
  19. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/legacy/nosim +2 -2
  20. subscript-1.12.0/src/subscript/legacy/runeclipse +47 -0
  21. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/merge_unrst_files/merge_unrst_files.py +1 -1
  22. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/pack_sim/pack_sim.py +1 -2
  23. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/params2csv/params2csv.py +1 -2
  24. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/presentvalue/presentvalue.py +3 -6
  25. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/prtvol2csv/prtvol2csv.py +8 -3
  26. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/datafile_obj.py +2 -2
  27. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/fluxfile_obj.py +1 -1
  28. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/version.py +9 -4
  29. {subscript-1.10.0 → subscript-1.12.0}/src/subscript.egg-info/PKG-INFO +3 -3
  30. {subscript-1.10.0 → subscript-1.12.0}/src/subscript.egg-info/SOURCES.txt +1 -1
  31. {subscript-1.10.0 → subscript-1.12.0}/src/subscript.egg-info/requires.txt +4 -2
  32. {subscript-1.10.0 → subscript-1.12.0}/tests/conftest.py +2 -2
  33. {subscript-1.10.0 → subscript-1.12.0}/tests/test_check_swatinit_simulators.py +3 -3
  34. {subscript-1.10.0 → subscript-1.12.0}/tests/test_fmu_copy_revision.py +10 -0
  35. {subscript-1.10.0 → subscript-1.12.0}/tests/test_prtvol2csv.py +15 -1
  36. subscript-1.12.0/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +1789 -0
  37. {subscript-1.10.0 → subscript-1.12.0}/tests/utils.py +23 -3
  38. subscript-1.10.0/docs/scripts/runeclipse.rst +0 -28
  39. subscript-1.10.0/src/subscript/legacy/runeclipse +0 -534
  40. {subscript-1.10.0 → subscript-1.12.0}/.github/workflows/publish.yml +0 -0
  41. {subscript-1.10.0 → subscript-1.12.0}/.gitignore +0 -0
  42. {subscript-1.10.0 → subscript-1.12.0}/.pylintrc +0 -0
  43. {subscript-1.10.0 → subscript-1.12.0}/LICENSE +0 -0
  44. {subscript-1.10.0 → subscript-1.12.0}/README.md +0 -0
  45. {subscript-1.10.0 → subscript-1.12.0}/SECURITY.md +0 -0
  46. {subscript-1.10.0 → subscript-1.12.0}/docs/Makefile +0 -0
  47. {subscript-1.10.0 → subscript-1.12.0}/docs/_static/equinor-logo.png +0 -0
  48. {subscript-1.10.0 → subscript-1.12.0}/docs/_static/equinor-logo2.jpg +0 -0
  49. {subscript-1.10.0 → subscript-1.12.0}/docs/_static/equinor-logo2.png +0 -0
  50. {subscript-1.10.0 → subscript-1.12.0}/docs/_static/equinor_logo.jpg +0 -0
  51. {subscript-1.10.0 → subscript-1.12.0}/docs/_static/equinor_logo_only.jpg +0 -0
  52. {subscript-1.10.0 → subscript-1.12.0}/docs/_templates/layout.html +0 -0
  53. {subscript-1.10.0 → subscript-1.12.0}/docs/conf.py +0 -0
  54. {subscript-1.10.0 → subscript-1.12.0}/docs/history.rst +0 -0
  55. {subscript-1.10.0 → subscript-1.12.0}/docs/index.rst +0 -0
  56. {subscript-1.10.0 → subscript-1.12.0}/docs/make.bat +0 -0
  57. {subscript-1.10.0 → subscript-1.12.0}/docs/overview.rst +0 -0
  58. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/bjobsusers.rst +0 -0
  59. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/casegen_upcars.rst +0 -0
  60. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/check_swatinit.rst +0 -0
  61. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/convert_grid_format.rst +0 -0
  62. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/csv2ofmvol.rst +0 -0
  63. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/csv_merge.rst +0 -0
  64. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/csv_stack.rst +0 -0
  65. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/eclcompress.rst +0 -0
  66. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/ecldiff2roff.rst +0 -0
  67. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/field_statistics.rst +0 -0
  68. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/fmu_copy_revision.rst +0 -0
  69. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/fmuobs.rst +0 -0
  70. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/grav_subs_maps.rst +0 -0
  71. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/grav_subs_points.rst +0 -0
  72. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/Pack_sim_overview.png +0 -0
  73. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
  74. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/Summaryplot-ert.png +0 -0
  75. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
  76. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
  77. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
  78. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/check_swatinit_scatter.png +0 -0
  79. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/check_swatinit_volplot.png +0 -0
  80. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/ecl-swat-initialization.png +0 -0
  81. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
  82. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
  83. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/interp_relperm.rst +0 -0
  84. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/merge_rft_ertobs.rst +0 -0
  85. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/merge_unrst_files.rst +0 -0
  86. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/ofmvol2csv.rst +0 -0
  87. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/pack_sim.rst +0 -0
  88. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/params2csv.rst +0 -0
  89. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/presentvalue.rst +0 -0
  90. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/prtvol2csv.csv +0 -0
  91. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/prtvol2csv.rst +0 -0
  92. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/restartthinner.rst +0 -0
  93. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/ri_wellmod.rst +0 -0
  94. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/rmsecl_volumetrics.rst +0 -0
  95. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/sector2fluxnum.rst +0 -0
  96. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/summaryplot.rst +0 -0
  97. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/sunsch.rst +0 -0
  98. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/sw_model_utilities.rst +0 -0
  99. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/vfp2csv.rst +0 -0
  100. {subscript-1.10.0 → subscript-1.12.0}/docs/scripts/welltest_dpds.rst +0 -0
  101. {subscript-1.10.0 → subscript-1.12.0}/docs/usage.rst +0 -0
  102. {subscript-1.10.0 → subscript-1.12.0}/setup.cfg +0 -0
  103. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/__init__.py +0 -0
  104. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/bjobsusers/__init__.py +0 -0
  105. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/bjobsusers/bjobsusers.py +0 -0
  106. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/casegen_upcars/__init__.py +0 -0
  107. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/casegen_upcars/udf.py +0 -0
  108. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
  109. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/check_swatinit/__init__.py +0 -0
  110. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/check_swatinit/constants.py +0 -0
  111. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/CASEGEN_UPCARS +0 -0
  112. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/CHECK_SWATINIT +0 -0
  113. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/CSV2OFMVOL +0 -0
  114. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/CSV_STACK +0 -0
  115. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/ECLCOMPRESS +0 -0
  116. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/ECLDIFF2ROFF +0 -0
  117. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/ECLGRID2ROFF +0 -0
  118. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/ECLINIT2ROFF +0 -0
  119. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/ECLRST2ROFF +0 -0
  120. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/GRAV_SUBS_MAPS +0 -0
  121. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/GRAV_SUBS_POINTS +0 -0
  122. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/INTERP_RELPERM +0 -0
  123. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/MERGE_RFT_ERTOBS +0 -0
  124. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/MERGE_UNRST_FILES +0 -0
  125. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/OFMVOL2CSV +0 -0
  126. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/PARAMS2CSV +0 -0
  127. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/PRTVOL2CSV +0 -0
  128. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/RI_WELLMOD +0 -0
  129. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/SUNSCH +0 -0
  130. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/config_jobs/WELLTEST_DPDS +0 -0
  131. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/convert_grid_format/__init__.py +0 -0
  132. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/convert_grid_format/convert_grid_format.py +0 -0
  133. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/csv2ofmvol/__init__.py +0 -0
  134. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/csv2ofmvol/csv2ofmvol.py +0 -0
  135. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/csv_merge/__init__.py +0 -0
  136. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/csv_stack/__init__.py +0 -0
  137. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/eclcompress/__init__.py +0 -0
  138. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/eclcompress/allowlist.py +0 -0
  139. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/eclcompress/eclcompress.py +0 -0
  140. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/ecldiff2roff/__init__.py +0 -0
  141. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/ecldiff2roff/ecldiff2roff.py +0 -0
  142. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/eclgrid2roff/eclgrid2roff.py +0 -0
  143. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/eclinit2roff/eclinit2roff.py +0 -0
  144. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/eclrst2roff/eclrst2roff.py +0 -0
  145. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/field_statistics/__init__.py +0 -0
  146. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmu_copy_revision/__init__.py +0 -0
  147. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmuobs/__init__.py +0 -0
  148. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmuobs/parsers.py +0 -0
  149. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmuobs/util.py +0 -0
  150. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/fmuobs/writers.py +0 -0
  151. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/grav_subs_maps/__init__.py +0 -0
  152. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/grav_subs_maps/grav_subs_maps.py +0 -0
  153. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/grav_subs_points/__init__.py +0 -0
  154. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/hook_implementations/__init__.py +0 -0
  155. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/hook_implementations/jobs.py +0 -0
  156. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/interp_relperm/__init__.py +0 -0
  157. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/legacy/duf +0 -0
  158. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/legacy/eclmanual +0 -0
  159. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/legacy/ertwatch +0 -0
  160. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/legacy/list_rms_usage +0 -0
  161. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
  162. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +0 -0
  163. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/merge_unrst_files/__init__.py +0 -0
  164. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/ofmvol2csv/__init__.py +0 -0
  165. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/ofmvol2csv/ofmvol2csv.py +0 -0
  166. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/pack_sim/__init__.py +0 -0
  167. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/params2csv/__init__.py +0 -0
  168. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/presentvalue/__init__.py +0 -0
  169. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/prtvol2csv/__init__.py +0 -0
  170. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/restartthinner/__init__.py +0 -0
  171. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/restartthinner/restartthinner.py +0 -0
  172. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/ri_wellmod/__init__.py +0 -0
  173. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/ri_wellmod/ri_wellmod.py +0 -0
  174. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
  175. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
  176. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/__init__.py +0 -0
  177. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/completions.py +0 -0
  178. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
  179. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/flux_util.py +0 -0
  180. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
  181. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/summaryplot/__init__.py +0 -0
  182. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/summaryplot/summaryplot.py +0 -0
  183. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sunsch/__init__.py +0 -0
  184. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sunsch/sunsch.py +0 -0
  185. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sunsch/time_vector.py +0 -0
  186. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sw_model_utilities/__init__.py +0 -0
  187. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/sw_model_utilities/sw_model_utilities.py +0 -0
  188. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/vfp2csv/__init__.py +0 -0
  189. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/vfp2csv/vfp2csv.py +0 -0
  190. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/welltest_dpds/__init__.py +0 -0
  191. {subscript-1.10.0 → subscript-1.12.0}/src/subscript/welltest_dpds/welltest_dpds.py +0 -0
  192. {subscript-1.10.0 → subscript-1.12.0}/src/subscript.egg-info/dependency_links.txt +0 -0
  193. {subscript-1.10.0 → subscript-1.12.0}/src/subscript.egg-info/entry_points.txt +0 -0
  194. {subscript-1.10.0 → subscript-1.12.0}/src/subscript.egg-info/top_level.txt +0 -0
  195. {subscript-1.10.0 → subscript-1.12.0}/tests/__init__.py +0 -0
  196. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
  197. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
  198. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
  199. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
  200. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
  201. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
  202. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
  203. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
  204. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
  205. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
  206. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
  207. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
  208. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
  209. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
  210. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
  211. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
  212. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
  213. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
  214. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
  215. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
  216. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
  217. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
  218. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
  219. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
  220. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
  221. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
  222. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
  223. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
  224. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
  225. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
  226. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
  227. {subscript-1.10.0 → subscript-1.12.0}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
  228. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
  229. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
  230. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
  231. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
  232. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
  233. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
  234. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
  235. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
  236. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
  237. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
  238. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
  239. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
  240. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
  241. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
  242. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
  243. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
  244. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
  245. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
  246. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
  247. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
  248. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
  249. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
  250. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
  251. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
  252. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
  253. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
  254. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
  255. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
  256. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
  257. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/eclipse/model/parameters.txt +0 -0
  258. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/parameters.txt +0 -0
  259. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/rms/README +0 -0
  260. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
  261. {subscript-1.10.0 → subscript-1.12.0}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
  262. {subscript-1.10.0 → subscript-1.12.0}/tests/data/vfp/GasProd.VFP +0 -0
  263. {subscript-1.10.0 → subscript-1.12.0}/tests/data/vfp/pd2.VFP +0 -0
  264. {subscript-1.10.0 → subscript-1.12.0}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
  265. {subscript-1.10.0 → subscript-1.12.0}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
  266. {subscript-1.10.0 → subscript-1.12.0}/tests/test_bjobsusers.py +0 -0
  267. {subscript-1.10.0 → subscript-1.12.0}/tests/test_casegen_upcars.py +0 -0
  268. {subscript-1.10.0 → subscript-1.12.0}/tests/test_check_swatinit.py +0 -0
  269. {subscript-1.10.0 → subscript-1.12.0}/tests/test_convert_grid_format.py +0 -0
  270. {subscript-1.10.0 → subscript-1.12.0}/tests/test_csv2ofmvol.py +0 -0
  271. {subscript-1.10.0 → subscript-1.12.0}/tests/test_csv_merge.py +0 -0
  272. {subscript-1.10.0 → subscript-1.12.0}/tests/test_csv_stack.py +0 -0
  273. {subscript-1.10.0 → subscript-1.12.0}/tests/test_docs.py +0 -0
  274. {subscript-1.10.0 → subscript-1.12.0}/tests/test_eclcompress.py +0 -0
  275. {subscript-1.10.0 → subscript-1.12.0}/tests/test_ecldiff2roff.py +0 -0
  276. {subscript-1.10.0 → subscript-1.12.0}/tests/test_field_statistics.py +0 -0
  277. {subscript-1.10.0 → subscript-1.12.0}/tests/test_fmuobs.py +0 -0
  278. {subscript-1.10.0 → subscript-1.12.0}/tests/test_fmuobs_parsers.py +0 -0
  279. {subscript-1.10.0 → subscript-1.12.0}/tests/test_fmuobs_writers.py +0 -0
  280. {subscript-1.10.0 → subscript-1.12.0}/tests/test_grav_subs_maps.py +0 -0
  281. {subscript-1.10.0 → subscript-1.12.0}/tests/test_grav_subs_points.py +0 -0
  282. {subscript-1.10.0 → subscript-1.12.0}/tests/test_hook_implementations.py +0 -0
  283. {subscript-1.10.0 → subscript-1.12.0}/tests/test_interp_relperm.py +0 -0
  284. {subscript-1.10.0 → subscript-1.12.0}/tests/test_merge_rft_ertobs.py +0 -0
  285. {subscript-1.10.0 → subscript-1.12.0}/tests/test_merge_unrst_files.py +0 -0
  286. {subscript-1.10.0 → subscript-1.12.0}/tests/test_ofmvol2csv.py +0 -0
  287. {subscript-1.10.0 → subscript-1.12.0}/tests/test_pack_sim.py +0 -0
  288. {subscript-1.10.0 → subscript-1.12.0}/tests/test_params2csv.py +0 -0
  289. {subscript-1.10.0 → subscript-1.12.0}/tests/test_presentvalue.py +0 -0
  290. {subscript-1.10.0 → subscript-1.12.0}/tests/test_restartthinner.py +0 -0
  291. {subscript-1.10.0 → subscript-1.12.0}/tests/test_ri_wellmod.py +0 -0
  292. {subscript-1.10.0 → subscript-1.12.0}/tests/test_rmsecl_volumetrics.py +0 -0
  293. {subscript-1.10.0 → subscript-1.12.0}/tests/test_sector2fluxnum.py +0 -0
  294. {subscript-1.10.0 → subscript-1.12.0}/tests/test_subscriptlogger.py +0 -0
  295. {subscript-1.10.0 → subscript-1.12.0}/tests/test_summaryplot.py +0 -0
  296. {subscript-1.10.0 → subscript-1.12.0}/tests/test_sunsch.py +0 -0
  297. {subscript-1.10.0 → subscript-1.12.0}/tests/test_sw_model_utilities.py +0 -0
  298. {subscript-1.10.0 → subscript-1.12.0}/tests/test_vfp2csv.py +0 -0
  299. {subscript-1.10.0 → subscript-1.12.0}/tests/test_welltest_dpds.py +0 -0
  300. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
  301. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
  302. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
  303. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
  304. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
  305. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
  306. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/config_example.yml +0 -0
  307. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
  308. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
  309. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
  310. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
  311. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
  312. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
  313. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
  314. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
  315. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
  316. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
  317. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
  318. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
  319. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
  320. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
  321. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
  322. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
  323. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
  324. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
  325. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
  326. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
  327. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
  328. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
  329. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
  330. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
  331. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
  332. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
  333. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
  334. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
  335. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
  336. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
  337. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
  338. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
  339. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
  340. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
  341. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
  342. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
  343. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
  344. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
  345. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
  346. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
  347. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
  348. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
  349. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
  350. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/ert/model/0readme +0 -0
  351. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
  352. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
  353. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
  354. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/ert-doc.csv +0 -0
  355. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/ert-doc.obs +0 -0
  356. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/ert-doc.yml +0 -0
  357. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
  358. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
  359. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_fmuobs/ri-obs.csv +0 -0
  360. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/HIST.EGRID +0 -0
  361. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/HIST.INIT +0 -0
  362. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/HIST.UNRST +0 -0
  363. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/global_variables.yml +0 -0
  364. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
  365. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/grav_subs_points.yml +0 -0
  366. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/seabed.gri +0 -0
  367. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_gravity/station_coordinates.csv +0 -0
  368. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/cfg.yml +0 -0
  369. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
  370. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
  371. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
  372. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/swof_base.inc +0 -0
  373. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
  374. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
  375. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
  376. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
  377. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
  378. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
  379. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
  380. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
  381. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
  382. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
  383. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
  384. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
  385. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
  386. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
  387. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
  388. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
  389. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
  390. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
  391. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
  392. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
  393. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_prtvol2csv/0readme.txt +0 -0
  394. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
  395. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
  396. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.grid.grdecl +0 -0
  397. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.ntg.grdecl +0 -0
  398. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.perm.grdecl +0 -0
  399. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/drogon_trajectories/rft_wells.dat +0 -0
  400. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/drogon_trajectories/wells.dat +0 -0
  401. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/drogon_wells_noicd.rsp +0 -0
  402. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/reek_trajectories/reek_wells.dat +0 -0
  403. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_ri_wellmod/ri_reek_wells.rsp +0 -0
  404. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
  405. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
  406. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
  407. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
  408. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
  409. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
  410. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
  411. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
  412. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/config.yml +0 -0
  413. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/emptyinit.sch +0 -0
  414. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/foo1.sch +0 -0
  415. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/footemplate.sch +0 -0
  416. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/initwithdates.sch +0 -0
  417. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/merge2.sch +0 -0
  418. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/mergeme.sch +0 -0
  419. {subscript-1.10.0 → subscript-1.12.0}/tests/testdata_sunsch/options3.sch +0 -0
@@ -16,6 +16,12 @@ jobs:
16
16
  PYTHON: '3.8'
17
17
 
18
18
  steps:
19
+
20
+ - name: Install Ubuntu dependencies
21
+ run: |
22
+ sudo apt-get update
23
+ sudo apt-get install libegl1
24
+
19
25
  - uses: actions/checkout@v4
20
26
 
21
27
  - name: Setup Python
@@ -25,6 +25,12 @@ jobs:
25
25
  python-version: ["3.8", "3.9", "3.10", "3.11"]
26
26
 
27
27
  steps:
28
+
29
+ - name: Install Ubuntu dependencies
30
+ run: |
31
+ sudo apt-get update
32
+ sudo apt-get install libegl1
33
+
28
34
  - name: Checkout commit locally
29
35
  uses: actions/checkout@v4
30
36
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: subscript
3
- Version: 1.10.0
3
+ Version: 1.12.0
4
4
  Summary: Equinor's collection of subsurface reservoir modelling scripts
5
5
  Author-email: Equinor <rnyb@equinor.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -700,7 +700,6 @@ Description-Content-Type: text/markdown
700
700
  License-File: LICENSE
701
701
  Requires-Dist: resdata
702
702
  Requires-Dist: res2df
703
- Requires-Dist: ert
704
703
  Requires-Dist: ert>=10.2.0b13
705
704
  Requires-Dist: fmu-tools
706
705
  Requires-Dist: grid3d_maps
@@ -723,6 +722,7 @@ Requires-Dist: pytest; extra == "tests"
723
722
  Requires-Dist: pytest-cov; extra == "tests"
724
723
  Requires-Dist: pytest-mock; extra == "tests"
725
724
  Requires-Dist: pytest-xdist; extra == "tests"
725
+ Requires-Dist: PyQt5-sip<12.16.0; python_version == "3.8" and extra == "tests"
726
726
  Requires-Dist: rstcheck; extra == "tests"
727
727
  Requires-Dist: rstcheck-core; extra == "tests"
728
728
  Requires-Dist: ruff; extra == "tests"
@@ -731,7 +731,7 @@ Requires-Dist: types-PyYAML; extra == "tests"
731
731
  Requires-Dist: types-python-dateutil; extra == "tests"
732
732
  Provides-Extra: docs
733
733
  Requires-Dist: autoapi; extra == "docs"
734
- Requires-Dist: sphinx; extra == "docs"
734
+ Requires-Dist: sphinx<8.2.0; extra == "docs"
735
735
  Requires-Dist: sphinx-argparse; extra == "docs"
736
736
  Requires-Dist: sphinx-autodoc-typehints<2.4; extra == "docs"
737
737
  Requires-Dist: sphinx-copybutton; extra == "docs"
@@ -30,5 +30,12 @@ get_os_arch () {
30
30
 
31
31
  start_tests () {
32
32
  os_arch="$(get_os_arch)"
33
- pytest -n auto --flow-simulator="/project/res/$os_arch/bin/flowdaily" --eclipse-simulator="runeclipse"
33
+
34
+ SHELLOPTS_BEFORE=$(set +o)
35
+ set +e
36
+ # (this script becomes flaky if set -e is active)
37
+ source /prog/res/ecl/script/eclrun.bash
38
+ eval "$SHELLOPTS_BEFORE"
39
+
40
+ pytest -n auto --flow-simulator="/project/res/$os_arch/bin/flowdaily" --eclipse-simulator="eclrun"
34
41
  }
@@ -58,11 +58,9 @@ running tests that rely upon a black oil simulation.
58
58
 
59
59
  .. code-block:: console
60
60
 
61
- # running on redhat 7
62
- pytest -n auto --flow-simulator="/project/res/x86_64_RH_7/bin/flowdaily" --eclipse-simulator="runeclipse"
63
-
64
61
  # running on redhat 8
65
- pytest -n auto --flow-simulator="/project/res/x86_64_RH_8/bin/flowdaily" --eclipse-simulator="runeclipse"
62
+ source /prog/res/ecl/script/eclrun.cshrc # Use eclrun.bash if using the bash shell
63
+ pytest -n auto --flow-simulator="/project/res/x86_64_RH_8/bin/flowdaily" --eclipse-simulator="eclrun"
66
64
 
67
65
  Code style
68
66
  ----------
@@ -38,7 +38,6 @@ dynamic = ["version"]
38
38
  dependencies = [
39
39
  "resdata",
40
40
  "res2df",
41
- "ert",
42
41
  "ert>=10.2.0b13",
43
42
  "fmu-tools",
44
43
  "grid3d_maps",
@@ -64,6 +63,7 @@ tests = [
64
63
  "pytest-cov",
65
64
  "pytest-mock",
66
65
  "pytest-xdist",
66
+ "PyQt5-sip<12.16.0; python_version == '3.8'",
67
67
  "rstcheck",
68
68
  "rstcheck-core",
69
69
  "ruff",
@@ -73,7 +73,7 @@ tests = [
73
73
  ]
74
74
  docs = [
75
75
  "autoapi",
76
- "sphinx",
76
+ "sphinx<8.2.0",
77
77
  "sphinx-argparse",
78
78
  "sphinx-autodoc-typehints<2.4",
79
79
  "sphinx-copybutton",
@@ -242,9 +242,9 @@ def main():
242
242
  streak_box = streaks["BoundingBox"]
243
243
  else:
244
244
  streak_box = flatten(parser.streak_box)
245
- assert (
246
- len(streak_box) % 4 == 0
247
- ), "Number of input for streak box must be 4 or multiplication of 4"
245
+ assert len(streak_box) % 4 == 0, (
246
+ "Number of input for streak box must be 4 or multiplication of 4"
247
+ )
248
248
  streak_box = [
249
249
  streak_box[i : i + 4] for i in range(0, len(streak_box), 4)
250
250
  ]
@@ -84,20 +84,20 @@ class Model:
84
84
  self._eclipse_output_per_line = 6
85
85
 
86
86
  streak_dz = listify(streak_dz, len(streak_k), float)
87
- assert len(streak_dz) == len(
88
- streak_k
89
- ), "Number of streak k-index is differs from number of streak dz"
87
+ assert len(streak_dz) == len(streak_k), (
88
+ "Number of streak k-index is differs from number of streak dz"
89
+ )
90
90
 
91
91
  streak_nz = listify(streak_nz, len(streak_k), int)
92
- assert len(streak_nz) == len(
93
- streak_k
94
- ), "Number of streak k-index is differs from number of streak cell count (nz)"
92
+ assert len(streak_nz) == len(streak_k), (
93
+ "Number of streak k-index is differs from number of streak cell count (nz)"
94
+ )
95
95
 
96
96
  if isinstance(streak_rect, list) and len(streak_rect) > 0:
97
97
  if isinstance(streak_rect[0], list) and len(streak_rect) > 1:
98
- assert len(streak_rect) == len(
99
- streak_k
100
- ), "Number of streak k-index is differs from number of streak box"
98
+ assert len(streak_rect) == len(streak_k), (
99
+ "Number of streak k-index is differs from number of streak box"
100
+ )
101
101
  elif isinstance(streak_rect[0], list):
102
102
  streak_rect = [streak_rect[0]] * len(streak_k)
103
103
  else:
@@ -603,9 +603,9 @@ Initializing model
603
603
  ):
604
604
  # pylint: disable=too-many-arguments
605
605
  streak_property = listify(streak_property, len(self._streak_k))
606
- assert len(streak_property) == len(
607
- self._streak_k
608
- ), f"Number of input {keyword} is not equal to number of streak"
606
+ assert len(streak_property) == len(self._streak_k), (
607
+ f"Number of input {keyword} is not equal to number of streak"
608
+ )
609
609
  data_type = np.int16 if isinstance(fracture_property, int) else float
610
610
  props = np.empty(
611
611
  (self._total_nx, self._total_ny, self._total_nz), dtype=data_type
@@ -666,9 +666,9 @@ Initializing model
666
666
  def set_layers_property(self, keyword, matrix_property, streak_property):
667
667
  """Store matrix and streak property"""
668
668
  streak_property = listify(streak_property, len(self._streak_k))
669
- assert len(streak_property) == len(
670
- self._streak_k
671
- ), f"Number of input {keyword} is not equal to number of streaks"
669
+ assert len(streak_property) == len(self._streak_k), (
670
+ f"Number of input {keyword} is not equal to number of streaks"
671
+ )
672
672
  keyword = keyword.upper()
673
673
  self._streak_props[keyword] = streak_property
674
674
  self._matrix_props[keyword] = matrix_property
@@ -163,30 +163,30 @@ def human_report_qc_vols(qc_vols: Dict[str, float]) -> str:
163
163
  swatinit_hcvol = qc_vols["PORV"] - qc_vols["SWATINIT_WVOL"]
164
164
  swat_hcvol = qc_vols["PORV"] - qc_vols["SWAT_WVOL"]
165
165
  for key in ["VOLUME", "PORV"]:
166
- string += f"{key:25s} {qc_vols[key]/1e6:>10.4f} Mrm3\n"
166
+ string += f"{key:25s} {qc_vols[key] / 1e6:>10.4f} Mrm3\n"
167
167
  for key in ["SWATINIT_WVOL"]:
168
- string += f"{key:25s} {qc_vols[key]/1e6:>10.4f} Mrm3"
168
+ string += f"{key:25s} {qc_vols[key] / 1e6:>10.4f} Mrm3"
169
169
  string += 11 * " "
170
- string += f"HC: {swatinit_hcvol/1e6:>8.3f} Mrm3\n"
170
+ string += f"HC: {swatinit_hcvol / 1e6:>8.3f} Mrm3\n"
171
171
  for key in QC_FLAGS:
172
172
  if key in skip_if_zero and np.isclose(qc_vols[key], 0, atol=1):
173
173
  # Tolerance is 1 rm3, which is small in relevant contexts.
174
174
  continue
175
175
 
176
- string += f"+ {key:23s} {qc_vols[key]/1e6:>10.4f} Mrm3 "
177
- string += f" {qc_vols[key]/qc_vols['SWATINIT_WVOL']*100:>3.2f} %"
176
+ string += f"+ {key:23s} {qc_vols[key] / 1e6:>10.4f} Mrm3 "
177
+ string += f" {qc_vols[key] / qc_vols['SWATINIT_WVOL'] * 100:>3.2f} %"
178
178
  if swatinit_hcvol > 0.0:
179
- string += f" {-qc_vols[key]/swatinit_hcvol*100:>3.2f} %"
179
+ string += f" {-qc_vols[key] / swatinit_hcvol * 100:>3.2f} %"
180
180
  string += "\n"
181
181
  for key in ["SWAT_WVOL"]:
182
- string += f"= {key:23s} {qc_vols[key]/1e6:>10.4f} Mrm3 "
182
+ string += f"= {key:23s} {qc_vols[key] / 1e6:>10.4f} Mrm3 "
183
183
  change = (qc_vols["SWAT_WVOL"] - qc_vols["SWATINIT_WVOL"]) / qc_vols[
184
184
  "SWATINIT_WVOL"
185
185
  ]
186
- string += f" {change*100:>3.2f} %"
186
+ string += f" {change * 100:>3.2f} %"
187
187
  if swatinit_hcvol > 0.0:
188
188
  hc_change = (swat_hcvol - swatinit_hcvol) / swatinit_hcvol
189
- string += f" {hc_change*100:>3.2f} %"
189
+ string += f" {hc_change * 100:>3.2f} %"
190
190
  return string
191
191
 
192
192
 
@@ -619,9 +619,9 @@ def merge_equil(grid_df: pd.DataFrame, equil_df: pd.DataFrame) -> pd.DataFrame:
619
619
  equil_df = equil_df[equil_df["KEYWORD"] == "EQUIL"]
620
620
  equil_df = equil_df[["Z_DATUM", "PRESSURE_DATUM", "EQLNUM", "OIP_INIT"] + contacts]
621
621
  equil_df["EQLNUM"] = equil_df["EQLNUM"].astype(int)
622
- assert (
623
- not pd.isnull(equil_df).any().any()
624
- ), f"BUG: NaNs in equil dataframe:\n{equil_df}"
622
+ assert not pd.isnull(equil_df).any().any(), (
623
+ f"BUG: NaNs in equil dataframe:\n{equil_df}"
624
+ )
625
625
  return grid_df.merge(equil_df, on="EQLNUM", how="left")
626
626
 
627
627
 
@@ -297,7 +297,7 @@ class PillarModel:
297
297
  string += "SGOF\n"
298
298
  string += "-- SG KRG KROG PC\n"
299
299
  string += " 0 0 1 0 \n"
300
- string += f" {1-self.swl[satnum]:g} 1.0 0.0 0\n/\n"
300
+ string += f" {1 - self.swl[satnum]:g} 1.0 0.0 0\n/\n"
301
301
 
302
302
  if "GAS" in self.phases and "OIL" not in self.phases:
303
303
  for satnum_idx, satnum in enumerate(range(len(self.swl))):
@@ -47,9 +47,9 @@ def plot_qc_panels(
47
47
  if eqlnum is not None:
48
48
  qc_frame = qc_frame[qc_frame["EQLNUM"] == eqlnum]
49
49
 
50
- assert (
51
- len(qc_frame["EQLNUM"].unique()) == 1
52
- ), "Can only plot for one EQLNUM at a time"
50
+ assert len(qc_frame["EQLNUM"].unique()) == 1, (
51
+ "Can only plot for one EQLNUM at a time"
52
+ )
53
53
  pyplot.style.use("seaborn-v0_8-darkgrid")
54
54
  seaborn.color_palette("tab10")
55
55
 
@@ -73,9 +73,9 @@ def plot_qc_panels(
73
73
  def visual_depth(qc_frame: pd.DataFrame) -> float:
74
74
  """Suggest a deep depth limit for what to plot, in order to avoid
75
75
  showing too much of a less interesting water zone"""
76
- assert (
77
- len(qc_frame["EQLNUM"].unique()) == 1
78
- ), "Can only plot for one EQLNUM at a time"
76
+ assert len(qc_frame["EQLNUM"].unique()) == 1, (
77
+ "Can only plot for one EQLNUM at a time"
78
+ )
79
79
  lowest_hc = qc_frame[qc_frame["SWATINIT"] < 1]["Z"].max()
80
80
  hc_height = lowest_hc - qc_frame["Z"].min()
81
81
 
@@ -212,7 +212,7 @@ def wvol_waterfall(qc_vols: Dict[str, float]) -> None:
212
212
  for number, qc_flag in enumerate(index[1:]):
213
213
  change = qc_vols[qc_flag] / qc_vols["SWATINIT_WVOL"]
214
214
  pyplot.gca().annotate(
215
- f"{change*100:3.2f}%",
215
+ f"{change * 100:3.2f}%",
216
216
  (
217
217
  number + 1,
218
218
  blanktrans[number] + max(0, qc_vols[qc_flag]) + span / 20,
@@ -222,7 +222,7 @@ def wvol_waterfall(qc_vols: Dict[str, float]) -> None:
222
222
  )
223
223
  hc_change = -qc_vols[qc_flag] / swatinit_hcvol
224
224
  pyplot.gca().annotate(
225
- f"{hc_change*100:3.2f}%",
225
+ f"{hc_change * 100:3.2f}%",
226
226
  (number + 1, blanktrans[number] + max(0, qc_vols[qc_flag]) + 4 * span / 20),
227
227
  horizontalalignment="center",
228
228
  color="C2",
@@ -231,14 +231,14 @@ def wvol_waterfall(qc_vols: Dict[str, float]) -> None:
231
231
  "SWATINIT_WVOL"
232
232
  ]
233
233
  pyplot.gca().annotate(
234
- f"{final_change*100:>3.2f}%",
234
+ f"{final_change * 100:>3.2f}%",
235
235
  (6, total + span / 20),
236
236
  horizontalalignment="center",
237
237
  color="C0",
238
238
  )
239
239
  final_hc_change = (swat_hcvol - swatinit_hcvol) / swatinit_hcvol
240
240
  pyplot.gca().annotate(
241
- f"{final_hc_change*100:>3.2f}%",
241
+ f"{final_hc_change * 100:>3.2f}%",
242
242
  (6, total + 4 * span / 20),
243
243
  horizontalalignment="center",
244
244
  color="C2",
@@ -9,7 +9,6 @@ from typing import Dict, List, Optional
9
9
 
10
10
  import ert
11
11
  import pandas as pd
12
- from ert.config import ErtScript
13
12
 
14
13
  from subscript import __version__, getLogger
15
14
  from subscript.eclcompress.eclcompress import glob_patterns
@@ -56,7 +55,7 @@ class CustomFormatter(
56
55
  # pylint: disable=unnecessary-pass
57
56
 
58
57
 
59
- class CsvMerge(ErtScript):
58
+ class CsvMerge(ert.ErtScript):
60
59
  """A class with a run() function that can be registered as an ERT plugin"""
61
60
 
62
61
  # pylint: disable=too-few-public-methods
@@ -68,7 +67,9 @@ class CsvMerge(ErtScript):
68
67
  args = parser.parse_args(args)
69
68
  logger.setLevel(logging.INFO)
70
69
  globbedfiles = glob_patterns(args.csvfiles)
71
- csv_merge_main(csvfiles=globbedfiles, output=args.output)
70
+ csv_merge_main(
71
+ csvfiles=globbedfiles, output=args.output, memoryconservative=True
72
+ )
72
73
 
73
74
 
74
75
  def get_parser() -> argparse.ArgumentParser:
@@ -10,7 +10,6 @@ from typing import Pattern
10
10
 
11
11
  import ert
12
12
  import pandas as pd
13
- from ert.config import ErtScript
14
13
 
15
14
  from subscript import __version__, getLogger
16
15
 
@@ -93,7 +92,7 @@ class CustomFormatter(
93
92
  # pylint: disable=unnecessary-pass
94
93
 
95
94
 
96
- class CsvStack(ErtScript):
95
+ class CsvStack(ert.ErtScript):
97
96
  """A class with a run() function that can be registered as an ERT plugin,
98
97
  to be used as an ERT workflow (wrapping the command line utility)"""
99
98
 
@@ -23,7 +23,6 @@ import fmu.config.utilities as utils
23
23
  import numpy as np
24
24
  import xtgeo
25
25
  import yaml
26
- from ert.config import ErtScript
27
26
 
28
27
  import subscript
29
28
 
@@ -1038,7 +1037,7 @@ def get_specifications(input_dict, ertbox_size, ert_config_path):
1038
1037
  zone_code_names = geogrid_fields_dict[key]
1039
1038
  else:
1040
1039
  raise KeyError(
1041
- f"Missing keyword: {key} specifying " "zone name for each zone number."
1040
+ f"Missing keyword: {key} specifying zone name for each zone number."
1042
1041
  )
1043
1042
 
1044
1043
  key = "use_zones"
@@ -1630,10 +1629,12 @@ def main():
1630
1629
  zone_list = list(zone_code_names.values())
1631
1630
 
1632
1631
  key = "continuous_property_param_per_zone"
1632
+ cont_prop_dict = None
1633
1633
  if key in geogrid_fields_dict:
1634
1634
  cont_prop_dict = geogrid_fields_dict[key]
1635
1635
 
1636
1636
  key = "discrete_property_param_per_zone"
1637
+ discrete_prop_dict = None
1637
1638
  if key in geogrid_fields_dict:
1638
1639
  discrete_prop_dict = geogrid_fields_dict[key]
1639
1640
 
@@ -1791,7 +1792,7 @@ if __name__ == "__main__":
1791
1792
  file.write("\n")
1792
1793
 
1793
1794
 
1794
- class FieldStatistics(ErtScript):
1795
+ class FieldStatistics(ert.ErtScript):
1795
1796
  """This class defines the ERT workflow hook.
1796
1797
 
1797
1798
  It is constructed to work identical to the command line except
@@ -280,7 +280,7 @@ def get_parser() -> argparse.ArgumentParser:
280
280
  "--profile",
281
281
  dest="profile",
282
282
  type=int,
283
- help="profile for copy profile to use, default is 4",
283
+ help=f"profile for copy profile to use, default is {DEFAULT_PROFILE}",
284
284
  )
285
285
  parser.add_argument(
286
286
  "--threads",
@@ -401,6 +401,15 @@ class CopyFMU:
401
401
  logger.info("Default target is %s", self.default_target.resolve())
402
402
 
403
403
  def construct_target(self, proposal):
404
+ def _clean_folder(folder):
405
+ """Remove all files and subdirectories inside the folder,
406
+ while keeping the folder itself intact, unlike shutil.rmtree."""
407
+ for item in Path(folder).iterdir():
408
+ if item.is_dir():
409
+ shutil.rmtree(item)
410
+ else:
411
+ item.unlink()
412
+
404
413
  """Final target as abs path string, and evaluate cleanup or merge."""
405
414
  target = Path(proposal)
406
415
  self.target = str(target.absolute())
@@ -413,7 +422,8 @@ class CopyFMU:
413
422
  print(f"Target is already present: <{self.target}>")
414
423
  if self.args.cleanup:
415
424
  print("Doing cleanup of current target...")
416
- shutil.rmtree(self.target)
425
+ _clean_folder(self.target)
426
+
417
427
  elif self.args.merge:
418
428
  print("Doing merge copy of current target...")
419
429
  else:
@@ -458,9 +468,9 @@ class CopyFMU:
458
468
  """Checking diskspace."""
459
469
  print("Checking disk space at current partition...")
460
470
  total, used, free = shutil.disk_usage(".")
461
- print(f" Total: {total // (2 ** 30):d} G")
462
- print(f" Used: {used // (2 ** 30):d} G")
463
- print(f" Free: {free // (2 ** 30):d} G")
471
+ print(f" Total: {total // (2**30):d} G")
472
+ print(f" Used: {used // (2**30):d} G")
473
+ print(f" Free: {free // (2**30):d} G")
464
474
 
465
475
  if self.args.skipestimate:
466
476
  print(" Skip estimation of current revision size!")
@@ -652,8 +662,7 @@ class CopyFMU:
652
662
  timing = float(stdout[-1])
653
663
  timing = time.strftime("%H hours %M minutes %S seconds", time.gmtime(timing))
654
664
  print(
655
- f"\n ** The rsync process took {timing}, using "
656
- f"{self.nthreads} threads **\n"
665
+ f"\n ** The rsync process took {timing}, using {self.nthreads} threads **\n"
657
666
  )
658
667
 
659
668
 
@@ -677,7 +686,7 @@ def main(args=None) -> None:
677
686
  runner.do_rsyncing()
678
687
  else:
679
688
  print("Command line mode!")
680
- runner.profile = int(runner.args.profile)
689
+ runner.profile = int(runner.args.profile or DEFAULT_PROFILE)
681
690
  runner.source = runner.args.source
682
691
  runner.batch = True
683
692
 
@@ -12,7 +12,6 @@ from typing import Optional, Tuple, Union
12
12
  import ert
13
13
  import pandas as pd
14
14
  import yaml
15
- from ert.config import ErtScript
16
15
 
17
16
  from subscript import __version__, getLogger
18
17
  from subscript.fmuobs.parsers import (
@@ -436,7 +435,7 @@ def dump_results(
436
435
  print(ertobs_str)
437
436
 
438
437
 
439
- class FmuObs(ErtScript):
438
+ class FmuObs(ert.ErtScript):
440
439
  """This class defines the ERT workflow hook.
441
440
 
442
441
  It is constructed to work identical to the command line except
@@ -215,7 +215,8 @@ def export_grav_points_xyz(act_stations, phase, diff_date, out_folder) -> None:
215
215
  for index, row in act_stations.iterrows():
216
216
  file.write(
217
217
  f"{row['utmx']:.3f} {row['utmy']:.3f} "
218
- f"{row['dgsim_'+phase+'_'+diff_date[0]+'_'+diff_date[1]]:.3f} \n"
218
+ f"{row['dgsim_' + phase + '_' + diff_date[0] + '_' + diff_date[1]]:.3f}"
219
+ " \n"
219
220
  )
220
221
 
221
222
 
@@ -251,7 +252,7 @@ def export_subs_points_xyz(act_stations, diff_date, out_folder) -> None:
251
252
  for index, row in act_stations.iterrows():
252
253
  file.write(
253
254
  f"{row['utmx']:.3f} {row['utmy']:.3f} "
254
- f"{row['subsidence_'+diff_date[0]+'_'+diff_date[1]]:.3f}\n"
255
+ f"{row['subsidence_' + diff_date[0] + '_' + diff_date[1]]:.3f}\n"
255
256
  )
256
257
 
257
258
 
@@ -109,9 +109,9 @@ class Interpolator(BaseModel):
109
109
 
110
110
  @model_validator(mode="after")
111
111
  def check_param_w_or_param_g(self) -> Interpolator:
112
- assert (
113
- self.param_w is not None or self.param_g is not None
114
- ), "Provide either param_w or param_g"
112
+ assert self.param_w is not None or self.param_g is not None, (
113
+ "Provide either param_w or param_g"
114
+ )
115
115
  return self
116
116
 
117
117
 
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # How it works:
7
7
  # Makes a copy of your ECLDECK.DATA, callled .NOSIMMED.DATA
8
- # Runs the modified copy using 'runeclipse'
8
+ # Runs the modified copy using 'eclrun'
9
9
  #
10
10
  # NB: No cleanup is performed, but the temporary file is
11
11
  # hidden so it will not clutter too much.
@@ -49,7 +49,7 @@ my $args = " -p $progname " ;
49
49
  if ($version) { $args .= "-v $version " ; } ;
50
50
  $args .= ".NOSIMMED.DATA" ;
51
51
 
52
- system("runeclipse -i $args") ;
52
+ system("eclrun eclipse $args") ;
53
53
 
54
54
 
55
55
  sub in_error
@@ -0,0 +1,47 @@
1
+ #!/bin/bash
2
+
3
+ echo "runeclipse (from subscript) is deprecated. Instead you should use 'eclrun'."
4
+
5
+
6
+ env | grep -q ECLPATH || (echo "For eclrun to work, you must 'source /prog/res/ecl/script/eclrun.cshrc'" && exit 1)
7
+
8
+
9
+ version_setup=""
10
+ queue_setup="-q normal "
11
+ program="eclipse"
12
+ while [[ $# -gt 0 ]]; do
13
+ case $1 in
14
+ -p)
15
+ program=$2
16
+ shift
17
+ shift
18
+ ;;
19
+ -i)
20
+ queue_setup=""
21
+ shift
22
+ ;;
23
+ -v)
24
+ version_setup="-v $2 "
25
+ shift
26
+ shift
27
+ ;;
28
+ -x)
29
+ # Assume span is 1 by default in onprem LSF
30
+ shift
31
+ ;;
32
+ -q)
33
+ queue_setup="-q $2 "
34
+ shift
35
+ shift
36
+ ;;
37
+ *)
38
+ datafile=$1
39
+ shift
40
+ ;;
41
+ esac
42
+ done
43
+
44
+ echo
45
+ echo "Equivalent command using eclrun:"
46
+ echo
47
+ echo "> eclrun ${queue_setup}${version_setup}${program} ${datafile}"
@@ -49,7 +49,7 @@ def get_parser() -> argparse.ArgumentParser:
49
49
  "-v",
50
50
  "--version",
51
51
  action="version",
52
- version=f"%(prog)s (subscript version {__version__ })",
52
+ version=f"%(prog)s (subscript version {__version__})",
53
53
  )
54
54
  return parser
55
55
 
@@ -488,8 +488,7 @@ def inspect_file(
488
488
  "** - REMOVE THE USEFLUX KEYWORD **"
489
489
  )
490
490
  print(
491
- "******************************************"
492
- "****************************"
491
+ "**********************************************************************"
493
492
  )
494
493
  new_data_file += line
495
494
  else:
@@ -14,7 +14,6 @@ from pathlib import Path
14
14
 
15
15
  import ert
16
16
  import pandas as pd
17
- from ert.config import ErtScript
18
17
 
19
18
  from subscript import __version__, getLogger
20
19
 
@@ -96,7 +95,7 @@ class CustomFormatter(
96
95
  # pylint: disable=unnecessary-pass
97
96
 
98
97
 
99
- class Params2Csv(ErtScript):
98
+ class Params2Csv(ert.ErtScript):
100
99
  """A class with a run() function that can be registered as an ERT plugin,
101
100
  to be used as an ERT workflow (wrapping the command line utility)"""
102
101
 
@@ -67,8 +67,7 @@ def get_parser() -> argparse.ArgumentParser:
67
67
  "--oilvector",
68
68
  type=str,
69
69
  help=(
70
- "Eclipse vector to read cumulative oil production from. "
71
- "Use None to ignore."
70
+ "Eclipse vector to read cumulative oil production from. Use None to ignore."
72
71
  ),
73
72
  default="FOPT",
74
73
  )
@@ -76,8 +75,7 @@ def get_parser() -> argparse.ArgumentParser:
76
75
  "--gasvector",
77
76
  type=str,
78
77
  help=(
79
- "Eclipse vector to read cumulative gas production from. "
80
- "Use None to ignore."
78
+ "Eclipse vector to read cumulative gas production from. Use None to ignore."
81
79
  ),
82
80
  default="FGPT",
83
81
  )
@@ -85,8 +83,7 @@ def get_parser() -> argparse.ArgumentParser:
85
83
  "--gasinjvector",
86
84
  type=str,
87
85
  help=(
88
- "Eclipse vector to read cumulative gas injection from. "
89
- "Use None to ignore."
86
+ "Eclipse vector to read cumulative gas injection from. Use None to ignore."
90
87
  ),
91
88
  default="FGIT",
92
89
  )