xtgeo 4.14.1__cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.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 +558 -0
- cxtgeoPYTHON_wrap.c +19537 -0
- xtgeo/__init__.py +248 -0
- xtgeo/_cxtgeo.cpython-310-x86_64-linux-gnu.so +0 -0
- xtgeo/_internal.cpython-310-x86_64-linux-gnu.so +0 -0
- xtgeo/common/__init__.py +19 -0
- xtgeo/common/_angles.py +29 -0
- xtgeo/common/_xyz_enum.py +50 -0
- xtgeo/common/calc.py +396 -0
- xtgeo/common/constants.py +30 -0
- xtgeo/common/exceptions.py +42 -0
- xtgeo/common/log.py +93 -0
- xtgeo/common/sys.py +166 -0
- xtgeo/common/types.py +18 -0
- xtgeo/common/version.py +34 -0
- xtgeo/common/xtgeo_dialog.py +604 -0
- xtgeo/cube/__init__.py +9 -0
- xtgeo/cube/_cube_export.py +214 -0
- xtgeo/cube/_cube_import.py +532 -0
- xtgeo/cube/_cube_roxapi.py +180 -0
- xtgeo/cube/_cube_utils.py +287 -0
- xtgeo/cube/_cube_window_attributes.py +273 -0
- xtgeo/cube/cube1.py +1023 -0
- xtgeo/grid3d/__init__.py +15 -0
- xtgeo/grid3d/_ecl_grid.py +778 -0
- xtgeo/grid3d/_ecl_inte_head.py +152 -0
- xtgeo/grid3d/_ecl_logi_head.py +71 -0
- xtgeo/grid3d/_ecl_output_file.py +81 -0
- xtgeo/grid3d/_egrid.py +1004 -0
- xtgeo/grid3d/_find_gridprop_in_eclrun.py +625 -0
- xtgeo/grid3d/_grdecl_format.py +309 -0
- xtgeo/grid3d/_grdecl_grid.py +400 -0
- xtgeo/grid3d/_grid3d.py +29 -0
- xtgeo/grid3d/_grid3d_fence.py +284 -0
- xtgeo/grid3d/_grid3d_utils.py +228 -0
- xtgeo/grid3d/_grid_boundary.py +76 -0
- xtgeo/grid3d/_grid_etc1.py +1683 -0
- xtgeo/grid3d/_grid_export.py +222 -0
- xtgeo/grid3d/_grid_hybrid.py +50 -0
- xtgeo/grid3d/_grid_import.py +79 -0
- xtgeo/grid3d/_grid_import_ecl.py +101 -0
- xtgeo/grid3d/_grid_import_roff.py +135 -0
- xtgeo/grid3d/_grid_import_xtgcpgeom.py +375 -0
- xtgeo/grid3d/_grid_refine.py +258 -0
- xtgeo/grid3d/_grid_roxapi.py +292 -0
- xtgeo/grid3d/_grid_translate_coords.py +154 -0
- xtgeo/grid3d/_grid_wellzone.py +165 -0
- xtgeo/grid3d/_gridprop_export.py +202 -0
- xtgeo/grid3d/_gridprop_import_eclrun.py +164 -0
- xtgeo/grid3d/_gridprop_import_grdecl.py +132 -0
- xtgeo/grid3d/_gridprop_import_roff.py +52 -0
- xtgeo/grid3d/_gridprop_import_xtgcpprop.py +168 -0
- xtgeo/grid3d/_gridprop_lowlevel.py +171 -0
- xtgeo/grid3d/_gridprop_op1.py +272 -0
- xtgeo/grid3d/_gridprop_roxapi.py +301 -0
- xtgeo/grid3d/_gridprop_value_init.py +140 -0
- xtgeo/grid3d/_gridprops_import_eclrun.py +344 -0
- xtgeo/grid3d/_gridprops_import_roff.py +83 -0
- xtgeo/grid3d/_roff_grid.py +470 -0
- xtgeo/grid3d/_roff_parameter.py +303 -0
- xtgeo/grid3d/grid.py +3010 -0
- xtgeo/grid3d/grid_properties.py +699 -0
- xtgeo/grid3d/grid_property.py +1313 -0
- xtgeo/grid3d/types.py +15 -0
- 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/__init__.py +1 -0
- xtgeo/io/_file.py +603 -0
- xtgeo/metadata/__init__.py +17 -0
- xtgeo/metadata/metadata.py +435 -0
- xtgeo/roxutils/__init__.py +7 -0
- xtgeo/roxutils/_roxar_loader.py +54 -0
- xtgeo/roxutils/_roxutils_etc.py +122 -0
- xtgeo/roxutils/roxutils.py +207 -0
- 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 +20 -0
- xtgeo/surface/_regsurf_boundary.py +26 -0
- xtgeo/surface/_regsurf_cube.py +210 -0
- xtgeo/surface/_regsurf_cube_window.py +391 -0
- xtgeo/surface/_regsurf_cube_window_v2.py +297 -0
- xtgeo/surface/_regsurf_cube_window_v3.py +360 -0
- xtgeo/surface/_regsurf_export.py +388 -0
- xtgeo/surface/_regsurf_grid3d.py +275 -0
- xtgeo/surface/_regsurf_gridding.py +347 -0
- xtgeo/surface/_regsurf_ijxyz_parser.py +278 -0
- xtgeo/surface/_regsurf_import.py +347 -0
- xtgeo/surface/_regsurf_lowlevel.py +122 -0
- xtgeo/surface/_regsurf_oper.py +538 -0
- xtgeo/surface/_regsurf_utils.py +81 -0
- xtgeo/surface/_surfs_import.py +43 -0
- xtgeo/surface/_zmap_parser.py +138 -0
- xtgeo/surface/regular_surface.py +3043 -0
- xtgeo/surface/surfaces.py +276 -0
- xtgeo/well/__init__.py +24 -0
- xtgeo/well/_blockedwell_roxapi.py +241 -0
- xtgeo/well/_blockedwells_roxapi.py +68 -0
- xtgeo/well/_well_aux.py +30 -0
- xtgeo/well/_well_io.py +327 -0
- xtgeo/well/_well_oper.py +483 -0
- xtgeo/well/_well_roxapi.py +304 -0
- xtgeo/well/_wellmarkers.py +486 -0
- xtgeo/well/_wells_utils.py +158 -0
- xtgeo/well/blocked_well.py +220 -0
- xtgeo/well/blocked_wells.py +134 -0
- xtgeo/well/well1.py +1516 -0
- xtgeo/well/wells.py +211 -0
- xtgeo/xyz/__init__.py +6 -0
- xtgeo/xyz/_polygons_oper.py +272 -0
- xtgeo/xyz/_xyz.py +758 -0
- xtgeo/xyz/_xyz_data.py +646 -0
- xtgeo/xyz/_xyz_io.py +737 -0
- xtgeo/xyz/_xyz_lowlevel.py +42 -0
- xtgeo/xyz/_xyz_oper.py +613 -0
- xtgeo/xyz/_xyz_roxapi.py +766 -0
- xtgeo/xyz/points.py +698 -0
- xtgeo/xyz/polygons.py +827 -0
- xtgeo-4.14.1.dist-info/METADATA +146 -0
- xtgeo-4.14.1.dist-info/RECORD +658 -0
- xtgeo-4.14.1.dist-info/WHEEL +6 -0
- xtgeo-4.14.1.dist-info/licenses/LICENSE.md +165 -0
- xtgeo.libs/libgomp-e985bcbb.so.1.0.0 +0 -0
|
@@ -0,0 +1,699 @@
|
|
|
1
|
+
"""Module for Grid Properties."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import hashlib
|
|
6
|
+
import warnings
|
|
7
|
+
from typing import TYPE_CHECKING, List, Literal, Tuple, Union
|
|
8
|
+
|
|
9
|
+
import numpy as np
|
|
10
|
+
import pandas as pd
|
|
11
|
+
|
|
12
|
+
from xtgeo.common import XTGDescription, XTGeoDialog, null_logger
|
|
13
|
+
from xtgeo.common.constants import MAXDATES, MAXKEYWORDS
|
|
14
|
+
from xtgeo.common.exceptions import InvalidFileFormatError
|
|
15
|
+
from xtgeo.io._file import FileFormat, FileWrapper
|
|
16
|
+
|
|
17
|
+
from . import _grid3d_utils as utils, _grid_etc1
|
|
18
|
+
from ._grid3d import _Grid3D
|
|
19
|
+
from ._gridprops_import_eclrun import (
|
|
20
|
+
import_ecl_init_gridproperties,
|
|
21
|
+
import_ecl_restart_gridproperties,
|
|
22
|
+
read_eclrun_properties,
|
|
23
|
+
)
|
|
24
|
+
from ._gridprops_import_roff import import_roff_gridproperties, read_roff_properties
|
|
25
|
+
|
|
26
|
+
xtg = XTGeoDialog()
|
|
27
|
+
logger = null_logger(__name__)
|
|
28
|
+
|
|
29
|
+
if TYPE_CHECKING:
|
|
30
|
+
from collections.abc import Iterable, Iterator
|
|
31
|
+
|
|
32
|
+
from xtgeo import Grid
|
|
33
|
+
from xtgeo.common.types import FileLike
|
|
34
|
+
|
|
35
|
+
from .grid_property import GridProperty
|
|
36
|
+
|
|
37
|
+
KeywordTuple = Tuple[str, str, int, int]
|
|
38
|
+
KeywordDateTuple = Tuple[str, str, int, int, Union[str, int]]
|
|
39
|
+
GridPropertiesKeywords = Union[
|
|
40
|
+
List[Union[KeywordTuple, KeywordDateTuple]], pd.DataFrame
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def list_gridproperties(
|
|
45
|
+
property_file: FileLike,
|
|
46
|
+
fformat: Literal["roffasc", "roff", "finit", "init", "funrst", "unrst"] = None,
|
|
47
|
+
) -> list[str]:
|
|
48
|
+
"""List the properties in a ROFF or Eclipse INIT/UNRST file.
|
|
49
|
+
|
|
50
|
+
Args:
|
|
51
|
+
property_file: The `FileLike` containing the file to inspect.
|
|
52
|
+
fformat: The optional format of the provided file. If not provided will
|
|
53
|
+
attempt to detect it. None by default.
|
|
54
|
+
|
|
55
|
+
Returns:
|
|
56
|
+
A list of property names within the file.
|
|
57
|
+
|
|
58
|
+
Raises:
|
|
59
|
+
ValueError: Unknown or invalid file format.
|
|
60
|
+
|
|
61
|
+
Example::
|
|
62
|
+
>>> static_props = xtgeo.list_gridproperties(reek_dir + "/REEK.INIT")
|
|
63
|
+
>>> roff_props = xtgeo.list_gridproperties(
|
|
64
|
+
... reek_dir + "/reek_grd_w_props.roff",
|
|
65
|
+
... fformat="roff",
|
|
66
|
+
... )
|
|
67
|
+
"""
|
|
68
|
+
pfile = FileWrapper(property_file, mode="rb")
|
|
69
|
+
pfile.check_file(raiseerror=ValueError)
|
|
70
|
+
|
|
71
|
+
fmt = pfile.fileformat(fformat)
|
|
72
|
+
if fmt in (FileFormat.ROFF_ASCII, FileFormat.ROFF_BINARY):
|
|
73
|
+
return list(read_roff_properties(pfile))
|
|
74
|
+
if fmt in (
|
|
75
|
+
FileFormat.FINIT,
|
|
76
|
+
FileFormat.INIT,
|
|
77
|
+
FileFormat.FUNRST,
|
|
78
|
+
FileFormat.UNRST,
|
|
79
|
+
):
|
|
80
|
+
return list(read_eclrun_properties(pfile))
|
|
81
|
+
|
|
82
|
+
extensions = FileFormat.extensions_string(
|
|
83
|
+
[
|
|
84
|
+
FileFormat.ROFF_BINARY,
|
|
85
|
+
FileFormat.ROFF_ASCII,
|
|
86
|
+
FileFormat.INIT,
|
|
87
|
+
FileFormat.FINIT,
|
|
88
|
+
FileFormat.UNRST,
|
|
89
|
+
FileFormat.FUNRST,
|
|
90
|
+
]
|
|
91
|
+
)
|
|
92
|
+
raise InvalidFileFormatError(
|
|
93
|
+
f"File format {fformat} is invalid for type GridProperties. "
|
|
94
|
+
f"Supported formats are {extensions}."
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def gridproperties_from_file(
|
|
99
|
+
property_file: FileLike,
|
|
100
|
+
fformat: str | None = None,
|
|
101
|
+
names: list[str] | None = None,
|
|
102
|
+
dates: list[str] | None = None,
|
|
103
|
+
grid: Grid | None = None,
|
|
104
|
+
namestyle: int = 0,
|
|
105
|
+
strict: tuple[bool, bool] = (True, False),
|
|
106
|
+
) -> GridProperties:
|
|
107
|
+
"""Import grid properties from file.
|
|
108
|
+
|
|
109
|
+
In case of names='all' then all vectors which have a valid length
|
|
110
|
+
(number of total or active cells in the grid) will be read
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
property_file (str or Path): Name of file with properties
|
|
114
|
+
fformat (str): roff/init/unrst
|
|
115
|
+
names: list of property names, e.g. ['PORO', 'PERMX'] or 'all'
|
|
116
|
+
dates: list of dates on YYYYMMDD format, for restart files, or 'all'
|
|
117
|
+
grid (obj): The grid geometry object (optional if ROFF)
|
|
118
|
+
namestyle (int): 0 (default) for style SWAT_20110223,
|
|
119
|
+
1 for SWAT--2011_02_23 (applies to restart only)
|
|
120
|
+
strict (tuple of (bool, bool)): If (True, False) (default) then an
|
|
121
|
+
Error is raised if keyword name is not found, or a key-date combination
|
|
122
|
+
is not found. However, the dates will processed so that non-valid dates
|
|
123
|
+
are skipped (still, invalid key-date combinations may occur!).
|
|
124
|
+
If (True, True) all keywords and dates are tried, while (False, False)
|
|
125
|
+
means that that only valid entries are imported, more or less silently.
|
|
126
|
+
Saturations keywords SWAT/SOIL/SGAS are not evaluated as they may be
|
|
127
|
+
derived.
|
|
128
|
+
Example::
|
|
129
|
+
>>> grd = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID", fformat='egrid')
|
|
130
|
+
>>> gps = xtgeo.gridproperties_from_file(
|
|
131
|
+
... reek_dir + "/REEK.INIT",
|
|
132
|
+
... fformat='init',
|
|
133
|
+
... names=["PORO", "PERMX"],
|
|
134
|
+
... grid=grd,
|
|
135
|
+
... )
|
|
136
|
+
"""
|
|
137
|
+
pfile = FileWrapper(property_file, mode="rb")
|
|
138
|
+
pfile.check_file(raiseerror=ValueError)
|
|
139
|
+
|
|
140
|
+
fmt = pfile.fileformat(fformat)
|
|
141
|
+
if fmt in (FileFormat.ROFF_ASCII, FileFormat.ROFF_BINARY):
|
|
142
|
+
return GridProperties(
|
|
143
|
+
props=import_roff_gridproperties(pfile, names, strict=strict)
|
|
144
|
+
)
|
|
145
|
+
if fmt in (FileFormat.FINIT, FileFormat.INIT):
|
|
146
|
+
return GridProperties(
|
|
147
|
+
props=import_ecl_init_gridproperties(
|
|
148
|
+
pfile,
|
|
149
|
+
grid=grid,
|
|
150
|
+
names=names,
|
|
151
|
+
strict=strict[0],
|
|
152
|
+
maxkeys=MAXKEYWORDS,
|
|
153
|
+
)
|
|
154
|
+
)
|
|
155
|
+
if fmt in (FileFormat.FUNRST, FileFormat.UNRST):
|
|
156
|
+
return GridProperties(
|
|
157
|
+
props=import_ecl_restart_gridproperties(
|
|
158
|
+
pfile,
|
|
159
|
+
dates=dates,
|
|
160
|
+
grid=grid,
|
|
161
|
+
names=names,
|
|
162
|
+
namestyle=namestyle,
|
|
163
|
+
strict=strict,
|
|
164
|
+
maxkeys=MAXKEYWORDS,
|
|
165
|
+
)
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
extensions = FileFormat.extensions_string(
|
|
169
|
+
[
|
|
170
|
+
FileFormat.ROFF_BINARY,
|
|
171
|
+
FileFormat.ROFF_ASCII,
|
|
172
|
+
FileFormat.INIT,
|
|
173
|
+
FileFormat.FINIT,
|
|
174
|
+
FileFormat.UNRST,
|
|
175
|
+
FileFormat.FUNRST,
|
|
176
|
+
]
|
|
177
|
+
)
|
|
178
|
+
raise InvalidFileFormatError(
|
|
179
|
+
f"File format {fformat} is invalid for type GridProperties. "
|
|
180
|
+
f"Supported formats are {extensions}."
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
# --------------------------------------------------------------------------------------
|
|
185
|
+
# Comment on 'asmasked' vs 'activeonly:
|
|
186
|
+
#
|
|
187
|
+
# 'asmasked'=True will return a np.ma array, while 'asmasked' = False will
|
|
188
|
+
# return a np.ndarray
|
|
189
|
+
#
|
|
190
|
+
# The 'activeonly' will filter out masked entries, or use None or np.nan
|
|
191
|
+
# if 'activeonly' is False.
|
|
192
|
+
#
|
|
193
|
+
# Use word 'zerobased' for a bool regrading startcell basis is 1 or 0
|
|
194
|
+
#
|
|
195
|
+
# For functions with mask=... ,they should be replaced with asmasked=...
|
|
196
|
+
# --------------------------------------------------------------------------------------
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def gridproperties_dataframe(
|
|
200
|
+
gridproperties: Iterable[GridProperties],
|
|
201
|
+
grid: Grid | None = None,
|
|
202
|
+
activeonly: bool = True,
|
|
203
|
+
ijk: bool = False,
|
|
204
|
+
xyz: bool = False,
|
|
205
|
+
doubleformat: bool = False,
|
|
206
|
+
) -> pd.DataFrame:
|
|
207
|
+
"""Returns a Pandas dataframe table for the properties.
|
|
208
|
+
|
|
209
|
+
Similar to :meth:`GridProperties.get_dataframe()` but takes any list of
|
|
210
|
+
grid properties as its first argument.
|
|
211
|
+
|
|
212
|
+
Args:
|
|
213
|
+
gridproperties: List (also GridProperties or iterable) of GridProperty
|
|
214
|
+
to create dataframe of.
|
|
215
|
+
activeonly (bool): If True, return only active cells, NB!
|
|
216
|
+
If True, will require a grid instance (see grid key)
|
|
217
|
+
ijk (bool): If True, show cell indices, IX JY KZ columns
|
|
218
|
+
xyz (bool): If True, show cell center coordinates (needs grid).
|
|
219
|
+
doubleformat (bool): If True, floats are 64 bit, otherwise 32 bit.
|
|
220
|
+
Note that coordinates (if xyz=True) is always 64 bit floats.
|
|
221
|
+
grid (Grid): The grid geometry object. This is required for the
|
|
222
|
+
xyz option.
|
|
223
|
+
Returns:
|
|
224
|
+
Pandas dataframe object
|
|
225
|
+
Examples::
|
|
226
|
+
>>> grd = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID", fformat='egrid')
|
|
227
|
+
>>> names = ['SOIL', 'SWAT', 'PRESSURE']
|
|
228
|
+
>>> dates = [19991201]
|
|
229
|
+
>>> gps = xtgeo.gridproperties_from_file(
|
|
230
|
+
... reek_dir + "/REEK.UNRST",
|
|
231
|
+
... fformat='unrst',
|
|
232
|
+
... names=names,
|
|
233
|
+
... dates=dates,
|
|
234
|
+
... grid=grd
|
|
235
|
+
... )
|
|
236
|
+
>>> df = xtgeo.gridproperties_dataframe(gps, grid=grd)
|
|
237
|
+
"""
|
|
238
|
+
|
|
239
|
+
proplist = list(gridproperties)
|
|
240
|
+
|
|
241
|
+
dataframe_dict = {}
|
|
242
|
+
if ijk:
|
|
243
|
+
if activeonly:
|
|
244
|
+
if grid:
|
|
245
|
+
ix, jy, kz = _grid_etc1.get_ijk(grid)
|
|
246
|
+
dataframe_dict["IX"] = ix.get_active_npvalues1d()
|
|
247
|
+
dataframe_dict["JY"] = jy.get_active_npvalues1d()
|
|
248
|
+
dataframe_dict["KZ"] = kz.get_active_npvalues1d()
|
|
249
|
+
elif proplist:
|
|
250
|
+
ix, jy, kz = _grid_etc1.get_ijk(proplist[0])
|
|
251
|
+
dataframe_dict["IX"] = ix.get_active_npvalues1d()
|
|
252
|
+
dataframe_dict["JY"] = jy.get_active_npvalues1d()
|
|
253
|
+
dataframe_dict["KZ"] = kz.get_active_npvalues1d()
|
|
254
|
+
else:
|
|
255
|
+
if not grid:
|
|
256
|
+
raise ValueError(
|
|
257
|
+
"You ask for active_only but no Grid is present. Use grid=..."
|
|
258
|
+
)
|
|
259
|
+
act = grid.get_actnum(dual=True)
|
|
260
|
+
ix, jy, kz = grid.get_ijk(asmasked=False)
|
|
261
|
+
dataframe_dict["ACTNUM"] = act.values1d
|
|
262
|
+
dataframe_dict["IX"] = ix.values1d
|
|
263
|
+
dataframe_dict["JY"] = jy.values1d
|
|
264
|
+
dataframe_dict["KZ"] = kz.values1d
|
|
265
|
+
|
|
266
|
+
if xyz:
|
|
267
|
+
if not grid:
|
|
268
|
+
raise ValueError("You ask for xyz but no Grid is present. Use grid=...")
|
|
269
|
+
|
|
270
|
+
xc, yc, zc = grid.get_xyz(asmasked=activeonly)
|
|
271
|
+
if activeonly:
|
|
272
|
+
dataframe_dict["X_UTME"] = xc.get_active_npvalues1d()
|
|
273
|
+
dataframe_dict["Y_UTMN"] = yc.get_active_npvalues1d()
|
|
274
|
+
dataframe_dict["Z_TVDSS"] = zc.get_active_npvalues1d()
|
|
275
|
+
else:
|
|
276
|
+
dataframe_dict["X_UTME"] = xc.values1d
|
|
277
|
+
dataframe_dict["Y_UTMN"] = yc.values1d
|
|
278
|
+
dataframe_dict["Z_TVDSS"] = zc.values1d
|
|
279
|
+
|
|
280
|
+
for prop in gridproperties:
|
|
281
|
+
if activeonly:
|
|
282
|
+
vector = prop.get_active_npvalues1d()
|
|
283
|
+
else:
|
|
284
|
+
vector = prop.values1d.copy()
|
|
285
|
+
# mask values not supported in Pandas:
|
|
286
|
+
if prop.isdiscrete:
|
|
287
|
+
vector = vector.filled(fill_value=0)
|
|
288
|
+
else:
|
|
289
|
+
vector = vector.filled(fill_value=np.nan)
|
|
290
|
+
|
|
291
|
+
if doubleformat:
|
|
292
|
+
vector = vector.astype(np.float64)
|
|
293
|
+
else:
|
|
294
|
+
vector = vector.astype(np.float32)
|
|
295
|
+
|
|
296
|
+
dataframe_dict[prop.name] = vector
|
|
297
|
+
|
|
298
|
+
return pd.DataFrame.from_dict(dataframe_dict)
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
class GridProperties(_Grid3D):
|
|
302
|
+
"""Class for a collection of 3D grid props, belonging to the same grid topology.
|
|
303
|
+
|
|
304
|
+
It is a thin wrapper on a list that 1) checks that the GridProperties
|
|
305
|
+
belong to the same Grid (loosely). 2) Contains operations that can be
|
|
306
|
+
called on lists of GridProperty objects for easy discoverability.
|
|
307
|
+
|
|
308
|
+
Examples::
|
|
309
|
+
>>> import xtgeo
|
|
310
|
+
>>> # Create an
|
|
311
|
+
>>> grid_properties = xtgeo.GridProperties(props=[])
|
|
312
|
+
>>> # Get the dataframe via the gridproperties object
|
|
313
|
+
>>> grid_properties.get_dataframe()
|
|
314
|
+
Empty DataFrame...
|
|
315
|
+
>>> # Convert the gridproperties to a list
|
|
316
|
+
>>> grid_properties_list = list(grid_properties)
|
|
317
|
+
>>> # Get the dataframe of the list:
|
|
318
|
+
>>> gridproperties_dataframe(grid_properties_list)
|
|
319
|
+
Empty DataFrame...
|
|
320
|
+
|
|
321
|
+
Args:
|
|
322
|
+
props: The list of GridProperty objects.
|
|
323
|
+
|
|
324
|
+
See Also:
|
|
325
|
+
The :class:`GridProperty` class.
|
|
326
|
+
"""
|
|
327
|
+
|
|
328
|
+
def __init__(
|
|
329
|
+
self,
|
|
330
|
+
props: list[GridProperty] | None = None,
|
|
331
|
+
):
|
|
332
|
+
ncol = 4
|
|
333
|
+
nrow = 3
|
|
334
|
+
nlay = 5
|
|
335
|
+
|
|
336
|
+
if props:
|
|
337
|
+
ncol, nrow, nlay = props[0].dimensions
|
|
338
|
+
|
|
339
|
+
super().__init__(ncol, nrow, nlay)
|
|
340
|
+
|
|
341
|
+
# This triggers the setter for 'props', ensuring proper
|
|
342
|
+
# setup of related attributes like '_ncol', '_nrow',
|
|
343
|
+
# and '_nlay', and performs a consistency check.
|
|
344
|
+
self.props = props or []
|
|
345
|
+
|
|
346
|
+
def __repr__(self) -> str: # noqa: D105
|
|
347
|
+
return (
|
|
348
|
+
f"{self.__class__.__name__} (id={id(self)}) ncol={self._ncol!r}, "
|
|
349
|
+
f"nrow={self._nrow!r}, nlay={self._nlay!r}, filesrc={self.names!r}"
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
def __str__(self) -> str:
|
|
353
|
+
"""str: User friendly print."""
|
|
354
|
+
return self.describe(flush=False) or ""
|
|
355
|
+
|
|
356
|
+
def __contains__(self, name: str) -> bool:
|
|
357
|
+
"""bool: Emulate 'if "PORO" in props'."""
|
|
358
|
+
return bool(self.get_prop_by_name(name, raiseserror=False))
|
|
359
|
+
|
|
360
|
+
def __getitem__(self, name: str) -> GridProperty: # noqa: D105
|
|
361
|
+
prop = self.get_prop_by_name(name, raiseserror=False)
|
|
362
|
+
if prop is None:
|
|
363
|
+
raise KeyError(f"Key {name} does not exist")
|
|
364
|
+
|
|
365
|
+
return prop
|
|
366
|
+
|
|
367
|
+
def __iter__(self) -> Iterator[GridProperty]: # noqa: D105
|
|
368
|
+
return iter(self._props)
|
|
369
|
+
|
|
370
|
+
@property
|
|
371
|
+
def names(self) -> list[str]:
|
|
372
|
+
"""Returns a list of property names.
|
|
373
|
+
|
|
374
|
+
Example::
|
|
375
|
+
|
|
376
|
+
>>> import xtgeo
|
|
377
|
+
>>> grid = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID")
|
|
378
|
+
>>> props = xtgeo.gridproperties_from_file(
|
|
379
|
+
... reek_dir + "/REEK.INIT",
|
|
380
|
+
... fformat="init",
|
|
381
|
+
... names=["PERMX"],
|
|
382
|
+
... grid=grid,
|
|
383
|
+
... )
|
|
384
|
+
|
|
385
|
+
>>> namelist = props.names
|
|
386
|
+
>>> for name in namelist:
|
|
387
|
+
... print ('Property name is {}'.format(name))
|
|
388
|
+
Property name is PERMX
|
|
389
|
+
|
|
390
|
+
"""
|
|
391
|
+
return [prop.name for prop in self._props]
|
|
392
|
+
|
|
393
|
+
@property
|
|
394
|
+
def props(self) -> list[GridProperty] | None:
|
|
395
|
+
"""Returns a list of XTGeo GridProperty objects, None if empty.
|
|
396
|
+
|
|
397
|
+
Example::
|
|
398
|
+
|
|
399
|
+
>>> import xtgeo
|
|
400
|
+
>>> grid = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID")
|
|
401
|
+
>>> myprops = xtgeo.gridproperties_from_file(
|
|
402
|
+
... reek_dir + "/REEK.INIT",
|
|
403
|
+
... fformat="init",
|
|
404
|
+
... names=["PERMX"],
|
|
405
|
+
... grid=grid,
|
|
406
|
+
... )
|
|
407
|
+
|
|
408
|
+
>>> proplist = myprops.props
|
|
409
|
+
>>> for prop in proplist:
|
|
410
|
+
... print ('Property object name is {}'.format(prop.name))
|
|
411
|
+
Property object name is PERMX
|
|
412
|
+
|
|
413
|
+
>>> # adding a property, e.g. get ACTNUM as a property from the grid
|
|
414
|
+
>>> actn = grid.get_actnum() # this will get actn as a GridProperty
|
|
415
|
+
>>> myprops.append_props([actn])
|
|
416
|
+
"""
|
|
417
|
+
if not self._props:
|
|
418
|
+
return None
|
|
419
|
+
|
|
420
|
+
return self._props
|
|
421
|
+
|
|
422
|
+
@props.setter
|
|
423
|
+
def props(self, propslist: list[GridProperty]) -> None:
|
|
424
|
+
self._props = propslist
|
|
425
|
+
if propslist:
|
|
426
|
+
self._ncol = propslist[0].ncol
|
|
427
|
+
self._nrow = propslist[0].nrow
|
|
428
|
+
self._nlay = propslist[0].nlay
|
|
429
|
+
self._consistency_check()
|
|
430
|
+
|
|
431
|
+
@property
|
|
432
|
+
def dates(self) -> list[str | None] | None:
|
|
433
|
+
"""Returns a list of valid (found) dates after import.
|
|
434
|
+
|
|
435
|
+
Returns None if no dates present
|
|
436
|
+
|
|
437
|
+
Note:
|
|
438
|
+
See also :meth:`GridProperties.scan_dates` for scanning available dates
|
|
439
|
+
in advance
|
|
440
|
+
|
|
441
|
+
Example::
|
|
442
|
+
|
|
443
|
+
>>> import xtgeo
|
|
444
|
+
>>> grid = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID")
|
|
445
|
+
>>> props = xtgeo.gridproperties_from_file(
|
|
446
|
+
... reek_dir + "/REEK.INIT",
|
|
447
|
+
... fformat="init",
|
|
448
|
+
... names=["PERMX"],
|
|
449
|
+
... grid=grid,
|
|
450
|
+
... )
|
|
451
|
+
|
|
452
|
+
>>> datelist = props.dates
|
|
453
|
+
>>> for date in datelist:
|
|
454
|
+
... print ('Date applied is {}'.format(date))
|
|
455
|
+
Date applied is 19991201
|
|
456
|
+
|
|
457
|
+
.. versionchanged:: 2.16 dates is no longer an alias (undocumented behavior),
|
|
458
|
+
and simply return the dates of the underlying list of GridProperty.
|
|
459
|
+
"""
|
|
460
|
+
if not self.props:
|
|
461
|
+
return None
|
|
462
|
+
|
|
463
|
+
return [p.date for p in self.props]
|
|
464
|
+
|
|
465
|
+
# Copy, and etc aka setters and getters
|
|
466
|
+
|
|
467
|
+
def copy(self) -> GridProperties:
|
|
468
|
+
"""Copy a GridProperties instance to a new unique instance.
|
|
469
|
+
|
|
470
|
+
Note that the GridProperty instances will also be unique.
|
|
471
|
+
"""
|
|
472
|
+
|
|
473
|
+
return GridProperties(
|
|
474
|
+
props=[p.copy() for p in self.props] if self.props else []
|
|
475
|
+
)
|
|
476
|
+
|
|
477
|
+
def describe(self, flush: bool = True) -> str | None:
|
|
478
|
+
"""Describe an instance by printing to stdout."""
|
|
479
|
+
dsc = XTGDescription()
|
|
480
|
+
|
|
481
|
+
dsc.title("Description of GridProperties instance")
|
|
482
|
+
dsc.txt("Object ID", id(self))
|
|
483
|
+
dsc.txt("Shape: NCOL, NROW, NLAY", self.ncol, self.nrow, self.nlay)
|
|
484
|
+
dsc.txt("Attached grid props objects (names)", self.names)
|
|
485
|
+
|
|
486
|
+
if flush:
|
|
487
|
+
dsc.flush()
|
|
488
|
+
return None
|
|
489
|
+
return dsc.astext()
|
|
490
|
+
|
|
491
|
+
def generate_hash(self) -> str:
|
|
492
|
+
"""str: Return a unique hash ID for current gridproperties instance.
|
|
493
|
+
|
|
494
|
+
.. versionadded:: 2.10
|
|
495
|
+
"""
|
|
496
|
+
mhash = hashlib.sha256()
|
|
497
|
+
|
|
498
|
+
hashinput = ""
|
|
499
|
+
for prop in self._props:
|
|
500
|
+
gid = (
|
|
501
|
+
f"{prop.ncol}{prop.nrow}{prop.nlay}{prop.values.mean()}"
|
|
502
|
+
f"{prop.values.min()}{prop.values.max()}"
|
|
503
|
+
)
|
|
504
|
+
hashinput += gid
|
|
505
|
+
|
|
506
|
+
mhash.update(hashinput.encode())
|
|
507
|
+
return mhash.hexdigest()
|
|
508
|
+
|
|
509
|
+
def get_prop_by_name(
|
|
510
|
+
self, name: str, raiseserror: bool = True
|
|
511
|
+
) -> GridProperty | None:
|
|
512
|
+
"""Find and return a property object (GridProperty) by name.
|
|
513
|
+
|
|
514
|
+
Args:
|
|
515
|
+
name (str): Name of property to look for
|
|
516
|
+
raiseserror (bool): If True, raises a ValueError if not found, otherwise
|
|
517
|
+
return None
|
|
518
|
+
|
|
519
|
+
"""
|
|
520
|
+
for prop in self._props:
|
|
521
|
+
logger.debug("Look for %s, actual is %s", name, prop.name)
|
|
522
|
+
if prop.name == name:
|
|
523
|
+
logger.debug(repr(prop))
|
|
524
|
+
return prop
|
|
525
|
+
|
|
526
|
+
if raiseserror:
|
|
527
|
+
raise ValueError(f"Cannot find property with name <{name}>")
|
|
528
|
+
|
|
529
|
+
return None
|
|
530
|
+
|
|
531
|
+
def append_props(self, proplist: list[GridProperty]) -> None:
|
|
532
|
+
"""Add a list of GridProperty objects to current GridProperties instance."""
|
|
533
|
+
if not self._props and proplist:
|
|
534
|
+
self._ncol = proplist[0].ncol
|
|
535
|
+
self._nrow = proplist[0].nrow
|
|
536
|
+
self._nlay = proplist[0].nlay
|
|
537
|
+
self._props += proplist
|
|
538
|
+
self._consistency_check()
|
|
539
|
+
|
|
540
|
+
def get_ijk(
|
|
541
|
+
self,
|
|
542
|
+
names: tuple[str, str, str] = ("IX", "JY", "KZ"),
|
|
543
|
+
zerobased: bool = False,
|
|
544
|
+
asmasked: bool = False,
|
|
545
|
+
) -> tuple[GridProperty, GridProperty, GridProperty]:
|
|
546
|
+
"""Returns 3 xtgeo.grid3d.GridProperty objects: I counter, J counter, K counter.
|
|
547
|
+
|
|
548
|
+
Args:
|
|
549
|
+
names: a 3 x tuple of names per property (default IX, JY, KZ).
|
|
550
|
+
asmasked: If True, then active cells only.
|
|
551
|
+
zerobased: If True, counter start from 0, otherwise 1 (default=1).
|
|
552
|
+
"""
|
|
553
|
+
return _grid_etc1.get_ijk(
|
|
554
|
+
self, names=names, zerobased=zerobased, asmasked=asmasked
|
|
555
|
+
)
|
|
556
|
+
|
|
557
|
+
def get_actnum(
|
|
558
|
+
self,
|
|
559
|
+
name: str = "ACTNUM",
|
|
560
|
+
asmasked: bool = False,
|
|
561
|
+
) -> GridProperty | None:
|
|
562
|
+
"""Return an ACTNUM GridProperty object.
|
|
563
|
+
|
|
564
|
+
Args:
|
|
565
|
+
name (str): name of property in the XTGeo GridProperty object.
|
|
566
|
+
asmasked (bool): ACTNUM is returned with all cells
|
|
567
|
+
as default. Use asmasked=True to make 0 entries masked.
|
|
568
|
+
|
|
569
|
+
Example::
|
|
570
|
+
|
|
571
|
+
>>> import xtgeo
|
|
572
|
+
>>> grid = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID")
|
|
573
|
+
>>> myprops = xtgeo.gridproperties_from_file(
|
|
574
|
+
... reek_dir + "/REEK.INIT",
|
|
575
|
+
... fformat="init",
|
|
576
|
+
... names=["PERMX"],
|
|
577
|
+
... grid=grid,
|
|
578
|
+
... )
|
|
579
|
+
>>> act = myprops.get_actnum()
|
|
580
|
+
>>> print('{}% of cells are active'.format(act.values.mean() * 100))
|
|
581
|
+
99.99...% of cells are active
|
|
582
|
+
|
|
583
|
+
Returns:
|
|
584
|
+
A GridProperty instance of ACTNUM, or None if no props present.
|
|
585
|
+
"""
|
|
586
|
+
# borrow function from GridProperty class:
|
|
587
|
+
if self._props:
|
|
588
|
+
return self._props[0].get_actnum(name=name, asmasked=asmasked)
|
|
589
|
+
|
|
590
|
+
warnings.warn("No gridproperty in list", UserWarning)
|
|
591
|
+
return None
|
|
592
|
+
|
|
593
|
+
def get_dataframe(
|
|
594
|
+
self,
|
|
595
|
+
activeonly: bool = False,
|
|
596
|
+
ijk: bool = False,
|
|
597
|
+
xyz: bool = False,
|
|
598
|
+
doubleformat: bool = False,
|
|
599
|
+
grid: Grid | None = None,
|
|
600
|
+
) -> pd.DataFrame:
|
|
601
|
+
"""Returns a Pandas dataframe table for the properties.
|
|
602
|
+
|
|
603
|
+
See also :func:`xtgeo.gridproperties_dataframe()`
|
|
604
|
+
|
|
605
|
+
Args:
|
|
606
|
+
activeonly (bool): If True, return only active cells, NB!
|
|
607
|
+
If True, will require a grid instance (see grid key)
|
|
608
|
+
ijk (bool): If True, show cell indices, IX JY KZ columns
|
|
609
|
+
xyz (bool): If True, show cell center coordinates (needs grid).
|
|
610
|
+
doubleformat (bool): If True, floats are 64 bit, otherwise 32 bit.
|
|
611
|
+
Note that coordinates (if xyz=True) is always 64 bit floats.
|
|
612
|
+
grid (Grid): The grid geometry object. This is required for the
|
|
613
|
+
xyz option.
|
|
614
|
+
|
|
615
|
+
Returns:
|
|
616
|
+
Pandas dataframe object
|
|
617
|
+
|
|
618
|
+
Examples::
|
|
619
|
+
|
|
620
|
+
>>> import xtgeo
|
|
621
|
+
>>> grid = xtgeo.grid_from_file(reek_dir + "/REEK.EGRID")
|
|
622
|
+
>>> pps = xtgeo.gridproperties_from_file(
|
|
623
|
+
... reek_dir + "/REEK.UNRST",
|
|
624
|
+
... fformat="unrst",
|
|
625
|
+
... names=['SOIL', 'SWAT', 'PRESSURE'],
|
|
626
|
+
... dates=[19991201],
|
|
627
|
+
... grid=grid,
|
|
628
|
+
... )
|
|
629
|
+
>>> df = pps.get_dataframe(activeonly=False, ijk=True, xyz=True, grid=grid)
|
|
630
|
+
>>> print(df)
|
|
631
|
+
ACTNUM IX JY ... SOIL_19991201 SWAT_19991201 PRESSURE_19991201
|
|
632
|
+
0 1 1 1 ... 0.0 1.0 341.694183
|
|
633
|
+
1 1 1 1 ... 0.0 1.0 342.097107
|
|
634
|
+
2 1 1 1 ... 0.0 1.0 342.500061
|
|
635
|
+
3 1 1 1 ... 0.0 1.0 342.902954
|
|
636
|
+
4 1 1 1 ... 0.0 1.0 343.305908
|
|
637
|
+
...
|
|
638
|
+
|
|
639
|
+
"""
|
|
640
|
+
return gridproperties_dataframe(
|
|
641
|
+
self,
|
|
642
|
+
activeonly=activeonly,
|
|
643
|
+
ijk=ijk,
|
|
644
|
+
xyz=xyz,
|
|
645
|
+
doubleformat=doubleformat,
|
|
646
|
+
grid=grid,
|
|
647
|
+
)
|
|
648
|
+
|
|
649
|
+
def _consistency_check(self) -> None:
|
|
650
|
+
for p in self._props:
|
|
651
|
+
if (p.ncol, p.nrow, p.nlay) != (self.ncol, self.nrow, self.nlay):
|
|
652
|
+
raise ValueError("Mismatching dimensions in GridProperties members.")
|
|
653
|
+
|
|
654
|
+
@staticmethod
|
|
655
|
+
def scan_dates(
|
|
656
|
+
pfile: FileLike,
|
|
657
|
+
fformat: Literal["unrst"] = "unrst",
|
|
658
|
+
maxdates: int = MAXDATES,
|
|
659
|
+
dataframe: bool = False,
|
|
660
|
+
datesonly: bool = False,
|
|
661
|
+
) -> list | pd.DataFrame:
|
|
662
|
+
"""Quick scan dates in a simulation restart file.
|
|
663
|
+
|
|
664
|
+
Args:
|
|
665
|
+
pfile (str): Name of file or file handle with properties
|
|
666
|
+
fformat (str): unrst (so far)
|
|
667
|
+
maxdates (int): Maximum number of dates to collect
|
|
668
|
+
dataframe (bool): If True, return a Pandas dataframe instead
|
|
669
|
+
datesonly (bool): If True, SEQNUM is skipped,
|
|
670
|
+
|
|
671
|
+
Return:
|
|
672
|
+
A list of tuples or a dataframe with (seqno, date),
|
|
673
|
+
date is on YYYYMMDD form. If datesonly is True and dataframe is False,
|
|
674
|
+
the returning list will be a simple list of dates.
|
|
675
|
+
|
|
676
|
+
Example::
|
|
677
|
+
>>> dlist = GridProperties.scan_dates(reek_dir + "/REEK.UNRST")
|
|
678
|
+
>>> #or getting all dates a simple list:
|
|
679
|
+
>>> dlist = GridProperties.scan_dates(
|
|
680
|
+
... reek_dir + "/REEK.UNRST",
|
|
681
|
+
... datesonly=True)
|
|
682
|
+
|
|
683
|
+
.. versionchanged:: 2.13 Added datesonly keyword
|
|
684
|
+
"""
|
|
685
|
+
logger.info("Format supported as default is %s", fformat)
|
|
686
|
+
|
|
687
|
+
_pfile = FileWrapper(pfile)
|
|
688
|
+
_pfile.check_file(raiseerror=ValueError)
|
|
689
|
+
|
|
690
|
+
dlist = utils.scan_dates(_pfile, maxdates=maxdates, dataframe=dataframe)
|
|
691
|
+
|
|
692
|
+
if datesonly and dataframe:
|
|
693
|
+
assert isinstance(dlist, pd.DataFrame)
|
|
694
|
+
dlist.drop("SEQNUM", axis=1, inplace=True)
|
|
695
|
+
|
|
696
|
+
if datesonly and not dataframe:
|
|
697
|
+
dlist = [date for (_, date) in dlist]
|
|
698
|
+
|
|
699
|
+
return dlist
|