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 ),
|
||||
|
||||
@@ -21,7 +21,7 @@ TEST_ARGS="$@"
|
||||
rm -Rf ${RESULT_PATH}
|
||||
mkdir -p ${RESULT_PATH}
|
||||
cd ${RESULT_PATH}
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS} nosim=true
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS} nosim=true output_dir=${RESULT_PATH}
|
||||
cd ..
|
||||
|
||||
ecode=0
|
||||
|
||||
@@ -19,11 +19,11 @@ TEST_ARGS="$@"
|
||||
rm -Rf ${RESULT_PATH}
|
||||
mkdir -p ${RESULT_PATH}
|
||||
cd ${RESULT_PATH}
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA linear_solver_reduction=1e-7 tolerance_cnv=5e-6 tolerance_mb=1e-8
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA linear_solver_reduction=1e-7 tolerance_cnv=5e-6 tolerance_mb=1e-8 output_dir=${RESULT_PATH}
|
||||
test $? -eq 0 || exit 1
|
||||
mkdir mpi
|
||||
cd mpi
|
||||
mpirun -np 4 ${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA linear_solver_reduction=1e-7 tolerance_cnv=5e-6 tolerance_mb=1e-8
|
||||
mpirun -np 4 ${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA linear_solver_reduction=1e-7 tolerance_cnv=5e-6 tolerance_mb=1e-8 output_dir=${RESULT_PATH}/mpi
|
||||
test $? -eq 0 || exit 1
|
||||
cd ..
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ TEST_ARGS="$@"
|
||||
rm -Rf ${RESULT_PATH}
|
||||
mkdir -p ${RESULT_PATH}
|
||||
cd ${RESULT_PATH}
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS} output_dir=${RESULT_PATH}
|
||||
cd ..
|
||||
|
||||
ecode=0
|
||||
|
||||
@@ -19,9 +19,9 @@ TEST_ARGS="$@"
|
||||
rm -Rf ${RESULT_PATH}
|
||||
mkdir -p ${RESULT_PATH}
|
||||
cd ${RESULT_PATH}
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA timestep.adaptive=false
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA timestep.adaptive=false output_dir=${RESULT_PATH}
|
||||
test $? -eq 0 || exit 1
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}_RESTART.DATA timestep.adaptive=false
|
||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}_RESTART.DATA timestep.adaptive=false output_dir=${RESULT_PATH}
|
||||
test $? -eq 0 || exit 1
|
||||
|
||||
ecode=0
|
||||
|
||||
Reference in New Issue
Block a user