Files
ResInsight/ApplicationLibCode/FileInterface/RifOpmSummaryTools.h
T
Magne Sjaastad 9229e48191 #14964: Use correct depth unit when creating RFT plots
Read the summary unit system from SMSPEC INTEHEAD, and fall back to vector
units for ESMRY files without SMSPEC. The unit system is read on first
request to keep summary import fast. Ensembles use the same realization as
for addresses. New RFT plots get the depth unit from their data sources.
2026-10-19 14:15:55 +02:00

61 lines
1.9 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2025 Equinor ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "RiaDefines.h"
#include "RifEclipseSummaryAddress.h"
#include <QString>
#include <expected>
#include <map>
#include <set>
#include <string>
#include <tuple>
#include <vector>
namespace Opm
{
namespace EclIO
{
class ESmry;
} // namespace EclIO
} // namespace Opm
namespace RifOpmSummaryTools
{
std::tuple<std::set<RifEclipseSummaryAddress>, std::map<RifEclipseSummaryAddress, size_t>, std::map<RifEclipseSummaryAddress, std::string>>
buildAddressesSmspecAndKeywordMap( const Opm::EclIO::ESmry* summaryFile );
std::pair<std::set<RifEclipseSummaryAddress>, std::map<RifEclipseSummaryAddress, std::string>>
buildAddressesAndKeywordMap( const std::vector<std::string>& keywords );
SummaryCategory categoryFromKeyword( const std::string& keyword );
QString enhancedSummaryFilename( const QString& fileName );
QString smspecSummaryFilename( const QString& fileName );
bool isEsmryConversionRequired( const QString& fileName );
RiaDefines::EclipseUnitSystem readUnitSystem( const QString& smspecFileName );
std::expected<int, QString> extractRealizationNumber( const QString& path );
}; // namespace RifOpmSummaryTools