xtgeo 4.13.1__cp310-cp310-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-310-aarch64-linux-gnu.so +0 -0
  5. xtgeo/_internal.cpython-310-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
@@ -0,0 +1,532 @@
1
+ """Import Cube data via SegyIO library or XTGeo CLIB.
2
+
3
+ Data model in XTGeo illustrated by example: ncol=3, nrow=4 (non-rotated):
4
+
5
+ 3 7 ^ "J, ~NORTH" direction
6
+ xline=1022 +--------------+--------------+11 | (if unrotated)
7
+ | | | |
8
+ | | | |
9
+ | | |
10
+ |2 |6 |10
11
+ xline=1020 +--------------+--------------+ Rotation is school angle of
12
+ | | | "I east" vs X axis
13
+ | | |
14
+ | | |
15
+ |1 |5 |9
16
+ xline=1018 +--------------+--------------+
17
+ | | |
18
+ | | |
19
+ | | |
20
+ |0 |4 |8
21
+ xline=1016 +--------------+--------------+ ------> "I, ~EAST" direction
22
+
23
+ iline=4400 iline=4401 iline=4402
24
+
25
+ Indices is fastest along "J" (C order), and xlines and ilines spacing may vary (2 for
26
+ xline, 1 for iline in this example) but shall be constant per axis
27
+
28
+ """
29
+
30
+ from __future__ import annotations
31
+
32
+ import json
33
+ from collections import defaultdict
34
+ from copy import deepcopy
35
+ from struct import unpack
36
+ from typing import TYPE_CHECKING
37
+ from warnings import warn
38
+
39
+ import numpy as np
40
+ import segyio
41
+ from segyio import TraceField as TF
42
+
43
+ import xtgeo.common.sys as xsys
44
+ from xtgeo import _cxtgeo
45
+ from xtgeo.common import calc
46
+ from xtgeo.common.constants import UNDEF
47
+ from xtgeo.common.log import null_logger
48
+ from xtgeo.common.xtgeo_dialog import XTGeoDialog
49
+ from xtgeo.metadata.metadata import MetaDataRegularCube
50
+
51
+ if TYPE_CHECKING:
52
+ from xtgeo.io._file import FileWrapper
53
+
54
+ xtg = XTGeoDialog()
55
+ logger = null_logger(__name__)
56
+
57
+
58
+ def import_segy(sfile: FileWrapper) -> dict:
59
+ """Import SEGY via the SegyIO library.
60
+
61
+ Args:
62
+ sfile: File object for SEGY file
63
+ """
64
+ sfile = sfile.file
65
+
66
+ attributes = {}
67
+
68
+ try:
69
+ # cube with all traces present
70
+ with segyio.open(sfile, "r") as segyfile:
71
+ attributes = _import_segy_all_traces(segyfile)
72
+ except ValueError as verr:
73
+ if any(word in str(verr) for word in ["Invalid dimensions", "inconsistent"]):
74
+ # cube with missing traces is now handled but his is complex, hence users
75
+ # shall be warned. With more experience, this warning can be removed.
76
+ warn(
77
+ "Missing or inconsistent traces in SEGY detected, xtgeo will try "
78
+ "to import by infilling, but please check result carefully!",
79
+ UserWarning,
80
+ )
81
+
82
+ with segyio.open(sfile, "r", ignore_geometry=True) as segyfile:
83
+ attributes = _import_segy_incomplete_traces(segyfile)
84
+ else:
85
+ raise
86
+ except Exception as anyerror: # catch the rest
87
+ raise OSError(f"Cannot parse SEGY file: {str(anyerror)}") from anyerror
88
+
89
+ if not attributes:
90
+ raise ValueError("Could not get attributes for segy file")
91
+
92
+ attributes["segyfile"] = sfile
93
+ return attributes
94
+
95
+
96
+ def _import_segy_all_traces(segyfile: segyio.segy.SegyFile) -> dict:
97
+ """Import a a full cube SEGY via the SegyIO library to xtgeo format spec.
98
+
99
+ Here, the segyio.tools.cube function can be applied
100
+
101
+ Args:
102
+ segyfile: Filehandle from segyio
103
+ """
104
+ segyfile.mmap()
105
+
106
+ values = _process_cube_values(segyio.tools.cube(segyfile))
107
+
108
+ ilines = segyfile.ilines
109
+ xlines = segyfile.xlines
110
+
111
+ ncol, nrow, nlay = values.shape
112
+
113
+ # get additional but required geometries for xtgeo; xori, yori, xinc, ..., rotation
114
+ attrs = _segy_all_traces_attributes(segyfile, ncol, nrow, nlay)
115
+
116
+ attrs["ilines"] = ilines
117
+ attrs["xlines"] = xlines
118
+ attrs["values"] = values
119
+
120
+ return attrs
121
+
122
+
123
+ def _process_cube_values(values: np.ndarray) -> np.ndarray:
124
+ """Helper function to validate/check values."""
125
+ if values.dtype != np.float32:
126
+ xtg.warnuser(f"Values are converted from {values.dtype} to float32")
127
+ values = values.astype(np.float32)
128
+ if np.any(np.isnan(values)):
129
+ raise ValueError(
130
+ f"The input values: {values} contains NaN values which is currently "
131
+ "not handled!"
132
+ )
133
+
134
+ return values
135
+
136
+
137
+ def _segy_all_traces_attributes(
138
+ segyfile: segyio.segy.SegyFile, ncol, nrow, nlay
139
+ ) -> dict:
140
+ """Get the geometrical values xtgeo needs for a cube definition."""
141
+ trcode = segyio.TraceField.TraceIdentificationCode
142
+ traceidcodes = segyfile.attributes(trcode)[:].reshape(ncol, nrow)
143
+
144
+ # need positions in corners for making vectors to compute geometries
145
+ c1v = calc.ijk_to_ib(1, 1, 1, ncol, nrow, 1, forder=False)
146
+ c2v = calc.ijk_to_ib(ncol, 1, 1, ncol, nrow, 1, forder=False)
147
+ c3v = calc.ijk_to_ib(1, nrow, 1, ncol, nrow, 1, forder=False)
148
+
149
+ xori, yori, zori, zinc = _get_coordinate(segyfile, c1v)
150
+ point_x1, point_y1, _, _ = _get_coordinate(segyfile, c2v)
151
+ point_x2, point_y2, _, _ = _get_coordinate(segyfile, c3v)
152
+
153
+ slen1, _, rotation = calc.vectorinfo2(xori, point_x1, yori, point_y1)
154
+ xinc = slen1 / (ncol - 1)
155
+
156
+ slen2, _, _ = calc.vectorinfo2(xori, point_x2, yori, point_y2)
157
+ yinc = slen2 / (nrow - 1)
158
+
159
+ # find YFLIP by cross products
160
+ yflip = calc.find_flip(
161
+ (point_x1 - xori, point_y1 - yori, 0), (point_x2 - xori, point_y2 - yori, 0)
162
+ )
163
+
164
+ return {
165
+ "ncol": ncol,
166
+ "nrow": nrow,
167
+ "nlay": nlay,
168
+ "xori": xori,
169
+ "xinc": xinc,
170
+ "yori": yori,
171
+ "yinc": yinc,
172
+ "zori": zori,
173
+ "zinc": zinc,
174
+ "rotation": rotation,
175
+ "yflip": yflip,
176
+ "traceidcodes": traceidcodes,
177
+ }
178
+
179
+
180
+ def _import_segy_incomplete_traces(segyfile: segyio.segy.SegyFile) -> dict:
181
+ """Import a a cube SEGY with incomplete traces via the SegyIO library.
182
+
183
+ Note that the undefined value will be xtgeo.UNDEF (large number)!
184
+
185
+ It is also logical to treat missing traces as dead traces, i.e. the should
186
+ get value 2 in traceidcodes
187
+
188
+ Args:
189
+ segyfile: Filehandle from segyio
190
+ """
191
+ segyfile.mmap()
192
+ # get data (which will need padding later for missing traces)
193
+ data = segyfile.trace.raw[:]
194
+
195
+ trcode = segyio.TraceField.TraceIdentificationCode
196
+ traceidcodes_input = segyfile.attributes(trcode)[:]
197
+
198
+ ilines_case = np.array([h[TF.INLINE_3D] for h in segyfile.header])
199
+ xlines_case = np.array([h[TF.CROSSLINE_3D] for h in segyfile.header])
200
+
201
+ # detect minimum inline and xline spacing (e.g.sampling could be every second)
202
+ idiff = np.diff(ilines_case)
203
+ xdiff = np.diff(xlines_case)
204
+ ispacing = int(np.abs(idiff[idiff != 0]).min())
205
+ xspacing = int(np.abs(xdiff[xdiff != 0]).min())
206
+
207
+ ncol = int(abs(ilines_case.min() - ilines_case.max()) / ispacing) + 1
208
+ nrow = int(abs(xlines_case.min() - xlines_case.max()) / xspacing) + 1
209
+ nlay = data.shape[1]
210
+
211
+ values = np.full((ncol, nrow, nlay), UNDEF, dtype=np.float32)
212
+ traceidcodes = np.full((ncol, nrow), 2, dtype=np.int64)
213
+
214
+ ilines_shifted = (ilines_case / ispacing).astype(np.int64)
215
+ ilines_shifted -= ilines_shifted.min()
216
+ xlines_shifted = (xlines_case / xspacing).astype(np.int64)
217
+ xlines_shifted -= xlines_shifted.min()
218
+
219
+ values[ilines_shifted, xlines_shifted, :] = data
220
+ values = _process_cube_values(values)
221
+ traceidcodes[ilines_shifted, xlines_shifted] = traceidcodes_input
222
+
223
+ # generate new ilines, xlines vector with unique values
224
+ ilines = np.array(
225
+ range(ilines_case.min(), ilines_case.max() + ispacing, ispacing), dtype=np.int32
226
+ )
227
+ xlines = np.array(
228
+ range(xlines_case.min(), xlines_case.max() + xspacing, xspacing), dtype=np.int32
229
+ )
230
+
231
+ attrs = _geometry_incomplete_traces(
232
+ segyfile,
233
+ ncol,
234
+ nrow,
235
+ ilines,
236
+ xlines,
237
+ ilines_case,
238
+ xlines_case,
239
+ ispacing,
240
+ xspacing,
241
+ )
242
+
243
+ attrs["ncol"] = ncol
244
+ attrs["nrow"] = nrow
245
+ attrs["nlay"] = nlay
246
+ attrs["ilines"] = ilines
247
+ attrs["xlines"] = xlines
248
+ attrs["values"] = values
249
+ attrs["traceidcodes"] = traceidcodes
250
+ return attrs
251
+
252
+
253
+ def _inverse_anyline_map(anylines: list[int]) -> dict:
254
+ """Small helper function to get e.g. inline 2345: [0, 1, 2, .., 70].
255
+
256
+ I.e. to get a mapping between inline number and a list of possible indices
257
+
258
+ """
259
+ anyll = defaultdict(list)
260
+ for ind, key in enumerate(anylines):
261
+ anyll[key].append(ind)
262
+
263
+ return anyll
264
+
265
+
266
+ def _find_long_line(anyll: dict, nany: int) -> list:
267
+ """Helper function; get index of vectors indices to be used for calculations.
268
+
269
+ Look for a "sufficiently" long inline/xline, as long distance between points
270
+ increases accuracy.
271
+
272
+ """
273
+ minimumlen = int(nany * 0.8) # get at least 80% length if possible
274
+ maxlenfound = -1
275
+
276
+ keepresult = []
277
+ for indices in anyll.values():
278
+ result = [indices[0], indices[-1]]
279
+ indlen = len(indices)
280
+ if indlen > maxlenfound:
281
+ maxlenfound = indlen
282
+ keepresult = deepcopy(result)
283
+
284
+ if indlen >= minimumlen:
285
+ break
286
+
287
+ if not keepresult or abs(keepresult[1] - keepresult[0]) == 0:
288
+ raise RuntimeError("Not able to get inline or xline vector for geometry")
289
+ return keepresult
290
+
291
+
292
+ def _geometry_incomplete_traces(
293
+ segyfile: segyio.segy.SegyFile,
294
+ ncol: int,
295
+ nrow: int,
296
+ ilines: list[int],
297
+ xlines: list[int],
298
+ ilines_case: list[int],
299
+ xlines_case: list[int],
300
+ ispacing: int,
301
+ xspacing: int,
302
+ ) -> list:
303
+ """Compute xtgeo attributes (mostly geometries) for incomplete trace cube."""
304
+ attrs = {}
305
+
306
+ ill = _inverse_anyline_map(ilines_case)
307
+ xll = _inverse_anyline_map(xlines_case)
308
+
309
+ # need both partial and full reverse lookup of indices vs (iline, xxline)
310
+ # for computing cube origin later
311
+ index_case = {
312
+ ind: (h[TF.INLINE_3D], h[TF.CROSSLINE_3D])
313
+ for ind, h in enumerate(segyfile.header)
314
+ }
315
+
316
+ reverseindex_full = {
317
+ (il, xl): (ind, xnd)
318
+ for ind, il in enumerate(ilines)
319
+ for xnd, xl in enumerate(xlines)
320
+ }
321
+
322
+ jnd1, jnd2 = _find_long_line(ill, ncol) # 2 indices along constant iline, aka JY
323
+ ind1, ind2 = _find_long_line(xll, nrow) # 2 indices along constant xline, aka IX
324
+
325
+ il1x, il1y, zori, zinc = _get_coordinate(segyfile, ind1)
326
+ il2x, il2y, _, _ = _get_coordinate(segyfile, ind2)
327
+
328
+ jl1x, jl1y, _, _ = _get_coordinate(segyfile, jnd1)
329
+ jl2x, jl2y, _, _ = _get_coordinate(segyfile, jnd2)
330
+
331
+ xslen, _, rot1 = calc.vectorinfo2(il1x, il2x, il1y, il2y)
332
+ xinc = ispacing * xslen / (abs(ilines_case[ind1] - ilines_case[ind2]))
333
+ yslen, _, _ = calc.vectorinfo2(jl1x, jl2x, jl1y, jl2y)
334
+ yinc = xspacing * yslen / (abs(xlines_case[jnd1] - xlines_case[jnd2]))
335
+
336
+ yflip = calc.find_flip((il2x - il1x, il2y - il1y, 0), (jl2x - jl1x, jl2y - jl1y, 0))
337
+
338
+ # need to compute xori and yori from 'case' I J indices with known x y and
339
+ # (iline, xline); use ind1 with assosiated coordinates il1x il1y
340
+ i_use, j_use = reverseindex_full[index_case[ind1]]
341
+ xori, yori = calc.xyori_from_ij(
342
+ i_use, j_use, il1x, il1y, xinc, yinc, ncol, nrow, yflip, rot1
343
+ )
344
+
345
+ attrs["xori"] = xori
346
+ attrs["yori"] = yori
347
+ attrs["zori"] = zori
348
+ attrs["xinc"] = xinc
349
+ attrs["yinc"] = yinc
350
+ attrs["zinc"] = zinc
351
+ attrs["yflip"] = yflip
352
+ attrs["rotation"] = rot1
353
+
354
+ return attrs
355
+
356
+
357
+ def _get_coordinate(
358
+ segyfile: segyio.segy.SegyFile, segyindex: int
359
+ ) -> tuple[float, float, float, float]:
360
+ """Helper function to get coordinates given a index."""
361
+ origin = segyfile.header[segyindex][
362
+ segyio.su.cdpx,
363
+ segyio.su.cdpy,
364
+ segyio.su.scalco,
365
+ segyio.su.delrt,
366
+ segyio.su.dt,
367
+ segyio.su.iline,
368
+ segyio.su.xline,
369
+ ]
370
+
371
+ point_x = origin[segyio.su.cdpx]
372
+ point_y = origin[segyio.su.cdpy]
373
+ scaler = origin[segyio.su.scalco]
374
+ if scaler < 0:
375
+ point_x = -1 * float(point_x) / scaler
376
+ point_y = -1 * float(point_y) / scaler
377
+ else:
378
+ point_x = point_x * scaler
379
+ point_y = point_y * scaler
380
+
381
+ zori = origin[segyio.su.delrt]
382
+ zinc = origin[segyio.su.dt] / 1000.0
383
+
384
+ return point_x, point_y, zori, zinc
385
+
386
+
387
+ def import_stormcube(
388
+ sfile: FileWrapper,
389
+ ) -> dict:
390
+ """Import on StormCube format."""
391
+ # The ASCII header has all the metadata on the form:
392
+ # ---------------------------------------------------------------------
393
+ # storm_petro_binary // always
394
+ #
395
+ # 0 ModelFile -999 // zonenumber, source_of_file, undef_value
396
+ #
397
+ # UNKNOWN // name_of_parameter?
398
+ #
399
+ # 452638.45298827 6262.499 6780706.6462283 10762.4999 1800 2500 0 0
400
+ # 700 -0.80039470880765
401
+ #
402
+ # 501 861 140
403
+ # ---------------------------------------------------------------------
404
+ # The rest is float32 binary data, I (column fastest), then J, then K
405
+ # a total of ncol * nrow * nlay
406
+
407
+ # Scan the header with Python; then use CLIB for the binary data
408
+ sfile = str(sfile.file)
409
+ with open(sfile, "rb") as stf:
410
+ iline = 0
411
+
412
+ ncol = nrow = nlay = nlines = 1
413
+ xori = yori = zori = xinc = yinc = rotation = rot = 0.999
414
+ xlen = ylen = zlen = 0.999
415
+
416
+ for line in range(10):
417
+ xline = stf.readline()
418
+ if not xline.strip():
419
+ continue
420
+
421
+ iline += 1
422
+ if iline == 1:
423
+ pass
424
+ elif iline == 2:
425
+ _, _, _ = xline.strip().split()
426
+ elif iline == 3:
427
+ pass
428
+ elif iline == 4:
429
+ (xori, xlen, yori, ylen, zori, _, _, _) = xline.strip().split()
430
+ elif iline == 5:
431
+ zlen, rot = xline.strip().split()
432
+ elif iline == 6:
433
+ ncol, nrow, nlay = xline.strip().split()
434
+ nlines = line + 2
435
+ break
436
+
437
+ ncol = int(ncol)
438
+ nrow = int(nrow)
439
+ nlay = int(nlay)
440
+ nrcl = ncol * nrow * nlay
441
+
442
+ xori = float(xori)
443
+ yori = float(yori)
444
+ zori = float(zori)
445
+
446
+ rotation = float(rot)
447
+ if rotation < 0:
448
+ rotation += 360
449
+
450
+ xinc = float(xlen) / ncol
451
+ yinc = float(ylen) / nrow
452
+ zinc = float(zlen) / nlay
453
+
454
+ yflip = 1
455
+
456
+ if yinc < 0:
457
+ yflip = -1
458
+ yinc = yinc * yflip # not sure if this will ever happen
459
+
460
+ ier, values = _cxtgeo.cube_import_storm(ncol, nrow, nlay, sfile, nlines, nrcl, 0)
461
+
462
+ if ier != 0:
463
+ raise RuntimeError(f"Something went wrong in {__name__}, code is {ier}")
464
+
465
+ return {
466
+ "ncol": ncol,
467
+ "nrow": nrow,
468
+ "nlay": nlay,
469
+ "xori": xori,
470
+ "xinc": xinc,
471
+ "yori": yori,
472
+ "yinc": yinc,
473
+ "zori": zori,
474
+ "zinc": zinc,
475
+ "rotation": rotation,
476
+ "values": values.reshape((ncol, nrow, nlay)),
477
+ "yflip": yflip,
478
+ }
479
+
480
+
481
+ def import_xtgregcube(mfile, values=True):
482
+ """Using pure python for experimental cube import, xtgregsurf format."""
483
+ logger.info("Importing cube on xtgregcube format...")
484
+
485
+ offset = 36
486
+ with open(mfile.file, "rb") as fhandle:
487
+ buf = fhandle.read(offset)
488
+
489
+ # unpack header
490
+ swap, magic, nfloat, ncol, nrow, nlay = unpack("= i i i q q q", buf)
491
+
492
+ if swap != 1 or magic != 1201:
493
+ raise ValueError("Invalid file format (wrong swap id or magic number).")
494
+
495
+ dtype = np.float32 if nfloat == 4 else np.float64
496
+
497
+ vals = None
498
+ narr = ncol * nrow * nlay
499
+
500
+ if values:
501
+ vals = xsys.npfromfile(mfile.file, dtype=dtype, count=narr, offset=offset)
502
+
503
+ # read metadata which will be at position offet + nfloat*narr +13
504
+ pos = offset + nfloat * narr + 13
505
+
506
+ with open(mfile.file, "rb") as fhandle:
507
+ fhandle.seek(pos)
508
+ jmeta = fhandle.read().decode()
509
+
510
+ meta = json.loads(jmeta, object_pairs_hook=dict)
511
+ req = meta["_required_"]
512
+
513
+ reqattrs = MetaDataRegularCube.REQUIRED
514
+
515
+ results = {myattr: req[myattr] for myattr in reqattrs}
516
+
517
+ # For backwards compatability, xtgeo outputs files with the undef field set
518
+ # although we do not support initializing with any other value.
519
+ # As xtgeo-format is only written/read by xtgeo as far as we know, this should
520
+ # be unproblematic for now.
521
+ if results.pop("undef", None) != UNDEF:
522
+ raise ValueError(
523
+ f"File {mfile.file} has non-standard undef, not supported by xtgeo"
524
+ )
525
+
526
+ # TODO: dead traces and traceidcodes
527
+ if values:
528
+ results["values"] = vals.reshape(
529
+ results["ncol"], results["nrow"], results["nlay"]
530
+ )
531
+
532
+ return results
@@ -0,0 +1,180 @@
1
+ # coding: utf-8
2
+ """Roxar API functions for XTGeo Cube
3
+
4
+ Note on rotation:
5
+
6
+ xtgeo uses rotation of "columns" whick is xline direction counterclockwise
7
+ measured from X axis.
8
+
9
+ roxarapi uses rotation of inline direction (rows) relative to Y axis.
10
+ api < 1.4: counterclockwise "rotation"
11
+ api >= 1.4 clockwise "orientation"
12
+
13
+ Seems like self._rotation == roxar.orientation * -1 anyway @ reverse engineering/testing
14
+
15
+ """
16
+
17
+ import numpy as np
18
+
19
+ from xtgeo.common import XTGeoDialog, null_logger
20
+ from xtgeo.roxutils import RoxUtils
21
+ from xtgeo.roxutils._roxar_loader import roxar
22
+
23
+ xtg = XTGeoDialog()
24
+
25
+ logger = null_logger(__name__)
26
+
27
+
28
+ def import_cube_roxapi(self, project, name, folder=None): # pragma: no cover
29
+ """Import (transfer) a Cube via ROXAR API container to XTGeo.
30
+
31
+ .. versionadded:: 2.1
32
+ """
33
+ rox = RoxUtils(project, readonly=True)
34
+
35
+ proj = rox.project
36
+
37
+ _roxapi_import_cube(self, rox, proj, name, folder)
38
+
39
+
40
+ def _roxapi_import_cube(self, rox, proj, name, folder): # pragma: no cover
41
+ """Short summary.
42
+
43
+ Args:
44
+ proj (object): RMS magic project.
45
+ name (str): Name of cube.
46
+ folder (str): Cube folder in RMS.
47
+
48
+ """
49
+ # note that name must be in brackets
50
+ path = [name]
51
+ if folder is not None:
52
+ fld = folder.split("/")
53
+ path = fld + path
54
+
55
+ if path not in proj.seismic.data:
56
+ raise ValueError(f"Path {path} is not within RMS Seismic Cube container")
57
+ try:
58
+ rcube = proj.seismic.data[path]
59
+ _roxapi_cube_to_xtgeo(self, rox, rcube)
60
+ except KeyError as emsg:
61
+ logger.error(emsg)
62
+ raise
63
+
64
+
65
+ def _roxapi_cube_to_xtgeo(self, rox, rcube): # pragma: no cover
66
+ """Tranforming cube from ROXAPI to XTGeo object."""
67
+ logger.info("Cube from roxapi to xtgeo...")
68
+
69
+ # roxrotation is cube rotation clockwise from azimuth but not consistent
70
+ roxrotation = rcube.orientation
71
+
72
+ roxhandedness = str(rcube.handedness)
73
+
74
+ self._xori, self._yori = rcube.origin
75
+ self._zori = rcube.first_z
76
+ self._zinc = rcube.sample_rate
77
+ self._ncol, self._nrow, self._nlay = rcube.dimensions
78
+ self._xinc, self._yinc = rcube.increment
79
+
80
+ self._rotation = roxrotation * -1
81
+
82
+ if self._rotation < 0:
83
+ self._rotation += 360
84
+ elif self._rotation > 360:
85
+ self._rotation -= 360
86
+
87
+ self._yflip = 1
88
+ if roxhandedness == "right":
89
+ self._yflip = -1
90
+
91
+ il_start = rcube.get_inline(0)
92
+ xl_start = rcube.get_crossline(0)
93
+ il_incr, xl_incr = rcube.inline_crossline_increment
94
+ il_end = (self._ncol) * il_incr + il_start
95
+ xl_end = (self._nrow) * xl_incr + xl_start
96
+
97
+ self._ilines = np.array(range(il_start, il_end, il_incr), dtype=np.int32)
98
+ self._xlines = np.array(range(xl_start, xl_end, xl_incr), dtype=np.int32)
99
+
100
+ # roxar API does not store traceid codes, assume 1
101
+ self._traceidcodes = np.ones((self._ncol, self._nrow), dtype=np.int32)
102
+
103
+ if rcube.is_empty:
104
+ xtg.warn("Cube has no data; assume 0")
105
+ else:
106
+ self.values = rcube.get_values()
107
+
108
+
109
+ def export_cube_roxapi(
110
+ self, project, name, folder=None, domain="time", compression=("wavelet", 5)
111
+ ): # pragma: no cover
112
+ """Export (store) a Seismic cube to RMS via ROXAR API spec."""
113
+ rox = RoxUtils(project, readonly=False)
114
+
115
+ logger.debug("TODO: compression %s", compression)
116
+
117
+ _roxapi_export_cube(
118
+ self,
119
+ rox.project,
120
+ rox,
121
+ name,
122
+ folder=folder,
123
+ domain=domain,
124
+ compression=compression,
125
+ )
126
+
127
+ if rox._roxexternal:
128
+ rox.project.save()
129
+
130
+ rox.safe_close()
131
+
132
+
133
+ def _roxapi_export_cube(
134
+ self, proj, rox, name, folder=None, domain="time", compression=("wavelet", 5)
135
+ ): # type: ignore # pragma: no cover
136
+ logger.info(
137
+ "There are issues with compression %s, hence it is ignored", compression
138
+ )
139
+
140
+ path = []
141
+ if folder is not None:
142
+ fld = folder.split("/")
143
+ path = fld + path
144
+
145
+ rcube = proj.seismic.data.create_cube(name, path=path)
146
+
147
+ # populate
148
+ origin = (float(self.xori), float(self.yori))
149
+ first_z = self.zori
150
+ increment = (self.xinc, self.yinc)
151
+ sample_rate = self.zinc
152
+ rotation = self.rotation
153
+ vertical_domain = roxar.VerticalDomain.time
154
+ if domain == "depth":
155
+ vertical_domain = roxar.VerticalDomain.depth
156
+
157
+ values = self.values.copy() # copy() needed?
158
+
159
+ handedness = roxar.Direction.left
160
+ if self.yflip == -1:
161
+ handedness = roxar.Direction.right
162
+
163
+ # inline xline vector
164
+ ilstart = self.ilines[0]
165
+ xlstart = self.xlines[0]
166
+ ilincr = self.ilines[1] - self.ilines[0]
167
+ xlincr = self.xlines[1] - self.xlines[0]
168
+
169
+ rcube.set_seismic(
170
+ values,
171
+ origin,
172
+ increment,
173
+ first_z,
174
+ sample_rate,
175
+ rotation * -1,
176
+ vertical_domain=vertical_domain,
177
+ handedness=handedness,
178
+ inline_crossline_start=(ilstart, xlstart),
179
+ inline_crossline_increment=(ilincr, xlincr),
180
+ )