diff --git a/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.cpp b/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.cpp index 96de04bc7b..278d5ba6af 100644 --- a/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.cpp +++ b/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.cpp @@ -440,7 +440,7 @@ void RiaSumoConnector::requestParametersBlobIdForEnsemble( const SumoCaseId& cas { if ( reply->error() == QNetworkReply::NoError ) { - parseBlobIds( reply, caseId, ensembleName, "" ); + parseBlobIds( reply, caseId, ensembleName, "", true ); } else { @@ -493,7 +493,7 @@ void RiaSumoConnector::requestBlobIdForEnsemble( const SumoCaseId& caseId, const { if ( reply->error() == QNetworkReply::NoError ) { - parseBlobIds( reply, caseId, ensembleName, vectorName ); + parseBlobIds( reply, caseId, ensembleName, vectorName, false ); } } ); } @@ -862,7 +862,11 @@ void RiaSumoConnector::parseRealizationNumbers( QNetworkReply* reply, const Sumo //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaSumoConnector::parseBlobIds( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName, const QString& vectorName ) +void RiaSumoConnector::parseBlobIds( QNetworkReply* reply, + const SumoCaseId& caseId, + const QString& ensembleName, + const QString& vectorName, + bool isParameters ) { QByteArray result = reply->readAll(); reply->deleteLater(); diff --git a/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.h b/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.h index 6887f322fd..e7e3cf7353 100644 --- a/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.h +++ b/ApplicationLibCode/Application/Tools/Cloud/RiaSumoConnector.h @@ -119,7 +119,7 @@ public slots: void parseCases( QNetworkReply* reply ); void parseVectorNames( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName ); void parseRealizationNumbers( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName ); - void parseBlobIds( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName, const QString& vectorName ); + void parseBlobIds( QNetworkReply* reply, const SumoCaseId& caseId, const QString& ensembleName, const QString& vectorName, bool isParameters ); void requestFailed( const QAbstractOAuth::Error error ); void parquetDownloadComplete( const QString& blobId, const QByteArray&, const QString& url ); diff --git a/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp b/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp index 1f4811dc24..d3a7b6e605 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp @@ -117,29 +117,28 @@ void RimSummaryEnsembleSumo::loadSummaryData( const RifEclipseSummaryAddress& re auto sumoCaseId = m_sumoDataSource->caseId(); auto sumoEnsembleName = m_sumoDataSource->ensembleName(); - auto key = ParquetKey{ sumoCaseId, sumoEnsembleName, resultText }; - + auto key = ParquetKey{ sumoCaseId, sumoEnsembleName, resultText, false }; if ( m_parquetTable.find( key ) == m_parquetTable.end() ) { - { - auto contents = loadParquetData( key ); - RiaLogging::debug( QString( "Load Summary Data. Contents size: %1" ).arg( contents.size() ) ); + auto contents = loadParquetData( key ); + RiaLogging::debug( QString( "Load Summary Data. Contents size: %1" ).arg( contents.size() ) ); - std::shared_ptr table = readParquetTable( contents, QString::fromStdString( resultAddress.uiText() ) ); - m_parquetTable[key] = table; + std::shared_ptr table = readParquetTable( contents, QString::fromStdString( resultAddress.uiText() ) ); + m_parquetTable[key] = table; - distributeDataToRealizations( resultAddress, table ); - } + distributeDataToRealizations( resultAddress, table ); + } - { - auto contents = m_sumoConnector->requestParametersParquetDataBlocking( sumoCaseId, sumoEnsembleName ); - RiaLogging::debug( QString( "Load ensemble parameter sensitivities. Contents size: %1" ).arg( contents.size() ) ); + auto parametersKey = ParquetKey{ sumoCaseId, sumoEnsembleName, "", true }; + if ( m_parquetTable.find( parametersKey ) == m_parquetTable.end() ) + { + auto contents = m_sumoConnector->requestParametersParquetDataBlocking( sumoCaseId, sumoEnsembleName ); + RiaLogging::debug( QString( "Load ensemble parameter sensitivities. Contents size: %1" ).arg( contents.size() ) ); - std::shared_ptr table = - readParquetTable( contents, QString::fromStdString( resultAddress.uiText() + " parameter sensitivities" ) ); + std::shared_ptr table = readParquetTable( contents, QString( "%1 parameter sensitivities" ).arg( sumoEnsembleName ) ); + m_parquetTable[parametersKey] = table; - distributeParametersDataToRealizations( table ); - } + distributeParametersDataToRealizations( table ); } } diff --git a/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.h b/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.h index f7dfbfe072..1cd828cda4 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.h +++ b/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.h @@ -39,10 +39,12 @@ struct ParquetKey SumoCaseId caseId; QString ensembleId; QString vectorName; + bool isSensitivityParameters; auto operator<=>( const ParquetKey& other ) const { - return std::tie( caseId, ensembleId, vectorName ) <=> std::tie( other.caseId, other.ensembleId, other.vectorName ); + return std::tie( caseId, ensembleId, vectorName, isSensitivityParameters ) <=> + std::tie( other.caseId, other.ensembleId, other.vectorName, other.isSensitivityParameters ); } };