Support multiple RFT observation files

Add support for date on format yyyy-MM-dd
Support observations in multiple files
This commit is contained in:
Magne Sjaastad
2023-06-02 09:32:47 +02:00
committed by GitHub
parent fc51bf84a5
commit f091a6237f
19 changed files with 372 additions and 272 deletions
@@ -93,6 +93,7 @@ set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RigDeclineCurveCalculator-Test.cpp
${CMAKE_CURRENT_LIST_DIR}/RigWellLogCurveData-Test.cpp
${CMAKE_CURRENT_LIST_DIR}/RimWellLogCalculatedCurve-Test.cpp
${CMAKE_CURRENT_LIST_DIR}/RifReaderFmuRft-Test.cpp
)
if(RESINSIGHT_ENABLE_GRPC)
@@ -0,0 +1,71 @@
#include "gtest/gtest.h"
#include "RiaTestDataDirectory.h"
#include "RifReaderFmuRft.h"
#include <QFile>
#include <QTextStream>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST( RifReaderFmuRftTest, OldFormatLoadFile )
{
QString folderName = QString( "%1/RifReaderFmuRft_old_format/" ).arg( TEST_DATA_DIR );
auto folderNames = RifReaderFmuRft::findSubDirectoriesWithFmuRftData( folderName );
EXPECT_EQ( 1, folderNames.size() );
RifReaderFmuRft reader( folderName );
reader.importData();
auto wellNames = reader.wellNames();
EXPECT_EQ( 2u, wellNames.size() );
QString wellName = "R_A6";
auto timeSteps = reader.availableTimeSteps( wellName );
EXPECT_EQ( 1u, timeSteps.size() );
EXPECT_STREQ( timeSteps.begin()->toString( "yyyy-MM-dd" ).toStdString().data(), "2018-11-07" );
auto addresses = reader.eclipseRftAddresses();
EXPECT_EQ( 1u, timeSteps.size() );
for ( const auto& adr : addresses )
{
std::vector<double> values;
reader.values( adr, &values );
EXPECT_EQ( 2u, values.size() );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST( RifReaderFmuRftTest, LoadFile )
{
QString folderName = QString( "%1/RifReaderFmuRft/" ).arg( TEST_DATA_DIR );
auto folderNames = RifReaderFmuRft::findSubDirectoriesWithFmuRftData( folderName );
EXPECT_EQ( 1, folderNames.size() );
RifReaderFmuRft reader( folderName );
reader.importData();
QString wellName = "R_A6";
auto timeSteps = reader.availableTimeSteps( wellName );
EXPECT_EQ( 1u, timeSteps.size() );
EXPECT_STREQ( timeSteps.begin()->toString( "yyyy-MM-dd" ).toStdString().data(), "2018-11-07" );
auto addresses = reader.eclipseRftAddresses();
EXPECT_EQ( 1u, timeSteps.size() );
for ( const auto& adr : addresses )
{
std::vector<double> values;
reader.values( adr, &values );
if ( adr.wellName() == "R_A6" ) EXPECT_EQ( 6u, values.size() );
if ( adr.wellName() == "R_A2" ) EXPECT_EQ( 4u, values.size() );
}
}
@@ -0,0 +1,2 @@
461292.74 5931883.26 1759.9 1710.9 Therys
461292.74 5931883.26 1777.4 1728.4 Volon
@@ -0,0 +1,2 @@
280.85 3
286.41 3
@@ -0,0 +1,2 @@
280.85 3
286.41 3
@@ -0,0 +1,6 @@
461292.74 5931883.26 1759.9 1710.9 Therys
461292.74 5931883.26 1777.4 1728.4 Volon
461294.74 5931883.26 1759.9 1710.9 Therys
461294.74 5931883.26 1777.4 1728.4 Volon
461296.74 5931883.26 1759.9 1710.9 Therys
461296.74 5931883.26 1777.4 1728.4 Volon
@@ -0,0 +1,6 @@
280.85 3
286.41 3
-1 0
-1 0
-1 0
-1 0
@@ -0,0 +1,6 @@
-1 0
-1 0
280.85 3
286.41 3
-1 0
-1 0
@@ -0,0 +1,6 @@
-1 0
-1 0
-1 0
-1 0
280.85 3
286.41 3
@@ -0,0 +1,5 @@
R_A2 2018-03-01 1
R_A2 2019-03-01 2
R_A6 2018-11-07 1
R_A6 2018-11-07 2
R_A6 2018-11-07 3
@@ -0,0 +1,2 @@
280.85 3
286.41 3
@@ -0,0 +1,2 @@
461292.74 5931883.26 1759.9 1710.9 Therys
461292.74 5931883.26 1777.4 1728.4 Volon
@@ -0,0 +1,2 @@
280.85 3
286.41 3
@@ -0,0 +1,2 @@
461292.74 5931883.26 1759.9 1710.9 Therys
461292.74 5931883.26 1777.4 1728.4 Volon
@@ -0,0 +1,2 @@
R_A2 01 03 2018 1
R_A6 07 11 2018 1