subscript 1.14.5__tar.gz → 1.14.7__tar.gz

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