Summary HDF : Make sure all summary data is loaded before export to HDF

This commit is contained in:
Magne Sjaastad 2021-04-13 09:26:58 +02:00
parent 60683fd0cc
commit c50e7cdd51
2 changed files with 9 additions and 3 deletions

View File

@ -41,6 +41,10 @@ bool RifHdf5SummaryExporter::ensureHdf5FileIsCreated( const std::string& smspecF
{
Opm::EclIO::ESmry sourceSummaryData( smspecFileName );
// Read all data summary data before starting export to HDF. Loading one and one summary vector causes huge
// performance penalty
sourceSummaryData.LoadData();
RifHdf5Exporter exporter( h5FileName );
writeGeneralSection( exporter, sourceSummaryData );
@ -155,7 +159,11 @@ bool RifHdf5SummaryExporter::writeSummaryVectors( RifHdf5Exporter& exporter, Opm
const std::vector<float>& values = sourceSummaryData.get( summaryNode );
exporter.writeDataset( dataValuesGroup, datasetName, values );
dataValuesGroup.close();
}
keywordGroup.close();
}
return true;

View File

@ -25,12 +25,10 @@ TEST( DISABLED_HDFTests, WriteToHdf5SummaryExporter )
{
QString file_path = H5_TEST_DATA_DIRECTORY_2 + "NORNE_ATW2013_RFTPLT_V2.SMSPEC";
Opm::EclIO::ESmry esmry( file_path.toStdString() );
RifHdf5SummaryExporter exporter;
std::string exportFileName = "e:/project/scratch_export/hdf_complete.h5";
exporter.ensureHdf5FileIsCreated( exportFileName, exportFileName );
exporter.ensureHdf5FileIsCreated( file_path.toStdString(), exportFileName );
}
//--------------------------------------------------------------------------------------------------