res2df 1.3.5__tar.gz → 1.3.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 (250) hide show
  1. {res2df-1.3.5 → res2df-1.3.7}/.github/workflows/codecov.yml +10 -5
  2. res2df-1.3.7/.github/workflows/publish.yml +37 -0
  3. {res2df-1.3.5 → res2df-1.3.7}/.github/workflows/res2df.yml +11 -19
  4. {res2df-1.3.5 → res2df-1.3.7}/.github/workflows/style.yml +11 -3
  5. {res2df-1.3.5 → res2df-1.3.7}/.github/workflows/typing.yml +11 -3
  6. {res2df-1.3.5 → res2df-1.3.7}/.pre-commit-config.yaml +2 -4
  7. {res2df-1.3.5/src/res2df.egg-info → res2df-1.3.7}/PKG-INFO +3 -2
  8. {res2df-1.3.5 → res2df-1.3.7}/README.md +2 -1
  9. {res2df-1.3.5 → res2df-1.3.7}/pyproject.toml +0 -1
  10. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/grid.py +5 -7
  11. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/nnc.py +4 -3
  12. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/version.py +16 -3
  13. {res2df-1.3.5 → res2df-1.3.7/src/res2df.egg-info}/PKG-INFO +3 -2
  14. {res2df-1.3.5 → res2df-1.3.7}/src/res2df.egg-info/SOURCES.txt +1 -0
  15. {res2df-1.3.5 → res2df-1.3.7}/tests/test_grid.py +22 -2
  16. {res2df-1.3.5 → res2df-1.3.7}/.gitignore +0 -0
  17. {res2df-1.3.5 → res2df-1.3.7}/CONTRIBUTING.md +0 -0
  18. {res2df-1.3.5 → res2df-1.3.7}/LICENSE +0 -0
  19. {res2df-1.3.5 → res2df-1.3.7}/SECURITY.md +0 -0
  20. {res2df-1.3.5 → res2df-1.3.7}/ci/testkomodo.sh +0 -0
  21. {res2df-1.3.5 → res2df-1.3.7}/docs/_static/equinor-logo.png +0 -0
  22. {res2df-1.3.5 → res2df-1.3.7}/docs/_static/equinor-logo2.jpg +0 -0
  23. {res2df-1.3.5 → res2df-1.3.7}/docs/_static/equinor_logo.jpg +0 -0
  24. {res2df-1.3.5 → res2df-1.3.7}/docs/_static/equinor_logo_only.jpg +0 -0
  25. {res2df-1.3.5 → res2df-1.3.7}/docs/_templates/layout.html +0 -0
  26. {res2df-1.3.5 → res2df-1.3.7}/docs/conf.py +0 -0
  27. {res2df-1.3.5 → res2df-1.3.7}/docs/contribution.rst +0 -0
  28. {res2df-1.3.5 → res2df-1.3.7}/docs/csv2res.rst +0 -0
  29. {res2df-1.3.5 → res2df-1.3.7}/docs/glossary.rst +0 -0
  30. {res2df-1.3.5 → res2df-1.3.7}/docs/history.rst +0 -0
  31. {res2df-1.3.5 → res2df-1.3.7}/docs/index.rst +0 -0
  32. {res2df-1.3.5 → res2df-1.3.7}/docs/installation.rst +0 -0
  33. {res2df-1.3.5 → res2df-1.3.7}/docs/introduction.rst +0 -0
  34. {res2df-1.3.5 → res2df-1.3.7}/docs/res2csv.rst +0 -0
  35. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/compdat.csv +0 -0
  36. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/compdat.rst +0 -0
  37. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/equil-example.csv +0 -0
  38. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/equil.rst +0 -0
  39. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/fipnum.inc +0 -0
  40. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/fipreports-example.csv +0 -0
  41. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/fipreports-example.txt +0 -0
  42. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/fipreports.rst +0 -0
  43. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/grid.csv +0 -0
  44. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/grid.rst +0 -0
  45. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/gruptree.csv +0 -0
  46. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/gruptree.rst +0 -0
  47. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/gruptreenet.csv +0 -0
  48. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/images/injectoranalysis.png +0 -0
  49. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/images/multibranch-rftanalysis.png +0 -0
  50. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/nnc.csv +0 -0
  51. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/nnc.rst +0 -0
  52. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/outflow.csv +0 -0
  53. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/pillars-dyn1-stacked.csv +0 -0
  54. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/pillars-dyn1-unstacked.csv +0 -0
  55. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/pillars-example1.csv +0 -0
  56. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/pillars.rst +0 -0
  57. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/pvt.csv +0 -0
  58. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/pvt.rst +0 -0
  59. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/rft.rst +0 -0
  60. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/rft_columns.csv +0 -0
  61. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/satfunc.csv +0 -0
  62. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/satfunc.rst +0 -0
  63. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/summary.csv +0 -0
  64. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/summary.rst +0 -0
  65. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/trans-boundaries.csv +0 -0
  66. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/trans-group.csv +0 -0
  67. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/trans.rst +0 -0
  68. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/trans1.csv +0 -0
  69. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/wcon.csv +0 -0
  70. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/wcon.rst +0 -0
  71. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/well_connection_status.csv +0 -0
  72. {res2df-1.3.5 → res2df-1.3.7}/docs/usage/wellconnstatus.rst +0 -0
  73. {res2df-1.3.5 → res2df-1.3.7}/docs/usage.rst +0 -0
  74. {res2df-1.3.5 → res2df-1.3.7}/setup.cfg +0 -0
  75. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/__init__.py +0 -0
  76. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/__version__.py +0 -0
  77. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/common.py +0 -0
  78. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/compdat.py +0 -0
  79. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/constants.py +0 -0
  80. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/csv2res.py +0 -0
  81. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/equil.py +0 -0
  82. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/faults.py +0 -0
  83. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/fipreports.py +0 -0
  84. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/gruptree.py +0 -0
  85. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/hook_implementations/__init__.py +0 -0
  86. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/hook_implementations/forward_model_steps.py +0 -0
  87. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/inferdims.py +0 -0
  88. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/BRANPROP +0 -0
  89. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/COMPDAT +0 -0
  90. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/COMPLUMP +0 -0
  91. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/COMPSEGS +0 -0
  92. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/DENSITY +0 -0
  93. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/EQLDIMS +0 -0
  94. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/EQUIL +0 -0
  95. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/FAULTS +0 -0
  96. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/GRUPNET +0 -0
  97. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/GRUPTREE +0 -0
  98. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/NODEPROP +0 -0
  99. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PBVD +0 -0
  100. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PDVD +0 -0
  101. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PVDG +0 -0
  102. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PVDO +0 -0
  103. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PVTG +0 -0
  104. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PVTO +0 -0
  105. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/PVTW +0 -0
  106. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/ROCK +0 -0
  107. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/RSVD +0 -0
  108. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/RVVD +0 -0
  109. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SGFN +0 -0
  110. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SGOF +0 -0
  111. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SGWFN +0 -0
  112. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SLGOF +0 -0
  113. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SOF2 +0 -0
  114. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SOF3 +0 -0
  115. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SWFN +0 -0
  116. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/SWOF +0 -0
  117. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/TABDIMS +0 -0
  118. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/VFPINJ +0 -0
  119. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/VFPPROD +0 -0
  120. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WCONHIST +0 -0
  121. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WCONINJE +0 -0
  122. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WCONINJH +0 -0
  123. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WCONPROD +0 -0
  124. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WELOPEN +0 -0
  125. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WELSEGS +0 -0
  126. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WELSPECS +0 -0
  127. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WLIST +0 -0
  128. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WSEGAICD +0 -0
  129. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WSEGSICD +0 -0
  130. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/WSEGVALV +0 -0
  131. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/readme +0 -0
  132. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/opmkeywords/runmetoupdate.sh +0 -0
  133. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/parameters.py +0 -0
  134. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/pillars.py +0 -0
  135. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/pvt.py +0 -0
  136. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/res2csv.py +0 -0
  137. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/res2csvlogger.py +0 -0
  138. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/resdatafiles.py +0 -0
  139. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/rft.py +0 -0
  140. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/satfunc.py +0 -0
  141. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/summary.py +0 -0
  142. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/svg_color_keyword_names.txt +0 -0
  143. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/trans.py +0 -0
  144. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/vfp/__init__.py +0 -0
  145. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/vfp/_vfp.py +0 -0
  146. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/vfp/_vfpcommon.py +0 -0
  147. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/vfp/_vfpdefs.py +0 -0
  148. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/vfp/_vfpinj.py +0 -0
  149. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/vfp/_vfpprod.py +0 -0
  150. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/wcon.py +0 -0
  151. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/wellcompletiondata.py +0 -0
  152. {res2df-1.3.5 → res2df-1.3.7}/src/res2df/wellconnstatus.py +0 -0
  153. {res2df-1.3.5 → res2df-1.3.7}/src/res2df.egg-info/dependency_links.txt +0 -0
  154. {res2df-1.3.5 → res2df-1.3.7}/src/res2df.egg-info/entry_points.txt +0 -0
  155. {res2df-1.3.5 → res2df-1.3.7}/src/res2df.egg-info/not-zip-safe +0 -0
  156. {res2df-1.3.5 → res2df-1.3.7}/src/res2df.egg-info/requires.txt +0 -0
  157. {res2df-1.3.5 → res2df-1.3.7}/src/res2df.egg-info/top_level.txt +0 -0
  158. {res2df-1.3.5 → res2df-1.3.7}/tests/__init__.py +0 -0
  159. {res2df-1.3.5 → res2df-1.3.7}/tests/conftest.py +0 -0
  160. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.DATA +0 -0
  161. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.EGRID +0 -0
  162. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.INIT +0 -0
  163. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.INSPEC +0 -0
  164. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.PRT +0 -0
  165. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.RFT +0 -0
  166. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.RSSPEC +0 -0
  167. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.SMSPEC +0 -0
  168. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.UNRST +0 -0
  169. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/EIGHTCELLS.UNSMRY +0 -0
  170. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.DATA +0 -0
  171. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.SMSPEC +0 -0
  172. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.UNSMRY +0 -0
  173. {res2df-1.3.5 → res2df-1.3.7}/tests/data/eightcells/zones.lyr +0 -0
  174. {res2df-1.3.5 → res2df-1.3.7}/tests/data/fipreports/TEST1.PRT +0 -0
  175. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
  176. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
  177. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
  178. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
  179. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
  180. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
  181. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
  182. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
  183. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
  184. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
  185. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
  186. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
  187. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
  188. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
  189. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
  190. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
  191. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/schedule/op6_aicd1_gp.sch +0 -0
  192. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/schedule/op6_icd1_gp.sch +0 -0
  193. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/schedule/op6_valve1_gp.sch +0 -0
  194. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
  195. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
  196. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
  197. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0-OPMFLOW.PRT +0 -0
  198. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
  199. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
  200. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
  201. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
  202. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
  203. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
  204. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
  205. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
  206. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
  207. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
  208. {res2df-1.3.5 → res2df-1.3.7}/tests/data/reek/eclipse/model/zones.lyr +0 -0
  209. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP.DATA +0 -0
  210. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP.SMSPEC +0 -0
  211. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP.UNSMRY +0 -0
  212. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_LONG.DATA +0 -0
  213. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_LONG.SMSPEC +0 -0
  214. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_LONG.UNSMRY +0 -0
  215. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.DATA +0 -0
  216. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.SMSPEC +0 -0
  217. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.UNSMRY +0 -0
  218. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.DATA +0 -0
  219. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.SMSPEC +0 -0
  220. {res2df-1.3.5 → res2df-1.3.7}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.UNSMRY +0 -0
  221. {res2df-1.3.5 → res2df-1.3.7}/tests/test_common.py +0 -0
  222. {res2df-1.3.5 → res2df-1.3.7}/tests/test_compdat.py +0 -0
  223. {res2df-1.3.5 → res2df-1.3.7}/tests/test_eclfiles.py +0 -0
  224. {res2df-1.3.5 → res2df-1.3.7}/tests/test_equil.py +0 -0
  225. {res2df-1.3.5 → res2df-1.3.7}/tests/test_ert_hooks.py +0 -0
  226. {res2df-1.3.5 → res2df-1.3.7}/tests/test_faults.py +0 -0
  227. {res2df-1.3.5 → res2df-1.3.7}/tests/test_fipreports.py +0 -0
  228. {res2df-1.3.5 → res2df-1.3.7}/tests/test_gruptree.py +0 -0
  229. {res2df-1.3.5 → res2df-1.3.7}/tests/test_hook_implementations.py +0 -0
  230. {res2df-1.3.5 → res2df-1.3.7}/tests/test_inferdims.py +0 -0
  231. {res2df-1.3.5 → res2df-1.3.7}/tests/test_init.py +0 -0
  232. {res2df-1.3.5 → res2df-1.3.7}/tests/test_integration.py +0 -0
  233. {res2df-1.3.5 → res2df-1.3.7}/tests/test_logging.py +0 -0
  234. {res2df-1.3.5 → res2df-1.3.7}/tests/test_nnc.py +0 -0
  235. {res2df-1.3.5 → res2df-1.3.7}/tests/test_parameters.py +0 -0
  236. {res2df-1.3.5 → res2df-1.3.7}/tests/test_pillars.py +0 -0
  237. {res2df-1.3.5 → res2df-1.3.7}/tests/test_pvt.py +0 -0
  238. {res2df-1.3.5 → res2df-1.3.7}/tests/test_rft.py +0 -0
  239. {res2df-1.3.5 → res2df-1.3.7}/tests/test_satfunc.py +0 -0
  240. {res2df-1.3.5 → res2df-1.3.7}/tests/test_summary.py +0 -0
  241. {res2df-1.3.5 → res2df-1.3.7}/tests/test_summary_restarts.py +0 -0
  242. {res2df-1.3.5 → res2df-1.3.7}/tests/test_trans.py +0 -0
  243. {res2df-1.3.5 → res2df-1.3.7}/tests/test_userapi.py +0 -0
  244. {res2df-1.3.5 → res2df-1.3.7}/tests/test_vfp.py +0 -0
  245. {res2df-1.3.5 → res2df-1.3.7}/tests/test_wcon.py +0 -0
  246. {res2df-1.3.5 → res2df-1.3.7}/tests/test_wellcompletiondata.py +0 -0
  247. {res2df-1.3.5 → res2df-1.3.7}/tests/test_wellconnstatus.py +0 -0
  248. {res2df-1.3.5 → res2df-1.3.7}/tests/test_welopen.py +0 -0
  249. {res2df-1.3.5 → res2df-1.3.7}/tests/test_wlist.py +0 -0
  250. {res2df-1.3.5 → res2df-1.3.7}/tests/test_zonemap.py +0 -0
@@ -14,6 +14,7 @@ jobs:
14
14
  env:
15
15
  OS: ${{ matrix.os }}
16
16
  PYTHON: '3.11'
17
+ UV_SYSTEM_PYTHON: 1
17
18
 
18
19
  steps:
19
20
 
@@ -22,24 +23,28 @@ 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.11
31
- cache: "pip"
32
+
33
+ - name: Install uv
34
+ uses: astral-sh/setup-uv@v6
35
+ with:
36
+ enable-cache: true
37
+ python-version: "3.11"
32
38
 
33
39
  - name: Install res2df
34
40
  run: |
35
- pip install pip -U
36
- pip install .[tests,ert]
41
+ uv pip install ".[tests, ert]"
37
42
 
38
43
  - name: Generate coverage report and upload
39
44
  run: |
40
45
  pytest tests --disable-warnings --cov=res2df --cov-report=xml
41
46
  # Uninstall packages that res2df supports not being installed:
42
- pip uninstall --yes ert networkx opm
47
+ uv pip uninstall ert networkx opm
43
48
  # Run tests again in cov-append-mode:
44
49
  pytest tests --disable-warnings --cov=res2df --cov-report=xml --cov-append
45
50
  bash <(curl -s https://codecov.io/bash)
@@ -0,0 +1,37 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ pypi-publish:
9
+ name: Upload release to PyPI
10
+ runs-on: ubuntu-latest
11
+ environment:
12
+ name: pypi
13
+ url: https://pypi.org/p/res2df
14
+ permissions:
15
+ id-token: write
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v5
20
+ with:
21
+ fetch-depth: 0
22
+
23
+ - name: Set up Python 3.11
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: '3.11'
27
+
28
+ - name: Install build dependencies
29
+ run: |
30
+ pip install -U pip
31
+ pip install build
32
+
33
+ - name: Build distributions
34
+ run: python -m build
35
+
36
+ - name: Publish package distributions to PyPI
37
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -7,9 +7,6 @@ on:
7
7
  pull_request:
8
8
  branches:
9
9
  - master
10
- release:
11
- types:
12
- - published
13
10
 
14
11
  schedule:
15
12
  # Run CI every night and check that tests are working with latest dependencies
@@ -17,6 +14,7 @@ on:
17
14
 
18
15
  env:
19
16
  ERT_SHOW_BACKTRACE: 1
17
+ UV_SYSTEM_PYTHON: 1
20
18
 
21
19
  jobs:
22
20
  res2df:
@@ -39,7 +37,7 @@ jobs:
39
37
  sudo apt-get install libegl1
40
38
 
41
39
  - name: Checkout commit locally
42
- uses: actions/checkout@v4
40
+ uses: actions/checkout@v5
43
41
 
44
42
  - name: Checkout tags
45
43
  # This seems necessary for setuptools_scm to be able to infer
@@ -50,20 +48,24 @@ jobs:
50
48
  uses: actions/setup-python@v5
51
49
  with:
52
50
  python-version: ${{ matrix.python-version }}
53
- cache: "pip"
51
+
52
+ - name: Install uv
53
+ uses: astral-sh/setup-uv@v6
54
+ with:
55
+ enable-cache: true
56
+ python-version: ${{ matrix.python-version }}
54
57
 
55
58
  - name: Install res2df with dependencies
56
59
  run: |
57
- pip install --upgrade pip
58
- pip install ".[tests, docs]"
60
+ uv pip install ".[tests, docs]"
59
61
 
60
62
 
61
63
  - name: Install ert
62
64
  if: matrix.install-ert
63
- run: pip install ".[ert]"
65
+ run: uv pip install ".[ert]"
64
66
 
65
67
  - name: List all installed packages
66
- run: pip freeze
68
+ run: uv pip freeze
67
69
 
68
70
  - name: Run tests
69
71
  run: |
@@ -100,13 +102,3 @@ jobs:
100
102
  git commit -m "Update Github Pages"
101
103
  git push "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git" gh-pages
102
104
  fi
103
-
104
- - name: Build python package and publish to pypi
105
- if: github.event_name == 'release' && matrix.python-version == '3.11'
106
- env:
107
- TWINE_USERNAME: __token__
108
- TWINE_PASSWORD: ${{ secrets.res2df_pypi_token }}
109
- run: |
110
- python -m pip install --upgrade build twine
111
- python -m build
112
- twine upload dist/*
@@ -11,6 +11,9 @@ concurrency:
11
11
  group: ${{ github.workflow }}-${{ github.ref }}
12
12
  cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
13
13
 
14
+ env:
15
+ UV_SYSTEM_PYTHON: 1
16
+
14
17
  jobs:
15
18
  check-style:
16
19
  timeout-minutes: 15
@@ -20,7 +23,7 @@ jobs:
20
23
  python-version: ['3.12']
21
24
 
22
25
  steps:
23
- - uses: actions/checkout@v4
26
+ - uses: actions/checkout@v5
24
27
  with:
25
28
  fetch-depth: 0
26
29
 
@@ -28,11 +31,16 @@ jobs:
28
31
  uses: actions/setup-python@v5
29
32
  with:
30
33
  python-version: ${{ matrix.python-version }}
31
- cache: "pip"
34
+
35
+ - name: Install uv
36
+ uses: astral-sh/setup-uv@v6
37
+ with:
38
+ enable-cache: true
39
+ python-version: ${{ matrix.python-version }}
32
40
 
33
41
  - name: Install res2df with style dependencies
34
42
  run: |
35
- pip install ".[style]"
43
+ uv pip install ".[style]"
36
44
 
37
45
  - name: Run style check
38
46
  if: ${{ always() }}
@@ -11,6 +11,9 @@ concurrency:
11
11
  group: ${{ github.workflow }}-${{ github.ref }}
12
12
  cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
13
13
 
14
+ env:
15
+ UV_SYSTEM_PYTHON: 1
16
+
14
17
  jobs:
15
18
  check-style:
16
19
  timeout-minutes: 15
@@ -20,7 +23,7 @@ jobs:
20
23
  python-version: ['3.12']
21
24
 
22
25
  steps:
23
- - uses: actions/checkout@v4
26
+ - uses: actions/checkout@v5
24
27
  with:
25
28
  fetch-depth: 0
26
29
 
@@ -28,11 +31,16 @@ jobs:
28
31
  uses: actions/setup-python@v5
29
32
  with:
30
33
  python-version: ${{ matrix.python-version }}
31
- cache: "pip"
34
+
35
+ - name: Install uv
36
+ uses: astral-sh/setup-uv@v6
37
+ with:
38
+ enable-cache: true
39
+ python-version: ${{ matrix.python-version }}
32
40
 
33
41
  - name: Install res2df with types dependencies
34
42
  run: |
35
- pip install ".[types]"
43
+ uv pip install ".[types]"
36
44
 
37
45
  - name: Run mypy
38
46
  run: |
@@ -1,19 +1,17 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v5.0.0
3
+ rev: v6.0.0
4
4
  hooks:
5
5
  - id: no-commit-to-branch
6
6
  args: ['--branch', 'master']
7
7
  - id: check-yaml
8
8
  - id: debug-statements
9
9
  - id: end-of-file-fixer
10
- - id: fix-encoding-pragma
11
- args: [--remove]
12
10
  - id: mixed-line-ending
13
11
  - id: trailing-whitespace
14
12
 
15
13
  - repo: https://github.com/astral-sh/ruff-pre-commit
16
- rev: v0.9.2
14
+ rev: v0.12.12
17
15
  hooks:
18
16
  - id: ruff
19
17
  args: [ --fix ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: res2df
3
- Version: 1.3.5
3
+ Version: 1.3.7
4
4
  Summary: Convert reservoir simulator input and output to DataFrames
5
5
  Author-email: Håvard Berland <havb@equinor.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -728,7 +728,8 @@ Provides-Extra: ert
728
728
  Requires-Dist: ert>=10.2.0b13; extra == "ert"
729
729
  Dynamic: license-file
730
730
 
731
- [![Build Status](https://img.shields.io/github/workflow/status/equinor/res2df/res2df)](https://github.com/equinor/res2df/actions?query=workflow%3Ares2df)
731
+ [![Publish to PyPI](https://github.com/equinor/res2df/actions/workflows/publish.yml/badge.svg)](https://github.com/equinor/res2df/actions/workflows/publish.yml)
732
+ [![PyPI version](https://img.shields.io/pypi/v/res2df.svg)](https://pypi.org/project/res2df/)
732
733
  [![codecov](https://codecov.io/gh/equinor/res2df/graph/badge.svg?token=3sZBGGu5VG)](https://codecov.io/gh/equinor/res2df)
733
734
  [![Python 3.11-3.12](https://img.shields.io/badge/python-3.11%20|%203.12-blue.svg)](https://www.python.org)
734
735
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
@@ -1,4 +1,5 @@
1
- [![Build Status](https://img.shields.io/github/workflow/status/equinor/res2df/res2df)](https://github.com/equinor/res2df/actions?query=workflow%3Ares2df)
1
+ [![Publish to PyPI](https://github.com/equinor/res2df/actions/workflows/publish.yml/badge.svg)](https://github.com/equinor/res2df/actions/workflows/publish.yml)
2
+ [![PyPI version](https://img.shields.io/pypi/v/res2df.svg)](https://pypi.org/project/res2df/)
2
3
  [![codecov](https://codecov.io/gh/equinor/res2df/graph/badge.svg?token=3sZBGGu5VG)](https://codecov.io/gh/equinor/res2df)
3
4
  [![Python 3.11-3.12](https://img.shields.io/badge/python-3.11%20|%203.12-blue.svg)](https://www.python.org)
4
5
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
@@ -2,7 +2,6 @@
2
2
  requires = [
3
3
  "setuptools>=28",
4
4
  "setuptools_scm",
5
- "wheel"
6
5
  ]
7
6
  build-backend = "setuptools.build_meta"
8
7
 
@@ -438,13 +438,12 @@ def init2df(
438
438
  usevectors = []
439
439
  include_porv = False
440
440
  for vec in init.headers:
441
- if vec[1] == egrid.getNumActive() and any(
441
+ if vec[0] == "PORV" and any(fnmatch.fnmatch("PORV", key) for key in vectors):
442
+ include_porv = True
443
+ elif vec[1] == egrid.getNumActive() and any(
442
444
  fnmatch.fnmatch(vec[0], key) for key in vectors
443
445
  ):
444
446
  usevectors.append(vec[0])
445
- if vec[0] == "PORV" and any(fnmatch.fnmatch("PORV", key) for key in vectors):
446
- include_porv = True
447
-
448
447
  if usevectors:
449
448
  init_df = pd.DataFrame(
450
449
  columns=usevectors,
@@ -465,8 +464,6 @@ def init2df(
465
464
  else:
466
465
  init_df = pd.DataFrame() # empty
467
466
 
468
- logger.info("Extracted %s from INIT file", str(init_df.columns.values))
469
-
470
467
  # PORV is indexed by active_index, not global, needs special treatment:
471
468
  if include_porv:
472
469
  porv_numpy = init.iget_named_kw("PORV", 0).numpyView()
@@ -474,7 +471,8 @@ def init2df(
474
471
  egrid.get_global_index(active_index=ix)
475
472
  for ix in range(egrid.getNumActive())
476
473
  ]
477
- init_df["PORV"] = porv_numpy[glob_idxs].reshape(-1, 1)
474
+ init_df["PORV"] = porv_numpy[glob_idxs]
475
+ logger.info("Extracted %s from INIT file", str(init_df.columns.values))
478
476
  return init_df
479
477
 
480
478
 
@@ -60,7 +60,7 @@ def df(
60
60
  # Grid indices for first cell in cell pairs, into a vertical
61
61
  # vector. The indices are "global" in resdata terms, and are
62
62
  # 1-based (FORTRAN). Convert to zero-based before sending to get_ijk()
63
- nnc1 = egrid_file["NNC1"][0].numpy_view().reshape(-1, 1)
63
+ nnc1 = egrid_file["NNC1"][0].numpy_view()
64
64
  logger.info(
65
65
  "NNC1: len: %d, min: %d, max: %d (global indices)",
66
66
  len(nnc1),
@@ -76,7 +76,8 @@ def df(
76
76
  nnc1_df[idx_cols1] += 1
77
77
 
78
78
  # Grid indices for second cell in cell pairs
79
- nnc2 = egrid_file["NNC2"][0].numpy_view().reshape(-1, 1)
79
+ nnc2 = egrid_file["NNC2"][0].numpy_view()
80
+
80
81
  logger.info(
81
82
  "NNC2: len: %d, min: %d, max: %d (global indices)",
82
83
  len(nnc2),
@@ -91,7 +92,7 @@ def df(
91
92
  nnc2_df[idx_cols2] += 1
92
93
 
93
94
  # Obtain transmissibility value, corresponding to the cell pairs above.
94
- tran = init_file["TRANNNC"][0].numpy_view().reshape(-1, 1)
95
+ tran = init_file["TRANNNC"][0].numpy_view()
95
96
  logger.info(
96
97
  "TRANNNC: len: %d, min: %f, max: %f, mean=%f",
97
98
  len(tran),
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '1.3.5'
21
- __version_tuple__ = version_tuple = (1, 3, 5)
31
+ __version__ = version = '1.3.7'
32
+ __version_tuple__ = version_tuple = (1, 3, 7)
33
+
34
+ __commit_id__ = commit_id = 'g1808c4592'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: res2df
3
- Version: 1.3.5
3
+ Version: 1.3.7
4
4
  Summary: Convert reservoir simulator input and output to DataFrames
5
5
  Author-email: Håvard Berland <havb@equinor.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -728,7 +728,8 @@ Provides-Extra: ert
728
728
  Requires-Dist: ert>=10.2.0b13; extra == "ert"
729
729
  Dynamic: license-file
730
730
 
731
- [![Build Status](https://img.shields.io/github/workflow/status/equinor/res2df/res2df)](https://github.com/equinor/res2df/actions?query=workflow%3Ares2df)
731
+ [![Publish to PyPI](https://github.com/equinor/res2df/actions/workflows/publish.yml/badge.svg)](https://github.com/equinor/res2df/actions/workflows/publish.yml)
732
+ [![PyPI version](https://img.shields.io/pypi/v/res2df.svg)](https://pypi.org/project/res2df/)
732
733
  [![codecov](https://codecov.io/gh/equinor/res2df/graph/badge.svg?token=3sZBGGu5VG)](https://codecov.io/gh/equinor/res2df)
733
734
  [![Python 3.11-3.12](https://img.shields.io/badge/python-3.11%20|%203.12-blue.svg)](https://www.python.org)
734
735
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
@@ -6,6 +6,7 @@ README.md
6
6
  SECURITY.md
7
7
  pyproject.toml
8
8
  .github/workflows/codecov.yml
9
+ .github/workflows/publish.yml
9
10
  .github/workflows/res2df.yml
10
11
  .github/workflows/style.yml
11
12
  .github/workflows/typing.yml
@@ -9,8 +9,7 @@ import pandas as pd
9
9
  import pyarrow
10
10
  import pytest
11
11
 
12
- from res2df import common, grid, res2csv
13
- from res2df.resdatafiles import ResdataFiles
12
+ from res2df import ResdataFiles, common, grid, res2csv
14
13
 
15
14
  TESTDIR = Path(__file__).absolute().parent
16
15
  REEK = str(TESTDIR / "data/reek/eclipse/model/2_R001_REEK-0.DATA")
@@ -163,6 +162,17 @@ def test_init2df():
163
162
  assert np.isnan(init_df["KRO"].unique()).all()
164
163
 
165
164
 
165
+ def test_that_init2df_works_with_only_PORV():
166
+ """Test that requesting only PORV works"""
167
+ resdatafiles = ResdataFiles(REEK)
168
+ init_df = grid.init2df(resdatafiles, vectors="PORV")
169
+
170
+ assert isinstance(init_df, pd.DataFrame)
171
+ # pylint: disable=unsupported-membership-test # false positive on Dataframe
172
+ assert not init_df.empty
173
+ assert "PORV" in init_df
174
+
175
+
166
176
  def test_grid_df():
167
177
  """Test that dataframe with INIT vectors and coordinates can be produced"""
168
178
  resdatafiles = ResdataFiles(EIGHTCELLS)
@@ -189,6 +199,16 @@ def test_grid_df():
189
199
  )
190
200
 
191
201
 
202
+ def test_that_grid_df_works_with_only_PORV():
203
+ """Test that dataframe with INIT vector PORV works"""
204
+ resdatafiles = ResdataFiles(EIGHTCELLS)
205
+ grid_df = grid.df(resdatafiles, vectors="PORV")
206
+
207
+ assert isinstance(grid_df, pd.DataFrame)
208
+ assert not grid_df.empty
209
+ assert "PORV" in grid_df
210
+
211
+
192
212
  def test_df2res(tmp_path):
193
213
  """Test if we are able to output include files for grid data"""
194
214
  resdatafiles = ResdataFiles(REEK)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes