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