subscript 1.13.1__tar.gz → 1.14.1__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 (410) hide show
  1. {subscript-1.13.1 → subscript-1.14.1}/.github/workflows/codecov.yml +13 -7
  2. {subscript-1.13.1 → subscript-1.14.1}/.github/workflows/subscript.yml +11 -12
  3. {subscript-1.13.1 → subscript-1.14.1}/PKG-INFO +4 -4
  4. {subscript-1.13.1 → subscript-1.14.1}/pyproject.toml +13 -9
  5. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/check_swatinit.py +23 -21
  6. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/plotter.py +7 -7
  7. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv2ofmvol/csv2ofmvol.py +2 -2
  8. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_merge/csv_merge.py +1 -1
  9. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_stack/csv_stack.py +1 -1
  10. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/field_statistics/field_statistics.py +48 -11
  11. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/parsers.py +1 -2
  12. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/writers.py +33 -32
  13. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/interp_relperm/interp_relperm.py +4 -4
  14. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_rft_ertobs/merge_rft_ertobs.py +2 -2
  15. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/params2csv/params2csv.py +3 -4
  16. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/presentvalue/presentvalue.py +12 -9
  17. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/prtvol2csv/prtvol2csv.py +54 -11
  18. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/restartthinner/restartthinner.py +1 -1
  19. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/summaryplot/summaryplot.py +32 -39
  20. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/version.py +16 -3
  21. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/vfp2csv/vfp2csv.py +5 -5
  22. {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/PKG-INFO +4 -4
  23. {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/SOURCES.txt +14 -0
  24. {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/requires.txt +3 -3
  25. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args0.png +0 -0
  26. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args1.png +0 -0
  27. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args10.png +0 -0
  28. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args11.png +0 -0
  29. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args2.png +0 -0
  30. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args3.png +0 -0
  31. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args4.png +0 -0
  32. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args5.png +0 -0
  33. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args6.png +0 -0
  34. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args7.png +0 -0
  35. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args8.png +0 -0
  36. subscript-1.14.1/tests/baseline/test_summaryplotter_mpl_test_cmd_args9.png +0 -0
  37. {subscript-1.13.1 → subscript-1.14.1}/tests/test_check_swatinit.py +4 -4
  38. {subscript-1.13.1 → subscript-1.14.1}/tests/test_check_swatinit_simulators.py +9 -9
  39. {subscript-1.13.1 → subscript-1.14.1}/tests/test_csv_stack.py +4 -4
  40. {subscript-1.13.1 → subscript-1.14.1}/tests/test_field_statistics.py +22 -6
  41. {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmuobs.py +16 -19
  42. {subscript-1.13.1 → subscript-1.14.1}/tests/test_merge_rft_ertobs.py +2 -2
  43. {subscript-1.13.1 → subscript-1.14.1}/tests/test_ofmvol2csv.py +3 -2
  44. {subscript-1.13.1 → subscript-1.14.1}/tests/test_params2csv.py +4 -4
  45. {subscript-1.13.1 → subscript-1.14.1}/tests/test_presentvalue.py +1 -1
  46. {subscript-1.13.1 → subscript-1.14.1}/tests/test_prtvol2csv.py +42 -12
  47. {subscript-1.13.1 → subscript-1.14.1}/tests/test_summaryplot.py +32 -0
  48. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/config_example.yml +1 -0
  49. subscript-1.14.1/tests/testdata_prtvol2csv/0readme.txt +17 -0
  50. subscript-1.14.1/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE.PRT +4189 -0
  51. subscript-1.14.1/tests/testdata_prtvol2csv/DROGON_NO_INITIAL_BALANCE_FLOW.PRT +4089 -0
  52. subscript-1.13.1/tests/testdata_prtvol2csv/0readme.txt +0 -12
  53. {subscript-1.13.1 → subscript-1.14.1}/.github/workflows/publish.yml +0 -0
  54. {subscript-1.13.1 → subscript-1.14.1}/.gitignore +0 -0
  55. {subscript-1.13.1 → subscript-1.14.1}/.pylintrc +0 -0
  56. {subscript-1.13.1 → subscript-1.14.1}/LICENSE +0 -0
  57. {subscript-1.13.1 → subscript-1.14.1}/README.md +0 -0
  58. {subscript-1.13.1 → subscript-1.14.1}/SECURITY.md +0 -0
  59. {subscript-1.13.1 → subscript-1.14.1}/ci/testkomodo.sh +0 -0
  60. {subscript-1.13.1 → subscript-1.14.1}/docs/Makefile +0 -0
  61. {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor-logo.png +0 -0
  62. {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor-logo2.jpg +0 -0
  63. {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor-logo2.png +0 -0
  64. {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor_logo.jpg +0 -0
  65. {subscript-1.13.1 → subscript-1.14.1}/docs/_static/equinor_logo_only.jpg +0 -0
  66. {subscript-1.13.1 → subscript-1.14.1}/docs/_templates/layout.html +0 -0
  67. {subscript-1.13.1 → subscript-1.14.1}/docs/conf.py +0 -0
  68. {subscript-1.13.1 → subscript-1.14.1}/docs/contributing.rst +0 -0
  69. {subscript-1.13.1 → subscript-1.14.1}/docs/history.rst +0 -0
  70. {subscript-1.13.1 → subscript-1.14.1}/docs/index.rst +0 -0
  71. {subscript-1.13.1 → subscript-1.14.1}/docs/make.bat +0 -0
  72. {subscript-1.13.1 → subscript-1.14.1}/docs/overview.rst +0 -0
  73. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/bjobsusers.rst +0 -0
  74. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/casegen_upcars.rst +0 -0
  75. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/check_swatinit.rst +0 -0
  76. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/convert_grid_format.rst +0 -0
  77. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/csv2ofmvol.rst +0 -0
  78. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/csv_merge.rst +0 -0
  79. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/csv_stack.rst +0 -0
  80. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/eclcompress.rst +0 -0
  81. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/ecldiff2roff.rst +0 -0
  82. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/field_statistics.rst +0 -0
  83. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/fmu_copy_revision.rst +0 -0
  84. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/fmuobs.rst +0 -0
  85. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/grav_subs_maps.rst +0 -0
  86. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/grav_subs_points.rst +0 -0
  87. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Pack_sim_overview.png +0 -0
  88. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Summaryplot-ensemble.png +0 -0
  89. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Summaryplot-ert.png +0 -0
  90. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Summaryplot-normalizeexample.png +0 -0
  91. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/Workflow_sector2fluxnum.png +0 -0
  92. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/casegen_upcars_geometry.png +0 -0
  93. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/check_swatinit_scatter.png +0 -0
  94. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/check_swatinit_volplot.png +0 -0
  95. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/ecl-swat-initialization.png +0 -0
  96. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/make_check_swatinit_images.sh +0 -0
  97. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/images/resinsight_wells_project_example.png +0 -0
  98. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/interp_relperm.rst +0 -0
  99. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/merge_rft_ertobs.rst +0 -0
  100. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/merge_unrst_files.rst +0 -0
  101. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/ofmvol2csv.rst +0 -0
  102. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/pack_sim.rst +0 -0
  103. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/params2csv.rst +0 -0
  104. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/presentvalue.rst +0 -0
  105. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/prtvol2csv.csv +0 -0
  106. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/prtvol2csv.rst +0 -0
  107. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/restartthinner.rst +0 -0
  108. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/ri_wellmod.rst +0 -0
  109. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/rmsecl_volumetrics.rst +0 -0
  110. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/sector2fluxnum.rst +0 -0
  111. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/summaryplot.rst +0 -0
  112. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/sunsch.rst +0 -0
  113. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/sw_model_utilities.rst +0 -0
  114. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/vfp2csv.rst +0 -0
  115. {subscript-1.13.1 → subscript-1.14.1}/docs/scripts/welltest_dpds.rst +0 -0
  116. {subscript-1.13.1 → subscript-1.14.1}/docs/usage.rst +0 -0
  117. {subscript-1.13.1 → subscript-1.14.1}/setup.cfg +0 -0
  118. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/__init__.py +0 -0
  119. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/bjobsusers/__init__.py +0 -0
  120. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/bjobsusers/bjobsusers.py +0 -0
  121. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/__init__.py +0 -0
  122. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/casegen_upcars.py +0 -0
  123. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/model.py +0 -0
  124. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/udf.py +0 -0
  125. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/casegen_upcars/udf_arg_parser.py +0 -0
  126. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/__init__.py +0 -0
  127. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/constants.py +0 -0
  128. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/check_swatinit/pillarmodel.py +0 -0
  129. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/convert_grid_format/__init__.py +0 -0
  130. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/convert_grid_format/convert_grid_format.py +0 -0
  131. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv2ofmvol/__init__.py +0 -0
  132. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_merge/__init__.py +0 -0
  133. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/csv_stack/__init__.py +0 -0
  134. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/eclcompress/__init__.py +0 -0
  135. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/eclcompress/allowlist.py +0 -0
  136. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/eclcompress/eclcompress.py +0 -0
  137. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ecldiff2roff/__init__.py +0 -0
  138. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ecldiff2roff/ecldiff2roff.py +0 -0
  139. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/field_statistics/__init__.py +0 -0
  140. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmu_copy_revision/__init__.py +0 -0
  141. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmu_copy_revision/fmu_copy_revision.py +0 -0
  142. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/__init__.py +0 -0
  143. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/fmuobs.py +0 -0
  144. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/fmuobs/util.py +0 -0
  145. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_maps/__init__.py +0 -0
  146. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_maps/grav_subs_maps.py +0 -0
  147. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_points/__init__.py +0 -0
  148. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/grav_subs_points/grav_subs_points.py +0 -0
  149. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/hook_implementations/__init__.py +0 -0
  150. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/hook_implementations/forward_model_steps.py +0 -0
  151. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/interp_relperm/__init__.py +0 -0
  152. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/duf +0 -0
  153. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/eclmanual +0 -0
  154. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/ertwatch +0 -0
  155. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/list_rms_usage +0 -0
  156. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/nosim +0 -0
  157. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/legacy/runeclipse +0 -0
  158. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_rft_ertobs/__init__.py +0 -0
  159. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_unrst_files/__init__.py +0 -0
  160. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/merge_unrst_files/merge_unrst_files.py +0 -0
  161. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ofmvol2csv/__init__.py +0 -0
  162. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ofmvol2csv/ofmvol2csv.py +0 -0
  163. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/pack_sim/__init__.py +0 -0
  164. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/pack_sim/pack_sim.py +0 -0
  165. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/params2csv/__init__.py +0 -0
  166. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/presentvalue/__init__.py +0 -0
  167. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/prtvol2csv/__init__.py +0 -0
  168. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/restartthinner/__init__.py +0 -0
  169. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ri_wellmod/__init__.py +0 -0
  170. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/ri_wellmod/ri_wellmod.py +0 -0
  171. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/rmsecl_volumetrics/__init__.py +0 -0
  172. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/rmsecl_volumetrics/rmsecl_volumetrics.py +0 -0
  173. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/__init__.py +0 -0
  174. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/completions.py +0 -0
  175. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/datafile_obj.py +0 -0
  176. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/flux_obj.py +0 -0
  177. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/flux_util.py +0 -0
  178. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/fluxfile_obj.py +0 -0
  179. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sector2fluxnum/sector2fluxnum.py +0 -0
  180. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/summaryplot/__init__.py +0 -0
  181. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sunsch/__init__.py +0 -0
  182. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sunsch/sunsch.py +0 -0
  183. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sunsch/time_vector.py +0 -0
  184. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sw_model_utilities/__init__.py +0 -0
  185. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/sw_model_utilities/sw_model_utilities.py +0 -0
  186. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/vfp2csv/__init__.py +0 -0
  187. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/welltest_dpds/__init__.py +0 -0
  188. {subscript-1.13.1 → subscript-1.14.1}/src/subscript/welltest_dpds/welltest_dpds.py +0 -0
  189. {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/dependency_links.txt +0 -0
  190. {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/entry_points.txt +0 -0
  191. {subscript-1.13.1 → subscript-1.14.1}/src/subscript.egg-info/top_level.txt +0 -0
  192. {subscript-1.13.1 → subscript-1.14.1}/tests/__init__.py +0 -0
  193. {subscript-1.13.1 → subscript-1.14.1}/tests/conftest.py +0 -0
  194. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/edit/drogon.trans +0 -0
  195. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.faults +0 -0
  196. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.grid +0 -0
  197. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.multnum +0 -0
  198. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.multregt +0 -0
  199. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.perm +0 -0
  200. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/grid/drogon.poro +0 -0
  201. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/props/drogon.pvt +0 -0
  202. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/props/drogon.sattab +0 -0
  203. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/props/drogon.swatinit +0 -0
  204. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.eqlnum +0 -0
  205. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.fipnum +0 -0
  206. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.fipzon +0 -0
  207. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.pvtnum +0 -0
  208. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/regions/drogon.satnum +0 -0
  209. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.dimens +0 -0
  210. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.eqldims +0 -0
  211. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.gridopts +0 -0
  212. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.regdims +0 -0
  213. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/runspec/drogon.tabdims +0 -0
  214. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/55_33-1.sch +0 -0
  215. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/55_33-1.wells +0 -0
  216. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/drogon_hist.sch +0 -0
  217. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-1.inc +0 -0
  218. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-2.inc +0 -0
  219. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-3.inc +0 -0
  220. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/schedule/vfp/A-4.inc +0 -0
  221. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/solution/drogon.equil +0 -0
  222. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/solution/drogon.rxvd +0 -0
  223. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/solution/drogon.thpres +0 -0
  224. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/include/summary/drogon.summary +0 -0
  225. {subscript-1.13.1 → subscript-1.14.1}/tests/data/drogon/eclipse/model/DROGON-0.DATA +0 -0
  226. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
  227. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
  228. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
  229. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
  230. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
  231. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
  232. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
  233. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
  234. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
  235. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
  236. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
  237. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
  238. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
  239. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
  240. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
  241. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
  242. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
  243. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
  244. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
  245. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
  246. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
  247. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
  248. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
  249. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
  250. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
  251. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
  252. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
  253. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
  254. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
  255. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/eclipse/model/parameters.txt +0 -0
  256. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/parameters.txt +0 -0
  257. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/rms/README +0 -0
  258. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/rms/reek.rms10.1.3/.master +0 -0
  259. {subscript-1.13.1 → subscript-1.14.1}/tests/data/reek/rms/reek.rms11.1.0/.master +0 -0
  260. {subscript-1.13.1 → subscript-1.14.1}/tests/data/vfp/GasProd.VFP +0 -0
  261. {subscript-1.13.1 → subscript-1.14.1}/tests/data/vfp/pd2.VFP +0 -0
  262. {subscript-1.13.1 → subscript-1.14.1}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.SMSPEC +0 -0
  263. {subscript-1.13.1 → subscript-1.14.1}/tests/data/welltest/eclipse/model/DROGON_DST_PLT-0.UNSMRY +0 -0
  264. {subscript-1.13.1 → subscript-1.14.1}/tests/test_bjobsusers.py +0 -0
  265. {subscript-1.13.1 → subscript-1.14.1}/tests/test_casegen_upcars.py +0 -0
  266. {subscript-1.13.1 → subscript-1.14.1}/tests/test_convert_grid_format.py +0 -0
  267. {subscript-1.13.1 → subscript-1.14.1}/tests/test_csv2ofmvol.py +0 -0
  268. {subscript-1.13.1 → subscript-1.14.1}/tests/test_csv_merge.py +0 -0
  269. {subscript-1.13.1 → subscript-1.14.1}/tests/test_docs.py +0 -0
  270. {subscript-1.13.1 → subscript-1.14.1}/tests/test_eclcompress.py +0 -0
  271. {subscript-1.13.1 → subscript-1.14.1}/tests/test_ecldiff2roff.py +0 -0
  272. {subscript-1.13.1 → subscript-1.14.1}/tests/test_eclinit2roff.py +0 -0
  273. {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmu_copy_revision.py +0 -0
  274. {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmuobs_parsers.py +0 -0
  275. {subscript-1.13.1 → subscript-1.14.1}/tests/test_fmuobs_writers.py +0 -0
  276. {subscript-1.13.1 → subscript-1.14.1}/tests/test_grav_subs_maps.py +0 -0
  277. {subscript-1.13.1 → subscript-1.14.1}/tests/test_grav_subs_points.py +0 -0
  278. {subscript-1.13.1 → subscript-1.14.1}/tests/test_hook_implementations.py +0 -0
  279. {subscript-1.13.1 → subscript-1.14.1}/tests/test_interp_relperm.py +0 -0
  280. {subscript-1.13.1 → subscript-1.14.1}/tests/test_merge_unrst_files.py +0 -0
  281. {subscript-1.13.1 → subscript-1.14.1}/tests/test_pack_sim.py +0 -0
  282. {subscript-1.13.1 → subscript-1.14.1}/tests/test_restartthinner.py +0 -0
  283. {subscript-1.13.1 → subscript-1.14.1}/tests/test_ri_wellmod.py +0 -0
  284. {subscript-1.13.1 → subscript-1.14.1}/tests/test_rmsecl_volumetrics.py +0 -0
  285. {subscript-1.13.1 → subscript-1.14.1}/tests/test_sector2fluxnum.py +0 -0
  286. {subscript-1.13.1 → subscript-1.14.1}/tests/test_subscriptlogger.py +0 -0
  287. {subscript-1.13.1 → subscript-1.14.1}/tests/test_sunsch.py +0 -0
  288. {subscript-1.13.1 → subscript-1.14.1}/tests/test_sw_model_utilities.py +0 -0
  289. {subscript-1.13.1 → subscript-1.14.1}/tests/test_vfp2csv.py +0 -0
  290. {subscript-1.13.1 → subscript-1.14.1}/tests/test_welltest_dpds.py +0 -0
  291. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/demo_large_scale.yaml +0 -0
  292. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/demo_small_scale.yaml +0 -0
  293. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/dump_value.tmpl +0 -0
  294. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/upcars_eclipse_ref_lg.tmpl +0 -0
  295. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_casegen_upcars/upcars_eclipse_ref_ss.tmpl +0 -0
  296. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_eclcompress/permxyz.grdecl +0 -0
  297. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/ERTBOX.roff +0 -0
  298. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/Geogrid.roff +0 -0
  299. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/files.txt +0 -0
  300. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_0.roff +0 -0
  301. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P1_3.roff +0 -0
  302. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_0.roff +0 -0
  303. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_A_P2_3.roff +0 -0
  304. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_0.roff +0 -0
  305. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_B_P1_3.roff +0 -0
  306. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_0.roff +0 -0
  307. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/mean_C_P2_3.roff +0 -0
  308. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_0.roff +0 -0
  309. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_A_3.roff +0 -0
  310. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_0.roff +0 -0
  311. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_B_3.roff +0 -0
  312. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_0.roff +0 -0
  313. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/nactive_C_3.roff +0 -0
  314. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_0.roff +0 -0
  315. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F1_3.roff +0 -0
  316. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_0.roff +0 -0
  317. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F2_3.roff +0 -0
  318. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_0.roff +0 -0
  319. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_A_F3_3.roff +0 -0
  320. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_0.roff +0 -0
  321. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F1_3.roff +0 -0
  322. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_0.roff +0 -0
  323. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F2_3.roff +0 -0
  324. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_0.roff +0 -0
  325. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_B_F3_3.roff +0 -0
  326. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_0.roff +0 -0
  327. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F1_3.roff +0 -0
  328. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_0.roff +0 -0
  329. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F2_3.roff +0 -0
  330. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_0.roff +0 -0
  331. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/prob_C_F3_3.roff +0 -0
  332. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_0.roff +0 -0
  333. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P1_3.roff +0 -0
  334. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_0.roff +0 -0
  335. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_A_P2_3.roff +0 -0
  336. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_0.roff +0 -0
  337. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_B_P1_3.roff +0 -0
  338. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_0.roff +0 -0
  339. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ensemble/share/grid_statistics/referencedata/stdev_C_P2_3.roff +0 -0
  340. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/ert/model/0readme +0 -0
  341. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/fmuconfig/output/global_variables.yml +0 -0
  342. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_field_statistics/rms/output/aps/ERTBOX.EGRID +0 -0
  343. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/drogon_wbhp_rft_wct_gor_tracer_4d.obs +0 -0
  344. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ert-doc.csv +0 -0
  345. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ert-doc.obs +0 -0
  346. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ert-doc.yml +0 -0
  347. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/fmu-ensemble-obs.yml +0 -0
  348. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/hist_obs_wells.txt +0 -0
  349. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_fmuobs/ri-obs.csv +0 -0
  350. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/HIST.EGRID +0 -0
  351. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/HIST.INIT +0 -0
  352. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/HIST.UNRST +0 -0
  353. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/global_variables.yml +0 -0
  354. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/grav_subs_maps.yml +0 -0
  355. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/grav_subs_points.yml +0 -0
  356. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/seabed.gri +0 -0
  357. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_gravity/station_coordinates.csv +0 -0
  358. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/cfg.yml +0 -0
  359. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/sgof_base.inc +0 -0
  360. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/sgof_opt.inc +0 -0
  361. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/sgof_pes.inc +0 -0
  362. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/swof_base.inc +0 -0
  363. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/swof_opt.inc +0 -0
  364. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_interp_relperm/swof_pes.inc +0 -0
  365. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/gendata_rft.csv +0 -0
  366. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.obs +0 -0
  367. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A2.txt +0 -0
  368. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.obs +0 -0
  369. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A3.txt +0 -0
  370. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4.txt +0 -0
  371. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A4_1.obs +0 -0
  372. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.obs +0 -0
  373. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A5.txt +0 -0
  374. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.obs +0 -0
  375. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/R_A6.txt +0 -0
  376. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_rft_ertobs/drogon/rft/well_date_rft.txt +0 -0
  377. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_unrst_files/HIST.UNRST +0 -0
  378. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_merge_unrst_files/PRED.UNRST +0 -0
  379. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/fileA.vol +0 -0
  380. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/fileB.vol +0 -0
  381. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/fileC.vol +0 -0
  382. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ofmvol2csv/ofm_example.vol +0 -0
  383. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_prtvol2csv/DROGON_FIPNUM.PRT +0 -0
  384. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_prtvol2csv/DROGON_FIPZON.PRT +0 -0
  385. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_prtvol2csv/DROGON_INACTIVE_FIPNUM.PRT +0 -0
  386. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.grid.grdecl +0 -0
  387. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.ntg.grdecl +0 -0
  388. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_include/grid/drogon.perm.grdecl +0 -0
  389. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_trajectories/rft_wells.dat +0 -0
  390. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_trajectories/wells.dat +0 -0
  391. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/drogon_wells_noicd.rsp +0 -0
  392. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/reek_trajectories/reek_wells.dat +0 -0
  393. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_ri_wellmod/ri_reek_wells.rsp +0 -0
  394. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.DATA +0 -0
  395. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.EGRID +0 -0
  396. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/DUMPFLUX_TEST.FLUX +0 -0
  397. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/OUT_COARSE.FLUX +0 -0
  398. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.DATA +0 -0
  399. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.EGRID +0 -0
  400. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.INIT +0 -0
  401. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sector2fluxnum/TEST.UNRST +0 -0
  402. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/config.yml +0 -0
  403. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/emptyinit.sch +0 -0
  404. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/foo1.sch +0 -0
  405. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/footemplate.sch +0 -0
  406. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/initwithdates.sch +0 -0
  407. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/merge2.sch +0 -0
  408. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/mergeme.sch +0 -0
  409. {subscript-1.13.1 → subscript-1.14.1}/tests/testdata_sunsch/options3.sch +0 -0
  410. {subscript-1.13.1 → subscript-1.14.1}/tests/utils.py +0 -0
@@ -14,6 +14,7 @@ jobs:
14
14
  env:
15
15
  OS: ${{ matrix.os }}
16
16
  PYTHON: '3.12'
17
+ UV_SYSTEM_PYTHON: 1
17
18
 
18
19
  steps:
19
20
 
@@ -22,13 +23,19 @@ jobs:
22
23
  sudo apt-get update
23
24
  sudo apt-get install libegl1
24
25
 
25
- - uses: actions/checkout@v4
26
+ - uses: actions/checkout@v5
26
27
 
27
28
  - name: Setup Python
28
29
  uses: actions/setup-python@v5
29
30
  with:
30
31
  python-version: 3.12
31
32
 
33
+ - name: Install uv
34
+ uses: astral-sh/setup-uv@v6
35
+ with:
36
+ enable-cache: true
37
+ python-version: "3.12"
38
+
32
39
  - name: Install OPM-flow and ResInsight (for testing)
33
40
  run: |
34
41
  sudo apt-get install software-properties-common
@@ -40,19 +47,18 @@ jobs:
40
47
 
41
48
  - name: Install subscript and test dependencies
42
49
  run: |
43
- pip install pip -U
44
- pip install .[tests]
50
+ uv pip install ".[tests]"
45
51
 
46
- - name: Force correct RIPS version
52
+ - name: Log OPM-Flow and ResInsight version
47
53
  run: |
48
- ResInsight --console --help | grep "ResInsight v. 2021.06" && pip install rips==2021.6.0.1 || true
49
- ResInsight --console --help | grep "ResInsight v. 2020.10" && pip install rips==2020.10.0.2 || true
54
+ flow --version
55
+ ResInsight --console --version
50
56
 
51
57
  - name: Generate coverage report
52
58
  run: |
53
59
  pytest tests --disable-warnings --cov=subscript --cov-report=xml
54
60
 
55
61
  - name: Upload coverage to Codecov
56
- uses: codecov/codecov-action@v4
62
+ uses: codecov/codecov-action@v5
57
63
  with:
58
64
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -16,6 +16,7 @@ on:
16
16
 
17
17
  env:
18
18
  MPLBACKEND: Agg
19
+ UV_SYSTEM_PYTHON: 1
19
20
 
20
21
  jobs:
21
22
  subscript:
@@ -32,7 +33,7 @@ jobs:
32
33
  sudo apt-get install libegl1
33
34
 
34
35
  - name: Checkout commit locally
35
- uses: actions/checkout@v4
36
+ uses: actions/checkout@v5
36
37
  with:
37
38
  fetch-depth: 0
38
39
 
@@ -41,6 +42,12 @@ jobs:
41
42
  with:
42
43
  python-version: ${{ matrix.python-version }}
43
44
 
45
+ - name: Install uv
46
+ uses: astral-sh/setup-uv@v6
47
+ with:
48
+ enable-cache: true
49
+ python-version: ${{ matrix.python-version }}
50
+
44
51
  - name: Install OPM-flow and ResInsight (for testing)
45
52
  run: |
46
53
  sudo apt-get install software-properties-common
@@ -53,15 +60,7 @@ jobs:
53
60
  - name: Install subscript with dependencies
54
61
  if: ${{ always() }}
55
62
  run: |
56
- pip install --upgrade pip
57
- pip install .[tests,docs]
58
-
59
- - name: Force correct RIPS version
60
- run: |
61
- ResInsight --console --help | grep "ResInsight v. 2021.06" \
62
- && pip install rips==2021.6.0.1 || true
63
- ResInsight --console --help | grep "ResInsight v. 2020.10" \
64
- && pip install rips==2020.10.0.2 || true
63
+ uv pip install ".[tests, docs]"
65
64
 
66
65
  - name: Log OPM-Flow and ResInsight version
67
66
  run: |
@@ -69,7 +68,7 @@ jobs:
69
68
  ResInsight --console --version
70
69
 
71
70
  - name: List all installed packages
72
- run: pip freeze
71
+ run: uv pip freeze
73
72
 
74
73
  - name: Format with ruff
75
74
  if: ${{ always() }}
@@ -85,7 +84,7 @@ jobs:
85
84
 
86
85
  - name: Run tests
87
86
  if: ${{ always() }}
88
- run: pytest -n auto tests
87
+ run: pytest -n auto tests --mpl
89
88
 
90
89
  - name: Syntax check documentation
91
90
  if: ${{ always() }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: subscript
3
- Version: 1.13.1
3
+ Version: 1.14.1
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
@@ -719,8 +719,8 @@ Requires-Dist: mypy; extra == "tests"
719
719
  Requires-Dist: pytest; extra == "tests"
720
720
  Requires-Dist: pytest-cov; extra == "tests"
721
721
  Requires-Dist: pytest-mock; extra == "tests"
722
+ Requires-Dist: pytest-mpl; extra == "tests"
722
723
  Requires-Dist: pytest-xdist; extra == "tests"
723
- Requires-Dist: PyQt5-sip; extra == "tests"
724
724
  Requires-Dist: rstcheck; extra == "tests"
725
725
  Requires-Dist: rstcheck-core; extra == "tests"
726
726
  Requires-Dist: ruff; extra == "tests"
@@ -729,9 +729,9 @@ Requires-Dist: types-PyYAML; extra == "tests"
729
729
  Requires-Dist: types-python-dateutil; extra == "tests"
730
730
  Provides-Extra: docs
731
731
  Requires-Dist: autoapi; extra == "docs"
732
- Requires-Dist: sphinx<8.2.0; extra == "docs"
732
+ Requires-Dist: sphinx; extra == "docs"
733
733
  Requires-Dist: sphinx-argparse; extra == "docs"
734
- Requires-Dist: sphinx-autodoc-typehints<2.4; extra == "docs"
734
+ Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
735
735
  Requires-Dist: sphinx-copybutton; extra == "docs"
736
736
  Requires-Dist: sphinx-togglebutton; extra == "docs"
737
737
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
@@ -2,7 +2,6 @@
2
2
  requires = [
3
3
  "setuptools>=45.0",
4
4
  "setuptools_scm[toml]>=6.2",
5
- "wheel>=0.38.1",
6
5
  ]
7
6
  build-backend = "setuptools.build_meta"
8
7
 
@@ -60,8 +59,8 @@ tests = [
60
59
  "pytest",
61
60
  "pytest-cov",
62
61
  "pytest-mock",
62
+ "pytest-mpl",
63
63
  "pytest-xdist",
64
- "PyQt5-sip",
65
64
  "rstcheck",
66
65
  "rstcheck-core",
67
66
  "ruff",
@@ -71,9 +70,9 @@ tests = [
71
70
  ]
72
71
  docs = [
73
72
  "autoapi",
74
- "sphinx<8.2.0",
73
+ "sphinx",
75
74
  "sphinx-argparse",
76
- "sphinx-autodoc-typehints<2.4",
75
+ "sphinx-autodoc-typehints",
77
76
  "sphinx-copybutton",
78
77
  "sphinx-togglebutton",
79
78
  "sphinx_rtd_theme",
@@ -164,10 +163,11 @@ markers = [
164
163
  ignore_directives = ["argparse", "automodule"]
165
164
 
166
165
  [tool.ruff]
167
- lint.ignore = [
168
- "C901",
169
- ]
170
- lint.select = [
166
+ src = ["src"]
167
+ line-length = 88
168
+
169
+ [tool.ruff.lint]
170
+ select = [
171
171
  "C",
172
172
  "E",
173
173
  "F",
@@ -178,8 +178,12 @@ lint.select = [
178
178
  "RSE",
179
179
  "SIM",
180
180
  "W",
181
+ "PD",
182
+ ]
183
+ ignore = [
184
+ "C901",
185
+ "PD013",
181
186
  ]
182
- line-length = 88
183
187
 
184
188
  [tool.ruff.lint.isort]
185
189
  combine-as-imports = true
@@ -74,21 +74,23 @@ def main() -> None:
74
74
 
75
75
  if args.volplot or args.volplotfile:
76
76
  plotter.wvol_waterfall(qc_vols)
77
- if args.volplot:
78
- pyplot.show()
79
77
  if args.volplotfile:
80
78
  print(f"Dumping volume plot to {args.volplotfile}")
81
79
  pyplot.savefig(args.volplotfile)
80
+ if args.volplot:
81
+ pyplot.show()
82
82
 
83
- if (args.plotfile or args.plot) and args.eqlnum not in qc_frame["EQLNUM"].values:
83
+ if (args.plotfile or args.plot) and args.eqlnum not in qc_frame[
84
+ "EQLNUM"
85
+ ].to_numpy():
84
86
  sys.exit(f"Error: EQLNUM {args.eqlnum} does not exist in grid. No plotting.")
85
87
  if args.plot or args.plotfile:
86
88
  plotter.plot_qc_panels(qc_frame[qc_frame["EQLNUM"] == args.eqlnum])
87
- if args.plot:
88
- pyplot.show()
89
89
  if args.plotfile:
90
90
  print(f"Dumping plot to {args.plotfile}")
91
91
  pyplot.savefig(args.plotfile)
92
+ if args.plot:
93
+ pyplot.show()
92
94
 
93
95
 
94
96
  def check_applicability(eclfiles: res2df.ResdataFiles) -> None:
@@ -129,7 +131,7 @@ def reorder_dframe_for_nonnans(dframe: pd.DataFrame) -> pd.DataFrame:
129
131
  will aid data analysis application to deduce correct datatypes for
130
132
  columns"""
131
133
  null_count = "__NULL_COUNT__"
132
- dframe[null_count] = dframe.isnull().sum(axis=1)
134
+ dframe[null_count] = dframe.isna().sum(axis=1)
133
135
  return (
134
136
  dframe.sort_values(null_count).drop(null_count, axis=1).reset_index(drop=True)
135
137
  )
@@ -253,11 +255,11 @@ def make_qc_gridframe(eclfiles: res2df.ResdataFiles) -> pd.DataFrame:
253
255
  # GLOBAL_INDEX is 0-indexed.
254
256
  grid_df["SWATINIT_DECK"] = pd.Series(swatinit_deckdata)[
255
257
  grid_df["GLOBAL_INDEX"].astype(int).tolist()
256
- ].values
258
+ ].to_numpy()
257
259
 
258
260
  if "SWATINIT" not in grid_df:
259
261
  # OPM-flow does not include SWATINIT in the INIT file.
260
- grid_df.rename({"SWATINIT_DECK": "SWATINIT"}, axis="columns", inplace=True)
262
+ grid_df = grid_df.rename({"SWATINIT_DECK": "SWATINIT"}, axis="columns")
261
263
  elif "SWATINIT_DECK" in grid_df:
262
264
  # (if SWATINIT is inputted using binary data in Eclipse deck, the code above
263
265
  # is not able to extract it)
@@ -352,7 +354,7 @@ def qc_flag(qc_frame: pd.DataFrame) -> pd.DataFrame:
352
354
  qc_col[
353
355
  (~np.isclose(qc_frame["OIP_INIT"], 0))
354
356
  & (~np.isclose(qc_frame["SWAT"], qc_frame["SWATINIT"], atol=1e-6))
355
- & (~pd.isnull(qc_frame["PC_SCALING"]))
357
+ & (~pd.isna(qc_frame["PC_SCALING"]))
356
358
  ] = __FINE_EQUIL__
357
359
 
358
360
  # SWATINIT=1 above contact:
@@ -409,9 +411,7 @@ def qc_flag(qc_frame: pd.DataFrame) -> pd.DataFrame:
409
411
 
410
412
  # Tag the remainder with "unknown", when/if this happens, it is a bug or a
411
413
  # feature request:
412
- qc_col.fillna(__UNKNOWN__, inplace=True)
413
-
414
- return qc_col
414
+ return qc_col.fillna(__UNKNOWN__)
415
415
 
416
416
 
417
417
  def qc_volumes(qc_frame: pd.DataFrame) -> Dict[str, float]:
@@ -496,8 +496,10 @@ def _evaluate_pc(
496
496
  np.interp(
497
497
  swat,
498
498
  swl
499
- + (satfunc[sat_name].values - sw_min) / (sw_max - sw_min) * (swu - swl),
500
- satfunc[pc_name].values * pc_scaling,
499
+ + (satfunc[sat_name].to_numpy() - sw_min)
500
+ / (sw_max - sw_min)
501
+ * (swu - swl),
502
+ satfunc[pc_name].to_numpy() * pc_scaling,
501
503
  )
502
504
  )
503
505
  return p_cap
@@ -534,15 +536,15 @@ def compute_pc(qc_frame: pd.DataFrame, satfunc_df: pd.DataFrame) -> pd.Series:
534
536
 
535
537
  for satnum, satnum_frame in qc_frame.groupby("SATNUM"):
536
538
  if "SWLPC" in satnum_frame:
537
- swls = satnum_frame["SWLPC"].values
539
+ swls = satnum_frame["SWLPC"].to_numpy()
538
540
  elif "SWL" in satnum_frame:
539
- swls = satnum_frame["SWL"].values
541
+ swls = satnum_frame["SWL"].to_numpy()
540
542
  else:
541
543
  swls = None
542
- swus = satnum_frame["SWU"].values if "SWU" in satnum_frame else None
544
+ swus = satnum_frame["SWU"].to_numpy() if "SWU" in satnum_frame else None
543
545
  p_cap[satnum_frame.index] = _evaluate_pc(
544
- satnum_frame["SWAT"].values,
545
- satnum_frame["PC_SCALING"].values,
546
+ satnum_frame["SWAT"].to_numpy(),
547
+ satnum_frame["PC_SCALING"].to_numpy(),
546
548
  swls,
547
549
  swus,
548
550
  satfunc_df[satfunc_df["SATNUM"] == satnum],
@@ -596,7 +598,7 @@ def merge_equil(grid_df: pd.DataFrame, equil_df: pd.DataFrame) -> pd.DataFrame:
596
598
  assert "PRESSURE" in equil_df
597
599
 
598
600
  # Be compatible with future change in res2df:
599
- equil_df.rename({"ACCURACY": "OIP_INIT"}, axis="columns", inplace=True)
601
+ equil_df = equil_df.rename({"ACCURACY": "OIP_INIT"}, axis="columns")
600
602
 
601
603
  contacts = list({"OWC", "GOC", "GWC"}.intersection(set(equil_df.columns)))
602
604
  # Rename and slice the equil dataframe:
@@ -607,7 +609,7 @@ def merge_equil(grid_df: pd.DataFrame, equil_df: pd.DataFrame) -> pd.DataFrame:
607
609
  equil_df = equil_df[equil_df["KEYWORD"] == "EQUIL"]
608
610
  equil_df = equil_df[["Z_DATUM", "PRESSURE_DATUM", "EQLNUM", "OIP_INIT"] + contacts]
609
611
  equil_df["EQLNUM"] = equil_df["EQLNUM"].astype(int)
610
- assert not pd.isnull(equil_df).any().any(), (
612
+ assert not pd.isna(equil_df).any().any(), (
611
613
  f"BUG: NaNs in equil dataframe:\n{equil_df}"
612
614
  )
613
615
  return grid_df.merge(equil_df, on="EQLNUM", how="left")
@@ -63,8 +63,8 @@ def plot_qc_panels(
63
63
  pyplot.subplot(2, 2, 4)
64
64
  pc_depth(qc_frame)
65
65
 
66
- oip_init = qc_frame["OIP_INIT"].values[0]
67
- eqlnum = qc_frame["EQLNUM"].values[0]
66
+ oip_init = qc_frame["OIP_INIT"].to_numpy()[0]
67
+ eqlnum = qc_frame["EQLNUM"].to_numpy()[0]
68
68
  pyplot.suptitle(f"EQLNUM: {eqlnum}, OIP_INIT: {oip_init}")
69
69
  if show:
70
70
  pyplot.show()
@@ -150,15 +150,15 @@ def pc_depth(
150
150
  def add_contacts_to_plot(qc_frame: pd.DataFrame, axis: pyplot.Axes) -> None:
151
151
  """Annotate axes with named horizontal lines for contacts."""
152
152
  if "OWC" in qc_frame:
153
- owc = qc_frame["OWC"].values[0] # OWC is assumed constant in the dataframe
153
+ owc = qc_frame["OWC"].to_numpy()[0] # OWC is assumed constant in the dataframe
154
154
  axis.axhline(owc, color="black", linestyle="--", linewidth=1)
155
155
  axis.annotate(f"OWC={owc:g}", (0, owc))
156
156
  if "GOC" in qc_frame:
157
- goc = qc_frame["GOC"].values[0]
157
+ goc = qc_frame["GOC"].to_numpy()[0]
158
158
  axis.axhline(goc, color="black", linestyle="--", linewidth=1)
159
159
  axis.annotate(f"GOC={goc:g}", (0, goc))
160
160
  if "GWC" in qc_frame:
161
- gwc = qc_frame["GWC"].values[0]
161
+ gwc = qc_frame["GWC"].to_numpy()[0]
162
162
  axis.axhline(gwc, color="black", linestyle="--", linewidth=1)
163
163
  axis.annotate(f"GWC={gwc:g}", (0, gwc))
164
164
 
@@ -199,10 +199,10 @@ def wvol_waterfall(qc_vols: Dict[str, float]) -> None:
199
199
  blank.loc["SWAT_WVOL"] = 0
200
200
 
201
201
  fig = trans.plot(kind="bar", alpha=0.7, stacked=True, legend=None, bottom=blank)
202
- fig.plot(step.index, step.values, "k")
202
+ fig.plot(step.index, step.to_numpy(), "k")
203
203
  pyplot.gcf().subplots_adjust(bottom=0.25)
204
204
 
205
- blanktrans = blank.values + trans["volume"].values
205
+ blanktrans = blank.to_numpy() + trans["volume"].to_numpy()
206
206
  span = blank.max() - blanktrans[1:-1].min()
207
207
 
208
208
  if np.isclose(span, 0.0):
@@ -116,7 +116,7 @@ def read_pdm_csv_files(
116
116
  # Reindex:
117
117
  data = data.set_index(["WELL", "DATE"])
118
118
 
119
- if not [data.columns.values]:
119
+ if not [data.columns.to_numpy()]:
120
120
  raise ValueError("No data columns found")
121
121
 
122
122
  # Drop duplicate multiindices (WELL, DATE)
@@ -220,7 +220,7 @@ def df2vol(data: pd.DataFrame) -> str:
220
220
 
221
221
  # Fill empty cells with zeros, empty cells can stem from concatenation
222
222
  # of dataframes with gas and water injectors.
223
- voldata.fillna(value=0.0, inplace=True)
223
+ voldata = voldata.fillna(value=0.0)
224
224
 
225
225
  volstr = ""
226
226
  volstr += "*METRIC\n"
@@ -307,7 +307,7 @@ def csv_merge_main(
307
307
  if len(merged_df[col].unique()) == 1:
308
308
  columnstodelete.append(col)
309
309
  logger.info("Dropping constant columns %s", str(columnstodelete))
310
- merged_df.drop(columnstodelete, inplace=True, axis=1)
310
+ merged_df = merged_df.drop(columnstodelete, axis=1)
311
311
 
312
312
  if merged_df.empty:
313
313
  logger.error("No data to output")
@@ -311,7 +311,7 @@ def csv_stack(
311
311
 
312
312
  # Stack the multiindex columns, this will add a lot of rows to
313
313
  # our ensemble, and condense the number of columns
314
- dframe = dframe.stack()
314
+ dframe = dframe.stack(future_stack=True)
315
315
 
316
316
  # The values from non-multiindex-columns must be propagated to
317
317
  # the rows that emerged from the stacking. If you use the
@@ -37,7 +37,7 @@ from field parameters using ERTBOX grid.
37
37
  The script reads ensembles of realizations from scratch disk from
38
38
  <RUN_PATH> directory::
39
39
 
40
- share/results/grids/geogrid--<propertyname>.roff.
40
+ share/results/grids/<geogridname>--<propertyname>.roff.
41
41
 
42
42
  Optionally also temporary field parameters coming from APS or petrophysical
43
43
  field parameters can be used to calculate mean and standard deviations.
@@ -172,9 +172,13 @@ EPILOGUE = """
172
172
 
173
173
  # Specify which geogrid fields to use
174
174
  # Geogrid fields are typically found in:
175
- # <RUN_PATH>/share/results/grids/geogrid--<property-name>.roff
175
+ # <RUN_PATH>/share/results/grids/<geogridname>--<property-name>.roff
176
176
  # Optional keyword
177
177
  geogrid_fields:
178
+ # Prefix (name of geogrid) to be used for field parameters related to the
179
+ # geogrid.
180
+ geogrid_name: "geogrid"
181
+
178
182
  # Selected set of zone names to use in calculations of statistics.
179
183
  # Must be one or more of the defined zones.
180
184
  # Require at least one zone to be selected.
@@ -201,7 +205,7 @@ EPILOGUE = """
201
205
  # For each zone specify which discrete parameter to use to calculate
202
206
  # facies probability estimates.
203
207
  # Possible names are those found in the
204
- # share/results/grids/geogrid--<name>.roff
208
+ # share/results/grids/<geogridname>--<name>.roff
205
209
  # files that are of discrete type.
206
210
  # This key can be omitted or some of the lines specifying parameters
207
211
  # for a zone if you don't want to use it.
@@ -213,7 +217,7 @@ EPILOGUE = """
213
217
  # For each zone specify which continuous parameter to use to
214
218
  # calculate estimate of mean and stdev over ensemble.
215
219
  # Possible names are those found in the
216
- # share/results/grids/geogrid--<name>.roff
220
+ # share/results/grids/<geogridname>--<name>.roff
217
221
  # files that are of continuous type
218
222
  # This key can be omitted or some of the lines specifying
219
223
  # parameters for a zone if you don't want to use it.
@@ -608,9 +612,10 @@ def read_ensemble_realization(
608
612
  iter_number,
609
613
  property_param_name,
610
614
  zone_code_names,
615
+ geogrid_name,
611
616
  ):
612
617
  realization_path = Path(f"realization-{realization_number}/iter-{iter_number}")
613
- grid_path = Path("share/results/grids/geogrid.roff")
618
+ grid_path = Path("share/results/grids/" + geogrid_name + ".roff")
614
619
  file_path_grid = Path(ensemble_path) / realization_path / grid_path
615
620
  if file_path_grid.exists():
616
621
  grid = xtgeo.grid_from_file(file_path_grid, fformat="roff")
@@ -618,7 +623,9 @@ def read_ensemble_realization(
618
623
  else:
619
624
  return None, None, None
620
625
 
621
- property_path = Path(f"share/results/grids/geogrid--{property_param_name}.roff")
626
+ property_path = Path(
627
+ "share/results/grids/" + geogrid_name + f"--{property_param_name}.roff"
628
+ )
622
629
  file_path_property = Path(ensemble_path) / realization_path / property_path
623
630
  property_param = xtgeo.gridproperty_from_file(file_path_property, fformat="roff")
624
631
 
@@ -635,9 +642,10 @@ def read_geogrid_realization(
635
642
  realization_number,
636
643
  iter_number,
637
644
  zone_code_names,
645
+ geogrid_name,
638
646
  ):
639
647
  realization_path = Path(f"realization-{realization_number}/iter-{iter_number}")
640
- grid_path = Path("share/results/grids/geogrid.roff")
648
+ grid_path = Path("share/results/grids/" + geogrid_name + ".roff")
641
649
  file_path_grid = Path(ensemble_path) / realization_path / grid_path
642
650
  if file_path_grid.exists():
643
651
  grid = xtgeo.grid_from_file(file_path_grid, fformat="roff")
@@ -778,6 +786,7 @@ def write_mean_stdev_nactive(
778
786
  result_path,
779
787
  ens_path,
780
788
  zone_code_names,
789
+ geogrid_name,
781
790
  copy_to_geogrid_realization=False,
782
791
  ):
783
792
  output_path = result_path
@@ -826,7 +835,11 @@ def write_mean_stdev_nactive(
826
835
  # Use realization number 0
827
836
  real_number = 0
828
837
  geogrid_dimensions, geogrid_subgrids = read_geogrid_realization(
829
- ens_path, real_number, iter_number, zone_code_names
838
+ ens_path,
839
+ real_number,
840
+ iter_number,
841
+ zone_code_names,
842
+ geogrid_name,
830
843
  )
831
844
 
832
845
  ertbox_to_geogrid_statistics(
@@ -839,6 +852,7 @@ def write_mean_stdev_nactive(
839
852
  ertbox_dims,
840
853
  conformity,
841
854
  ens_path,
855
+ geogrid_name,
842
856
  param_name=param_name,
843
857
  )
844
858
 
@@ -852,6 +866,7 @@ def write_mean_stdev_nactive(
852
866
  ertbox_dims,
853
867
  conformity,
854
868
  ens_path,
869
+ geogrid_name,
855
870
  param_name=param_name,
856
871
  )
857
872
 
@@ -875,13 +890,14 @@ def ertbox_to_geogrid_statistics(
875
890
  ertbox_dimensions,
876
891
  zone_conformity,
877
892
  ens_path,
893
+ geogrid_name,
878
894
  param_name=None,
879
895
  facies_name=None,
880
896
  ):
881
897
  if param_name:
882
- geogrid_stat_name = f"geogrid--{statistics_name}_{param_name}"
898
+ geogrid_stat_name = f"{geogrid_name}--{statistics_name}_{param_name}"
883
899
  if facies_name:
884
- geogrid_stat_name = f"geogrid--{statistics_name}_{facies_name}"
900
+ geogrid_stat_name = f"{geogrid_name}--{statistics_name}_{facies_name}"
885
901
  assert (param_name is not None) or (facies_name is not None)
886
902
  geogrid_stat_file_name = (
887
903
  ens_path
@@ -930,6 +946,7 @@ def write_fraction_nactive(
930
946
  result_path,
931
947
  ens_path,
932
948
  zone_code_names,
949
+ geogrid_name,
933
950
  ncount_active_values=None,
934
951
  copy_to_geogrid_realization=False,
935
952
  ):
@@ -979,7 +996,11 @@ def write_fraction_nactive(
979
996
  # Use realization number 0
980
997
  real_number = 0
981
998
  geogrid_dimensions, geogrid_subgrids = read_geogrid_realization(
982
- ens_path, real_number, iter_number, zone_code_names
999
+ ens_path,
1000
+ real_number,
1001
+ iter_number,
1002
+ zone_code_names,
1003
+ geogrid_name,
983
1004
  )
984
1005
  ertbox_to_geogrid_statistics(
985
1006
  "prob",
@@ -991,6 +1012,7 @@ def write_fraction_nactive(
991
1012
  ertbox_dimensions,
992
1013
  conformity,
993
1014
  ens_path,
1015
+ geogrid_name,
994
1016
  facies_name=facies_name,
995
1017
  )
996
1018
 
@@ -1042,6 +1064,14 @@ def get_specifications(input_dict, ertbox_size, ert_config_path):
1042
1064
  use_geogrid_fields = True
1043
1065
  geogrid_fields_dict = input_dict["geogrid_fields"]
1044
1066
 
1067
+ key = "geogrid_name"
1068
+ if key in geogrid_fields_dict:
1069
+ geogrid_name = geogrid_fields_dict[key]
1070
+ geogrid_name = geogrid_name.strip()
1071
+ else:
1072
+ # Set default
1073
+ geogrid_name = "geogrid"
1074
+
1045
1075
  key = "zone_code_names"
1046
1076
  if key in geogrid_fields_dict:
1047
1077
  zone_code_names = geogrid_fields_dict[key]
@@ -1119,6 +1149,7 @@ def get_specifications(input_dict, ertbox_size, ert_config_path):
1119
1149
  zone_names_used,
1120
1150
  zone_conformity,
1121
1151
  zone_code_names,
1152
+ geogrid_name,
1122
1153
  param_name_dict,
1123
1154
  disc_param_name_dict,
1124
1155
  init_path,
@@ -1254,6 +1285,7 @@ def calc_stats(
1254
1285
  zone_names,
1255
1286
  zone_conformity,
1256
1287
  zone_code_names,
1288
+ geogrid_name,
1257
1289
  param_name_dict,
1258
1290
  disc_param_name_dict,
1259
1291
  _,
@@ -1290,6 +1322,7 @@ def calc_stats(
1290
1322
  iter_number,
1291
1323
  param_name,
1292
1324
  zone_code_names,
1325
+ geogrid_name,
1293
1326
  )
1294
1327
  )
1295
1328
  if grid_dimensions is None:
@@ -1342,6 +1375,7 @@ def calc_stats(
1342
1375
  result_path,
1343
1376
  ens_path,
1344
1377
  zone_code_names,
1378
+ geogrid_name,
1345
1379
  copy_to_geogrid_realization=copy_to_geogrid_realization,
1346
1380
  )
1347
1381
  has_written_nactive = True
@@ -1377,6 +1411,7 @@ def calc_stats(
1377
1411
  iter_number,
1378
1412
  param_name,
1379
1413
  zone_code_names,
1414
+ geogrid_name,
1380
1415
  )
1381
1416
  )
1382
1417
 
@@ -1439,6 +1474,7 @@ def calc_stats(
1439
1474
  result_path,
1440
1475
  ens_path,
1441
1476
  zone_code_names,
1477
+ geogrid_name,
1442
1478
  ncount_active_values=sum_active,
1443
1479
  copy_to_geogrid_realization=copy_to_geogrid_realization,
1444
1480
  )
@@ -1453,6 +1489,7 @@ def calc_stats(
1453
1489
  result_path,
1454
1490
  ens_path,
1455
1491
  zone_code_names,
1492
+ geogrid_name,
1456
1493
  copy_to_geogrid_realization=copy_to_geogrid_realization,
1457
1494
  )
1458
1495
  txt4 = f" Sum facies volume fraction: {sum_fraction}"
@@ -458,8 +458,7 @@ def resinsight_df2df(ri_dframe: pd.DataFrame) -> pd.DataFrame:
458
458
  if ri_dframe.empty:
459
459
  return pd.DataFrame()
460
460
 
461
- dframe = ri_dframe.copy()
462
- dframe.rename({"VECTOR": "KEY"}, axis="columns", inplace=True)
461
+ dframe = ri_dframe.copy().rename({"VECTOR": "KEY"}, axis="columns")
463
462
  dframe["LABEL"] = (
464
463
  dframe["KEY"].astype(str)
465
464
  + "-"