xtgeo 4.13.1__cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.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 +246 -0
- xtgeo/_cxtgeo.cpython-312-aarch64-linux-gnu.so +0 -0
- xtgeo/_internal.cpython-312-aarch64-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 +774 -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 +1595 -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 +130 -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 +2957 -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/io/__init__.py +1 -0
- xtgeo/io/_file.py +594 -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 +18 -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_roxapi.py +241 -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 +2962 -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.13.1.dist-info/METADATA +146 -0
- xtgeo-4.13.1.dist-info/RECORD +654 -0
- xtgeo-4.13.1.dist-info/WHEEL +6 -0
- xtgeo-4.13.1.dist-info/licenses/LICENSE.md +165 -0
- xtgeo.libs/libgomp-a49a47f9.so.1.0.0 +0 -0
xtgeo/io/_file.py
ADDED
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
"""A FileWrapper class to wrap around files and streams representing files."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import io
|
|
6
|
+
import os
|
|
7
|
+
import pathlib
|
|
8
|
+
import platform
|
|
9
|
+
import re
|
|
10
|
+
import struct
|
|
11
|
+
import uuid
|
|
12
|
+
from enum import Enum
|
|
13
|
+
from os.path import join
|
|
14
|
+
from tempfile import mkstemp
|
|
15
|
+
from typing import TYPE_CHECKING, Literal, Union
|
|
16
|
+
|
|
17
|
+
import xtgeo._cxtgeo
|
|
18
|
+
from xtgeo.common.exceptions import InvalidFileFormatError
|
|
19
|
+
from xtgeo.common.log import null_logger
|
|
20
|
+
|
|
21
|
+
if TYPE_CHECKING:
|
|
22
|
+
from xtgeo.common.types import FileLike
|
|
23
|
+
from xtgeo.cube import Cube
|
|
24
|
+
from xtgeo.grid3d import Grid, GridProperties, GridProperty
|
|
25
|
+
from xtgeo.surface import RegularSurface, Surfaces
|
|
26
|
+
from xtgeo.wells import BlockedWell, BlockedWells, Well, Wells
|
|
27
|
+
from xtgeo.xyz import Points, Polygons
|
|
28
|
+
|
|
29
|
+
XTGeoObject = Union[
|
|
30
|
+
BlockedWell,
|
|
31
|
+
BlockedWells,
|
|
32
|
+
Cube,
|
|
33
|
+
Grid,
|
|
34
|
+
GridProperty,
|
|
35
|
+
GridProperties,
|
|
36
|
+
Points,
|
|
37
|
+
Polygons,
|
|
38
|
+
RegularSurface,
|
|
39
|
+
Surfaces,
|
|
40
|
+
Well,
|
|
41
|
+
Wells,
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
logger = null_logger(__name__)
|
|
45
|
+
|
|
46
|
+
VALID_FILE_ALIASES = ["$fmu-v1", "$md5sum", "$random"]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class FileFormat(Enum):
|
|
50
|
+
RMSWELL = ["rmswell", "rmsw", "w", "bw"]
|
|
51
|
+
ROFF_BINARY = ["roff_binary", "roff", "roff_bin", "roff-bin", "roffbin", "roff.*"]
|
|
52
|
+
ROFF_ASCII = ["roff_ascii", "roff_asc", "roff-asc", "roffasc", "asc"]
|
|
53
|
+
EGRID = ["egrid", "eclipserun"]
|
|
54
|
+
FEGRID = ["fegrid"]
|
|
55
|
+
INIT = ["init"]
|
|
56
|
+
FINIT = ["finit"]
|
|
57
|
+
UNRST = ["unrst"]
|
|
58
|
+
FUNRST = ["funrst"]
|
|
59
|
+
GRDECL = ["grdecl"]
|
|
60
|
+
BGRDECL = ["bgrdecl"]
|
|
61
|
+
IRAP_BINARY = [
|
|
62
|
+
"irap_binary",
|
|
63
|
+
"irap_bin",
|
|
64
|
+
"irapbinary",
|
|
65
|
+
"irap",
|
|
66
|
+
"rms_binary",
|
|
67
|
+
"irapbin",
|
|
68
|
+
"gri",
|
|
69
|
+
]
|
|
70
|
+
IRAP_ASCII = [
|
|
71
|
+
"irapascii",
|
|
72
|
+
"irap_txt",
|
|
73
|
+
"irap_ascii",
|
|
74
|
+
"irap_asc",
|
|
75
|
+
"rms_ascii",
|
|
76
|
+
"irapasc",
|
|
77
|
+
"fgr",
|
|
78
|
+
]
|
|
79
|
+
HDF = ["hdf", "hdf5", "h5"]
|
|
80
|
+
SEGY = ["segy", "sgy", "segy.*"]
|
|
81
|
+
STORM = ["storm", "storm_binary"]
|
|
82
|
+
ZMAP_ASCII = ["zmap", "zmap+", "zmap_ascii", "zmap-ascii", "zmap-asc", "zmap.*"]
|
|
83
|
+
IJXYZ = ["ijxyz"]
|
|
84
|
+
PETROMOD = ["pmd", "petromod"]
|
|
85
|
+
XTG = ["xtg", "xtgeo", "xtgf", "xtgcpprop", "xtg.*"]
|
|
86
|
+
XYZ = ["xyz", "poi", "pol"]
|
|
87
|
+
RMS_ATTR = ["rms_attr", "rms_attrs", "rmsattr.*"]
|
|
88
|
+
CSV = ["csv", "csv.*"]
|
|
89
|
+
PARQUET = ["parquet", "parquet.*", "pq"]
|
|
90
|
+
UNKNOWN = ["unknown"]
|
|
91
|
+
|
|
92
|
+
@staticmethod
|
|
93
|
+
def extensions_string(formats: list[FileFormat]) -> str:
|
|
94
|
+
return ", ".join([f"'{item}'" for fmt in formats for item in fmt.value])
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class FileWrapper:
|
|
98
|
+
"""
|
|
99
|
+
A private class for file/stream handling in/out of XTGeo and CXTGeo.
|
|
100
|
+
|
|
101
|
+
Interesting attributes:
|
|
102
|
+
|
|
103
|
+
xfile = FileWrapper(..some Path or str or BytesIO ...)
|
|
104
|
+
|
|
105
|
+
xfile.name: The absolute path to the file (str)
|
|
106
|
+
xfile.file: The pathlib.Path instance
|
|
107
|
+
xfile.memstream: Is True if memory stream
|
|
108
|
+
|
|
109
|
+
xfile.exists(): Returns True (provided mode 'r') if file exists, always True for 'w'
|
|
110
|
+
xfile.check_file(...): As above but may raise an Excpetion
|
|
111
|
+
xfile.check_folder(...): For folder; may raise an Excpetion
|
|
112
|
+
xfile.splitext(): return file's stem and extension
|
|
113
|
+
xfile.get_cfhandle(): Get C SWIG file handle
|
|
114
|
+
xfile.cfclose(): Close current C SWIG filehandle
|
|
115
|
+
|
|
116
|
+
"""
|
|
117
|
+
|
|
118
|
+
def __init__(
|
|
119
|
+
self,
|
|
120
|
+
filelike: FileLike,
|
|
121
|
+
mode: Literal["r", "w", "rb", "wb"] = "rb",
|
|
122
|
+
obj: XTGeoObject = None,
|
|
123
|
+
) -> None:
|
|
124
|
+
logger.debug("Init ran for FileWrapper")
|
|
125
|
+
|
|
126
|
+
if not isinstance(filelike, (str, pathlib.Path, io.BytesIO, io.StringIO)):
|
|
127
|
+
raise RuntimeError(
|
|
128
|
+
f"Cannot instantiate {self.__class__} from "
|
|
129
|
+
f"{filelike} of type {type(filelike)}. Expected "
|
|
130
|
+
f"a str, pathlib.Path, io.BytesIO, or io.StringIO."
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
if isinstance(filelike, str):
|
|
134
|
+
filelike = pathlib.Path(filelike)
|
|
135
|
+
|
|
136
|
+
self._file: pathlib.Path | io.BytesIO | io.StringIO = filelike
|
|
137
|
+
self._memstream = isinstance(self._file, (io.BytesIO, io.StringIO))
|
|
138
|
+
self._mode = mode
|
|
139
|
+
# String streams cannot be binary
|
|
140
|
+
if isinstance(self._file, io.StringIO) and mode in ("rb", "wb"):
|
|
141
|
+
self._mode = "r" if mode == "rb" else "w"
|
|
142
|
+
|
|
143
|
+
if obj and not self._memstream:
|
|
144
|
+
self.resolve_alias(obj)
|
|
145
|
+
|
|
146
|
+
self._cfhandle = 0
|
|
147
|
+
self._cfhandlecount = 0
|
|
148
|
+
|
|
149
|
+
self._tmpfile: str | None = None
|
|
150
|
+
|
|
151
|
+
logger.debug("Ran init of %s, ID is %s", __name__, id(self))
|
|
152
|
+
|
|
153
|
+
@property
|
|
154
|
+
def memstream(self) -> bool:
|
|
155
|
+
"""Get whether or not this file is a io.BytesIO/StringIO memory stream."""
|
|
156
|
+
return self._memstream
|
|
157
|
+
|
|
158
|
+
@property
|
|
159
|
+
def file(self) -> pathlib.Path | io.BytesIO | io.StringIO:
|
|
160
|
+
"""Get Path object (if input was file) or memory stream object."""
|
|
161
|
+
return self._file
|
|
162
|
+
|
|
163
|
+
@property
|
|
164
|
+
def name(self) -> str | io.BytesIO | io.StringIO:
|
|
165
|
+
"""Get the absolute path name of the file, or the memory stream."""
|
|
166
|
+
if isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
167
|
+
return self.file
|
|
168
|
+
|
|
169
|
+
try:
|
|
170
|
+
logger.debug("Trying to resolve filepath")
|
|
171
|
+
fname = str(self.file.resolve())
|
|
172
|
+
except OSError:
|
|
173
|
+
try:
|
|
174
|
+
logger.debug("Trying to resolve parent, then file...")
|
|
175
|
+
fname = os.path.abspath(
|
|
176
|
+
join(str(self.file.parent.resolve()), str(self.file.name))
|
|
177
|
+
)
|
|
178
|
+
except OSError:
|
|
179
|
+
# means that also folder is invalid
|
|
180
|
+
logger.debug("Last attempt of name resolving...")
|
|
181
|
+
fname = os.path.abspath(str(self.file))
|
|
182
|
+
return fname
|
|
183
|
+
|
|
184
|
+
def resolve_alias(self, obj: XTGeoObject) -> None:
|
|
185
|
+
"""
|
|
186
|
+
Change a file path name alias to autogenerated name, based on rules.
|
|
187
|
+
|
|
188
|
+
Only the file stem name will be updated, not the file name extension. Any
|
|
189
|
+
parent folders and file suffix/extension will be returned as is.
|
|
190
|
+
|
|
191
|
+
Aliases supported so far are '$md5sum' '$random' '$fmu-v1'
|
|
192
|
+
|
|
193
|
+
Args:
|
|
194
|
+
obj: Instance of some XTGeo object e.g. RegularSurface()
|
|
195
|
+
|
|
196
|
+
Example::
|
|
197
|
+
>>> import xtgeo
|
|
198
|
+
>>> surf = xtgeo.surface_from_file(surface_dir + "/topreek_rota.gri")
|
|
199
|
+
>>> xx = FileWrapper("/tmp/$md5sum.gri", "rb", surf)
|
|
200
|
+
>>> print(xx.file)
|
|
201
|
+
/tmp/c144fe19742adac8187b97e7976ac68c.gri
|
|
202
|
+
|
|
203
|
+
.. versionadded:: 2.14
|
|
204
|
+
|
|
205
|
+
"""
|
|
206
|
+
if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
207
|
+
return
|
|
208
|
+
|
|
209
|
+
parent = self.file.parent
|
|
210
|
+
stem = self.file.stem
|
|
211
|
+
suffix = self.file.suffix
|
|
212
|
+
|
|
213
|
+
if "$" in stem and stem not in VALID_FILE_ALIASES:
|
|
214
|
+
raise ValueError(
|
|
215
|
+
"A '$' is present in file name but this is not a valid alias"
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
newname = stem
|
|
219
|
+
if stem == "$md5sum":
|
|
220
|
+
newname = obj.generate_hash() # type: ignore
|
|
221
|
+
elif stem == "$random":
|
|
222
|
+
newname = uuid.uuid4().hex # random name
|
|
223
|
+
elif stem == "$fmu-v1":
|
|
224
|
+
# will make name such as topvalysar--avg_porosity based on metadata
|
|
225
|
+
short = obj.metadata.opt.shortname.lower().replace(" ", "_") # type: ignore
|
|
226
|
+
desc = obj.metadata.opt.description.lower().replace(" ", "_") # type: ignore
|
|
227
|
+
date = obj.metadata.opt.datetime # type: ignore
|
|
228
|
+
newname = short + "--" + desc
|
|
229
|
+
if date:
|
|
230
|
+
newname += "--" + str(date)
|
|
231
|
+
else:
|
|
232
|
+
# return without modifications of self._file to avoid with_suffix() issues
|
|
233
|
+
# if the file name stem itself contains multiple '.'
|
|
234
|
+
return
|
|
235
|
+
|
|
236
|
+
self._file = (parent / newname).with_suffix(suffix)
|
|
237
|
+
|
|
238
|
+
def exists(self) -> bool:
|
|
239
|
+
"""Returns True if 'r' file, memory stream, or folder exists."""
|
|
240
|
+
if "r" in self._mode:
|
|
241
|
+
if isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
242
|
+
return True
|
|
243
|
+
return self.file.exists()
|
|
244
|
+
# Writes and appends will always exist after writing
|
|
245
|
+
return True
|
|
246
|
+
|
|
247
|
+
def check_file(
|
|
248
|
+
self,
|
|
249
|
+
raiseerror: type[Exception] | None = None,
|
|
250
|
+
raisetext: str | None = None,
|
|
251
|
+
) -> bool:
|
|
252
|
+
"""
|
|
253
|
+
Check if a file exists, and raises an OSError if not.
|
|
254
|
+
|
|
255
|
+
This is only meaningful for 'r' files.
|
|
256
|
+
|
|
257
|
+
Args:
|
|
258
|
+
raiseerror: Type of exception to raise. Default is None, which means
|
|
259
|
+
no Exception, just return False or True.
|
|
260
|
+
raisetext: Which message to display if raiseerror. Defaults to None
|
|
261
|
+
which gives a default message.
|
|
262
|
+
|
|
263
|
+
Returns:
|
|
264
|
+
True if file exists and is readable, False if not.
|
|
265
|
+
|
|
266
|
+
"""
|
|
267
|
+
logger.debug("Checking file...")
|
|
268
|
+
|
|
269
|
+
# Redundant but mypy can't follow when memstream is True
|
|
270
|
+
if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
271
|
+
return True
|
|
272
|
+
|
|
273
|
+
if raisetext is None:
|
|
274
|
+
raisetext = f"File {self.name} does not exist or cannot be accessed"
|
|
275
|
+
|
|
276
|
+
if "r" in self._mode and (not self.file.is_file() or not self.exists()):
|
|
277
|
+
if raiseerror is not None:
|
|
278
|
+
raise raiseerror(raisetext)
|
|
279
|
+
return False
|
|
280
|
+
|
|
281
|
+
return True
|
|
282
|
+
|
|
283
|
+
def check_folder(
|
|
284
|
+
self,
|
|
285
|
+
raiseerror: type[Exception] | None = None,
|
|
286
|
+
raisetext: str | None = None,
|
|
287
|
+
) -> bool:
|
|
288
|
+
"""
|
|
289
|
+
Check if folder given in file exists and is writeable.
|
|
290
|
+
|
|
291
|
+
The file itself may not exist (yet), only the folder is checked.
|
|
292
|
+
|
|
293
|
+
Args:
|
|
294
|
+
raiseerror: Type of exception to raise. Default is None, which means
|
|
295
|
+
no Exception, just return False or True.
|
|
296
|
+
raisetext: Which message to display if raiseerror. Defaults to None
|
|
297
|
+
which gives a default message.
|
|
298
|
+
|
|
299
|
+
Returns:
|
|
300
|
+
True if folder exists and is writable, False if not.
|
|
301
|
+
|
|
302
|
+
Raises:
|
|
303
|
+
ValueError: If the file is a memstream
|
|
304
|
+
|
|
305
|
+
"""
|
|
306
|
+
logger.debug("Checking folder...")
|
|
307
|
+
|
|
308
|
+
if self.memstream or isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
309
|
+
logger.info(
|
|
310
|
+
"Cannot check folder status of an in-memory file, just return True"
|
|
311
|
+
)
|
|
312
|
+
return True
|
|
313
|
+
|
|
314
|
+
folder = self.file.parent
|
|
315
|
+
if raisetext is None:
|
|
316
|
+
raisetext = f"Folder {folder.name} does not exist or cannot be accessed"
|
|
317
|
+
|
|
318
|
+
if not folder.exists():
|
|
319
|
+
if raiseerror:
|
|
320
|
+
raise raiseerror(raisetext)
|
|
321
|
+
|
|
322
|
+
return False
|
|
323
|
+
|
|
324
|
+
return True
|
|
325
|
+
|
|
326
|
+
def get_cfhandle(self) -> int:
|
|
327
|
+
"""
|
|
328
|
+
Get SWIG C file handle for CXTGeo.
|
|
329
|
+
|
|
330
|
+
This is tied to cfclose() which closes the file.
|
|
331
|
+
|
|
332
|
+
if _cfhandle already exists, then _cfhandlecount is increased with 1
|
|
333
|
+
|
|
334
|
+
Returns:
|
|
335
|
+
int indicating the file handle number.
|
|
336
|
+
|
|
337
|
+
"""
|
|
338
|
+
# Windows and pre-10.13 macOS lack fmemopen()
|
|
339
|
+
islinux = platform.system() == "Linux"
|
|
340
|
+
|
|
341
|
+
if self._cfhandle and "Swig Object of type 'FILE" in str(self._cfhandle):
|
|
342
|
+
self._cfhandlecount += 1
|
|
343
|
+
logger.debug("Get SWIG C fhandle no %s", self._cfhandlecount)
|
|
344
|
+
return self._cfhandle
|
|
345
|
+
|
|
346
|
+
fobj: bytes | str | io.BytesIO | io.StringIO = self.name
|
|
347
|
+
if isinstance(self.file, io.BytesIO):
|
|
348
|
+
if self._mode == "rb" and islinux:
|
|
349
|
+
fobj = self.file.getvalue()
|
|
350
|
+
elif self._mode == "wb" and islinux:
|
|
351
|
+
fobj = b"" # Empty bytes obj.
|
|
352
|
+
elif self._mode == "rb" and not islinux:
|
|
353
|
+
# Write stream to a temporary file
|
|
354
|
+
fds, self._tmpfile = mkstemp(prefix="tmpxtgeoio")
|
|
355
|
+
os.close(fds)
|
|
356
|
+
with open(self._tmpfile, "wb") as newfile:
|
|
357
|
+
newfile.write(self.file.getvalue())
|
|
358
|
+
|
|
359
|
+
if self.memstream:
|
|
360
|
+
if islinux:
|
|
361
|
+
cfhandle = xtgeo._cxtgeo.xtg_fopen_bytestream(fobj, self._mode)
|
|
362
|
+
else:
|
|
363
|
+
cfhandle = xtgeo._cxtgeo.xtg_fopen(self._tmpfile, self._mode)
|
|
364
|
+
else:
|
|
365
|
+
try:
|
|
366
|
+
cfhandle = xtgeo._cxtgeo.xtg_fopen(fobj, self._mode)
|
|
367
|
+
except TypeError as err:
|
|
368
|
+
raise OSError(f"Cannot open file: {fobj!r}") from err
|
|
369
|
+
|
|
370
|
+
self._cfhandle = cfhandle
|
|
371
|
+
self._cfhandlecount = 1
|
|
372
|
+
|
|
373
|
+
logger.debug("Get initial SWIG C fhandle no %s", self._cfhandlecount)
|
|
374
|
+
return self._cfhandle
|
|
375
|
+
|
|
376
|
+
def cfclose(self, strict: bool = True) -> bool:
|
|
377
|
+
"""
|
|
378
|
+
Close SWIG C file handle by keeping track of _cfhandlecount.
|
|
379
|
+
|
|
380
|
+
Returns:
|
|
381
|
+
True if cfhandle is closed.
|
|
382
|
+
|
|
383
|
+
"""
|
|
384
|
+
logger.debug("Request for closing SWIG fhandle no: %s", self._cfhandlecount)
|
|
385
|
+
|
|
386
|
+
if self._cfhandle == 0 or self._cfhandlecount == 0:
|
|
387
|
+
if strict:
|
|
388
|
+
raise RuntimeError("Ask to close a nonexisting C file handle")
|
|
389
|
+
|
|
390
|
+
self._cfhandle = 0
|
|
391
|
+
self._cfhandlecount = 0
|
|
392
|
+
return True
|
|
393
|
+
|
|
394
|
+
if self._cfhandlecount > 1:
|
|
395
|
+
self._cfhandlecount -= 1
|
|
396
|
+
logger.debug(
|
|
397
|
+
"Remaining SWIG cfhandles: %s, do not close...", self._cfhandlecount
|
|
398
|
+
)
|
|
399
|
+
return False
|
|
400
|
+
|
|
401
|
+
if (
|
|
402
|
+
isinstance(self.file, io.BytesIO)
|
|
403
|
+
and self._cfhandle > 0
|
|
404
|
+
and "w" in self._mode
|
|
405
|
+
):
|
|
406
|
+
# this assures that the file pointer is in the end of the current filehandle
|
|
407
|
+
npos = xtgeo._cxtgeo.xtg_ftell(self._cfhandle)
|
|
408
|
+
buf = bytes(npos)
|
|
409
|
+
|
|
410
|
+
copy_code = xtgeo._cxtgeo.xtg_get_fbuffer(self._cfhandle, buf)
|
|
411
|
+
# Returns EXIT_SUCCESS = 0 from C
|
|
412
|
+
if copy_code == 0:
|
|
413
|
+
self.file.write(buf)
|
|
414
|
+
xtgeo._cxtgeo.xtg_fflush(self._cfhandle)
|
|
415
|
+
else:
|
|
416
|
+
raise RuntimeError("Could not write stream for unknown reasons")
|
|
417
|
+
|
|
418
|
+
close_code = xtgeo._cxtgeo.xtg_fclose(self._cfhandle)
|
|
419
|
+
if close_code != 0:
|
|
420
|
+
raise RuntimeError(f"Could not close C file, code {close_code}")
|
|
421
|
+
|
|
422
|
+
logger.debug("File is now closed for C io: %s", self.name)
|
|
423
|
+
|
|
424
|
+
if self._tmpfile:
|
|
425
|
+
try:
|
|
426
|
+
os.remove(self._tmpfile)
|
|
427
|
+
except Exception as ex:
|
|
428
|
+
logger.error("Could not remove tempfile for some reason: %s", ex)
|
|
429
|
+
|
|
430
|
+
self._cfhandle = 0
|
|
431
|
+
self._cfhandlecount = 0
|
|
432
|
+
logger.debug(
|
|
433
|
+
"Remaining SWIG cfhandles: %s, return is True", self._cfhandlecount
|
|
434
|
+
)
|
|
435
|
+
return True
|
|
436
|
+
|
|
437
|
+
def fileformat(self, fileformat: str | None = None) -> FileFormat:
|
|
438
|
+
"""
|
|
439
|
+
Try to deduce format from looking at file suffix or contents.
|
|
440
|
+
|
|
441
|
+
The file signature may be the initial part of the binary file/stream but if
|
|
442
|
+
that fails, the file extension is used.
|
|
443
|
+
|
|
444
|
+
Args:
|
|
445
|
+
fileformat (str, None): An optional user-provided string indicating what
|
|
446
|
+
kind of file this is.
|
|
447
|
+
|
|
448
|
+
Raises:
|
|
449
|
+
A ValueError if an invalid or unsupported format is encountered.
|
|
450
|
+
|
|
451
|
+
Returns:
|
|
452
|
+
A FileFormat.
|
|
453
|
+
"""
|
|
454
|
+
if fileformat:
|
|
455
|
+
fileformat = fileformat.lower()
|
|
456
|
+
self._validate_fileformat(fileformat)
|
|
457
|
+
|
|
458
|
+
fmt = self._format_from_suffix(fileformat)
|
|
459
|
+
if fmt == FileFormat.UNKNOWN:
|
|
460
|
+
fmt = self._format_from_contents()
|
|
461
|
+
if fmt == FileFormat.UNKNOWN:
|
|
462
|
+
raise InvalidFileFormatError(
|
|
463
|
+
f"File format {fileformat} is unknown or unsupported"
|
|
464
|
+
)
|
|
465
|
+
return fmt
|
|
466
|
+
|
|
467
|
+
def _validate_fileformat(self, fileformat: str | None) -> None:
|
|
468
|
+
"""Validate that the pass format string is one XTGeo supports.
|
|
469
|
+
|
|
470
|
+
Raises:
|
|
471
|
+
ValueError: if format is unknown or unsupported
|
|
472
|
+
"""
|
|
473
|
+
if not fileformat or fileformat == "guess":
|
|
474
|
+
return
|
|
475
|
+
for fmt in FileFormat:
|
|
476
|
+
if fileformat in fmt.value:
|
|
477
|
+
return
|
|
478
|
+
for regex in fmt.value:
|
|
479
|
+
if "*" in regex and re.compile(regex).match(fileformat):
|
|
480
|
+
return
|
|
481
|
+
raise InvalidFileFormatError(
|
|
482
|
+
f"File format {fileformat} is unknown or unsupported"
|
|
483
|
+
)
|
|
484
|
+
|
|
485
|
+
def _format_from_suffix(self, fileformat: str | None = None) -> FileFormat:
|
|
486
|
+
"""Detect format by the file suffix."""
|
|
487
|
+
if not fileformat or fileformat == "guess":
|
|
488
|
+
if isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
489
|
+
return FileFormat.UNKNOWN
|
|
490
|
+
fileformat = self.file.suffix[1:].lower()
|
|
491
|
+
|
|
492
|
+
for fmt in FileFormat:
|
|
493
|
+
if fileformat in fmt.value:
|
|
494
|
+
logger.debug("Extension hints: %s", fmt)
|
|
495
|
+
return fmt
|
|
496
|
+
|
|
497
|
+
# Fall back to regex
|
|
498
|
+
for fmt in FileFormat:
|
|
499
|
+
for regex in fmt.value:
|
|
500
|
+
if "*" in regex and re.compile(regex).match(fileformat):
|
|
501
|
+
logger.debug("Extension by regexp hints %s", fmt)
|
|
502
|
+
return fmt
|
|
503
|
+
|
|
504
|
+
return FileFormat.UNKNOWN
|
|
505
|
+
|
|
506
|
+
def _format_from_contents(self) -> FileFormat:
|
|
507
|
+
BUFFER_SIZE = 128
|
|
508
|
+
buffer = bytearray(BUFFER_SIZE)
|
|
509
|
+
|
|
510
|
+
if isinstance(self.file, (io.BytesIO, io.StringIO)):
|
|
511
|
+
mark = self.file.tell()
|
|
512
|
+
# Encode to bytes if string
|
|
513
|
+
if isinstance(self.file, io.StringIO):
|
|
514
|
+
strbuf = self.file.read(BUFFER_SIZE)
|
|
515
|
+
buffer = bytearray(strbuf.encode())
|
|
516
|
+
else:
|
|
517
|
+
self.file.readinto(buffer)
|
|
518
|
+
self.file.seek(mark)
|
|
519
|
+
else:
|
|
520
|
+
if not self.exists():
|
|
521
|
+
raise FileNotFoundError(f"File {self.name} does not exist")
|
|
522
|
+
with open(self.file, "rb") as fhandle:
|
|
523
|
+
fhandle.readinto(buffer)
|
|
524
|
+
|
|
525
|
+
# HDF format, different variants
|
|
526
|
+
if len(buffer) >= 4:
|
|
527
|
+
_, hdf = struct.unpack("b 3s", buffer[:4])
|
|
528
|
+
if hdf == b"HDF":
|
|
529
|
+
logger.debug("Signature is hdf")
|
|
530
|
+
return FileFormat.HDF
|
|
531
|
+
|
|
532
|
+
# Irap binary regular surface format
|
|
533
|
+
if len(buffer) >= 8:
|
|
534
|
+
fortranblock, gricode = struct.unpack(">ii", buffer[:8])
|
|
535
|
+
if fortranblock == 32 and gricode == -996:
|
|
536
|
+
logger.debug("Signature is irap binary")
|
|
537
|
+
return FileFormat.IRAP_BINARY
|
|
538
|
+
|
|
539
|
+
# Petromod binary regular surface
|
|
540
|
+
if b"Content=Map" in buffer and b"DataUnitDistance" in buffer:
|
|
541
|
+
logger.debug("Signature is petromod")
|
|
542
|
+
return FileFormat.PETROMOD
|
|
543
|
+
|
|
544
|
+
# Eclipse binary 3D EGRID, look at FILEHEAD:
|
|
545
|
+
# 'FILEHEAD' 100 'INTE'
|
|
546
|
+
# 3 2016 0 0 0 0
|
|
547
|
+
# (ver) (release) (reserved) (backw) (gtype) (dualporo)
|
|
548
|
+
if len(buffer) >= 24:
|
|
549
|
+
fort1, name, num, _, fort2 = struct.unpack("> i 8s i 4s i", buffer[:24])
|
|
550
|
+
if fort1 == 16 and name == b"FILEHEAD" and num == 100 and fort2 == 16:
|
|
551
|
+
logger.debug("Signature is egrid")
|
|
552
|
+
return FileFormat.EGRID
|
|
553
|
+
# Eclipse binary 3D UNRST, look for SEQNUM:
|
|
554
|
+
# 'SEQNUM' 1 'INTE'
|
|
555
|
+
if fort1 == 16 and name == b"SEQNUM " and num == 1 and fort2 == 16:
|
|
556
|
+
logger.debug("Signature is unrst")
|
|
557
|
+
return FileFormat.UNRST
|
|
558
|
+
# Eclipse binary 3D INIT, look for INTEHEAD:
|
|
559
|
+
# 'INTEHEAD' 411 'INTE'
|
|
560
|
+
if fort1 == 16 and name == b"INTEHEAD" and num > 400 and fort2 == 16:
|
|
561
|
+
logger.debug("Signature is init")
|
|
562
|
+
return FileFormat.INIT
|
|
563
|
+
|
|
564
|
+
if len(buffer) >= 9:
|
|
565
|
+
name, _ = struct.unpack("8s b", buffer[:9])
|
|
566
|
+
if name == b"roff-bin":
|
|
567
|
+
logger.debug("Signature is roff_binary")
|
|
568
|
+
return FileFormat.ROFF_BINARY
|
|
569
|
+
if name == b"roff-asc":
|
|
570
|
+
logger.debug("Signature is roff_ascii")
|
|
571
|
+
return FileFormat.ROFF_ASCII
|
|
572
|
+
|
|
573
|
+
# RMS well format (ascii)
|
|
574
|
+
# 1.0
|
|
575
|
+
# Unknown
|
|
576
|
+
# WELL12 90941.63200000004 5506367.711 23.0
|
|
577
|
+
# ...
|
|
578
|
+
# The signature here is one float in first line with values 1.0; one string
|
|
579
|
+
# in second line; and 3 or 4 items in the next (sometimes RKB is missing)
|
|
580
|
+
try:
|
|
581
|
+
xbuf = buffer.decode().split("\n")
|
|
582
|
+
except UnicodeDecodeError:
|
|
583
|
+
return FileFormat.UNKNOWN
|
|
584
|
+
|
|
585
|
+
if (
|
|
586
|
+
len(xbuf) >= 3
|
|
587
|
+
and xbuf[0] == "1.0"
|
|
588
|
+
and len(xbuf[1]) >= 1
|
|
589
|
+
and len(xbuf[2]) >= 10
|
|
590
|
+
):
|
|
591
|
+
logger.debug("Signature is rmswell")
|
|
592
|
+
return FileFormat.RMSWELL
|
|
593
|
+
|
|
594
|
+
return FileFormat.UNKNOWN
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""XTGeo metadata package."""
|
|
2
|
+
|
|
3
|
+
from .metadata import (
|
|
4
|
+
MetaDataCPGeometry,
|
|
5
|
+
MetaDataCPProperty,
|
|
6
|
+
MetaDataRegularCube,
|
|
7
|
+
MetaDataRegularSurface,
|
|
8
|
+
MetaDataWell,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"MetaDataRegularCube",
|
|
13
|
+
"MetaDataRegularSurface",
|
|
14
|
+
"MetaDataCPGeometry",
|
|
15
|
+
"MetaDataCPProperty",
|
|
16
|
+
"MetaDataWell",
|
|
17
|
+
]
|