mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #1105 from atgeirr/change-default-output-dir
Change default output dir
This commit is contained in:
@@ -145,8 +145,8 @@ namespace Opm
|
||||
if (!ok) {
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
asImpl().setupOutput();
|
||||
asImpl().readDeckInput();
|
||||
asImpl().setupOutput();
|
||||
asImpl().setupLogging();
|
||||
asImpl().extractMessages();
|
||||
asImpl().setupGridAndProps();
|
||||
@@ -365,14 +365,17 @@ namespace Opm
|
||||
// Throws std::runtime_error if failed to create (if requested) output dir.
|
||||
void setupOutput()
|
||||
{
|
||||
// Write parameters used for later reference. (only if rank is zero)
|
||||
output_to_files_ = output_cout_ && param_.getDefault("output", true);
|
||||
// Always read output_dir as it will be set unconditionally later.
|
||||
// Not doing this might cause files to be created in the current
|
||||
// directory.
|
||||
output_dir_ =
|
||||
param_.getDefault("output_dir", std::string("."));
|
||||
|
||||
// Setup output directory.
|
||||
auto& ioConfig = eclipse_state_->getIOConfig();
|
||||
// Default output directory is the directory where the deck is found.
|
||||
const std::string default_output_dir = ioConfig.getOutputDir();
|
||||
output_dir_ = param_.getDefault("output_dir", default_output_dir);
|
||||
// Override output directory if user specified.
|
||||
ioConfig.setOutputDir(output_dir_);
|
||||
|
||||
// Write parameters used for later reference. (only if rank is zero)
|
||||
if (output_to_files_) {
|
||||
// Create output directory if needed.
|
||||
boost::filesystem::path fpath(output_dir_);
|
||||
@@ -409,13 +412,9 @@ namespace Opm
|
||||
} else {
|
||||
baseName = path(fpath.filename()).string();
|
||||
}
|
||||
if (param_.has("output_dir")) {
|
||||
logFileStream << output_dir_ << "/";
|
||||
debugFileStream << output_dir_ + "/";
|
||||
}
|
||||
|
||||
logFileStream << baseName;
|
||||
debugFileStream << "." << baseName;
|
||||
logFileStream << output_dir_ << "/" << baseName;
|
||||
debugFileStream << output_dir_ << "/" << "." << baseName;
|
||||
|
||||
if ( must_distribute_ && mpi_rank_ != 0 )
|
||||
{
|
||||
@@ -511,8 +510,6 @@ namespace Opm
|
||||
}
|
||||
|
||||
eclipse_state_.reset(new EclipseState(*deck_, parseContext));
|
||||
auto& ioConfig = eclipse_state_->getIOConfig();
|
||||
ioConfig.setOutputDir(output_dir_);
|
||||
}
|
||||
catch (const std::invalid_argument& e) {
|
||||
std::cerr << "Failed to create valid EclipseState object. See logfile: " << logFile_ << std::endl;
|
||||
|
||||
@@ -87,8 +87,8 @@ namespace Opm
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
setupOutput();
|
||||
setupEbosSimulator();
|
||||
setupOutput();
|
||||
setupLogging();
|
||||
extractMessages();
|
||||
setupGridAndProps();
|
||||
@@ -225,14 +225,17 @@ namespace Opm
|
||||
// Throws std::runtime_error if failed to create (if requested) output dir.
|
||||
void setupOutput()
|
||||
{
|
||||
// Write parameters used for later reference. (only if rank is zero)
|
||||
output_to_files_ = output_cout_ && param_.getDefault("output", true);
|
||||
// Always read output_dir as it will be set unconditionally later.
|
||||
// Not doing this might cause files to be created in the current
|
||||
// directory.
|
||||
output_dir_ =
|
||||
param_.getDefault("output_dir", std::string("."));
|
||||
|
||||
// Setup output directory.
|
||||
auto& ioConfig = eclState().getIOConfig();
|
||||
// Default output directory is the directory where the deck is found.
|
||||
const std::string default_output_dir = ioConfig.getOutputDir();
|
||||
output_dir_ = param_.getDefault("output_dir", default_output_dir);
|
||||
// Override output directory if user specified.
|
||||
ioConfig.setOutputDir(output_dir_);
|
||||
|
||||
// Write parameters used for later reference. (only if rank is zero)
|
||||
if (output_to_files_) {
|
||||
// Create output directory if needed.
|
||||
boost::filesystem::path fpath(output_dir_);
|
||||
@@ -265,13 +268,9 @@ namespace Opm
|
||||
} else {
|
||||
baseName = path(fpath.filename()).string();
|
||||
}
|
||||
if (param_.has("output_dir")) {
|
||||
logFileStream << output_dir_ << "/";
|
||||
debugFileStream << output_dir_ + "/";
|
||||
}
|
||||
|
||||
logFileStream << baseName;
|
||||
debugFileStream << "." << baseName;
|
||||
logFileStream << output_dir_ << "/" << baseName;
|
||||
debugFileStream << output_dir_ << "/" << "." << baseName;
|
||||
|
||||
if ( must_distribute_ && mpi_rank_ != 0 )
|
||||
{
|
||||
@@ -354,12 +353,10 @@ namespace Opm
|
||||
MissingFeatures::checkKeywords(deck());
|
||||
}
|
||||
|
||||
IOConfig& ioConfig = eclState().getIOConfig();
|
||||
ioConfig.setOutputDir(output_dir_);
|
||||
|
||||
// Possible to force initialization only behavior (NOSIM).
|
||||
if (param_.has("nosim")) {
|
||||
const bool nosim = param_.get<bool>("nosim");
|
||||
auto& ioConfig = eclState().getIOConfig();
|
||||
ioConfig.overrideNOSIM( nosim );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -310,7 +310,6 @@ namespace Opm
|
||||
|
||||
// Parameters for output.
|
||||
const std::string outputDir_;
|
||||
const int output_interval_;
|
||||
const bool restart_double_si_;
|
||||
|
||||
int lastBackupReportStep_;
|
||||
@@ -341,8 +340,7 @@ namespace Opm
|
||||
const Opm::PhaseUsage &phaseUsage)
|
||||
: output_( param.getDefault("output", true) ),
|
||||
parallelOutput_( output_ ? new ParallelDebugOutput< Grid >( grid, eclipseState, phaseUsage.num_phases, phaseUsage ) : 0 ),
|
||||
outputDir_( output_ ? param.getDefault("output_dir", std::string("output")) : "." ),
|
||||
output_interval_( output_ ? param.getDefault("output_interval", 1): 0 ),
|
||||
outputDir_( eclipseState.getIOConfig().getOutputDir() ),
|
||||
restart_double_si_( output_ ? param.getDefault("restart_double_si", false) : false ),
|
||||
lastBackupReportStep_( -1 ),
|
||||
phaseUsage_( phaseUsage ),
|
||||
|
||||
Reference in New Issue
Block a user