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/grid3d/_gridprop_op1.py
CHANGED
|
@@ -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
|
-
|
|
174
|
-
|
|
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(
|
xtgeo/grid3d/_gridprop_roxapi.py
CHANGED
|
@@ -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
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
-
|
|
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
|
-
|
|
227
|
+
original_dtype = rprop.data_type
|
|
228
|
+
|
|
229
|
+
_validate_dtype_in_roxar(val3d, original_dtype, dtype, casting == "unsafe")
|
|
189
230
|
|
|
190
|
-
|
|
231
|
+
dtype = original_dtype
|
|
232
|
+
val3d = val3d.astype(dtype, casting=casting)
|
|
191
233
|
|
|
192
|
-
|
|
193
|
-
|
|
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
|
|
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(
|
|
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) ->
|
|
1581
|
-
"""
|
|
1582
|
-
|
|
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"
|
|
1970
|
-
"cell_corners_above_ffl"
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
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
|
|
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
|
-
"""
|
|
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
|
-
"""
|
|
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
|
|
2369
|
-
|
|
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
|
-
|
|
2439
|
-
|
|
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
|
|
2442
|
-
with -1.
|
|
2544
|
+
By 'flip' here, it means that the full coordinate arrays are inverted.
|
|
2443
2545
|
|
|
2444
2546
|
Args:
|
|
2445
|
-
translate
|
|
2446
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
2518
|
-
toplevel
|
|
2519
|
-
bottomlevel
|
|
2520
|
-
region
|
|
2521
|
-
|
|
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,
|
xtgeo/grid3d/grid_property.py
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|