#12282 Improve auto naming to avoid ensembles with identical names

This commit is contained in:
Magne Sjaastad authored and GitHub committed 2025-03-25 06:45:39 +01:00
1 parent 41af091511
commit 0d0fc1aca5
20 files changed
+138 -105

No files matched your search

@@ -776,11 +776,11 @@ bool RiaApplication::loadProject( const QString& projectFileName, ProjectLoadAct
if ( !sumMainCollection ) continue;
sumMainCollection->updateAutoShortName();
for ( auto sumCaseGroup : sumMainCollection->summaryCaseCollections() )
for ( auto ensemble : sumMainCollection->summaryEnsembles() )
{
sumCaseGroup->updateName();
sumCaseGroup->loadDataAndUpdate();
ensemble->loadDataAndUpdate();
}
sumMainCollection->updateEnsembleNames();
for ( auto well : oilField->wellPathCollection()->allWellPaths() )
{
@@ -400,37 +400,6 @@ std::map<QString, std::pair<QString, QString>>
return mapping;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiaEnsembleNameTools::updateAutoNameEnsembles( std::vector<RimSummaryEnsemble*> ensembles )
{
std::set<std::string> key1;
std::set<std::string> key2;
for ( const auto& ensemble : ensembles )
{
const auto keys = ensemble->nameKeys();
key1.insert( keys.first );
key2.insert( keys.second );
}
bool useKey1 = key1.size() > 1;
bool useKey2 = key2.size() > 1;
if ( !useKey1 && !useKey2 )
{
useKey2 = true;
}
for ( auto ensemble : ensembles )
{
ensemble->setUsePathKey1( useKey1 );
ensemble->setUsePathKey2( useKey2 );
ensemble->updateName();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -59,8 +59,6 @@ public:
const QStringList& fileNames,
const std::vector<QStringList>& fileNameComponents );
static void updateAutoNameEnsembles( std::vector<RimSummaryEnsemble*> ensembles );
static QString uniqueShortNameForEnsembleCase( RimSummaryCase* summaryCase );
static QString uniqueShortNameForSummaryCase( RimSummaryCase* summaryCase );
@@ -149,7 +149,7 @@ std::pair<std::vector<RimSummaryCase*>, std::vector<RimSummaryEnsemble*>> RiaSum
if ( !sumCaseMainColl ) return { {}, {} };
auto summaryCases = sumCaseMainColl->topLevelSummaryCases();
auto ensembles = sumCaseMainColl->summaryCaseCollections();
auto ensembles = sumCaseMainColl->summaryEnsembles();
return { summaryCases, ensembles };
}
@@ -442,3 +442,14 @@ time_t RiaSummaryTools::calculateTimeThreshold( const time_t& minimum, const tim
return timeThreshold;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiaSummaryTools::updateSummaryEnsembleNames()
{
if ( auto sumCaseMainColl = RiaSummaryTools::summaryCaseMainCollection() )
{
sumCaseMainColl->updateEnsembleNames();
}
}
@@ -99,6 +99,8 @@ public:
static time_t calculateTimeThreshold( const time_t& minimum, const time_t& maximum );
static void updateSummaryEnsembleNames();
private:
static void updateRequiredCalculatedCurves( RimSummaryCase* sourceSummaryCase );
static bool isCalculationRequired( const RimUserDefinedCalculation* summaryCalculation, const RimSummaryCase* summaryCase );