mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-31 09:14:11 -05:00
Python: Add API for importing well log data
Implement comprehensive Python API for importing well log data into ResInsight well paths using lists of float values. Core implementation: - RigImportedWellLogData: Data storage class inheriting from RigWellLogData - RimImportedWellLog: Scriptable model class for Python GRPC interface - RimcWellPath_addWellLogInternal: GRPC method using key-value store for data transfer - well_path.add_well_log(): Python API with validation and error handling Features: - Simple API: well_path.add_well_log(name='LogName', values=[1.0, 2.0, 3.0]) - Comprehensive input validation and type checking - Efficient data transfer via key-value store mechanism - Proper error handling with cleanup on failure - Integration with existing well path functionality Testing: - 10 comprehensive unit tests covering all functionality - Validation of input types, error conditions, and edge cases - Integration testing with well path creation Usage example included in PythonExamples directory demonstrating import of gamma ray, porosity, and permeability log data.
This commit is contained in:
1 parent
5aab904731
commit
8089739add
11 files changed
+758
No files matched your search
@@ -144,3 +144,21 @@ private:
|
||||
caf::PdmField<QString> m_azimuth;
|
||||
caf::PdmField<QString> m_dogleg;
|
||||
};
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimcWellPath_addWellLogInternal : public caf::PdmObjectCreationMethod
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
RimcWellPath_addWellLogInternal( caf::PdmObjectHandle* self );
|
||||
|
||||
std::expected<caf::PdmObjectHandle*, QString> execute() override;
|
||||
QString classKeywordReturnedType() const override;
|
||||
|
||||
private:
|
||||
caf::PdmField<QString> m_name;
|
||||
caf::PdmField<QString> m_valuesKey;
|
||||
};
|
||||
Reference in new issue
Block a user