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
@@ -25,6 +25,77 @@ _ValueList = List[List[_CoordOrValue]]
25
25
  XYValueLists = Tuple[_XYCoordList, _ValueList]
26
26
 
27
27
 
28
+ def _validate_cast_range(values: np.ndarray, target_dtype: np.dtype) -> None:
29
+ """Validate that values fit in target dtype range."""
30
+ if np.issubdtype(target_dtype, np.integer):
31
+ info = np.iinfo(target_dtype)
32
+ min_val, max_val = info.min, info.max
33
+
34
+ # Check actual value ranges
35
+ actual_min = np.nanmin(values)
36
+ actual_max = np.nanmax(values)
37
+
38
+ if actual_min < min_val or actual_max > max_val:
39
+ raise ValueError(
40
+ f"Values [{actual_min}, {actual_max}] exceed {target_dtype} "
41
+ f"range [{min_val}, {max_val}]"
42
+ )
43
+ elif np.issubdtype(target_dtype, np.floating):
44
+ info = np.finfo(target_dtype)
45
+ # Check for overflow/underflow
46
+ if np.any(np.abs(values[np.isfinite(values)]) > info.max):
47
+ raise ValueError(f"Values too large for {target_dtype}")
48
+
49
+
50
+ def discrete_to_continuous(self: GridProperty) -> None:
51
+ """Convert from discrete to continuous values."""
52
+ if not self.isdiscrete:
53
+ logger.debug("No need to convert, already continuous")
54
+ return
55
+
56
+ logger.debug("Converting to continuous ...")
57
+ val = self._values.copy()
58
+ val = val.astype(np.float64)
59
+ self._values = val
60
+ self._isdiscrete = False
61
+ self._codes = {}
62
+ self.roxar_dtype = np.float32
63
+
64
+
65
+ def continuous_to_discrete(self) -> None:
66
+ """Convert from continuous to discrete values."""
67
+ if self.isdiscrete:
68
+ logger.debug("No need to convert, already discrete")
69
+ return
70
+
71
+ logger.debug("Converting to discrete ...")
72
+ val = self._values.copy()
73
+
74
+ # Validate finite values only
75
+ finite_vals = (
76
+ val[np.isfinite(val)]
77
+ if not isinstance(val, np.ma.MaskedArray)
78
+ else val.compressed()
79
+ )
80
+ if len(finite_vals) > 0:
81
+ _validate_cast_range(finite_vals, np.int32)
82
+
83
+ # Round and cast, suppressing the NaN warning
84
+ val = np.round(val)
85
+ with np.errstate(invalid="ignore"):
86
+ val = val.astype(np.int32)
87
+
88
+ self._values = val
89
+ self._isdiscrete = True
90
+
91
+ self._codes = {
92
+ v: str(v)
93
+ for v in np.ma.unique(val)
94
+ if np.isfinite(v) and not isinstance(v, np.ma.core.MaskedConstant)
95
+ }
96
+ self.roxar_dtype = np.uint16
97
+
98
+
28
99
  def get_xy_value_lists(
29
100
  self: GridProperty,
30
101
  grid: Optional[Grid | GridProperty] = None,
@@ -134,12 +205,6 @@ def operation_polygons(
134
205
 
135
206
  gl.update_values_from_carray(proxy, cvals, np.float64, delete=True)
136
207
 
137
- proxyv = proxy.values.astype(np.int8)
138
-
139
- proxytarget = 1
140
- if not inside:
141
- proxytarget = 0
142
-
143
208
  if opname == "add":
144
209
  tmp = self.values.copy() + value
145
210
  elif opname == "sub":
@@ -170,8 +235,9 @@ def operation_polygons(
170
235
  # convert tmp back to correct dtype
171
236
  tmp = tmp.astype(dtype)
172
237
 
173
- self.values[proxyv == proxytarget] = tmp[proxyv == proxytarget]
174
- del tmp
238
+ mask = proxy.values == 1 if inside else proxy.values == 0
239
+
240
+ self.values[mask] = tmp[mask]
175
241
 
176
242
 
177
243
  def refine(
@@ -4,6 +4,7 @@
4
4
  from __future__ import annotations
5
5
 
6
6
  from typing import TYPE_CHECKING, Any, Literal
7
+ from warnings import warn
7
8
 
8
9
  import numpy as np
9
10
  from numpy import ma
@@ -135,6 +136,57 @@ def export_prop_roxapi(
135
136
  rox.safe_close()
136
137
 
137
138
 
139
+ def _validate_dtype_in_roxar(
140
+ pval: np.ndarray, original_dtype: Any, dtype: Any, allow_unsafe_casting: bool = True
141
+ ) -> None:
142
+ """Local routine that check the range in xtgeo's parameter vs Roxar dtype"""
143
+ message = ""
144
+
145
+ if dtype != original_dtype:
146
+ message += (
147
+ f"Existing RMS icon has data type {original_dtype} while "
148
+ f"GridProperty has RMS data type {dtype}. This may cause issues in data "
149
+ "content while saving to RMS."
150
+ )
151
+
152
+ try:
153
+ # for mypy
154
+ min_val: int | float
155
+ max_val: int | float
156
+
157
+ if np.issubdtype(dtype, np.integer):
158
+ # Integer type
159
+ min_val = int(np.iinfo(dtype).min)
160
+ max_val = int(np.iinfo(dtype).max)
161
+ elif np.issubdtype(dtype, np.floating):
162
+ # Float type
163
+ min_val = float(np.finfo(dtype).min)
164
+ max_val = float(np.finfo(dtype).max)
165
+ else:
166
+ # Unknown type
167
+ raise RuntimeError("Probable bug, values array not integer or float")
168
+
169
+ if pval.min() < min_val or pval.max() > max_val:
170
+ message += (
171
+ f"Values outside {dtype} range [{min_val}, {max_val}] found. "
172
+ f"Range in xtgeo values are [{pval.min()}, {pval.max()}]"
173
+ )
174
+
175
+ except (ValueError, OverflowError):
176
+ # Handle edge cases gracefully
177
+ message += f"Could not validate range for dtype {dtype}. "
178
+
179
+ if message and allow_unsafe_casting:
180
+ message += (
181
+ "\nUnsafe casting is allowed; this means that original values may "
182
+ "be truncated which may give unpredictable results and/or mess "
183
+ "up code names and values settings."
184
+ )
185
+
186
+ if message:
187
+ warn(message, UserWarning)
188
+
189
+
138
190
  def _store_in_roxar(
139
191
  self: GridProperty,
140
192
  pname: str,
@@ -147,50 +199,60 @@ def _store_in_roxar(
147
199
 
148
200
  logger.info("Store in RMS...")
149
201
 
150
- val3d = self.values.copy()
151
-
152
- cellno = indexer.get_cell_numbers_in_range((0, 0, 0), indexer.dimensions)
153
-
154
- ijk = indexer.get_indices(cellno)
202
+ roxtype: Any = roxar # needed for mypy
203
+ roxar_property_type = (
204
+ roxtype.GridPropertyType.discrete
205
+ if self.isdiscrete
206
+ else roxtype.GridPropertyType.continuous
207
+ )
155
208
 
156
- iind = ijk[:, 0]
157
- jind = ijk[:, 1]
158
- kind = ijk[:, 2]
209
+ val3d = self.values.copy()
159
210
 
160
211
  dtype = self._roxar_dtype
161
212
  logger.info("DTYPE is %s for %s", dtype, pname)
162
213
 
163
- # casting will secure correct types
164
214
  if dtype not in VALID_ROXAR_DTYPES:
165
215
  raise TypeError(
166
216
  f"Roxar dtype is not valid: {dtype} must be in {VALID_ROXAR_DTYPES}"
167
217
  )
168
218
 
169
- pvalues = roxgrid.get_grid(realisation=realisation).generate_values(data_type=dtype)
170
-
171
- roxtype: Any = roxar # needed for mypy
172
- roxar_property_type = (
173
- roxtype.GridPropertyType.discrete
174
- if self.isdiscrete
175
- else roxtype.GridPropertyType.continuous
176
- )
177
-
178
- pvalues[cellno] = val3d[iind, jind, kind]
179
-
180
219
  properties = roxgrid.properties
181
-
220
+ original_dtype = dtype
182
221
  if pname not in properties:
183
222
  rprop = properties.create(
184
223
  pname, property_type=roxar_property_type, data_type=dtype
185
224
  )
186
225
  else:
187
226
  rprop = properties[pname]
188
- dtype = rprop.data_type
227
+ original_dtype = rprop.data_type
228
+
229
+ _validate_dtype_in_roxar(val3d, original_dtype, dtype, casting == "unsafe")
189
230
 
190
- rprop.set_values(pvalues.astype(dtype, casting=casting), realisation=realisation)
231
+ dtype = original_dtype
232
+ val3d = val3d.astype(dtype, casting=casting)
191
233
 
192
- if self.isdiscrete:
193
- rprop.code_names = _rox_compatible_codes(self.codes)
234
+ cellno = indexer.get_cell_numbers_in_range((0, 0, 0), indexer.dimensions)
235
+
236
+ ijk = indexer.get_indices(cellno)
237
+
238
+ iind = ijk[:, 0]
239
+ jind = ijk[:, 1]
240
+ kind = ijk[:, 2]
241
+
242
+ pvalues = roxgrid.get_grid(realisation=realisation).generate_values(data_type=dtype)
243
+
244
+ pvalues[cellno] = val3d[iind, jind, kind]
245
+ rprop.set_values(pvalues, realisation=realisation)
246
+
247
+ if self.isdiscrete and "float" not in str(original_dtype):
248
+ try:
249
+ rprop.code_names = _rox_compatible_codes(self.codes)
250
+ except ValueError as verr:
251
+ message = (
252
+ f"Trying to set codes in Roxar: {self.codes} for type "
253
+ f"{self._roxar_dtype}. {str(verr)} Consider editing the codes!"
254
+ )
255
+ raise ValueError(message)
194
256
 
195
257
 
196
258
  def _fix_codes(
xtgeo/grid3d/grid.py CHANGED
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import json
6
- from typing import TYPE_CHECKING, Any, Literal, NoReturn
6
+ from typing import TYPE_CHECKING, Any, Literal
7
7
 
8
8
  import numpy as np
9
9
  import numpy.ma as ma
@@ -28,6 +28,7 @@ from . import (
28
28
  _grid_import_ecl,
29
29
  _grid_refine,
30
30
  _grid_roxapi,
31
+ _grid_translate_coords,
31
32
  _grid_wellzone,
32
33
  _gridprop_lowlevel,
33
34
  )
@@ -994,13 +995,16 @@ class Grid(_Grid3D):
994
995
  # Create/import/export
995
996
  # ==================================================================================
996
997
 
997
- def to_file(self, gfile: FileLike, fformat: str = "roff") -> None:
998
+ def to_file(
999
+ self, gfile: FileLike, fformat: str = "roff", rle: bool = False
1000
+ ) -> None:
998
1001
  """Export grid geometry to file, various vendor formats.
999
1002
 
1000
1003
  Args:
1001
1004
  gfile (str): Name of output file
1002
1005
  fformat (str): File format; roff/roff_binary/roff_ascii/
1003
1006
  grdecl/bgrdecl/egrid.
1007
+ rle (bool): Use run-length encoding (only for grdecl file)
1004
1008
 
1005
1009
  Raises:
1006
1010
  OSError: Directory does not exist
@@ -1018,7 +1022,7 @@ class Grid(_Grid3D):
1018
1022
  elif fformat in FileFormat.ROFF_ASCII.value:
1019
1023
  _grid_export.export_roff(self, _gfile.name, "ascii")
1020
1024
  elif fformat in FileFormat.GRDECL.value:
1021
- _grid_export.export_grdecl(self, _gfile.name, 1)
1025
+ _grid_export.export_grdecl(self, _gfile.name, 1, rle)
1022
1026
  elif fformat in FileFormat.BGRDECL.value:
1023
1027
  _grid_export.export_grdecl(self, _gfile.name, 0)
1024
1028
  elif fformat in FileFormat.EGRID.value:
@@ -1577,9 +1581,30 @@ class Grid(_Grid3D):
1577
1581
 
1578
1582
  return self.get_subgrids()
1579
1583
 
1580
- def get_zoneprop_from_subgrids(self) -> NoReturn:
1581
- """Make a XTGeo GridProperty instance for a Zone property subgrid index."""
1582
- raise NotImplementedError("Not yet; todo")
1584
+ def get_zoneprop_from_subgrids(self) -> xtgeo.GridProperty | None:
1585
+ """
1586
+ Create a discrete GridProperty encoding subgrid indices as zone values.
1587
+
1588
+ Returns:
1589
+ A GridProperty where each layer belonging to a subgrid is assigned a unique
1590
+ integer zone index (starting from 1). The property codes map these indices
1591
+ to subgrid names. Returns None if no subgrids are defined.
1592
+ """
1593
+ if not self.subgrids:
1594
+ return None
1595
+
1596
+ zoneprop = xtgeo.GridProperty(
1597
+ ncol=self.ncol,
1598
+ nrow=self.nrow,
1599
+ nlay=self.nlay,
1600
+ name="Zone",
1601
+ discrete=True,
1602
+ values=0,
1603
+ )
1604
+ for i, (name, layers) in enumerate(self.subgrids.items()):
1605
+ zoneprop.codes[i + 1] = name
1606
+ zoneprop.values[:, :, min(layers) - 1 : max(layers)] = i + 1
1607
+ return zoneprop
1583
1608
 
1584
1609
  def get_boundary_polygons(
1585
1610
  self: Grid,
@@ -1794,7 +1819,9 @@ class Grid(_Grid3D):
1794
1819
  name (str): name of property
1795
1820
  flip (bool): Use False for Petrel grids were Z is negative down
1796
1821
  (experimental)
1797
- asmasked (bool): True if only for active cells, False for all cells
1822
+ asmasked (bool): True if only for active cells, False for all cells.
1823
+ With `False` the inactive cells are included, but the numpy
1824
+ array is still a MaskedArray instance.
1798
1825
  metric (str): One of the following metrics:
1799
1826
  * "euclid": sqrt(dx^2 + dy^2 + dz^2)
1800
1827
  * "horizontal": sqrt(dx^2 + dy^2)
@@ -1830,7 +1857,8 @@ class Grid(_Grid3D):
1830
1857
  Args:
1831
1858
  name (str): names of properties
1832
1859
  asmasked (bool). If True, make a np.ma array where inactive cells
1833
- are masked.
1860
+ are masked. Otherwise the inactive cells are included, but the numpy
1861
+ array is still a MaskedArray instance.
1834
1862
  metric (str): One of the following metrics:
1835
1863
  * "euclid": sqrt(dx^2 + dy^2 + dz^2)
1836
1864
  * "horizontal": sqrt(dx^2 + dy^2)
@@ -1860,7 +1888,8 @@ class Grid(_Grid3D):
1860
1888
  Args:
1861
1889
  name (str): names of properties
1862
1890
  asmasked (bool). If True, make a np.ma array where inactive cells
1863
- are masked.
1891
+ are masked. Otherwise the inactive cells are included, but the numpy
1892
+ array is still a MaskedArray instance.
1864
1893
  metric (str): One of the following metrics:
1865
1894
  * "euclid": sqrt(dx^2 + dy^2 + dz^2)
1866
1895
  * "horizontal": sqrt(dx^2 + dy^2)
@@ -1955,6 +1984,59 @@ class Grid(_Grid3D):
1955
1984
  self, name=name, precision=precision, asmasked=asmasked
1956
1985
  )
1957
1986
 
1987
+ def get_phase_volumes(
1988
+ self,
1989
+ water_contact: float | GridProperty,
1990
+ gas_contact: float | GridProperty,
1991
+ boundary: Polygons | None = None,
1992
+ asmasked: bool = True,
1993
+ precision: Literal[1, 2, 4] = 2,
1994
+ ) -> tuple[GridProperty, GridProperty, GridProperty]:
1995
+ """Return the geometric phase cell volume for all cells as three
1996
+ GridProperty objects, namely gas_bulkvol, oil_bulkvol and water_bulkvol.
1997
+
1998
+ The volume calculation is constrained to the area within the provided
1999
+ boundary polygon. In case of multiple polygons, only the first polygon
2000
+ will be used.
2001
+
2002
+ A bulk volume of a cornerpoint cell is a non-trivial and non-unique
2003
+ quantity. The volume is approximated by dividing the cell (hexahedron)
2004
+ into six tetrahedrons; there are multiple ways to perform this division.
2005
+
2006
+ By default (precision=2) an average of two different tetrahedral
2007
+ decompositions is used.
2008
+
2009
+ Args:
2010
+ water_contact: Water-oil contact, in most cases refers to free water level.
2011
+ gas_contact: Gas-oil contact, in most cases refers to free gas level.
2012
+ boundary: Boundary area. If multiple polygons are present, only the
2013
+ first polygon is used.
2014
+ asmasked: If True, make a numpy.ma array where inactive cells are
2015
+ masked. Otherwise a numpy array with bulk volumes for all cells
2016
+ is returned.
2017
+ precision (int): An even number indicating precision level, where a
2018
+ higher number increases precision and computing time. Currently
2019
+ 1, 2 and 4 are supported.
2020
+ Returns:
2021
+ Three XTGeo GridProperty objects: gas, oil and water volumes.
2022
+
2023
+ Example::
2024
+
2025
+ >>> grid = xtgeo.grid_from_file("myGrid.roff")
2026
+ >>> gas, oil, water = grid.get_phase_volumes(
2027
+ ... water_contact=1700.0, gas_contact=1650.0
2028
+ ... )
2029
+ >>> print(f"Total gas volume: {gas.values.sum()}")
2030
+ """
2031
+ return _grid_etc1.get_phase_bulk_volumes(
2032
+ self,
2033
+ water_contact=water_contact,
2034
+ gas_contact=gas_contact,
2035
+ boundary=boundary,
2036
+ precision=precision,
2037
+ asmasked=asmasked,
2038
+ )
2039
+
1958
2040
  def get_heights_above_ffl(
1959
2041
  self,
1960
2042
  ffl: GridProperty,
@@ -1966,12 +2048,14 @@ class Grid(_Grid3D):
1966
2048
  ffl: Free fluid level e.g. FWL (or level whatever is required; a level from
1967
2049
  which cells above will be shown as delta heights (positive), while
1968
2050
  cells below will have 0.0 values.
1969
- option: How to compute values, as either "cell_center_above_ffl" or
1970
- "cell_corners_above_ffl". The first one looks at cell Z centerlines, and
1971
- compute the top, the bottom and the midpoint. The second will look at
1972
- cell corners, using the uppermost corner for top, and the lowermost
1973
- corner for bottom. In both cases, values are modified if cell is
1974
- intersected with the provided ffl.
2051
+ option: How to compute values, as either "cell_center_above_ffl",
2052
+ "cell_corners_above_ffl" or "truncated_cell_corners_above_ffl".
2053
+ The first one looks at cell Z centerlines, and compute the top,
2054
+ the bottom and the midpoint. The second will look at cell corners,
2055
+ using the uppermost corner for top, and the lowermost corner for bottom.
2056
+ The third will truncate all cell corners above ffl and compute cell Z
2057
+ centerlines. In all cases, values are modified if cell is intersected
2058
+ with the provided ffl.
1975
2059
 
1976
2060
  Returns:
1977
2061
  (htop, hbot, hmid) delta heights, as xtgeo GridProperty objects
@@ -2295,7 +2379,7 @@ class Grid(_Grid3D):
2295
2379
  * maxangle_topbase_proj (degrees) max angle projected (bird view)
2296
2380
  * minangle_sides (degress) minimum angle, all side surfaces
2297
2381
  * maxangle_sides (degress) maximum angle, all side surfaces
2298
- * collapsed (int) Integer, 1 of one or more corners are collpased in Z
2382
+ * collapsed (int) Integer, 1 of one or more corners are collapsed in Z
2299
2383
  * faulted (int) Integer, 1 if cell is faulted (one or more neighbours offset)
2300
2384
  * negative_thickness (int) Integer, 1 if cell has negative thickness
2301
2385
  * concave_proj (int) 1 if cell is concave seen from projected bird view
@@ -2332,7 +2416,7 @@ class Grid(_Grid3D):
2332
2416
  inside: bool = True,
2333
2417
  force_close: bool = False,
2334
2418
  ) -> None:
2335
- """Inacativate grid inside a polygon.
2419
+ """Inactivate grid inside a polygon.
2336
2420
 
2337
2421
  The Polygons instance may consist of several polygons. If a polygon
2338
2422
  is open, then the flag force_close will close any that are not open
@@ -2359,14 +2443,30 @@ class Grid(_Grid3D):
2359
2443
  layer_range: tuple[int, int] | None = None,
2360
2444
  force_close: bool = False,
2361
2445
  ) -> None:
2362
- """Inacativate grid outside a polygon."""
2446
+ """Inactivate grid outside a polygon."""
2363
2447
  self.inactivate_inside(
2364
2448
  poly, layer_range=layer_range, inside=False, force_close=force_close
2365
2449
  )
2366
2450
 
2367
- def collapse_inactive_cells(self) -> None:
2368
- """Collapse inactive layers where, for I J with other active cells."""
2369
- _grid_etc1.collapse_inactive_cells(self)
2451
+ def collapse_inactive_cells(self, internal: bool = True) -> None:
2452
+ """Collapse inactive layers per I J column (~vertically).
2453
+
2454
+ Seen by I,J column, the inactive cells are collapsed to the first active cell in
2455
+ the column. First transversed from top, then from bottom. If no active cells in
2456
+ the column, the (invisible) Z coordinates are averaged to one common location.
2457
+
2458
+ If `internal` is True (default), then also internal inactive cells (i.e.
2459
+ inactive "hole" surrounded by active cells) are collapsed. In this case the Z
2460
+ coordinates of the adjacent active cells are moved to fill the gap.
2461
+
2462
+ The current grid instance will be updated.
2463
+
2464
+ Args:
2465
+ internal: If True (default), then the internal collapse is also done.
2466
+
2467
+ .. versionchanged:: 4.11 Added ``internal option``, algorithm is improved
2468
+ """
2469
+ _grid_etc1.collapse_inactive_cells(self, internal=internal)
2370
2470
 
2371
2471
  def crop(
2372
2472
  self,
@@ -2434,21 +2534,48 @@ class Grid(_Grid3D):
2434
2534
  def translate_coordinates(
2435
2535
  self,
2436
2536
  translate: tuple[float, float, float] = (0.0, 0.0, 0.0),
2537
+ target_coordinates: tuple[float, float, float] | None = None,
2437
2538
  flip: tuple[int, int, int] = (1, 1, 1),
2438
- ) -> None:
2439
- """Translate (move) and/or flip grid coordinates in 3D.
2539
+ add_rotation: float = 0.0,
2540
+ rotation_point: tuple[float, float] | None = None,
2541
+ ) -> Grid | None:
2542
+ """Translate (move), flip and rotate the 3D grid geometry.
2440
2543
 
2441
- By 'flip' here, it means that the full coordinate array are multiplied
2442
- with -1.
2544
+ By 'flip' here, it means that the full coordinate arrays are inverted.
2443
2545
 
2444
2546
  Args:
2445
- translate (tuple): Translation distance in X, Y, Z coordinates
2446
- flip (tuple): Flip array. The flip values must be 1 or -1.
2547
+ translate: Translation distance in X, Y, Z coordinates; these
2548
+ values will be added to the current coordinates.
2549
+ target_coordinates: Position for the centerpoint of the active grid cells.
2550
+ Note that key ``translate`` cannot be used with this key; i.e. use
2551
+ either ``translate`` or ``target_coordinates``
2552
+ flip: Flip array. The flip values must be 1 or -1, meaning 1 for
2553
+ keeping the current, and -1 for activating an axis flip.
2554
+ add_rotation: The grid geometry will get an additional rotation by this
2555
+ value, in degrees and counter clock wise.
2556
+ rotation_point: Which (x, y) coordiate to be set as origin when adding
2557
+ rotation. Default is the corner of the first cell number.
2558
+
2559
+ Note:
2560
+ Grid properties attached to the grid will also be transformed
2561
+
2562
+ Example::
2563
+ import xtgeo
2564
+ grd = xtgeo.grid_from_roxar(project, "simpleb8")
2565
+ poro = xtgeo.gridproperty_from_roxar(project, "simpleb8", "PORO")
2566
+ grd.props = [poro]
2567
+
2568
+ grd.translate_coordinates(translate=(10,10, 20), flip=(1,1,-1),
2569
+ add_rotation=30)
2570
+
2571
+ grd.to_roxar(project, "simpleb8_translated")
2572
+ poro1 = grd.get_prop_by_name("PORO")
2573
+ poro1.to_roxar(project, "simpleb8_translated", "PORO")
2447
2574
 
2448
- Raises:
2449
- RuntimeError: If translation goes wrong for unknown reasons
2450
2575
  """
2451
- _grid_etc1.translate_coordinates(self, translate=translate, flip=flip)
2576
+ _grid_translate_coords.translate_coordinates(
2577
+ self, translate, flip, add_rotation, rotation_point, target_coordinates
2578
+ )
2452
2579
 
2453
2580
  def reverse_row_axis(
2454
2581
  self, ijk_handedness: Literal["left", "right"] | None = None
@@ -2456,7 +2583,7 @@ class Grid(_Grid3D):
2456
2583
  """Reverse the row axis (J indices).
2457
2584
 
2458
2585
  This means that IJK system will switched between a left vs right handed system.
2459
- It is here (by using ijk_handedness key), possible to set a wanted stated.
2586
+ It is here (by using ijk_handedness key), possible to set a wanted handedness.
2460
2587
 
2461
2588
  Note that properties that are assosiated with the grid (through the
2462
2589
  :py:attr:`~gridprops` or :py:attr:`~props` attribute) will also be
@@ -2482,6 +2609,38 @@ class Grid(_Grid3D):
2482
2609
  """
2483
2610
  _grid_etc1.reverse_row_axis(self, ijk_handedness=ijk_handedness)
2484
2611
 
2612
+ def reverse_column_axis(
2613
+ self, ijk_handedness: Literal["left", "right"] | None = None
2614
+ ) -> None:
2615
+ """Reverse the column axis (I indices).
2616
+
2617
+ This means that IJK system will switched between a left vs right handed system.
2618
+ It is here (by using ijk_handedness key), possible to set a wanted handedness.
2619
+
2620
+ Note that properties that are assosiated with the grid (through the
2621
+ :py:attr:`~gridprops` or :py:attr:`~props` attribute) will also be
2622
+ reversed (which is desirable).
2623
+
2624
+ Args:
2625
+ ijk_handedness (str): If set to "right" or "left", do only reverse columns
2626
+ if handedness is not already achieved.
2627
+
2628
+ Example::
2629
+
2630
+ grd = xtgeo.grid_from_file("somefile.roff")
2631
+ prop1 = xtgeo.gridproperty_from_file("somepropfile1.roff")
2632
+ prop2 = xtgeo.gridproperty_from_file("somepropfile2.roff")
2633
+
2634
+ grd.props = [prop1, prop2]
2635
+
2636
+ # secure that the grid geometry is IJK right-handed
2637
+ grd.reverse_column_axis(ijk_handedness="right")
2638
+
2639
+ .. versionadded:: 4.14
2640
+
2641
+ """
2642
+ _grid_etc1.reverse_column_axis(self, ijk_handedness=ijk_handedness)
2643
+
2485
2644
  def make_zconsistent(self, zsep: float | int = 1e-5) -> None:
2486
2645
  """Make the 3D grid consistent in Z, by a minimal gap (zsep).
2487
2646
 
@@ -2514,11 +2673,13 @@ class Grid(_Grid3D):
2514
2673
  :align: center
2515
2674
 
2516
2675
  Args:
2517
- nhdiv (int): Number of hybrid layers.
2518
- toplevel (float): Top of hybrid grid.
2519
- bottomlevel (float): Base of hybrid grid.
2520
- region (GridProperty, optional): Region property (if needed).
2521
- region_number (int): Which region to apply hybrid grid in if region.
2676
+ nhdiv: Number of hybrid layers.
2677
+ toplevel: Top of hybrid grid.
2678
+ bottomlevel: Base of hybrid grid.
2679
+ region: Region property (if needed). Note that the region will only be
2680
+ applied in a lateral sense: i.e. if a column is in the region, then
2681
+ the full column will be converted to hybrid.
2682
+ region_number: Which region to apply hybrid grid in if region.
2522
2683
 
2523
2684
  Example:
2524
2685
  Create a hybridgrid from file, based on a GRDECL file (no region)::
@@ -2535,6 +2696,7 @@ class Grid(_Grid3D):
2535
2696
  .. _usage in the Troll field: https://doi.org/10.2118/148023-MS
2536
2697
 
2537
2698
  """
2699
+
2538
2700
  _grid_hybrid.make_hybridgrid(
2539
2701
  self,
2540
2702
  nhdiv=nhdiv,
@@ -773,6 +773,7 @@ class GridProperty(_Grid3D):
773
773
  append: bool = False,
774
774
  dtype: type[np.float32] | type[np.float64] | type[np.int32] | None = None,
775
775
  fmt: str | None = None,
776
+ rle: bool = False,
776
777
  ) -> None:
777
778
  """
778
779
  Export the grid property to file.
@@ -791,6 +792,7 @@ class GridProperty(_Grid3D):
791
792
  Eclipse formats.
792
793
  fmt: Format for ascii grdecl format. Default is None. If specified,
793
794
  the user is responsible for a valid format specifier, e.g. "%8.4f".
795
+ rle: Use run length encoding, only for grdecl format.
794
796
 
795
797
  Example::
796
798
 
@@ -815,6 +817,7 @@ class GridProperty(_Grid3D):
815
817
  append=append,
816
818
  dtype=dtype,
817
819
  fmt=fmt,
820
+ rle=rle,
818
821
  )
819
822
 
820
823
  @classmethod
@@ -1222,36 +1225,11 @@ class GridProperty(_Grid3D):
1222
1225
 
1223
1226
  def discrete_to_continuous(self) -> None:
1224
1227
  """Convert from discrete to continuous values."""
1225
- if not self.isdiscrete:
1226
- logger.debug("No need to convert, already continuous")
1227
- return
1228
-
1229
- logger.debug("Converting to continuous ...")
1230
- val = self._values.copy()
1231
- val = val.astype("float64")
1232
- self._values = val
1233
- self._isdiscrete = False
1234
- self._codes = {}
1235
- self.roxar_dtype = np.float32
1228
+ _gridprop_op1.discrete_to_continuous(self)
1236
1229
 
1237
1230
  def continuous_to_discrete(self) -> None:
1238
1231
  """Convert from continuous to discrete values."""
1239
- if self.isdiscrete:
1240
- logger.debug("No need to convert, already discrete")
1241
- return
1242
-
1243
- logger.debug("Converting to discrete ...")
1244
- val = self._values.copy()
1245
- val = val.astype(np.int32)
1246
- self._values = val
1247
- self._isdiscrete = True
1248
-
1249
- # make the code list
1250
- uniq = np.unique(val).tolist()
1251
- codes = dict(zip(uniq, uniq))
1252
- codes = {k: str(v) for k, v in codes.items()} # val as strings
1253
- self._codes = codes
1254
- self.roxar_dtype = np.uint16
1232
+ _gridprop_op1.continuous_to_discrete(self)
1255
1233
 
1256
1234
  # ==================================================================================
1257
1235
  # Operations restricted to inside/outside polygons