xtgeo 4.9.0__cp313-cp313-win_amd64.whl → 4.10.0__cp313-cp313-win_amd64.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 (564) hide show
  1. xtgeo/_cxtgeo.cp313-win_amd64.pyd +0 -0
  2. xtgeo/_internal.cp313-win_amd64.pyd +0 -0
  3. xtgeo/common/version.py +2 -2
  4. xtgeo/grid3d/_ecl_grid.py +1 -1
  5. xtgeo/grid3d/_grid3d_fence.py +133 -30
  6. xtgeo/grid3d/_grid_etc1.py +77 -63
  7. xtgeo/grid3d/_grid_export.py +2 -2
  8. xtgeo/grid3d/_grid_hybrid.py +1 -1
  9. xtgeo/grid3d/_grid_refine.py +156 -3
  10. xtgeo/grid3d/_grid_roxapi.py +2 -2
  11. xtgeo/grid3d/_grid_wellzone.py +1 -1
  12. xtgeo/grid3d/_gridprop_export.py +3 -1
  13. xtgeo/grid3d/_gridprop_op1.py +33 -1
  14. xtgeo/grid3d/_roff_grid.py +2 -1
  15. xtgeo/grid3d/grid.py +154 -31
  16. xtgeo/grid3d/grid_property.py +12 -18
  17. xtgeo/include/eigen3/Eigen/Cholesky +45 -0
  18. xtgeo/include/eigen3/Eigen/CholmodSupport +48 -0
  19. xtgeo/include/eigen3/Eigen/Core +384 -0
  20. xtgeo/include/eigen3/Eigen/Dense +7 -0
  21. xtgeo/include/eigen3/Eigen/Eigen +2 -0
  22. xtgeo/include/eigen3/Eigen/Eigenvalues +60 -0
  23. xtgeo/include/eigen3/Eigen/Geometry +59 -0
  24. xtgeo/include/eigen3/Eigen/Householder +29 -0
  25. xtgeo/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  26. xtgeo/include/eigen3/Eigen/Jacobi +32 -0
  27. xtgeo/include/eigen3/Eigen/KLUSupport +41 -0
  28. xtgeo/include/eigen3/Eigen/LU +47 -0
  29. xtgeo/include/eigen3/Eigen/MetisSupport +35 -0
  30. xtgeo/include/eigen3/Eigen/OrderingMethods +70 -0
  31. xtgeo/include/eigen3/Eigen/PaStiXSupport +49 -0
  32. xtgeo/include/eigen3/Eigen/PardisoSupport +35 -0
  33. xtgeo/include/eigen3/Eigen/QR +50 -0
  34. xtgeo/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  35. xtgeo/include/eigen3/Eigen/SPQRSupport +34 -0
  36. xtgeo/include/eigen3/Eigen/SVD +50 -0
  37. xtgeo/include/eigen3/Eigen/Sparse +34 -0
  38. xtgeo/include/eigen3/Eigen/SparseCholesky +37 -0
  39. xtgeo/include/eigen3/Eigen/SparseCore +69 -0
  40. xtgeo/include/eigen3/Eigen/SparseLU +50 -0
  41. xtgeo/include/eigen3/Eigen/SparseQR +36 -0
  42. xtgeo/include/eigen3/Eigen/StdDeque +27 -0
  43. xtgeo/include/eigen3/Eigen/StdList +26 -0
  44. xtgeo/include/eigen3/Eigen/StdVector +27 -0
  45. xtgeo/include/eigen3/Eigen/SuperLUSupport +64 -0
  46. xtgeo/include/eigen3/Eigen/UmfPackSupport +40 -0
  47. xtgeo/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  48. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  49. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  50. xtgeo/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  51. xtgeo/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  52. xtgeo/include/eigen3/Eigen/src/Core/Array.h +417 -0
  53. xtgeo/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  54. xtgeo/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  55. xtgeo/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  56. xtgeo/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  57. xtgeo/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  58. xtgeo/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  59. xtgeo/include/eigen3/Eigen/src/Core/Block.h +448 -0
  60. xtgeo/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  61. xtgeo/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  62. xtgeo/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  63. xtgeo/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  64. xtgeo/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  65. xtgeo/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  66. xtgeo/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  67. xtgeo/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  68. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  69. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  70. xtgeo/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  71. xtgeo/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  72. xtgeo/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  73. xtgeo/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  74. xtgeo/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  75. xtgeo/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  76. xtgeo/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  77. xtgeo/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  78. xtgeo/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  79. xtgeo/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  80. xtgeo/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  81. xtgeo/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  82. xtgeo/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  83. xtgeo/include/eigen3/Eigen/src/Core/IO.h +258 -0
  84. xtgeo/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  85. xtgeo/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  86. xtgeo/include/eigen3/Eigen/src/Core/Map.h +171 -0
  87. xtgeo/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  88. xtgeo/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  89. xtgeo/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  90. xtgeo/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  91. xtgeo/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  92. xtgeo/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  93. xtgeo/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  94. xtgeo/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  95. xtgeo/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  96. xtgeo/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  97. xtgeo/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  98. xtgeo/include/eigen3/Eigen/src/Core/Product.h +191 -0
  99. xtgeo/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  100. xtgeo/include/eigen3/Eigen/src/Core/Random.h +218 -0
  101. xtgeo/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  102. xtgeo/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  103. xtgeo/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  104. xtgeo/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  105. xtgeo/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  106. xtgeo/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  107. xtgeo/include/eigen3/Eigen/src/Core/Select.h +164 -0
  108. xtgeo/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  109. xtgeo/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  110. xtgeo/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  111. xtgeo/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  112. xtgeo/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  113. xtgeo/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  114. xtgeo/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  115. xtgeo/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  116. xtgeo/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  117. xtgeo/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  118. xtgeo/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  119. xtgeo/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  120. xtgeo/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  121. xtgeo/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  122. xtgeo/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  123. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  124. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  125. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  126. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  127. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  128. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  129. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  130. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  131. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  132. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  133. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  134. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  135. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  136. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  137. xtgeo/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  138. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  139. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  140. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  141. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  142. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  143. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  144. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  145. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  146. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  147. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  148. xtgeo/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  149. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  150. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  151. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  152. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  153. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  154. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  155. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  156. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  157. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  158. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  159. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  160. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  161. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  162. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  163. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  164. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  165. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  166. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  167. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  168. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  169. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  170. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  171. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  172. xtgeo/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  173. xtgeo/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  174. xtgeo/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  175. xtgeo/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  176. xtgeo/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  177. xtgeo/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  178. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  179. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  180. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  181. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  182. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  183. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  184. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  185. xtgeo/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  186. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  187. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  188. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  189. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  190. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  191. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  192. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  193. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  194. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  195. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  196. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  197. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  198. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  199. xtgeo/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  200. xtgeo/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  201. xtgeo/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  202. xtgeo/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  203. xtgeo/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  204. xtgeo/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  205. xtgeo/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  206. xtgeo/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  207. xtgeo/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  208. xtgeo/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  209. xtgeo/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  210. xtgeo/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  211. xtgeo/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  212. xtgeo/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  213. xtgeo/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  214. xtgeo/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  215. xtgeo/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  216. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  217. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  218. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  219. xtgeo/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  220. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  221. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  222. xtgeo/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  223. xtgeo/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  224. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  225. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  226. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  227. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  228. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  229. xtgeo/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  230. xtgeo/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  231. xtgeo/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  232. xtgeo/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  233. xtgeo/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  234. xtgeo/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  235. xtgeo/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  236. xtgeo/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  237. xtgeo/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  238. xtgeo/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  239. xtgeo/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  240. xtgeo/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  241. xtgeo/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  242. xtgeo/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  243. xtgeo/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  244. xtgeo/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  245. xtgeo/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  246. xtgeo/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  247. xtgeo/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  248. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  249. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  250. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  251. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  252. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  253. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  254. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  255. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  256. xtgeo/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  257. xtgeo/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  258. xtgeo/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  259. xtgeo/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  260. xtgeo/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  261. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  262. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  263. xtgeo/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  264. xtgeo/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  265. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  266. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  267. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  268. xtgeo/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  269. xtgeo/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  270. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  271. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  272. xtgeo/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  273. xtgeo/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  274. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  275. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  276. xtgeo/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  277. xtgeo/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  278. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  279. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  280. xtgeo/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  281. xtgeo/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  282. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  283. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  284. xtgeo/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  285. xtgeo/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  286. xtgeo/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  287. xtgeo/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  288. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  289. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  290. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  291. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  292. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  293. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  294. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  295. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  296. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  297. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  298. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  299. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  300. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  301. xtgeo/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  302. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  303. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  304. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  305. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  306. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  307. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  308. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  309. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  310. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  311. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  312. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  313. xtgeo/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  314. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  315. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  316. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  317. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  318. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  319. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  320. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  321. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  322. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  323. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  324. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  325. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  326. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  327. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  328. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  329. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  330. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  331. xtgeo/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  332. xtgeo/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  333. xtgeo/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  334. xtgeo/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  335. xtgeo/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  336. xtgeo/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  337. xtgeo/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  338. xtgeo/include/eigen3/Eigen/src/misc/Image.h +82 -0
  339. xtgeo/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  340. xtgeo/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  341. xtgeo/include/eigen3/Eigen/src/misc/blas.h +440 -0
  342. xtgeo/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  343. xtgeo/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  344. xtgeo/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  345. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  346. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  347. xtgeo/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  348. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  349. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  350. xtgeo/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  351. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  352. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  353. xtgeo/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  354. xtgeo/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  355. xtgeo/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  356. xtgeo/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  357. xtgeo/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  358. xtgeo/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  359. xtgeo/include/eigen3/unsupported/Eigen/BVH +95 -0
  360. xtgeo/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  361. xtgeo/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  362. xtgeo/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  363. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  364. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  365. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  366. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  367. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  368. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  369. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  370. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  371. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  372. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  373. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  374. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  375. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  376. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  377. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  378. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  379. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  380. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  381. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  382. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  383. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  384. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  385. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  386. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  387. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  388. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  389. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  390. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  391. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  392. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  393. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  394. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  395. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  396. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  397. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  398. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  399. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  400. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  401. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  402. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  403. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  404. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  405. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  406. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  407. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  408. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  409. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  410. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  411. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  412. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  413. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  414. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  415. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  416. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  417. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  418. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  419. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  420. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  421. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  422. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  423. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  424. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  425. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  426. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  427. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  428. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  429. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  430. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  431. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  432. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  433. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  434. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  435. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  436. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  437. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  438. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  439. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  440. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  441. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  442. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  443. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  444. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  445. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  446. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  447. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  448. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  449. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  450. xtgeo/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  451. xtgeo/include/eigen3/unsupported/Eigen/FFT +419 -0
  452. xtgeo/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  453. xtgeo/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  454. xtgeo/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  455. xtgeo/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  456. xtgeo/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  457. xtgeo/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  458. xtgeo/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  459. xtgeo/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  460. xtgeo/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  461. xtgeo/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  462. xtgeo/include/eigen3/unsupported/Eigen/Skyline +39 -0
  463. xtgeo/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  464. xtgeo/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  465. xtgeo/include/eigen3/unsupported/Eigen/Splines +35 -0
  466. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  467. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  468. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  469. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  470. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  471. xtgeo/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  472. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  473. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  474. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  475. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  476. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  477. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  478. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  479. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  480. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  481. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  482. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  483. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  484. xtgeo/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  485. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  486. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  487. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  488. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  489. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  490. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  491. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  492. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  493. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  494. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  495. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  496. xtgeo/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  497. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  498. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  499. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  500. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  501. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  502. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  503. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  504. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  505. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  506. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  507. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  508. xtgeo/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  509. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  510. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  511. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  512. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  513. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  514. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  515. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  516. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  517. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  518. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  519. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  520. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  521. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  522. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  523. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  524. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  525. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  526. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  527. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  528. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  529. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  530. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  531. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  532. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  533. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  534. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  535. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  536. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  537. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  538. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  539. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  540. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  541. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  542. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  543. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  544. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  545. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  546. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  547. xtgeo/io/_file.py +2 -0
  548. xtgeo/share/eigen3/cmake/Eigen3Config.cmake +37 -0
  549. xtgeo/share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
  550. xtgeo/share/eigen3/cmake/Eigen3Targets.cmake +106 -0
  551. xtgeo/share/eigen3/cmake/UseEigen3.cmake +6 -0
  552. xtgeo/surface/_regsurf_grid3d.py +4 -4
  553. xtgeo/well/_well_oper.py +3 -94
  554. xtgeo/well/blocked_well.py +22 -18
  555. xtgeo/well/blocked_wells.py +26 -14
  556. xtgeo/well/well1.py +26 -24
  557. xtgeo/xyz/_xyz_io.py +269 -24
  558. xtgeo/xyz/points.py +15 -3
  559. xtgeo/xyz/polygons.py +16 -4
  560. {xtgeo-4.9.0.dist-info → xtgeo-4.10.0.dist-info}/METADATA +2 -1
  561. xtgeo-4.10.0.dist-info/RECORD +651 -0
  562. {xtgeo-4.9.0.dist-info → xtgeo-4.10.0.dist-info}/WHEEL +1 -1
  563. xtgeo-4.9.0.dist-info/RECORD +0 -117
  564. {xtgeo-4.9.0.dist-info → xtgeo-4.10.0.dist-info}/licenses/LICENSE.md +0 -0
Binary file
Binary file
xtgeo/common/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '4.9.0'
21
- __version_tuple__ = version_tuple = (4, 9, 0)
20
+ __version__ = version = '4.10.0'
21
+ __version_tuple__ = version_tuple = (4, 10, 0)
xtgeo/grid3d/_ecl_grid.py CHANGED
@@ -724,7 +724,7 @@ class EclGrid(ABC):
724
724
 
725
725
  @classmethod
726
726
  def from_xtgeo_grid(cls, xtgeo_grid):
727
- xtgeo_grid._xtgformat2()
727
+ xtgeo_grid._set_xtgformat2()
728
728
 
729
729
  nx, ny, nz = xtgeo_grid.dimensions
730
730
  actnum = xtgeo_grid._actnumsv.reshape(nx, ny, nz)
@@ -21,6 +21,27 @@ if TYPE_CHECKING:
21
21
  logger = null_logger(__name__)
22
22
 
23
23
 
24
+ def _process_fencespec(
25
+ self: Grid,
26
+ fencespec: np.ndarray | Polygons,
27
+ hincrement: float | int | None,
28
+ atleast: int,
29
+ nextend: int,
30
+ ) -> np.ndarray:
31
+ if isinstance(fencespec, np.ndarray):
32
+ return fencespec
33
+
34
+ if hincrement is not None and not isinstance(hincrement, (float, int)):
35
+ raise TypeError("'hincrement' can only be a number or None")
36
+
37
+ if isinstance(fencespec, Polygons):
38
+ return _get_randomline_fence(self, fencespec, hincrement, atleast, nextend)
39
+
40
+ raise RuntimeError(
41
+ "The 'fencespec' argument must be a numpy array or a Polygons instance."
42
+ )
43
+
44
+
24
45
  def get_randomline(
25
46
  self: Grid,
26
47
  fencespec: np.ndarray | Polygons,
@@ -31,15 +52,119 @@ def get_randomline(
31
52
  hincrement: float | int | None = None,
32
53
  atleast: int = 5,
33
54
  nextend: int = 2,
55
+ ) -> tuple[float, float, float, float, np.ndarray]:
56
+ import os
57
+
58
+ # keep the old method as hidden for reference since it proves to be faster in some
59
+ # real cases. Need to fully understand this to optimise the new, but will postpone
60
+ # this for now. TODO: remove this after a while when the new version is fully tested
61
+ if os.environ.get("XTGEO_RANDOMLINE_OLD", None):
62
+ return _get_randomline_old(
63
+ self, fencespec, prop, zmin, zmax, zincrement, hincrement, atleast, nextend
64
+ )
65
+
66
+ logger.info("New version")
67
+ return _get_randomline_v2(
68
+ self, fencespec, prop, zmin, zmax, zincrement, hincrement, atleast, nextend
69
+ )
70
+
71
+
72
+ def _get_randomline_v2(
73
+ self: Grid,
74
+ fencespec: np.ndarray | Polygons,
75
+ prop: str | GridProperty,
76
+ zmin: float | int | None = None,
77
+ zmax: float | int | None = None,
78
+ zincrement: float | int = 1.0,
79
+ hincrement: float | int | None = None,
80
+ atleast: int = 5,
81
+ nextend: int = 2,
82
+ ) -> tuple[float, float, float, float, np.ndarray]:
83
+ #
84
+ fencespec = _process_fencespec(self, fencespec, hincrement, atleast, nextend)
85
+
86
+ cache = self._get_cache()
87
+
88
+ logger.info("Get property...")
89
+ if isinstance(prop, str):
90
+ grid_prop = self.get_prop_by_name(prop)
91
+ if grid_prop is None:
92
+ raise ValueError(f"No property with name {prop} was found in grid")
93
+ prop = grid_prop
94
+
95
+ assert isinstance(fencespec, np.ndarray)
96
+
97
+ assert cache.top_depth is not None # mypy
98
+ assert cache.base_depth is not None # mypy
99
+ if zmin is None:
100
+ zmin = cache.top_depth.values.min()
101
+ if zmax is None:
102
+ zmax = cache.base_depth.values.max()
103
+
104
+ nzsam = int((zmax - zmin) / float(zincrement)) + 1
105
+ z_vector = np.linspace(zmin, zmax, nzsam)
106
+
107
+ arr = self._get_grid_cpp().get_grid_fence(
108
+ cache.onegrid_cpp,
109
+ fencespec,
110
+ prop.values,
111
+ z_vector,
112
+ cache.top_i_index_cpp,
113
+ cache.top_j_index_cpp,
114
+ cache.base_i_index_cpp,
115
+ cache.base_j_index_cpp,
116
+ cache.top_depth_cpp,
117
+ cache.base_depth_cpp,
118
+ cache.threshold_magic_1,
119
+ )
120
+
121
+ return (fencespec[3, 0], fencespec[3, -1], zmin, zmax, arr.T)
122
+
123
+
124
+ def _get_randomline_fence(
125
+ self: Grid,
126
+ polygon: Polygons,
127
+ distance: float | int | None,
128
+ atleast: int,
129
+ nextend: int,
130
+ ) -> np.ndarray:
131
+ """Compute a resampled fence from a Polygons instance."""
132
+ if distance is None:
133
+ logger.debug("Estimate fence distance from grid resolution...")
134
+ geom = self.get_geometrics()
135
+
136
+ avgdxdy = 0.5 * (geom[10] + geom[11])
137
+ distance = 0.5 * avgdxdy
138
+ logger.debug("Estimate fence distance from grid resolution... DONE")
139
+
140
+ logger.debug("Getting fence from a Polygons instance...")
141
+ fspec = polygon.get_fence(
142
+ distance=distance, atleast=atleast, nextend=nextend, asnumpy=True
143
+ )
144
+ logger.debug("Getting fence from a Polygons instance... DONE")
145
+ return fspec
146
+
147
+
148
+ # keep a while for benchmarking
149
+ def _get_randomline_old(
150
+ self: Grid,
151
+ fencespec: np.ndarray | Polygons,
152
+ prop: str | GridProperty,
153
+ zmin: float | int | None = None,
154
+ zmax: float | int | None = None,
155
+ zincrement: float | int = 1.0,
156
+ hincrement: float | int | None = None,
157
+ atleast: int = 5,
158
+ nextend: int = 2,
34
159
  ) -> tuple[float, float, float, float, np.ndarray]:
35
160
  """Extract a randomline from a 3D grid.
36
161
 
37
162
  This is a difficult task, in particular in terms of acceptable speed.
38
163
  """
39
164
 
40
- logger.info("Enter get_randomline from Grid...")
165
+ logger.info("Enter get_randomline OLD from Grid...")
41
166
 
42
- _update_tmpvars(self)
167
+ _update_tmpvars(self, force=True)
43
168
 
44
169
  if hincrement is not None and not isinstance(hincrement, (float, int)):
45
170
  raise TypeError("'hincrement' can only be a number or None")
@@ -64,12 +189,14 @@ def get_randomline(
64
189
  if zmax is None:
65
190
  zmax = self._tmp["basd"].values.max()
66
191
 
192
+ print("ZICREMENT", zincrement)
193
+
67
194
  nzsam = int((zmax - zmin) / float(zincrement)) + 1
68
195
  nsamples = xcoords.shape[0] * nzsam
69
196
 
70
197
  logger.info("Running C routine to get randomline...")
71
- self._xtgformat1()
72
- self._tmp["onegrid"]._xtgformat1()
198
+ self._set_xtgformat1()
199
+ self._tmp["onegrid"]._set_xtgformat1()
73
200
  _ier, values = _cxtgeo.grd3d_get_randomline(
74
201
  xcoords,
75
202
  ycoords,
@@ -117,7 +244,7 @@ def _update_tmpvars(self: Grid, force: bool = False) -> None:
117
244
  if "onegrid" not in self._tmp or force:
118
245
  logger.info("Make a tmp onegrid instance...")
119
246
  self._tmp["onegrid"] = self.copy()
120
- self._tmp["onegrid"]._xtgformat1()
247
+ self._tmp["onegrid"]._set_xtgformat1()
121
248
  self._tmp["onegrid"].reduce_to_one_layer()
122
249
  one = self._tmp["onegrid"]
123
250
  logger.info("Make a tmp onegrid instance... DONE")
@@ -151,31 +278,7 @@ def _update_tmpvars(self: Grid, force: bool = False) -> None:
151
278
  self._tmp["basi_carr"] = rl.get_carr_double(self._tmp["basi"])
152
279
  self._tmp["basj_carr"] = rl.get_carr_double(self._tmp["basj"])
153
280
 
154
- self._tmp["onegrid"]._xtgformat1()
281
+ self._tmp["onegrid"]._set_xtgformat1()
155
282
  logger.info("Make a set of tmp surfaces for I J locations + depth... DONE")
156
283
  else:
157
284
  logger.info("Re-use existing onegrid and tmp surfaces for I J")
158
-
159
-
160
- def _get_randomline_fence(
161
- self: Grid,
162
- polygon: Polygons,
163
- distance: float | int | None,
164
- atleast: int,
165
- nextend: int,
166
- ) -> np.ndarray:
167
- """Compute a resampled fence from a Polygons instance."""
168
- if distance is None:
169
- logger.debug("Estimate fence distance from grid resolution...")
170
- geom = self.get_geometrics()
171
-
172
- avgdxdy = 0.5 * (geom[10] + geom[11])
173
- distance = 0.5 * avgdxdy
174
- logger.debug("Estimate fence distance from grid resolution... DONE")
175
-
176
- logger.debug("Getting fence from a Polygons instance...")
177
- fspec = polygon.get_fence(
178
- distance=distance, atleast=atleast, nextend=nextend, asnumpy=True
179
- )
180
- logger.debug("Getting fence from a Polygons instance... DONE")
181
- return fspec
@@ -13,7 +13,7 @@ from packaging.version import parse as versionparse
13
13
 
14
14
  import xtgeo._internal as _internal # type: ignore
15
15
  from xtgeo import _cxtgeo
16
- from xtgeo.common.calc import find_flip
16
+ from xtgeo._internal.geometry import PointInHexahedronMethod as M # type: ignore
17
17
  from xtgeo.common.constants import UNDEF_INT, UNDEF_LIMIT
18
18
  from xtgeo.common.log import null_logger
19
19
  from xtgeo.common.types import Dimensions
@@ -92,7 +92,7 @@ def create_grid_from_surfaces(
92
92
  Technically, a shoebox grid is made first, then the layers are adjusted to follow
93
93
  surfaces.
94
94
  """
95
- from xtgeo.grid3d.grid import create_box_grid
95
+ from xtgeo.grid3d.grid import Grid, create_box_grid
96
96
 
97
97
  n_surfaces = len(srfs.surfaces)
98
98
 
@@ -119,7 +119,7 @@ def create_grid_from_surfaces(
119
119
  origin = (*ij_origin, zori) if ij_origin else (top.xori, top.yori, zori)
120
120
  rotation = rotation if rotation is not None else top.rotation
121
121
 
122
- grd = create_box_grid(
122
+ bgrd = create_box_grid(
123
123
  dimension=dimension,
124
124
  origin=origin,
125
125
  increment=increment,
@@ -134,13 +134,11 @@ def create_grid_from_surfaces(
134
134
  cpp_surf = _internal.regsurf.RegularSurface(surf)
135
135
  surf_list.append(cpp_surf)
136
136
 
137
- grd_cpp = _internal.grid3d.Grid(grd)
138
- new_zcorns, new_actnum = grd_cpp.adjust_boxgrid_layers_from_regsurfs(
137
+ new_zcorns, new_actnum = bgrd._get_grid_cpp().adjust_boxgrid_layers_from_regsurfs(
139
138
  surf_list, tolerance
140
139
  )
141
140
 
142
- grd._zcornsv = new_zcorns
143
- grd._actnumsv = new_actnum
141
+ grd = Grid(coordsv=bgrd._coordsv.copy(), zcornsv=new_zcorns, actnumsv=new_actnum)
144
142
 
145
143
  # set the subgrid index (zones)
146
144
  subgrids = {f"zone_{i + 1}": 1 for i in range(n_surfaces - 1)}
@@ -179,7 +177,7 @@ def get_dz(
179
177
  raise ValueError(f"Unknown metric {metric}")
180
178
  metric_fun = method_factory[metric]
181
179
 
182
- self._xtgformat2()
180
+ self._set_xtgformat2()
183
181
  nx, ny, nz = self.dimensions
184
182
  result = np.zeros(nx * ny * nz)
185
183
  _cxtgeo.grdcp3d_calc_dz(
@@ -215,7 +213,7 @@ def get_dx(
215
213
  raise ValueError(f"Unknown metric {metric}")
216
214
  metric_fun = method_factory[metric]
217
215
 
218
- self._xtgformat2()
216
+ self._set_xtgformat2()
219
217
  nx, ny, nz = self.dimensions
220
218
  result = np.zeros(nx * ny * nz)
221
219
  _cxtgeo.grdcp3d_calc_dx(
@@ -248,7 +246,7 @@ def get_dy(
248
246
  raise ValueError(f"Unknown metric {metric}")
249
247
  metric_fun = method_factory[metric]
250
248
 
251
- self._xtgformat2()
249
+ self._set_xtgformat2()
252
250
  nx, ny, nz = self.dimensions
253
251
  result = np.zeros(nx * ny * nz)
254
252
  _cxtgeo.grdcp3d_calc_dy(
@@ -283,9 +281,9 @@ def get_bulk_volume(
283
281
  if precision not in (1, 2, 4):
284
282
  raise ValueError("The precision key has an invalid entry, use 1, 2, or 4")
285
283
 
286
- grid._xtgformat2()
284
+ grid._set_xtgformat2()
287
285
 
288
- grid_cpp = _internal.grid3d.Grid(grid)
286
+ grid_cpp = grid._get_grid_cpp()
289
287
 
290
288
  prec_cpp = _internal.geometry.HexVolumePrecision.P2
291
289
  if precision == 1:
@@ -322,9 +320,9 @@ def get_heights_above_ffl(
322
320
  f"The option key <{option}> is invalid, must be one of {valid_options}"
323
321
  )
324
322
 
325
- grid._xtgformat2()
323
+ grid._set_xtgformat2()
326
324
 
327
- grid_cpp = _internal.grid3d.Grid(grid)
325
+ grid_cpp = grid._get_grid_cpp()
328
326
  htop_arr, hbot_arr, hmid_arr = grid_cpp.get_height_above_ffl(
329
327
  ffl.values.ravel(),
330
328
  1 if option == "cell_center_above_ffl" else 2,
@@ -371,10 +369,10 @@ def get_property_between_surfaces(
371
369
  if not isinstance(value, int) or value < 1:
372
370
  raise ValueError(f"Value (integer) must be positive, >= 1, got: {value}")
373
371
 
374
- grid._xtgformat2()
372
+ grid._set_xtgformat2()
375
373
  logger.debug("Creating property between surfaces...")
376
374
 
377
- grid_cpp = _internal.grid3d.Grid(grid)
375
+ grid_cpp = grid._get_grid_cpp()
378
376
 
379
377
  top_ = top
380
378
  base_ = base
@@ -420,11 +418,11 @@ def get_ijk(
420
418
  """Get I J K as properties."""
421
419
  ashape = self.dimensions
422
420
 
423
- ix, jy, kz = np.indices(ashape)
421
+ ix_idx, jy_idx, kz_idx = np.indices(ashape)
424
422
 
425
- ix = ix.ravel()
426
- jy = jy.ravel()
427
- kz = kz.ravel()
423
+ ix = ix_idx.ravel()
424
+ jy = jy_idx.ravel()
425
+ kz = kz_idx.ravel()
428
426
 
429
427
  if asmasked:
430
428
  actnum = self.get_actnum()
@@ -438,7 +436,7 @@ def get_ijk(
438
436
  jy += 1
439
437
  kz += 1
440
438
 
441
- ix = GridProperty(
439
+ ix_gprop = GridProperty(
442
440
  ncol=self._ncol,
443
441
  nrow=self._nrow,
444
442
  nlay=self._nlay,
@@ -446,7 +444,7 @@ def get_ijk(
446
444
  name=names[0],
447
445
  discrete=True,
448
446
  )
449
- jy = GridProperty(
447
+ jy_gprop = GridProperty(
450
448
  ncol=self._ncol,
451
449
  nrow=self._nrow,
452
450
  nlay=self._nlay,
@@ -454,7 +452,7 @@ def get_ijk(
454
452
  name=names[1],
455
453
  discrete=True,
456
454
  )
457
- kz = GridProperty(
455
+ kz_gprop = GridProperty(
458
456
  ncol=self._ncol,
459
457
  nrow=self._nrow,
460
458
  nlay=self._nlay,
@@ -464,7 +462,7 @@ def get_ijk(
464
462
  )
465
463
 
466
464
  # return the objects
467
- return ix, jy, kz
465
+ return ix_gprop, jy_gprop, kz_gprop
468
466
 
469
467
 
470
468
  def get_ijk_from_points(
@@ -486,7 +484,7 @@ def get_ijk_from_points(
486
484
  """
487
485
  logger.info("Getting IJK indices from Points...")
488
486
 
489
- self._xtgformat2()
487
+ self._set_xtgformat2()
490
488
 
491
489
  cache = self._get_cache()
492
490
 
@@ -494,15 +492,18 @@ def get_ijk_from_points(
494
492
 
495
493
  p_array = points.get_xyz_arrays()
496
494
 
497
- assert cache.grid_cpp is not None # mypy
498
- iarr, jarr, karr = cache.grid_cpp.get_indices_from_pointset(
495
+ iarr, jarr, karr = self._get_grid_cpp().get_indices_from_pointset(
499
496
  _internal.xyz.PointSet(p_array),
500
497
  cache.onegrid_cpp,
501
498
  cache.top_i_index_cpp,
502
499
  cache.top_j_index_cpp,
503
500
  cache.base_i_index_cpp,
504
501
  cache.base_j_index_cpp,
502
+ cache.top_depth_cpp,
503
+ cache.base_depth_cpp,
504
+ cache.threshold_magic_1,
505
505
  activeonly,
506
+ M.Optimized,
506
507
  )
507
508
 
508
509
  if not zerobased:
@@ -513,7 +514,7 @@ def get_ijk_from_points(
513
514
  proplist = {}
514
515
  if includepoints:
515
516
  proplist["X_UTME"] = points_df[points.xname].to_numpy()
516
- proplist["Y_UTME"] = points_df[points.yname].to_numpy()
517
+ proplist["Y_UTMN"] = points_df[points.yname].to_numpy()
517
518
  proplist["Z_TVDSS"] = points_df[points.zname].to_numpy()
518
519
 
519
520
  proplist[columnnames[0]] = iarr
@@ -550,10 +551,10 @@ def get_xyz(
550
551
  ) -> tuple[GridProperty, GridProperty, GridProperty]:
551
552
  """Get X Y Z as properties."""
552
553
 
553
- self._xtgformat2()
554
+ self._set_xtgformat2()
554
555
 
555
556
  # note: using _internal here is 2-3 times faster than using the former cxtgeo!
556
- grid_cpp = _internal.grid3d.Grid(self)
557
+ grid_cpp = self._get_grid_cpp()
557
558
  xv, yv, zv = grid_cpp.get_cell_centers(asmasked)
558
559
 
559
560
  xv = np.ma.masked_invalid(xv)
@@ -591,14 +592,15 @@ def get_xyz(
591
592
  return xo, yo, zo
592
593
 
593
594
 
594
- def get_xyz_cell_corners(
595
+ def get_xyz_cell_corners_internal(
595
596
  grid: Grid,
596
597
  ijk: tuple[int, int, int] = (1, 1, 1),
597
598
  activeonly: bool = True,
598
599
  zerobased: bool = False,
599
600
  ) -> tuple[int, ...] | None:
600
601
  """Get X Y Z cell corners for one cell."""
601
- grid._xtgformat2()
602
+ grid._set_xtgformat2()
603
+
602
604
  i, j, k = ijk
603
605
  shift = 1 if zerobased else 0
604
606
 
@@ -608,18 +610,14 @@ def get_xyz_cell_corners(
608
610
  if np.all(iact == 0):
609
611
  return None
610
612
 
611
- corners = _internal.grid3d.Grid(grid).get_cell_corners_from_ijk(
613
+ # there are some cases where we don't want to use cache due to recusion issues
614
+ corners = grid._get_grid_cpp().get_cell_corners_from_ijk(
612
615
  i + shift - 1,
613
616
  j + shift - 1,
614
617
  k + shift - 1,
615
618
  )
616
- # Existing functionality relies on the grid being in xtgformat1 after this
617
- # function returns. Most probably as a result of some invocation of
618
- # `estimate_flip` or `ijk_handedness` or `reverse_row_axis` somewhere.
619
- grid._xtgformat1()
620
619
 
621
620
  corners = corners.to_numpy().flatten().tolist()
622
-
623
621
  return tuple(corners)
624
622
 
625
623
 
@@ -627,7 +625,7 @@ def get_xyz_corners(
627
625
  self: Grid, names: tuple[str, str, str] = ("X_UTME", "Y_UTMN", "Z_TVDSS")
628
626
  ) -> tuple[GridProperty, ...]:
629
627
  """Get X Y Z cell corners for all cells (as 24 GridProperty objects)."""
630
- self._xtgformat1()
628
+ self._set_xtgformat1()
631
629
 
632
630
  ntot = self.dimensions
633
631
 
@@ -717,7 +715,7 @@ def get_vtk_esg_geometry_data(
717
715
  - inactive cell indices, numpy array with integer indices
718
716
  """
719
717
 
720
- self._xtgformat2()
718
+ self._set_xtgformat2()
721
719
 
722
720
  # Number of elements to allocate in the vertex and connectivity arrays
723
721
  num_cells = self.ncol * self.nrow * self.nlay
@@ -748,7 +746,7 @@ def get_vtk_esg_geometry_data(
748
746
 
749
747
  def get_vtk_geometries(self: Grid) -> tuple[np.ndarray, np.ndarray, np.ndarray]:
750
748
  """Return actnum, corners and dims arrays for VTK ExplicitStructuredGrid usage."""
751
- self._xtgformat2()
749
+ self._set_xtgformat2()
752
750
 
753
751
  narr = 8 * self.ncol * self.nrow * self.nlay
754
752
  xarr, yarr, zarr = _cxtgeo.grdcp3d_get_vtk_grid_arrays(
@@ -781,7 +779,7 @@ def get_cell_volume(
781
779
  """Get bulk cell volume for one cell."""
782
780
  if precision not in (1, 2, 4):
783
781
  raise ValueError("The precision key has an invalid entry, use 1, 2, or 4")
784
- grid._xtgformat2()
782
+ grid._set_xtgformat2()
785
783
 
786
784
  i, j, k = ijk
787
785
  shift = 1 if zerobased else 0
@@ -792,7 +790,7 @@ def get_cell_volume(
792
790
  if np.all(iact == 0):
793
791
  return None
794
792
 
795
- corners = _internal.grid3d.Grid(grid).get_cell_corners_from_ijk(
793
+ corners = grid._get_grid_cpp().get_cell_corners_from_ijk(
796
794
  i + shift - 1,
797
795
  j + shift - 1,
798
796
  k + shift - 1,
@@ -810,7 +808,7 @@ def get_layer_slice(
810
808
  self: Grid, layer: int, top: bool = True, activeonly: bool = True
811
809
  ) -> tuple[np.ndarray, np.ndarray]:
812
810
  """Get X Y cell corners (XY per cell; 5 per cell) as array."""
813
- self._xtgformat1()
811
+ self._set_xtgformat1()
814
812
  ntot = self._ncol * self._nrow * self._nlay
815
813
 
816
814
  opt1 = 0 if top else 1
@@ -846,7 +844,7 @@ def get_geometrics(
846
844
  _ver: Literal[1, 2] = 1,
847
845
  ) -> dict | tuple:
848
846
  """Getting cell geometrics."""
849
- self._xtgformat1()
847
+ self._set_xtgformat1()
850
848
 
851
849
  geom_function = _get_geometrics_v1 if _ver == 1 else _get_geometrics_v2
852
850
  return geom_function(
@@ -985,14 +983,14 @@ def inactivate_by_dz(self: Grid, threshold: float, flip: bool = True) -> None:
985
983
  flip (bool): Whether the z-direction should be flipped.
986
984
 
987
985
  """
988
- self._xtgformat2()
986
+ self._set_xtgformat2()
989
987
  dz_values = self.get_dz(asmasked=False, flip=flip).values
990
988
  self._actnumsv[dz_values.reshape(self._actnumsv.shape) < threshold] = 0
991
989
 
992
990
 
993
991
  def make_zconsistent(self: Grid, zsep: float | int) -> None:
994
992
  """Make consistent in z."""
995
- self._xtgformat1()
993
+ self._set_xtgformat1()
996
994
 
997
995
  if isinstance(zsep, int):
998
996
  zsep = float(zsep)
@@ -1017,7 +1015,7 @@ def inactivate_inside(
1017
1015
  force_close: bool = False,
1018
1016
  ) -> None:
1019
1017
  """Inactivate inside a polygon (or outside)."""
1020
- self._xtgformat1()
1018
+ self._set_xtgformat1()
1021
1019
 
1022
1020
  if not isinstance(poly, Polygons):
1023
1021
  raise ValueError("Input polygon not a XTGeo Polygons instance")
@@ -1057,7 +1055,7 @@ def inactivate_inside(
1057
1055
 
1058
1056
  def collapse_inactive_cells(self: Grid) -> None:
1059
1057
  """Collapse inactive cells."""
1060
- self._xtgformat1()
1058
+ self._set_xtgformat1()
1061
1059
 
1062
1060
  _cxtgeo.grd3d_collapse_inact(
1063
1061
  self.ncol, self.nrow, self.nlay, self._zcornsv, self._actnumsv
@@ -1070,7 +1068,7 @@ def copy(self: Grid) -> Grid:
1070
1068
  Returns:
1071
1069
  A new instance (attached grid properties will also be unique)
1072
1070
  """
1073
- self._xtgformat2()
1071
+ self._set_xtgformat2()
1074
1072
 
1075
1073
  copy_tag = " (copy)"
1076
1074
 
@@ -1115,7 +1113,7 @@ def crop(
1115
1113
  Returns:
1116
1114
  The instance is updated (cropped)
1117
1115
  """
1118
- self._xtgformat1()
1116
+ self._set_xtgformat1()
1119
1117
 
1120
1118
  (ic1, ic2), (jc1, jc2), (kc1, kc2) = spec
1121
1119
 
@@ -1216,7 +1214,7 @@ def reduce_to_one_layer(self: Grid) -> None:
1216
1214
  """
1217
1215
  # need new pointers in C (not for coord)
1218
1216
  # Note this could probably be done with pure numpy operations
1219
- self._xtgformat1()
1217
+ self._set_xtgformat1()
1220
1218
 
1221
1219
  ptr_new_num_act = _cxtgeo.new_intpointer()
1222
1220
 
@@ -1250,7 +1248,7 @@ def translate_coordinates(
1250
1248
  flip: tuple[int, int, int] = (1, 1, 1),
1251
1249
  ) -> None:
1252
1250
  """Translate grid coordinates."""
1253
- self._xtgformat1()
1251
+ self._set_xtgformat1()
1254
1252
 
1255
1253
  tx, ty, tz = translate
1256
1254
  fx, fy, fz = flip
@@ -1281,7 +1279,14 @@ def reverse_row_axis(
1281
1279
  if ijk_handedness == self.ijk_handedness:
1282
1280
  return
1283
1281
 
1284
- self._xtgformat1()
1282
+ # update the handedness
1283
+ if ijk_handedness is None:
1284
+ self._ijk_handedness = estimate_handedness(self)
1285
+
1286
+ original_handedness = self._ijk_handedness
1287
+ original_xtgformat = self._xtgformat
1288
+
1289
+ self._set_xtgformat1()
1285
1290
 
1286
1291
  ier = _cxtgeo.grd3d_reverse_jrows(
1287
1292
  self._ncol,
@@ -1303,6 +1308,18 @@ def reverse_row_axis(
1303
1308
  for prp in self._props.props:
1304
1309
  prp.values = prp.values[:, ::-1, :]
1305
1310
 
1311
+ # update the handedness
1312
+ if ijk_handedness is None:
1313
+ self._ijk_handedness = estimate_handedness(self)
1314
+
1315
+ if original_handedness == "left":
1316
+ self._ijk_handedness = "right"
1317
+ else:
1318
+ self._ijk_handedness = "left"
1319
+
1320
+ if original_xtgformat == 2:
1321
+ self._set_xtgformat2()
1322
+
1306
1323
  logger.info("Reversing of rows done")
1307
1324
 
1308
1325
 
@@ -1314,7 +1331,7 @@ def get_adjacent_cells(
1314
1331
  activeonly: bool = True,
1315
1332
  ) -> GridProperty:
1316
1333
  """Get adjacents cells."""
1317
- self._xtgformat1()
1334
+ self._set_xtgformat1()
1318
1335
 
1319
1336
  if not isinstance(prop, GridProperty):
1320
1337
  raise ValueError("The argument prop is not a xtgeo.GridPropery")
@@ -1427,14 +1444,11 @@ def estimate_design(
1427
1444
  return {"design": status, "dzsimbox": dzavg}
1428
1445
 
1429
1446
 
1430
- def estimate_flip(self: Grid) -> Literal[-1, 1]:
1431
- """Estimate if grid is left or right handed."""
1432
- corners = self.get_xyz_cell_corners(activeonly=False) # for cell 1, 1, 1
1433
-
1434
- v1 = (corners[3] - corners[0], corners[4] - corners[1], 0.0)
1435
- v2 = (corners[6] - corners[0], corners[7] - corners[1], 0.0)
1447
+ def estimate_handedness(self: Grid) -> Literal["left", "right"]:
1448
+ """Estimate if grid is left or right handed, returning string."""
1449
+ nflip = self.estimate_flip()
1436
1450
 
1437
- return find_flip(v1, v2)
1451
+ return "left" if nflip == 1 else "right"
1438
1452
 
1439
1453
 
1440
1454
  def _convert_xtgformat2to1(self: Grid) -> None:
@@ -1507,7 +1521,7 @@ def _convert_xtgformat1to2(self: Grid) -> None:
1507
1521
 
1508
1522
  def get_gridquality_properties(self: Grid) -> GridProperties:
1509
1523
  """Get the grid quality properties."""
1510
- self._xtgformat2()
1524
+ self._set_xtgformat2()
1511
1525
 
1512
1526
  qcnames = {
1513
1527
  0: "minangle_topbase",
@@ -69,7 +69,7 @@ def export_xtgcpgeom(grid: Grid, gfile: FileWrapper, subformat: int = 844) -> No
69
69
  """Export grid to binary XTGeo xtgcpgeom format, in prep. and experimental."""
70
70
  logger.info("Export to native binary xtgeo...")
71
71
 
72
- grid._xtgformat2()
72
+ grid._set_xtgformat2()
73
73
  logger.info("Export to native binary xtgeo...(2)")
74
74
 
75
75
  grid.metadata.required = grid
@@ -114,7 +114,7 @@ def export_hdf5_cpgeom(
114
114
  subformat: int = 844,
115
115
  ) -> None:
116
116
  """Export grid to h5/hdf5, in prep. and experimental."""
117
- grid._xtgformat2()
117
+ grid._set_xtgformat2()
118
118
 
119
119
  logger.debug("Export to hdf5 xtgeo layout...")
120
120