xtgeo 4.13.1__cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

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.

Potentially problematic release.


This version of xtgeo might be problematic. Click here for more details.

Files changed (654) hide show
  1. cxtgeo.py +558 -0
  2. cxtgeoPYTHON_wrap.c +19537 -0
  3. xtgeo/__init__.py +246 -0
  4. xtgeo/_cxtgeo.cpython-312-aarch64-linux-gnu.so +0 -0
  5. xtgeo/_internal.cpython-312-aarch64-linux-gnu.so +0 -0
  6. xtgeo/common/__init__.py +19 -0
  7. xtgeo/common/_angles.py +29 -0
  8. xtgeo/common/_xyz_enum.py +50 -0
  9. xtgeo/common/calc.py +396 -0
  10. xtgeo/common/constants.py +30 -0
  11. xtgeo/common/exceptions.py +42 -0
  12. xtgeo/common/log.py +93 -0
  13. xtgeo/common/sys.py +166 -0
  14. xtgeo/common/types.py +18 -0
  15. xtgeo/common/version.py +34 -0
  16. xtgeo/common/xtgeo_dialog.py +604 -0
  17. xtgeo/cube/__init__.py +9 -0
  18. xtgeo/cube/_cube_export.py +214 -0
  19. xtgeo/cube/_cube_import.py +532 -0
  20. xtgeo/cube/_cube_roxapi.py +180 -0
  21. xtgeo/cube/_cube_utils.py +287 -0
  22. xtgeo/cube/_cube_window_attributes.py +273 -0
  23. xtgeo/cube/cube1.py +1023 -0
  24. xtgeo/grid3d/__init__.py +15 -0
  25. xtgeo/grid3d/_ecl_grid.py +774 -0
  26. xtgeo/grid3d/_ecl_inte_head.py +152 -0
  27. xtgeo/grid3d/_ecl_logi_head.py +71 -0
  28. xtgeo/grid3d/_ecl_output_file.py +81 -0
  29. xtgeo/grid3d/_egrid.py +1004 -0
  30. xtgeo/grid3d/_find_gridprop_in_eclrun.py +625 -0
  31. xtgeo/grid3d/_grdecl_format.py +309 -0
  32. xtgeo/grid3d/_grdecl_grid.py +400 -0
  33. xtgeo/grid3d/_grid3d.py +29 -0
  34. xtgeo/grid3d/_grid3d_fence.py +284 -0
  35. xtgeo/grid3d/_grid3d_utils.py +228 -0
  36. xtgeo/grid3d/_grid_boundary.py +76 -0
  37. xtgeo/grid3d/_grid_etc1.py +1595 -0
  38. xtgeo/grid3d/_grid_export.py +222 -0
  39. xtgeo/grid3d/_grid_hybrid.py +50 -0
  40. xtgeo/grid3d/_grid_import.py +79 -0
  41. xtgeo/grid3d/_grid_import_ecl.py +101 -0
  42. xtgeo/grid3d/_grid_import_roff.py +135 -0
  43. xtgeo/grid3d/_grid_import_xtgcpgeom.py +375 -0
  44. xtgeo/grid3d/_grid_refine.py +258 -0
  45. xtgeo/grid3d/_grid_roxapi.py +292 -0
  46. xtgeo/grid3d/_grid_translate_coords.py +154 -0
  47. xtgeo/grid3d/_grid_wellzone.py +165 -0
  48. xtgeo/grid3d/_gridprop_export.py +202 -0
  49. xtgeo/grid3d/_gridprop_import_eclrun.py +164 -0
  50. xtgeo/grid3d/_gridprop_import_grdecl.py +130 -0
  51. xtgeo/grid3d/_gridprop_import_roff.py +52 -0
  52. xtgeo/grid3d/_gridprop_import_xtgcpprop.py +168 -0
  53. xtgeo/grid3d/_gridprop_lowlevel.py +171 -0
  54. xtgeo/grid3d/_gridprop_op1.py +272 -0
  55. xtgeo/grid3d/_gridprop_roxapi.py +301 -0
  56. xtgeo/grid3d/_gridprop_value_init.py +140 -0
  57. xtgeo/grid3d/_gridprops_import_eclrun.py +344 -0
  58. xtgeo/grid3d/_gridprops_import_roff.py +83 -0
  59. xtgeo/grid3d/_roff_grid.py +470 -0
  60. xtgeo/grid3d/_roff_parameter.py +303 -0
  61. xtgeo/grid3d/grid.py +2957 -0
  62. xtgeo/grid3d/grid_properties.py +699 -0
  63. xtgeo/grid3d/grid_property.py +1313 -0
  64. xtgeo/grid3d/types.py +15 -0
  65. xtgeo/include/eigen3/Eigen/Cholesky +45 -0
  66. xtgeo/include/eigen3/Eigen/CholmodSupport +48 -0
  67. xtgeo/include/eigen3/Eigen/Core +384 -0
  68. xtgeo/include/eigen3/Eigen/Dense +7 -0
  69. xtgeo/include/eigen3/Eigen/Eigen +2 -0
  70. xtgeo/include/eigen3/Eigen/Eigenvalues +60 -0
  71. xtgeo/include/eigen3/Eigen/Geometry +59 -0
  72. xtgeo/include/eigen3/Eigen/Householder +29 -0
  73. xtgeo/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  74. xtgeo/include/eigen3/Eigen/Jacobi +32 -0
  75. xtgeo/include/eigen3/Eigen/KLUSupport +41 -0
  76. xtgeo/include/eigen3/Eigen/LU +47 -0
  77. xtgeo/include/eigen3/Eigen/MetisSupport +35 -0
  78. xtgeo/include/eigen3/Eigen/OrderingMethods +70 -0
  79. xtgeo/include/eigen3/Eigen/PaStiXSupport +49 -0
  80. xtgeo/include/eigen3/Eigen/PardisoSupport +35 -0
  81. xtgeo/include/eigen3/Eigen/QR +50 -0
  82. xtgeo/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  83. xtgeo/include/eigen3/Eigen/SPQRSupport +34 -0
  84. xtgeo/include/eigen3/Eigen/SVD +50 -0
  85. xtgeo/include/eigen3/Eigen/Sparse +34 -0
  86. xtgeo/include/eigen3/Eigen/SparseCholesky +37 -0
  87. xtgeo/include/eigen3/Eigen/SparseCore +69 -0
  88. xtgeo/include/eigen3/Eigen/SparseLU +50 -0
  89. xtgeo/include/eigen3/Eigen/SparseQR +36 -0
  90. xtgeo/include/eigen3/Eigen/StdDeque +27 -0
  91. xtgeo/include/eigen3/Eigen/StdList +26 -0
  92. xtgeo/include/eigen3/Eigen/StdVector +27 -0
  93. xtgeo/include/eigen3/Eigen/SuperLUSupport +64 -0
  94. xtgeo/include/eigen3/Eigen/UmfPackSupport +40 -0
  95. xtgeo/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  96. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  97. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  98. xtgeo/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  99. xtgeo/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  100. xtgeo/include/eigen3/Eigen/src/Core/Array.h +417 -0
  101. xtgeo/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  102. xtgeo/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  103. xtgeo/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  104. xtgeo/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  105. xtgeo/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  106. xtgeo/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  107. xtgeo/include/eigen3/Eigen/src/Core/Block.h +448 -0
  108. xtgeo/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  109. xtgeo/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  110. xtgeo/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  111. xtgeo/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  112. xtgeo/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  113. xtgeo/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  114. xtgeo/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  115. xtgeo/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  116. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  117. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  118. xtgeo/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  119. xtgeo/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  120. xtgeo/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  121. xtgeo/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  122. xtgeo/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  123. xtgeo/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  124. xtgeo/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  125. xtgeo/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  126. xtgeo/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  127. xtgeo/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  128. xtgeo/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  129. xtgeo/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  130. xtgeo/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  131. xtgeo/include/eigen3/Eigen/src/Core/IO.h +258 -0
  132. xtgeo/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  133. xtgeo/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  134. xtgeo/include/eigen3/Eigen/src/Core/Map.h +171 -0
  135. xtgeo/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  136. xtgeo/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  137. xtgeo/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  138. xtgeo/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  139. xtgeo/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  140. xtgeo/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  141. xtgeo/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  142. xtgeo/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  143. xtgeo/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  144. xtgeo/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  145. xtgeo/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  146. xtgeo/include/eigen3/Eigen/src/Core/Product.h +191 -0
  147. xtgeo/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  148. xtgeo/include/eigen3/Eigen/src/Core/Random.h +218 -0
  149. xtgeo/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  150. xtgeo/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  151. xtgeo/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  152. xtgeo/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  153. xtgeo/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  154. xtgeo/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  155. xtgeo/include/eigen3/Eigen/src/Core/Select.h +164 -0
  156. xtgeo/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  157. xtgeo/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  158. xtgeo/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  159. xtgeo/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  160. xtgeo/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  161. xtgeo/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  162. xtgeo/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  163. xtgeo/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  164. xtgeo/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  165. xtgeo/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  166. xtgeo/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  167. xtgeo/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  168. xtgeo/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  169. xtgeo/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  170. xtgeo/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  171. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  172. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  173. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  174. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  175. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  176. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  177. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  178. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  179. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  180. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  181. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  182. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  183. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  184. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  185. xtgeo/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  186. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  187. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  188. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  189. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  190. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  191. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  192. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  193. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  194. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  195. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  196. xtgeo/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  197. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  198. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  199. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  200. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  201. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  202. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  203. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  204. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  205. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  206. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  207. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  208. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  209. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  210. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  211. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  212. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  213. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  214. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  215. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  216. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  217. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  218. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  219. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  220. xtgeo/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  221. xtgeo/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  222. xtgeo/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  223. xtgeo/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  224. xtgeo/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  225. xtgeo/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  226. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  227. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  228. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  229. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  230. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  231. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  232. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  233. xtgeo/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  234. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  235. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  236. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  237. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  238. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  239. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  240. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  241. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  242. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  243. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  244. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  245. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  246. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  247. xtgeo/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  248. xtgeo/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  249. xtgeo/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  250. xtgeo/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  251. xtgeo/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  252. xtgeo/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  253. xtgeo/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  254. xtgeo/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  255. xtgeo/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  256. xtgeo/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  257. xtgeo/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  258. xtgeo/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  259. xtgeo/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  260. xtgeo/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  261. xtgeo/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  262. xtgeo/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  263. xtgeo/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  264. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  265. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  266. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  267. xtgeo/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  268. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  269. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  270. xtgeo/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  271. xtgeo/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  272. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  273. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  274. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  275. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  276. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  277. xtgeo/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  278. xtgeo/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  279. xtgeo/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  280. xtgeo/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  281. xtgeo/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  282. xtgeo/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  283. xtgeo/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  284. xtgeo/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  285. xtgeo/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  286. xtgeo/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  287. xtgeo/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  288. xtgeo/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  289. xtgeo/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  290. xtgeo/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  291. xtgeo/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  292. xtgeo/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  293. xtgeo/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  294. xtgeo/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  295. xtgeo/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  296. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  297. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  298. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  299. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  300. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  301. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  302. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  303. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  304. xtgeo/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  305. xtgeo/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  306. xtgeo/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  307. xtgeo/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  308. xtgeo/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  309. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  310. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  311. xtgeo/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  312. xtgeo/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  313. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  314. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  315. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  316. xtgeo/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  317. xtgeo/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  318. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  319. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  320. xtgeo/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  321. xtgeo/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  322. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  323. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  324. xtgeo/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  325. xtgeo/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  326. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  327. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  328. xtgeo/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  329. xtgeo/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  330. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  331. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  332. xtgeo/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  333. xtgeo/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  334. xtgeo/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  335. xtgeo/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  336. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  337. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  338. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  339. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  340. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  341. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  342. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  343. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  344. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  345. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  346. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  347. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  348. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  349. xtgeo/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  350. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  351. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  352. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  353. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  354. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  355. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  356. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  357. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  358. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  359. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  360. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  361. xtgeo/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  362. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  363. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  364. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  365. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  366. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  367. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  368. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  369. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  370. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  371. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  372. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  373. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  374. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  375. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  376. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  377. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  378. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  379. xtgeo/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  380. xtgeo/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  381. xtgeo/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  382. xtgeo/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  383. xtgeo/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  384. xtgeo/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  385. xtgeo/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  386. xtgeo/include/eigen3/Eigen/src/misc/Image.h +82 -0
  387. xtgeo/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  388. xtgeo/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  389. xtgeo/include/eigen3/Eigen/src/misc/blas.h +440 -0
  390. xtgeo/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  391. xtgeo/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  392. xtgeo/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  393. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  394. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  395. xtgeo/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  396. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  397. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  398. xtgeo/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  399. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  400. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  401. xtgeo/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  402. xtgeo/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  403. xtgeo/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  404. xtgeo/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  405. xtgeo/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  406. xtgeo/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  407. xtgeo/include/eigen3/unsupported/Eigen/BVH +95 -0
  408. xtgeo/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  409. xtgeo/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  410. xtgeo/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  411. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  412. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  413. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  414. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  415. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  416. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  417. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  418. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  419. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  420. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  421. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  422. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  423. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  424. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  425. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  426. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  427. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  428. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  429. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  430. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  431. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  432. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  433. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  434. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  435. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  436. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  437. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  438. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  439. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  440. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  441. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  442. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  443. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  444. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  445. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  446. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  447. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  448. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  449. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  450. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  451. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  452. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  453. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  454. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  455. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  456. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  457. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  458. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  459. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  460. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  461. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  462. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  463. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  464. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  465. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  466. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  467. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  468. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  469. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  470. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  471. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  472. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  473. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  474. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  475. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  476. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  477. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  478. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  479. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  480. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  481. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  482. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  483. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  484. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  485. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  486. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  487. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  488. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  489. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  490. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  491. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  492. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  493. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  494. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  495. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  496. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  497. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  498. xtgeo/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  499. xtgeo/include/eigen3/unsupported/Eigen/FFT +419 -0
  500. xtgeo/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  501. xtgeo/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  502. xtgeo/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  503. xtgeo/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  504. xtgeo/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  505. xtgeo/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  506. xtgeo/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  507. xtgeo/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  508. xtgeo/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  509. xtgeo/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  510. xtgeo/include/eigen3/unsupported/Eigen/Skyline +39 -0
  511. xtgeo/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  512. xtgeo/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  513. xtgeo/include/eigen3/unsupported/Eigen/Splines +35 -0
  514. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  515. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  516. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  517. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  518. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  519. xtgeo/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  520. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  521. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  522. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  523. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  524. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  525. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  526. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  527. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  528. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  529. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  530. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  531. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  532. xtgeo/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  533. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  534. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  535. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  536. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  537. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  538. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  539. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  540. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  541. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  542. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  543. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  544. xtgeo/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  545. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  546. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  547. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  548. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  549. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  550. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  551. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  552. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  553. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  554. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  555. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  556. xtgeo/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  557. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  558. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  559. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  560. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  561. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  562. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  563. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  564. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  565. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  566. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  567. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  568. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  569. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  570. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  571. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  572. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  573. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  574. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  575. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  576. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  577. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  578. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  579. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  580. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  581. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  582. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  583. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  584. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  585. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  586. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  587. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  588. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  589. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  590. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  591. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  592. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  593. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  594. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  595. xtgeo/io/__init__.py +1 -0
  596. xtgeo/io/_file.py +594 -0
  597. xtgeo/metadata/__init__.py +17 -0
  598. xtgeo/metadata/metadata.py +435 -0
  599. xtgeo/roxutils/__init__.py +7 -0
  600. xtgeo/roxutils/_roxar_loader.py +54 -0
  601. xtgeo/roxutils/_roxutils_etc.py +122 -0
  602. xtgeo/roxutils/roxutils.py +207 -0
  603. xtgeo/share/eigen3/cmake/Eigen3Config.cmake +37 -0
  604. xtgeo/share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
  605. xtgeo/share/eigen3/cmake/Eigen3Targets.cmake +106 -0
  606. xtgeo/share/eigen3/cmake/UseEigen3.cmake +6 -0
  607. xtgeo/share/pkgconfig/eigen3.pc +9 -0
  608. xtgeo/surface/__init__.py +18 -0
  609. xtgeo/surface/_regsurf_boundary.py +26 -0
  610. xtgeo/surface/_regsurf_cube.py +210 -0
  611. xtgeo/surface/_regsurf_cube_window.py +391 -0
  612. xtgeo/surface/_regsurf_cube_window_v2.py +297 -0
  613. xtgeo/surface/_regsurf_cube_window_v3.py +360 -0
  614. xtgeo/surface/_regsurf_export.py +388 -0
  615. xtgeo/surface/_regsurf_grid3d.py +275 -0
  616. xtgeo/surface/_regsurf_gridding.py +347 -0
  617. xtgeo/surface/_regsurf_ijxyz_parser.py +278 -0
  618. xtgeo/surface/_regsurf_import.py +347 -0
  619. xtgeo/surface/_regsurf_lowlevel.py +122 -0
  620. xtgeo/surface/_regsurf_oper.py +538 -0
  621. xtgeo/surface/_regsurf_roxapi.py +241 -0
  622. xtgeo/surface/_regsurf_utils.py +81 -0
  623. xtgeo/surface/_surfs_import.py +43 -0
  624. xtgeo/surface/_zmap_parser.py +138 -0
  625. xtgeo/surface/regular_surface.py +2962 -0
  626. xtgeo/surface/surfaces.py +276 -0
  627. xtgeo/well/__init__.py +24 -0
  628. xtgeo/well/_blockedwell_roxapi.py +241 -0
  629. xtgeo/well/_blockedwells_roxapi.py +68 -0
  630. xtgeo/well/_well_aux.py +30 -0
  631. xtgeo/well/_well_io.py +327 -0
  632. xtgeo/well/_well_oper.py +483 -0
  633. xtgeo/well/_well_roxapi.py +304 -0
  634. xtgeo/well/_wellmarkers.py +486 -0
  635. xtgeo/well/_wells_utils.py +158 -0
  636. xtgeo/well/blocked_well.py +220 -0
  637. xtgeo/well/blocked_wells.py +134 -0
  638. xtgeo/well/well1.py +1516 -0
  639. xtgeo/well/wells.py +211 -0
  640. xtgeo/xyz/__init__.py +6 -0
  641. xtgeo/xyz/_polygons_oper.py +272 -0
  642. xtgeo/xyz/_xyz.py +758 -0
  643. xtgeo/xyz/_xyz_data.py +646 -0
  644. xtgeo/xyz/_xyz_io.py +737 -0
  645. xtgeo/xyz/_xyz_lowlevel.py +42 -0
  646. xtgeo/xyz/_xyz_oper.py +613 -0
  647. xtgeo/xyz/_xyz_roxapi.py +766 -0
  648. xtgeo/xyz/points.py +698 -0
  649. xtgeo/xyz/polygons.py +827 -0
  650. xtgeo-4.13.1.dist-info/METADATA +146 -0
  651. xtgeo-4.13.1.dist-info/RECORD +654 -0
  652. xtgeo-4.13.1.dist-info/WHEEL +6 -0
  653. xtgeo-4.13.1.dist-info/licenses/LICENSE.md +165 -0
  654. xtgeo.libs/libgomp-a49a47f9.so.1.0.0 +0 -0
xtgeo/io/_file.py ADDED
@@ -0,0 +1,594 @@
1
+ """A FileWrapper class to wrap around files and streams representing files."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import io
6
+ import os
7
+ import pathlib
8
+ import platform
9
+ import re
10
+ import struct
11
+ import uuid
12
+ from enum import Enum
13
+ from os.path import join
14
+ from tempfile import mkstemp
15
+ from typing import TYPE_CHECKING, Literal, Union
16
+
17
+ import xtgeo._cxtgeo
18
+ from xtgeo.common.exceptions import InvalidFileFormatError
19
+ from xtgeo.common.log import null_logger
20
+
21
+ if TYPE_CHECKING:
22
+ from xtgeo.common.types import FileLike
23
+ from xtgeo.cube import Cube
24
+ from xtgeo.grid3d import Grid, GridProperties, GridProperty
25
+ from xtgeo.surface import RegularSurface, Surfaces
26
+ from xtgeo.wells import BlockedWell, BlockedWells, Well, Wells
27
+ from xtgeo.xyz import Points, Polygons
28
+
29
+ XTGeoObject = Union[
30
+ BlockedWell,
31
+ BlockedWells,
32
+ Cube,
33
+ Grid,
34
+ GridProperty,
35
+ GridProperties,
36
+ Points,
37
+ Polygons,
38
+ RegularSurface,
39
+ Surfaces,
40
+ Well,
41
+ Wells,
42
+ ]
43
+
44
+ logger = null_logger(__name__)
45
+
46
+ VALID_FILE_ALIASES = ["$fmu-v1", "$md5sum", "$random"]
47
+
48
+
49
+ class FileFormat(Enum):
50
+ RMSWELL = ["rmswell", "rmsw", "w", "bw"]
51
+ ROFF_BINARY = ["roff_binary", "roff", "roff_bin", "roff-bin", "roffbin", "roff.*"]
52
+ ROFF_ASCII = ["roff_ascii", "roff_asc", "roff-asc", "roffasc", "asc"]
53
+ EGRID = ["egrid", "eclipserun"]
54
+ FEGRID = ["fegrid"]
55
+ INIT = ["init"]
56
+ FINIT = ["finit"]
57
+ UNRST = ["unrst"]
58
+ FUNRST = ["funrst"]
59
+ GRDECL = ["grdecl"]
60
+ BGRDECL = ["bgrdecl"]
61
+ IRAP_BINARY = [
62
+ "irap_binary",
63
+ "irap_bin",
64
+ "irapbinary",
65
+ "irap",
66
+ "rms_binary",
67
+ "irapbin",
68
+ "gri",
69
+ ]
70
+ IRAP_ASCII = [
71
+ "irapascii",
72
+ "irap_txt",
73
+ "irap_ascii",
74
+ "irap_asc",
75
+ "rms_ascii",
76
+ "irapasc",
77
+ "fgr",
78
+ ]
79
+ HDF = ["hdf", "hdf5", "h5"]
80
+ SEGY = ["segy", "sgy", "segy.*"]
81
+ STORM = ["storm", "storm_binary"]
82
+ ZMAP_ASCII = ["zmap", "zmap+", "zmap_ascii", "zmap-ascii", "zmap-asc", "zmap.*"]
83
+ IJXYZ = ["ijxyz"]
84
+ PETROMOD = ["pmd", "petromod"]
85
+ XTG = ["xtg", "xtgeo", "xtgf", "xtgcpprop", "xtg.*"]
86
+ XYZ = ["xyz", "poi", "pol"]
87
+ RMS_ATTR = ["rms_attr", "rms_attrs", "rmsattr.*"]
88
+ CSV = ["csv", "csv.*"]
89
+ PARQUET = ["parquet", "parquet.*", "pq"]
90
+ UNKNOWN = ["unknown"]
91
+
92
+ @staticmethod
93
+ def extensions_string(formats: list[FileFormat]) -> str:
94
+ return ", ".join([f"'{item}'" for fmt in formats for item in fmt.value])
95
+
96
+
97
+ class FileWrapper:
98
+ """
99
+ A private class for file/stream handling in/out of XTGeo and CXTGeo.
100
+
101
+ Interesting attributes:
102
+
103
+ xfile = FileWrapper(..some Path or str or BytesIO ...)
104
+
105
+ xfile.name: The absolute path to the file (str)
106
+ xfile.file: The pathlib.Path instance
107
+ xfile.memstream: Is True if memory stream
108
+
109
+ xfile.exists(): Returns True (provided mode 'r') if file exists, always True for 'w'
110
+ xfile.check_file(...): As above but may raise an Excpetion
111
+ xfile.check_folder(...): For folder; may raise an Excpetion
112
+ xfile.splitext(): return file's stem and extension
113
+ xfile.get_cfhandle(): Get C SWIG file handle
114
+ xfile.cfclose(): Close current C SWIG filehandle
115
+
116
+ """
117
+
118
+ def __init__(
119
+ self,
120
+ filelike: FileLike,
121
+ mode: Literal["r", "w", "rb", "wb"] = "rb",
122
+ obj: XTGeoObject = None,
123
+ ) -> None:
124
+ logger.debug("Init ran for FileWrapper")
125
+
126
+ if not isinstance(filelike, (str, pathlib.Path, io.BytesIO, io.StringIO)):
127
+ raise RuntimeError(
128
+ f"Cannot instantiate {self.__class__} from "
129
+ f"{filelike} of type {type(filelike)}. Expected "
130
+ f"a str, pathlib.Path, io.BytesIO, or io.StringIO."
131
+ )
132
+
133
+ if isinstance(filelike, str):
134
+ filelike = pathlib.Path(filelike)
135
+
136
+ self._file: pathlib.Path | io.BytesIO | io.StringIO = filelike
137
+ self._memstream = isinstance(self._file, (io.BytesIO, io.StringIO))
138
+ self._mode = mode
139
+ # String streams cannot be binary
140
+ if isinstance(self._file, io.StringIO) and mode in ("rb", "wb"):
141
+ self._mode = "r" if mode == "rb" else "w"
142
+
143
+ if obj and not self._memstream:
144
+ self.resolve_alias(obj)
145
+
146
+ self._cfhandle = 0
147
+ self._cfhandlecount = 0
148
+
149
+ self._tmpfile: str | None = None
150
+
151
+ logger.debug("Ran init of %s, ID is %s", __name__, id(self))
152
+
153
+ @property
154
+ def memstream(self) -> bool:
155
+ """Get whether or not this file is a io.BytesIO/StringIO memory stream."""
156
+ return self._memstream
157
+
158
+ @property
159
+ def file(self) -> pathlib.Path | io.BytesIO | io.StringIO:
160
+ """Get Path object (if input was file) or memory stream object."""
161
+ return self._file
162
+
163
+ @property
164
+ def name(self) -> str | io.BytesIO | io.StringIO:
165
+ """Get the absolute path name of the file, or the memory stream."""
166
+ if isinstance(self.file, (io.BytesIO, io.StringIO)):
167
+ return self.file
168
+
169
+ try:
170
+ logger.debug("Trying to resolve filepath")
171
+ fname = str(self.file.resolve())
172
+ except OSError:
173
+ try:
174
+ logger.debug("Trying to resolve parent, then file...")
175
+ fname = os.path.abspath(
176
+ join(str(self.file.parent.resolve()), str(self.file.name))
177
+ )
178
+ except OSError:
179
+ # means that also folder is invalid
180
+ logger.debug("Last attempt of name resolving...")
181
+ fname = os.path.abspath(str(self.file))
182
+ return fname
183
+
184
+ def resolve_alias(self, obj: XTGeoObject) -> None:
185
+ """
186
+ Change a file path name alias to autogenerated name, based on rules.
187
+
188
+ Only the file stem name will be updated, not the file name extension. Any
189
+ parent folders and file suffix/extension will be returned as is.
190
+
191
+ Aliases supported so far are '$md5sum' '$random' '$fmu-v1'
192
+
193
+ Args:
194
+ obj: Instance of some XTGeo object e.g. RegularSurface()
195
+
196
+ Example::
197
+ >>> import xtgeo
198
+ >>> surf = xtgeo.surface_from_file(surface_dir + "/topreek_rota.gri")
199
+ >>> xx = FileWrapper("/tmp/$md5sum.gri", "rb", surf)
200
+ >>> print(xx.file)
201
+ /tmp/c144fe19742adac8187b97e7976ac68c.gri
202
+
203
+ .. versionadded:: 2.14
204
+
205
+ """
206
+ if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)):
207
+ return
208
+
209
+ parent = self.file.parent
210
+ stem = self.file.stem
211
+ suffix = self.file.suffix
212
+
213
+ if "$" in stem and stem not in VALID_FILE_ALIASES:
214
+ raise ValueError(
215
+ "A '$' is present in file name but this is not a valid alias"
216
+ )
217
+
218
+ newname = stem
219
+ if stem == "$md5sum":
220
+ newname = obj.generate_hash() # type: ignore
221
+ elif stem == "$random":
222
+ newname = uuid.uuid4().hex # random name
223
+ elif stem == "$fmu-v1":
224
+ # will make name such as topvalysar--avg_porosity based on metadata
225
+ short = obj.metadata.opt.shortname.lower().replace(" ", "_") # type: ignore
226
+ desc = obj.metadata.opt.description.lower().replace(" ", "_") # type: ignore
227
+ date = obj.metadata.opt.datetime # type: ignore
228
+ newname = short + "--" + desc
229
+ if date:
230
+ newname += "--" + str(date)
231
+ else:
232
+ # return without modifications of self._file to avoid with_suffix() issues
233
+ # if the file name stem itself contains multiple '.'
234
+ return
235
+
236
+ self._file = (parent / newname).with_suffix(suffix)
237
+
238
+ def exists(self) -> bool:
239
+ """Returns True if 'r' file, memory stream, or folder exists."""
240
+ if "r" in self._mode:
241
+ if isinstance(self.file, (io.BytesIO, io.StringIO)):
242
+ return True
243
+ return self.file.exists()
244
+ # Writes and appends will always exist after writing
245
+ return True
246
+
247
+ def check_file(
248
+ self,
249
+ raiseerror: type[Exception] | None = None,
250
+ raisetext: str | None = None,
251
+ ) -> bool:
252
+ """
253
+ Check if a file exists, and raises an OSError if not.
254
+
255
+ This is only meaningful for 'r' files.
256
+
257
+ Args:
258
+ raiseerror: Type of exception to raise. Default is None, which means
259
+ no Exception, just return False or True.
260
+ raisetext: Which message to display if raiseerror. Defaults to None
261
+ which gives a default message.
262
+
263
+ Returns:
264
+ True if file exists and is readable, False if not.
265
+
266
+ """
267
+ logger.debug("Checking file...")
268
+
269
+ # Redundant but mypy can't follow when memstream is True
270
+ if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)):
271
+ return True
272
+
273
+ if raisetext is None:
274
+ raisetext = f"File {self.name} does not exist or cannot be accessed"
275
+
276
+ if "r" in self._mode and (not self.file.is_file() or not self.exists()):
277
+ if raiseerror is not None:
278
+ raise raiseerror(raisetext)
279
+ return False
280
+
281
+ return True
282
+
283
+ def check_folder(
284
+ self,
285
+ raiseerror: type[Exception] | None = None,
286
+ raisetext: str | None = None,
287
+ ) -> bool:
288
+ """
289
+ Check if folder given in file exists and is writeable.
290
+
291
+ The file itself may not exist (yet), only the folder is checked.
292
+
293
+ Args:
294
+ raiseerror: Type of exception to raise. Default is None, which means
295
+ no Exception, just return False or True.
296
+ raisetext: Which message to display if raiseerror. Defaults to None
297
+ which gives a default message.
298
+
299
+ Returns:
300
+ True if folder exists and is writable, False if not.
301
+
302
+ Raises:
303
+ ValueError: If the file is a memstream
304
+
305
+ """
306
+ logger.debug("Checking folder...")
307
+
308
+ if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)):
309
+ logger.info(
310
+ "Cannot check folder status of an in-memory file, just return True"
311
+ )
312
+ return True
313
+
314
+ folder = self.file.parent
315
+ if raisetext is None:
316
+ raisetext = f"Folder {folder.name} does not exist or cannot be accessed"
317
+
318
+ if not folder.exists():
319
+ if raiseerror:
320
+ raise raiseerror(raisetext)
321
+
322
+ return False
323
+
324
+ return True
325
+
326
+ def get_cfhandle(self) -> int:
327
+ """
328
+ Get SWIG C file handle for CXTGeo.
329
+
330
+ This is tied to cfclose() which closes the file.
331
+
332
+ if _cfhandle already exists, then _cfhandlecount is increased with 1
333
+
334
+ Returns:
335
+ int indicating the file handle number.
336
+
337
+ """
338
+ # Windows and pre-10.13 macOS lack fmemopen()
339
+ islinux = platform.system() == "Linux"
340
+
341
+ if self._cfhandle and "Swig Object of type 'FILE" in str(self._cfhandle):
342
+ self._cfhandlecount += 1
343
+ logger.debug("Get SWIG C fhandle no %s", self._cfhandlecount)
344
+ return self._cfhandle
345
+
346
+ fobj: bytes | str | io.BytesIO | io.StringIO = self.name
347
+ if isinstance(self.file, io.BytesIO):
348
+ if self._mode == "rb" and islinux:
349
+ fobj = self.file.getvalue()
350
+ elif self._mode == "wb" and islinux:
351
+ fobj = b"" # Empty bytes obj.
352
+ elif self._mode == "rb" and not islinux:
353
+ # Write stream to a temporary file
354
+ fds, self._tmpfile = mkstemp(prefix="tmpxtgeoio")
355
+ os.close(fds)
356
+ with open(self._tmpfile, "wb") as newfile:
357
+ newfile.write(self.file.getvalue())
358
+
359
+ if self.memstream:
360
+ if islinux:
361
+ cfhandle = xtgeo._cxtgeo.xtg_fopen_bytestream(fobj, self._mode)
362
+ else:
363
+ cfhandle = xtgeo._cxtgeo.xtg_fopen(self._tmpfile, self._mode)
364
+ else:
365
+ try:
366
+ cfhandle = xtgeo._cxtgeo.xtg_fopen(fobj, self._mode)
367
+ except TypeError as err:
368
+ raise OSError(f"Cannot open file: {fobj!r}") from err
369
+
370
+ self._cfhandle = cfhandle
371
+ self._cfhandlecount = 1
372
+
373
+ logger.debug("Get initial SWIG C fhandle no %s", self._cfhandlecount)
374
+ return self._cfhandle
375
+
376
+ def cfclose(self, strict: bool = True) -> bool:
377
+ """
378
+ Close SWIG C file handle by keeping track of _cfhandlecount.
379
+
380
+ Returns:
381
+ True if cfhandle is closed.
382
+
383
+ """
384
+ logger.debug("Request for closing SWIG fhandle no: %s", self._cfhandlecount)
385
+
386
+ if self._cfhandle == 0 or self._cfhandlecount == 0:
387
+ if strict:
388
+ raise RuntimeError("Ask to close a nonexisting C file handle")
389
+
390
+ self._cfhandle = 0
391
+ self._cfhandlecount = 0
392
+ return True
393
+
394
+ if self._cfhandlecount > 1:
395
+ self._cfhandlecount -= 1
396
+ logger.debug(
397
+ "Remaining SWIG cfhandles: %s, do not close...", self._cfhandlecount
398
+ )
399
+ return False
400
+
401
+ if (
402
+ isinstance(self.file, io.BytesIO)
403
+ and self._cfhandle > 0
404
+ and "w" in self._mode
405
+ ):
406
+ # this assures that the file pointer is in the end of the current filehandle
407
+ npos = xtgeo._cxtgeo.xtg_ftell(self._cfhandle)
408
+ buf = bytes(npos)
409
+
410
+ copy_code = xtgeo._cxtgeo.xtg_get_fbuffer(self._cfhandle, buf)
411
+ # Returns EXIT_SUCCESS = 0 from C
412
+ if copy_code == 0:
413
+ self.file.write(buf)
414
+ xtgeo._cxtgeo.xtg_fflush(self._cfhandle)
415
+ else:
416
+ raise RuntimeError("Could not write stream for unknown reasons")
417
+
418
+ close_code = xtgeo._cxtgeo.xtg_fclose(self._cfhandle)
419
+ if close_code != 0:
420
+ raise RuntimeError(f"Could not close C file, code {close_code}")
421
+
422
+ logger.debug("File is now closed for C io: %s", self.name)
423
+
424
+ if self._tmpfile:
425
+ try:
426
+ os.remove(self._tmpfile)
427
+ except Exception as ex:
428
+ logger.error("Could not remove tempfile for some reason: %s", ex)
429
+
430
+ self._cfhandle = 0
431
+ self._cfhandlecount = 0
432
+ logger.debug(
433
+ "Remaining SWIG cfhandles: %s, return is True", self._cfhandlecount
434
+ )
435
+ return True
436
+
437
+ def fileformat(self, fileformat: str | None = None) -> FileFormat:
438
+ """
439
+ Try to deduce format from looking at file suffix or contents.
440
+
441
+ The file signature may be the initial part of the binary file/stream but if
442
+ that fails, the file extension is used.
443
+
444
+ Args:
445
+ fileformat (str, None): An optional user-provided string indicating what
446
+ kind of file this is.
447
+
448
+ Raises:
449
+ A ValueError if an invalid or unsupported format is encountered.
450
+
451
+ Returns:
452
+ A FileFormat.
453
+ """
454
+ if fileformat:
455
+ fileformat = fileformat.lower()
456
+ self._validate_fileformat(fileformat)
457
+
458
+ fmt = self._format_from_suffix(fileformat)
459
+ if fmt == FileFormat.UNKNOWN:
460
+ fmt = self._format_from_contents()
461
+ if fmt == FileFormat.UNKNOWN:
462
+ raise InvalidFileFormatError(
463
+ f"File format {fileformat} is unknown or unsupported"
464
+ )
465
+ return fmt
466
+
467
+ def _validate_fileformat(self, fileformat: str | None) -> None:
468
+ """Validate that the pass format string is one XTGeo supports.
469
+
470
+ Raises:
471
+ ValueError: if format is unknown or unsupported
472
+ """
473
+ if not fileformat or fileformat == "guess":
474
+ return
475
+ for fmt in FileFormat:
476
+ if fileformat in fmt.value:
477
+ return
478
+ for regex in fmt.value:
479
+ if "*" in regex and re.compile(regex).match(fileformat):
480
+ return
481
+ raise InvalidFileFormatError(
482
+ f"File format {fileformat} is unknown or unsupported"
483
+ )
484
+
485
+ def _format_from_suffix(self, fileformat: str | None = None) -> FileFormat:
486
+ """Detect format by the file suffix."""
487
+ if not fileformat or fileformat == "guess":
488
+ if isinstance(self.file, (io.BytesIO, io.StringIO)):
489
+ return FileFormat.UNKNOWN
490
+ fileformat = self.file.suffix[1:].lower()
491
+
492
+ for fmt in FileFormat:
493
+ if fileformat in fmt.value:
494
+ logger.debug("Extension hints: %s", fmt)
495
+ return fmt
496
+
497
+ # Fall back to regex
498
+ for fmt in FileFormat:
499
+ for regex in fmt.value:
500
+ if "*" in regex and re.compile(regex).match(fileformat):
501
+ logger.debug("Extension by regexp hints %s", fmt)
502
+ return fmt
503
+
504
+ return FileFormat.UNKNOWN
505
+
506
+ def _format_from_contents(self) -> FileFormat:
507
+ BUFFER_SIZE = 128
508
+ buffer = bytearray(BUFFER_SIZE)
509
+
510
+ if isinstance(self.file, (io.BytesIO, io.StringIO)):
511
+ mark = self.file.tell()
512
+ # Encode to bytes if string
513
+ if isinstance(self.file, io.StringIO):
514
+ strbuf = self.file.read(BUFFER_SIZE)
515
+ buffer = bytearray(strbuf.encode())
516
+ else:
517
+ self.file.readinto(buffer)
518
+ self.file.seek(mark)
519
+ else:
520
+ if not self.exists():
521
+ raise FileNotFoundError(f"File {self.name} does not exist")
522
+ with open(self.file, "rb") as fhandle:
523
+ fhandle.readinto(buffer)
524
+
525
+ # HDF format, different variants
526
+ if len(buffer) >= 4:
527
+ _, hdf = struct.unpack("b 3s", buffer[:4])
528
+ if hdf == b"HDF":
529
+ logger.debug("Signature is hdf")
530
+ return FileFormat.HDF
531
+
532
+ # Irap binary regular surface format
533
+ if len(buffer) >= 8:
534
+ fortranblock, gricode = struct.unpack(">ii", buffer[:8])
535
+ if fortranblock == 32 and gricode == -996:
536
+ logger.debug("Signature is irap binary")
537
+ return FileFormat.IRAP_BINARY
538
+
539
+ # Petromod binary regular surface
540
+ if b"Content=Map" in buffer and b"DataUnitDistance" in buffer:
541
+ logger.debug("Signature is petromod")
542
+ return FileFormat.PETROMOD
543
+
544
+ # Eclipse binary 3D EGRID, look at FILEHEAD:
545
+ # 'FILEHEAD' 100 'INTE'
546
+ # 3 2016 0 0 0 0
547
+ # (ver) (release) (reserved) (backw) (gtype) (dualporo)
548
+ if len(buffer) >= 24:
549
+ fort1, name, num, _, fort2 = struct.unpack("> i 8s i 4s i", buffer[:24])
550
+ if fort1 == 16 and name == b"FILEHEAD" and num == 100 and fort2 == 16:
551
+ logger.debug("Signature is egrid")
552
+ return FileFormat.EGRID
553
+ # Eclipse binary 3D UNRST, look for SEQNUM:
554
+ # 'SEQNUM' 1 'INTE'
555
+ if fort1 == 16 and name == b"SEQNUM " and num == 1 and fort2 == 16:
556
+ logger.debug("Signature is unrst")
557
+ return FileFormat.UNRST
558
+ # Eclipse binary 3D INIT, look for INTEHEAD:
559
+ # 'INTEHEAD' 411 'INTE'
560
+ if fort1 == 16 and name == b"INTEHEAD" and num > 400 and fort2 == 16:
561
+ logger.debug("Signature is init")
562
+ return FileFormat.INIT
563
+
564
+ if len(buffer) >= 9:
565
+ name, _ = struct.unpack("8s b", buffer[:9])
566
+ if name == b"roff-bin":
567
+ logger.debug("Signature is roff_binary")
568
+ return FileFormat.ROFF_BINARY
569
+ if name == b"roff-asc":
570
+ logger.debug("Signature is roff_ascii")
571
+ return FileFormat.ROFF_ASCII
572
+
573
+ # RMS well format (ascii)
574
+ # 1.0
575
+ # Unknown
576
+ # WELL12 90941.63200000004 5506367.711 23.0
577
+ # ...
578
+ # The signature here is one float in first line with values 1.0; one string
579
+ # in second line; and 3 or 4 items in the next (sometimes RKB is missing)
580
+ try:
581
+ xbuf = buffer.decode().split("\n")
582
+ except UnicodeDecodeError:
583
+ return FileFormat.UNKNOWN
584
+
585
+ if (
586
+ len(xbuf) >= 3
587
+ and xbuf[0] == "1.0"
588
+ and len(xbuf[1]) >= 1
589
+ and len(xbuf[2]) >= 10
590
+ ):
591
+ logger.debug("Signature is rmswell")
592
+ return FileFormat.RMSWELL
593
+
594
+ return FileFormat.UNKNOWN
@@ -0,0 +1,17 @@
1
+ """XTGeo metadata package."""
2
+
3
+ from .metadata import (
4
+ MetaDataCPGeometry,
5
+ MetaDataCPProperty,
6
+ MetaDataRegularCube,
7
+ MetaDataRegularSurface,
8
+ MetaDataWell,
9
+ )
10
+
11
+ __all__ = [
12
+ "MetaDataRegularCube",
13
+ "MetaDataRegularSurface",
14
+ "MetaDataCPGeometry",
15
+ "MetaDataCPProperty",
16
+ "MetaDataWell",
17
+ ]