xtgeo 4.10.1__cp313-cp313-macosx_11_0_arm64.whl → 4.14.0__cp313-cp313-macosx_11_0_arm64.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 (578) hide show
  1. cxtgeo.py +0 -18
  2. cxtgeoPYTHON_wrap.c +0 -843
  3. xtgeo/__init__.py +2 -0
  4. xtgeo/_cxtgeo.cpython-313-darwin.so +0 -0
  5. xtgeo/_internal.cpython-313-darwin.so +0 -0
  6. xtgeo/common/version.py +16 -3
  7. xtgeo/cube/_cube_window_attributes.py +60 -127
  8. xtgeo/grid3d/_ecl_grid.py +6 -2
  9. xtgeo/grid3d/_ecl_inte_head.py +6 -2
  10. xtgeo/grid3d/_grdecl_format.py +43 -0
  11. xtgeo/grid3d/_grdecl_grid.py +24 -12
  12. xtgeo/grid3d/_grid_etc1.py +183 -69
  13. xtgeo/grid3d/_grid_export.py +4 -3
  14. xtgeo/grid3d/_grid_hybrid.py +13 -29
  15. xtgeo/grid3d/_grid_refine.py +1 -1
  16. xtgeo/grid3d/_grid_translate_coords.py +154 -0
  17. xtgeo/grid3d/_gridprop_export.py +34 -12
  18. xtgeo/grid3d/_gridprop_op1.py +74 -8
  19. xtgeo/grid3d/_gridprop_roxapi.py +87 -25
  20. xtgeo/grid3d/grid.py +198 -36
  21. xtgeo/grid3d/grid_property.py +5 -27
  22. xtgeo/include/eigen3/Eigen/Cholesky +45 -0
  23. xtgeo/include/eigen3/Eigen/CholmodSupport +48 -0
  24. xtgeo/include/eigen3/Eigen/Core +384 -0
  25. xtgeo/include/eigen3/Eigen/Dense +7 -0
  26. xtgeo/include/eigen3/Eigen/Eigen +2 -0
  27. xtgeo/include/eigen3/Eigen/Eigenvalues +60 -0
  28. xtgeo/include/eigen3/Eigen/Geometry +59 -0
  29. xtgeo/include/eigen3/Eigen/Householder +29 -0
  30. xtgeo/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  31. xtgeo/include/eigen3/Eigen/Jacobi +32 -0
  32. xtgeo/include/eigen3/Eigen/KLUSupport +41 -0
  33. xtgeo/include/eigen3/Eigen/LU +47 -0
  34. xtgeo/include/eigen3/Eigen/MetisSupport +35 -0
  35. xtgeo/include/eigen3/Eigen/OrderingMethods +70 -0
  36. xtgeo/include/eigen3/Eigen/PaStiXSupport +49 -0
  37. xtgeo/include/eigen3/Eigen/PardisoSupport +35 -0
  38. xtgeo/include/eigen3/Eigen/QR +50 -0
  39. xtgeo/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  40. xtgeo/include/eigen3/Eigen/SPQRSupport +34 -0
  41. xtgeo/include/eigen3/Eigen/SVD +50 -0
  42. xtgeo/include/eigen3/Eigen/Sparse +34 -0
  43. xtgeo/include/eigen3/Eigen/SparseCholesky +37 -0
  44. xtgeo/include/eigen3/Eigen/SparseCore +69 -0
  45. xtgeo/include/eigen3/Eigen/SparseLU +50 -0
  46. xtgeo/include/eigen3/Eigen/SparseQR +36 -0
  47. xtgeo/include/eigen3/Eigen/StdDeque +27 -0
  48. xtgeo/include/eigen3/Eigen/StdList +26 -0
  49. xtgeo/include/eigen3/Eigen/StdVector +27 -0
  50. xtgeo/include/eigen3/Eigen/SuperLUSupport +64 -0
  51. xtgeo/include/eigen3/Eigen/UmfPackSupport +40 -0
  52. xtgeo/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  53. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  54. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  55. xtgeo/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  56. xtgeo/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  57. xtgeo/include/eigen3/Eigen/src/Core/Array.h +417 -0
  58. xtgeo/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  59. xtgeo/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  60. xtgeo/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  61. xtgeo/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  62. xtgeo/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  63. xtgeo/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  64. xtgeo/include/eigen3/Eigen/src/Core/Block.h +448 -0
  65. xtgeo/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  66. xtgeo/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  67. xtgeo/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  68. xtgeo/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  69. xtgeo/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  70. xtgeo/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  71. xtgeo/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  72. xtgeo/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  73. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  74. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  75. xtgeo/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  76. xtgeo/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  77. xtgeo/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  78. xtgeo/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  79. xtgeo/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  80. xtgeo/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  81. xtgeo/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  82. xtgeo/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  83. xtgeo/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  84. xtgeo/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  85. xtgeo/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  86. xtgeo/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  87. xtgeo/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  88. xtgeo/include/eigen3/Eigen/src/Core/IO.h +258 -0
  89. xtgeo/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  90. xtgeo/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  91. xtgeo/include/eigen3/Eigen/src/Core/Map.h +171 -0
  92. xtgeo/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  93. xtgeo/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  94. xtgeo/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  95. xtgeo/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  96. xtgeo/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  97. xtgeo/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  98. xtgeo/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  99. xtgeo/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  100. xtgeo/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  101. xtgeo/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  102. xtgeo/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  103. xtgeo/include/eigen3/Eigen/src/Core/Product.h +191 -0
  104. xtgeo/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  105. xtgeo/include/eigen3/Eigen/src/Core/Random.h +218 -0
  106. xtgeo/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  107. xtgeo/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  108. xtgeo/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  109. xtgeo/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  110. xtgeo/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  111. xtgeo/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  112. xtgeo/include/eigen3/Eigen/src/Core/Select.h +164 -0
  113. xtgeo/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  114. xtgeo/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  115. xtgeo/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  116. xtgeo/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  117. xtgeo/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  118. xtgeo/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  119. xtgeo/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  120. xtgeo/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  121. xtgeo/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  122. xtgeo/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  123. xtgeo/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  124. xtgeo/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  125. xtgeo/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  126. xtgeo/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  127. xtgeo/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  128. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  129. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  130. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  131. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  132. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  133. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  134. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  135. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  136. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  137. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  138. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  139. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  140. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  141. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  142. xtgeo/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  143. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  144. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  145. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  146. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  147. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  148. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  149. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  150. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  151. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  152. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  153. xtgeo/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  154. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  155. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  156. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  157. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  158. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  159. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  160. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  161. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  162. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  163. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  164. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  165. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  166. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  167. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  168. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  169. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  170. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  171. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  172. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  173. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  174. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  175. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  176. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  177. xtgeo/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  178. xtgeo/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  179. xtgeo/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  180. xtgeo/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  181. xtgeo/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  182. xtgeo/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  183. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  184. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  185. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  186. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  187. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  188. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  189. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  190. xtgeo/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  191. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  192. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  193. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  194. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  195. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  196. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  197. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  198. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  199. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  200. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  201. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  202. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  203. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  204. xtgeo/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  205. xtgeo/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  206. xtgeo/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  207. xtgeo/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  208. xtgeo/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  209. xtgeo/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  210. xtgeo/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  211. xtgeo/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  212. xtgeo/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  213. xtgeo/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  214. xtgeo/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  215. xtgeo/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  216. xtgeo/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  217. xtgeo/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  218. xtgeo/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  219. xtgeo/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  220. xtgeo/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  221. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  222. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  223. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  224. xtgeo/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  225. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  226. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  227. xtgeo/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  228. xtgeo/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  229. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  230. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  231. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  232. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  233. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  234. xtgeo/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  235. xtgeo/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  236. xtgeo/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  237. xtgeo/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  238. xtgeo/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  239. xtgeo/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  240. xtgeo/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  241. xtgeo/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  242. xtgeo/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  243. xtgeo/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  244. xtgeo/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  245. xtgeo/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  246. xtgeo/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  247. xtgeo/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  248. xtgeo/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  249. xtgeo/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  250. xtgeo/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  251. xtgeo/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  252. xtgeo/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  253. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  254. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  255. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  256. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  257. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  258. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  259. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  260. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  261. xtgeo/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  262. xtgeo/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  263. xtgeo/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  264. xtgeo/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  265. xtgeo/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  266. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  267. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  268. xtgeo/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  269. xtgeo/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  270. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  271. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  272. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  273. xtgeo/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  274. xtgeo/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  275. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  276. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  277. xtgeo/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  278. xtgeo/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  279. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  280. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  281. xtgeo/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  282. xtgeo/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  283. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  284. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  285. xtgeo/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  286. xtgeo/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  287. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  288. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  289. xtgeo/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  290. xtgeo/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  291. xtgeo/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  292. xtgeo/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  293. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  294. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  295. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  296. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  297. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  298. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  299. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  300. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  301. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  302. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  303. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  304. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  305. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  306. xtgeo/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  307. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  308. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  309. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  310. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  311. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  312. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  313. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  314. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  315. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  316. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  317. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  318. xtgeo/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  319. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  320. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  321. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  322. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  323. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  324. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  325. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  326. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  327. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  328. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  329. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  330. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  331. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  332. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  333. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  334. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  335. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  336. xtgeo/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  337. xtgeo/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  338. xtgeo/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  339. xtgeo/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  340. xtgeo/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  341. xtgeo/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  342. xtgeo/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  343. xtgeo/include/eigen3/Eigen/src/misc/Image.h +82 -0
  344. xtgeo/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  345. xtgeo/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  346. xtgeo/include/eigen3/Eigen/src/misc/blas.h +440 -0
  347. xtgeo/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  348. xtgeo/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  349. xtgeo/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  350. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  351. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  352. xtgeo/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  353. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  354. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  355. xtgeo/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  356. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  357. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  358. xtgeo/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  359. xtgeo/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  360. xtgeo/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  361. xtgeo/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  362. xtgeo/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  363. xtgeo/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  364. xtgeo/include/eigen3/unsupported/Eigen/BVH +95 -0
  365. xtgeo/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  366. xtgeo/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  367. xtgeo/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  368. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  369. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  370. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  371. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  372. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  373. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  374. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  375. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  376. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  377. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  378. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  379. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  380. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  381. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  382. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  383. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  384. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  385. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  386. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  387. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  388. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  389. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  390. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  391. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  392. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  393. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  394. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  395. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  396. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  397. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  398. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  399. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  400. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  401. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  402. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  403. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  404. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  405. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  406. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  407. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  408. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  409. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  410. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  411. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  412. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  413. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  414. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  415. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  416. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  417. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  418. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  419. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  420. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  421. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  422. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  423. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  424. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  425. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  426. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  427. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  428. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  429. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  430. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  431. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  432. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  433. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  434. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  435. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  436. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  437. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  438. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  439. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  440. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  441. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  442. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  443. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  444. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  445. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  446. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  447. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  448. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  449. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  450. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  451. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  452. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  453. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  454. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  455. xtgeo/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  456. xtgeo/include/eigen3/unsupported/Eigen/FFT +419 -0
  457. xtgeo/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  458. xtgeo/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  459. xtgeo/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  460. xtgeo/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  461. xtgeo/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  462. xtgeo/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  463. xtgeo/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  464. xtgeo/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  465. xtgeo/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  466. xtgeo/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  467. xtgeo/include/eigen3/unsupported/Eigen/Skyline +39 -0
  468. xtgeo/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  469. xtgeo/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  470. xtgeo/include/eigen3/unsupported/Eigen/Splines +35 -0
  471. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  472. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  473. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  474. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  475. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  476. xtgeo/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  477. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  478. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  479. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  480. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  481. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  482. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  483. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  484. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  485. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  486. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  487. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  488. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  489. xtgeo/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  490. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  491. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  492. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  493. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  494. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  495. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  496. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  497. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  498. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  499. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  500. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  501. xtgeo/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  502. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  503. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  504. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  505. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  506. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  507. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  508. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  509. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  510. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  511. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  512. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  513. xtgeo/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  514. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  515. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  516. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  517. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  518. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  519. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  520. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  521. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  522. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  523. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  524. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  525. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  526. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  527. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  528. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  529. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  530. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  531. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  532. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  533. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  534. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  535. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  536. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  537. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  538. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  539. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  540. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  541. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  542. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  543. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  544. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  545. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  546. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  547. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  548. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  549. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  550. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  551. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  552. xtgeo/interfaces/rms/__init__.py +18 -0
  553. xtgeo/interfaces/rms/_regular_surface.py +460 -0
  554. xtgeo/interfaces/rms/_rms_base.py +100 -0
  555. xtgeo/interfaces/rms/_rmsapi_package.py +69 -0
  556. xtgeo/interfaces/rms/rmsapi_utils.py +438 -0
  557. xtgeo/io/_file.py +10 -1
  558. xtgeo/lib/cmake/fmt/fmt-targets.cmake +1 -1
  559. xtgeo/lib/libfmt.a +0 -0
  560. xtgeo/lib/pkgconfig/fmt.pc +2 -2
  561. xtgeo/metadata/metadata.py +66 -62
  562. xtgeo/share/eigen3/cmake/Eigen3Config.cmake +37 -0
  563. xtgeo/share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
  564. xtgeo/share/eigen3/cmake/Eigen3Targets.cmake +106 -0
  565. xtgeo/share/eigen3/cmake/UseEigen3.cmake +6 -0
  566. xtgeo/share/pkgconfig/eigen3.pc +9 -0
  567. xtgeo/surface/__init__.py +2 -0
  568. xtgeo/surface/_regsurf_oper.py +1 -94
  569. xtgeo/surface/regular_surface.py +166 -90
  570. xtgeo/well/_blockedwell_roxapi.py +24 -4
  571. xtgeo/xyz/_xyz_io.py +7 -5
  572. xtgeo/xyz/points.py +1 -0
  573. {xtgeo-4.10.1.dist-info → xtgeo-4.14.0.dist-info}/METADATA +4 -4
  574. xtgeo-4.14.0.dist-info/RECORD +677 -0
  575. {xtgeo-4.10.1.dist-info → xtgeo-4.14.0.dist-info}/WHEEL +1 -1
  576. xtgeo/surface/_regsurf_roxapi.py +0 -241
  577. xtgeo-4.10.1.dist-info/RECORD +0 -137
  578. {xtgeo-4.10.1.dist-info → xtgeo-4.14.0.dist-info}/licenses/LICENSE.md +0 -0
xtgeo/__init__.py CHANGED
@@ -116,6 +116,7 @@ from xtgeo.surface.regular_surface import (
116
116
  surface_from_cube,
117
117
  surface_from_file,
118
118
  surface_from_grid3d,
119
+ surface_from_rms,
119
120
  surface_from_roxar,
120
121
  )
121
122
  from xtgeo.surface.surfaces import Surfaces
@@ -236,6 +237,7 @@ __all__ = [
236
237
  "surface_from_cube",
237
238
  "surface_from_file",
238
239
  "surface_from_grid3d",
240
+ "surface_from_rms",
239
241
  "surface_from_roxar",
240
242
  "version",
241
243
  "well1",
Binary file
Binary file
xtgeo/common/version.py CHANGED
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '4.10.1'
21
- __version_tuple__ = version_tuple = (4, 10, 1)
31
+ __version__ = version = '4.14.0'
32
+ __version_tuple__ = version_tuple = (4, 14, 0)
33
+
34
+ __commit_id__ = commit_id = 'g185b9b532'
@@ -7,7 +7,6 @@ from dataclasses import dataclass, field
7
7
  from typing import TYPE_CHECKING, Final
8
8
 
9
9
  import numpy as np
10
- from scipy.interpolate import make_interp_spline
11
10
 
12
11
  import xtgeo._internal as _internal # type: ignore
13
12
  from xtgeo.common.log import null_logger
@@ -42,7 +41,13 @@ SUM_ATTRS: Final = [
42
41
 
43
42
  @dataclass
44
43
  class CubeAttrs:
45
- """Internal class for computing attributes in window between two surfaces."""
44
+ """Internal class for computing attributes in window between two surfaces.
45
+
46
+ Compared with the former implementation (mid September 2025), more logic is moved
47
+ to the C++ routine, ensuring:
48
+ - Significantly smaller memory overhead (e.g. 0.1 GB vs 20 GB)
49
+ - Much faster execution, in particularly when using multiple processers. (5-10 x)
50
+ """
46
51
 
47
52
  cube: Cube
48
53
  upper_surface: RegularSurface | float | int
@@ -55,6 +60,8 @@ class CubeAttrs:
55
60
  _template_surface: RegularSurface | None = None
56
61
  _depth_array: np.ndarray | None = None
57
62
  _outside_depth: float | None = None # detected and updated from the depth cube
63
+ _min_indices: int = 0 # minimum Z index for cube slicing
64
+ _max_indices: int = 0 # maximum Z index for cube slicing
58
65
  _reduced_cube: Cube = None
59
66
  _reduced_depth_array: np.ndarray | None = None
60
67
  _refined_cube: Cube | None = None
@@ -63,15 +70,14 @@ class CubeAttrs:
63
70
  _upper: RegularSurface | None = None # upper surf, resampled to cube map resolution
64
71
  _lower: RegularSurface | None = None # lower surf, resampled to cube map resolution
65
72
  _min_thickness_mask: RegularSurface | None = None # mask for min. thickness trunc.
73
+ _mask_map_by_traceidcode: RegularSurface | None = None # mask for traceidcode 2
66
74
 
67
75
  _result_attr_maps: dict = field(default_factory=dict) # holds the resulting maps
68
76
 
69
77
  def __post_init__(self) -> None:
70
78
  self._process_upper_lower_surface()
71
79
  self._create_depth_array()
72
- self._create_reduced_cube()
73
- self._refine_interpolate()
74
- self._depth_mask()
80
+ self._determine_slice_indices()
75
81
  self._compute_statistical_attribute_surfaces()
76
82
 
77
83
  def result(self) -> dict[RegularSurface]:
@@ -83,6 +89,8 @@ class CubeAttrs:
83
89
 
84
90
  from xtgeo import surface_from_cube # avoid circular import by having this here
85
91
 
92
+ logger.debug("Process upper and lower surface...")
93
+
86
94
  upper = (
87
95
  surface_from_cube(self.cube, self.upper_surface)
88
96
  if isinstance(self.upper_surface, (float, int))
@@ -94,6 +102,7 @@ class CubeAttrs:
94
102
  else self.lower_surface
95
103
  )
96
104
 
105
+ # the template surface is the topology that defines the resulting attribute maps
97
106
  self._template_surface = (
98
107
  upper
99
108
  if isinstance(self.upper_surface, (float, int))
@@ -130,6 +139,7 @@ class CubeAttrs:
130
139
  "The minimum thickness is too large, no valid data in the interval. "
131
140
  "Perhaps surfaces are overlapping?"
132
141
  )
142
+ logger.debug("Process upper and lower surface... done")
133
143
 
134
144
  def _create_depth_array(self) -> None:
135
145
  """Create a 1D array where values are cube depths; to be used as filter.
@@ -140,6 +150,7 @@ class CubeAttrs:
140
150
  Will also issue warnings or errors if the surfaces are outside the cube,
141
151
  depending on severity.
142
152
  """
153
+ logger.debug("Create depth array...")
143
154
 
144
155
  self._depth_array = np.array(
145
156
  [
@@ -173,18 +184,16 @@ class CubeAttrs:
173
184
  self._outside_depth,
174
185
  self._depth_array,
175
186
  )
187
+ logger.debug("Create depth array... done")
176
188
 
177
- def _create_reduced_cube(self) -> None:
178
- """Create a smaller cube based on the depth cube filter.
189
+ def _determine_slice_indices(self) -> None:
190
+ """Create parameters for cube slicing.
179
191
 
180
192
  The purpose is to limit the computation to the relevant volume, to save
181
193
  CPU time. I.e. cube values above the upper surface and below the lower are
182
194
  now excluded.
183
195
  """
184
- from xtgeo import Cube # avoid circular import by having this here
185
-
186
- cubev = self.cube.values.copy() # copy, so we don't change the input instance
187
- cubev[self.cube.traceidcodes == 2] = np.nan # set dead traces to nan
196
+ logger.debug("Determine cube slice indices...")
188
197
 
189
198
  # Create a boolean mask based on the threshold
190
199
  mask = self._depth_array < self._outside_depth
@@ -198,116 +207,18 @@ class CubeAttrs:
198
207
  "outside the cube?"
199
208
  )
200
209
 
201
- min_indices = np.min(non_zero_indices)
202
- max_indices = np.max(non_zero_indices) + 1 # Add 1 to include the upper bound
203
-
204
- # Extract the reduced cube using slicing
205
- reduced = cubev[:, :, min_indices:max_indices]
206
-
207
- zori = float(self._depth_array.min())
208
-
209
- self._reduced_cube = Cube(
210
- ncol=reduced.shape[0],
211
- nrow=reduced.shape[1],
212
- nlay=reduced.shape[2],
213
- xinc=self.cube.xinc,
214
- yinc=self.cube.yinc,
215
- zinc=self.cube.zinc,
216
- xori=self.cube.xori,
217
- yori=self.cube.yori,
218
- zori=zori,
219
- rotation=self.cube.rotation,
220
- yflip=self.cube.yflip,
221
- values=reduced.astype(np.float32),
222
- )
223
-
224
- self._reduced_depth_array = self._depth_array[min_indices:max_indices]
225
-
226
- logger.debug("Reduced cubes created %s", self._reduced_cube.values.shape)
227
-
228
- def _refine_interpolate(self) -> None:
229
- """Apply reduced cubes and interpolate to a finer grid vertically.
210
+ self._min_indices = int(np.min(non_zero_indices))
211
+ # Add 1 to include the upper bound
212
+ self._max_indices = int(np.max(non_zero_indices) + 1)
230
213
 
231
- This is done to get a more accurate representation of the cube values.
232
- """
233
- from xtgeo import Cube
234
-
235
- logger.debug("Refine cubes and interpolate...")
236
- arr = self._reduced_cube.values
237
- ndiv = self.ndiv
238
-
239
- # Create linear interpolation function along the last axis
240
- fdepth = make_interp_spline(
241
- np.arange(arr.shape[2]),
242
- self._reduced_depth_array,
243
- axis=0,
244
- k=1,
245
- )
246
-
247
- # Create interpolation function along the last axis
248
- if self.interpolation not in ["cubic", "linear"]:
249
- raise ValueError("Interpolation must be either 'cubic' or 'linear'")
250
-
251
- fcube = make_interp_spline(
252
- np.arange(arr.shape[2]),
253
- arr,
254
- axis=2,
255
- k=3 if self.interpolation == "cubic" else 1,
214
+ logger.debug("Determine cube slice indices... done")
215
+ logger.debug(
216
+ "Cube slice indices: %d to %d", self._min_indices, self._max_indices
256
217
  )
257
- # Define new sampling points along the last axis
258
- new_z = np.linspace(0, arr.shape[2] - 1, arr.shape[2] * ndiv)
259
-
260
- # Resample the cube array
261
- resampled_arr = fcube(new_z)
262
-
263
- # Resample the depth array (always linear)
264
- self._refined_depth_array = new_depth = fdepth(new_z)
265
- new_zinc = (new_depth.max() - new_depth.min()) / (new_depth.shape[0] - 1)
266
-
267
- self._refined_cube = Cube(
268
- ncol=resampled_arr.shape[0],
269
- nrow=resampled_arr.shape[1],
270
- nlay=resampled_arr.shape[2],
271
- xinc=self.cube.xinc,
272
- yinc=self.cube.yinc,
273
- zinc=new_zinc,
274
- xori=self.cube.xori,
275
- yori=self.cube.yori,
276
- zori=self._refined_depth_array.min(),
277
- rotation=self._reduced_cube.rotation,
278
- yflip=self._reduced_cube.yflip,
279
- values=resampled_arr.astype(np.float32),
280
- )
281
-
282
- def _depth_mask(self) -> None:
283
- """Set nan values outside the interval defined by the upper + lower surface.
284
-
285
- In addition, set nan values where the thickness is less than the minimum.
286
-
287
- """
288
-
289
- darry = np.expand_dims(self._refined_depth_array, axis=(0, 1))
290
- upper_exp = np.expand_dims(self._upper.values, 2)
291
- lower_exp = np.expand_dims(self._lower.values, 2)
292
- mask_2d_exp = np.expand_dims(self._min_thickness_mask.values, 2)
293
-
294
- self._refined_cube.values = np.where(
295
- (darry < upper_exp) | (darry > lower_exp) | (mask_2d_exp == 0),
296
- np.nan,
297
- self._refined_cube.values,
298
- ).astype(np.float32)
299
-
300
- # similar for reduced cubes with original resolution
301
- darry = np.expand_dims(self._reduced_depth_array, axis=(0, 1))
302
-
303
- self._reduced_cube.values = np.where(
304
- (darry < upper_exp) | (darry > lower_exp) | (mask_2d_exp == 0),
305
- np.nan,
306
- self._reduced_cube.values,
307
- ).astype(np.float32)
308
218
 
309
219
  def _add_to_attribute_map(self, attr_name: str, values: np.ndarray) -> None:
310
220
  """Compute the attribute map and add to result dictionary."""
221
+ logger.debug("Add to attribute map...")
311
222
  attr_map = self._upper.copy()
312
223
  attr_map.values = np.ma.masked_invalid(values)
313
224
 
@@ -315,26 +226,48 @@ class CubeAttrs:
315
226
  attr_map_resampled = self._template_surface.copy()
316
227
  attr_map_resampled.resample(attr_map)
317
228
 
318
- attr_map_resampled.values = np.ma.masked_where(
319
- self.upper_surface.values.mask, attr_map_resampled.values
320
- )
229
+ # Use template_surface consistently for masking (it's already set correctly)
230
+ if hasattr(self._template_surface.values, "mask"):
231
+ attr_map_resampled.values = np.ma.masked_where(
232
+ self._template_surface.values.mask, attr_map_resampled.values
233
+ )
321
234
 
322
235
  self._result_attr_maps[attr_name] = attr_map_resampled
236
+ logger.debug("Add to attribute map... done")
323
237
 
324
238
  def _compute_statistical_attribute_surfaces(self) -> None:
325
239
  """Compute stats very fast by using internal C++ bindings."""
326
-
327
- # compute statistics for vertically refined cube
328
- cubecpp = _internal.cube.Cube(self._refined_cube)
329
- all_attrs = cubecpp.cube_stats_along_z()
240
+ logger.debug("Compute statistical attribute surfaces...")
241
+
242
+ # compute statistics for vertically refined cube using original cube
243
+ cubecpp = _internal.cube.Cube(self.cube)
244
+ all_attrs = cubecpp.cube_stats_along_z(
245
+ self._upper.values,
246
+ self._lower.values,
247
+ self._depth_array, # use original depth array
248
+ self.ndiv,
249
+ self.interpolation,
250
+ self.minimum_thickness,
251
+ self._min_indices, # pass slice indices
252
+ self._max_indices,
253
+ )
330
254
 
331
255
  for attr in STAT_ATTRS:
332
256
  self._add_to_attribute_map(attr, all_attrs[attr])
333
257
 
334
- # compute statistics for reduced cube (for sum attributes)
335
- cubecpp = _internal.cube.Cube(self._reduced_cube)
336
- all_attrs = cubecpp.cube_stats_along_z()
258
+ # compute statistics with ndiv=1 (for sum attributes)
259
+ all_attrs = cubecpp.cube_stats_along_z(
260
+ self._upper.values,
261
+ self._lower.values,
262
+ self._depth_array, # use original depth array
263
+ 1,
264
+ self.interpolation,
265
+ self.minimum_thickness,
266
+ self._min_indices, # pass slice indices
267
+ self._max_indices,
268
+ )
337
269
 
338
- # add sum attributes which are the last 3 in the list
339
270
  for attr in SUM_ATTRS:
340
271
  self._add_to_attribute_map(attr, all_attrs[attr])
272
+
273
+ logger.debug("Compute statistical attribute surfaces... done")
xtgeo/grid3d/_ecl_grid.py CHANGED
@@ -7,8 +7,12 @@ from typing import Any, List, Optional, Tuple, Union
7
7
  import numpy as np
8
8
  from scipy.constants import foot
9
9
 
10
+ from xtgeo.common.log import null_logger
11
+
10
12
  from ._grdecl_format import match_keyword
11
13
 
14
+ logger = null_logger(__name__)
15
+
12
16
 
13
17
  @unique
14
18
  class Units(Enum):
@@ -539,9 +543,9 @@ class EclGrid(ABC):
539
543
  has_axis_units = False
540
544
 
541
545
  if has_mapaxes and not has_axis_units:
542
- warnings.warn(
546
+ logger.info(
543
547
  "Axis units specification is missing in input, assuming that no "
544
- "unit conversion is necessary"
548
+ "unit conversion is necessary."
545
549
  )
546
550
 
547
551
  if relative_to == GridRelative.MAP and not self.is_map_relative:
@@ -1,13 +1,16 @@
1
1
  from __future__ import annotations
2
2
 
3
- import warnings
4
3
  from typing import Any, Literal, cast
5
4
 
6
5
  import numpy as np
7
6
  import numpy.typing as npt
8
7
 
8
+ from xtgeo.common.log import null_logger
9
+
9
10
  from ._ecl_output_file import Phases, Simulator, TypeOfGrid, UnitSystem
10
11
 
12
+ _logger = null_logger(__name__)
13
+
11
14
 
12
15
  class InteHead:
13
16
  """Contains the values for the INTEHEAD array in ecl restart
@@ -134,7 +137,8 @@ class InteHead:
134
137
  try:
135
138
  return Simulator(s_code)
136
139
  except ValueError:
137
- warnings.warn(f"Unknown simulator code {s_code}")
140
+ # changed from a UserWarning to a logging message
141
+ _logger.warning("Unknown simulator code %s", s_code)
138
142
  return s_code
139
143
 
140
144
  @property
@@ -4,6 +4,8 @@ import warnings
4
4
  from contextlib import contextmanager
5
5
  from typing import TYPE_CHECKING
6
6
 
7
+ import numpy as np
8
+
7
9
  from xtgeo.common import null_logger
8
10
 
9
11
  if TYPE_CHECKING:
@@ -15,6 +17,47 @@ if TYPE_CHECKING:
15
17
  logger = null_logger(__name__)
16
18
 
17
19
 
20
+ def run_length_encoding(arr: np.ndarray) -> tuple[np.ndarray, np.ndarray]:
21
+ """
22
+ Perform run-length encoding on a 1D NumPy array.
23
+
24
+ Run-length encoding is a data compression technique that represents
25
+ consecutive repeated values as a single value and its count.
26
+
27
+ Args:
28
+ arr (np.ndarray): A 1D NumPy array to be encoded.
29
+
30
+ Returns:
31
+ tuple[np.ndarray, np.ndarray]: A tuple containing two 1D NumPy arrays:
32
+ - counts (np.ndarray): An array of counts representing the number
33
+ of consecutive occurrences of each unique value.
34
+ - values (np.ndarray): An array of the unique values corresponding to
35
+ the counts.
36
+
37
+ Examples:
38
+ >>> import numpy as np
39
+ >>> arr = np.array([1, 1, 2, 2, 2, 3, 3, 1, 1, 1])
40
+ >>> counts, values = run_length_encoding(arr)
41
+ >>> print(counts)
42
+ [2 3 2 3]
43
+ >>> print(values)
44
+ [1 2 3 1]
45
+
46
+ >>> arr = np.array([5, 5, 5, 5, 5])
47
+ >>> counts, values = run_length_encoding(arr)
48
+ >>> print(counts)
49
+ [5]
50
+ >>> print(values)
51
+ [5]
52
+
53
+ """
54
+ change_indices = np.where(~np.isclose(arr[:-1], arr[1:]))[0] + 1
55
+ counts = np.diff(np.concatenate(([0], change_indices, [len(arr)])))
56
+ values = arr[np.concatenate(([0], change_indices))]
57
+
58
+ return counts, values
59
+
60
+
18
61
  def split_line(line: str) -> Generator[str, None, None]:
19
62
  """
20
63
  split a keyword line inside a grdecl file. This splits the values of a
@@ -41,7 +41,7 @@ from ._ecl_grid import (
41
41
  MapAxes,
42
42
  Units,
43
43
  )
44
- from ._grdecl_format import IGNORE_ALL, open_grdecl
44
+ from ._grdecl_format import IGNORE_ALL, open_grdecl, run_length_encoding
45
45
 
46
46
 
47
47
  @dataclass
@@ -311,20 +311,22 @@ class GrdeclGrid(EclGrid):
311
311
  results[kw.lower()] = factory(values)
312
312
  return cls(**results)
313
313
 
314
- def to_file(self, filename, fileformat="grdecl"):
314
+ def to_file(self, filename, fileformat="grdecl", rle: bool = False):
315
315
  """
316
316
  write the grdeclgrid to a file.
317
317
  :param filename: path to file to write.
318
318
  :param fileformat: Either "grdecl" or "bgrdecl" to
319
319
  indicate binary or ascii format.
320
+ :param rle: Boolean flag indicating whether to use Run-Length Encoding (RLE)
321
+ compression when writing the file (only for grdecl).
320
322
  """
321
323
  if fileformat == "grdecl":
322
- return self._to_grdecl_file(filename)
324
+ return self._to_grdecl_file(filename, rle)
323
325
  if fileformat == "bgrdecl":
324
326
  return self._to_bgrdecl_file(filename)
325
327
  raise ValueError(b"Unknown grdecl file format {fileformat}")
326
328
 
327
- def _to_grdecl_file(self, filename):
329
+ def _to_grdecl_file(self, filename, rle):
328
330
  with open(filename, "w") as filestream:
329
331
  keywords = [
330
332
  ("SPECGRID", self.specgrid.to_grdecl()),
@@ -340,14 +342,24 @@ class GrdeclGrid(EclGrid):
340
342
  if values is None:
341
343
  continue
342
344
  filestream.write(f"{kw}\n")
343
- numcolumns = 0
344
- for value in values:
345
- numcolumns += 1
346
- filestream.write(f" {value}")
347
-
348
- if numcolumns >= 6: # 6 should ensure < 128 character width total
349
- filestream.write("\n")
350
- numcolumns = 0
345
+ if rle and (kw == "ACTNUM"):
346
+ counts, unique_values = run_length_encoding(values)
347
+ for i, (count, unique_value) in enumerate(
348
+ zip(counts, unique_values)
349
+ ):
350
+ filestream.write(
351
+ f" {count}*{unique_value}"
352
+ if count > 1
353
+ else f" {unique_value}"
354
+ )
355
+ if i % 6 == 5:
356
+ filestream.write("\n")
357
+ else:
358
+ for i, value in enumerate(values):
359
+ filestream.write(f" {value}")
360
+
361
+ if i % 6 == 5: # 6 should ensure < 128 character width total
362
+ filestream.write("\n")
351
363
 
352
364
  filestream.write("\n /\n")
353
365