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) {
|
if (!ok) {
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
asImpl().setupOutput();
|
|
||||||
asImpl().readDeckInput();
|
asImpl().readDeckInput();
|
||||||
|
asImpl().setupOutput();
|
||||||
asImpl().setupLogging();
|
asImpl().setupLogging();
|
||||||
asImpl().extractMessages();
|
asImpl().extractMessages();
|
||||||
asImpl().setupGridAndProps();
|
asImpl().setupGridAndProps();
|
||||||
@@ -365,14 +365,17 @@ namespace Opm
|
|||||||
// Throws std::runtime_error if failed to create (if requested) output dir.
|
// Throws std::runtime_error if failed to create (if requested) output dir.
|
||||||
void setupOutput()
|
void setupOutput()
|
||||||
{
|
{
|
||||||
// Write parameters used for later reference. (only if rank is zero)
|
|
||||||
output_to_files_ = output_cout_ && param_.getDefault("output", true);
|
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_) {
|
if (output_to_files_) {
|
||||||
// Create output directory if needed.
|
// Create output directory if needed.
|
||||||
boost::filesystem::path fpath(output_dir_);
|
boost::filesystem::path fpath(output_dir_);
|
||||||
@@ -409,13 +412,9 @@ namespace Opm
|
|||||||
} else {
|
} else {
|
||||||
baseName = path(fpath.filename()).string();
|
baseName = path(fpath.filename()).string();
|
||||||
}
|
}
|
||||||
if (param_.has("output_dir")) {
|
|
||||||
logFileStream << output_dir_ << "/";
|
|
||||||
debugFileStream << output_dir_ + "/";
|
|
||||||
}
|
|
||||||
|
|
||||||
logFileStream << baseName;
|
logFileStream << output_dir_ << "/" << baseName;
|
||||||
debugFileStream << "." << baseName;
|
debugFileStream << output_dir_ << "/" << "." << baseName;
|
||||||
|
|
||||||
if ( must_distribute_ && mpi_rank_ != 0 )
|
if ( must_distribute_ && mpi_rank_ != 0 )
|
||||||
{
|
{
|
||||||
@@ -511,8 +510,6 @@ namespace Opm
|
|||||||
}
|
}
|
||||||
|
|
||||||
eclipse_state_.reset(new EclipseState(*deck_, parseContext));
|
eclipse_state_.reset(new EclipseState(*deck_, parseContext));
|
||||||
auto& ioConfig = eclipse_state_->getIOConfig();
|
|
||||||
ioConfig.setOutputDir(output_dir_);
|
|
||||||
}
|
}
|
||||||
catch (const std::invalid_argument& e) {
|
catch (const std::invalid_argument& e) {
|
||||||
std::cerr << "Failed to create valid EclipseState object. See logfile: " << logFile_ << std::endl;
|
std::cerr << "Failed to create valid EclipseState object. See logfile: " << logFile_ << std::endl;
|
||||||
|
|||||||
@@ -87,8 +87,8 @@ namespace Opm
|
|||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
setupOutput();
|
|
||||||
setupEbosSimulator();
|
setupEbosSimulator();
|
||||||
|
setupOutput();
|
||||||
setupLogging();
|
setupLogging();
|
||||||
extractMessages();
|
extractMessages();
|
||||||
setupGridAndProps();
|
setupGridAndProps();
|
||||||
@@ -225,14 +225,17 @@ namespace Opm
|
|||||||
// Throws std::runtime_error if failed to create (if requested) output dir.
|
// Throws std::runtime_error if failed to create (if requested) output dir.
|
||||||
void setupOutput()
|
void setupOutput()
|
||||||
{
|
{
|
||||||
// Write parameters used for later reference. (only if rank is zero)
|
|
||||||
output_to_files_ = output_cout_ && param_.getDefault("output", true);
|
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_) {
|
if (output_to_files_) {
|
||||||
// Create output directory if needed.
|
// Create output directory if needed.
|
||||||
boost::filesystem::path fpath(output_dir_);
|
boost::filesystem::path fpath(output_dir_);
|
||||||
@@ -265,13 +268,9 @@ namespace Opm
|
|||||||
} else {
|
} else {
|
||||||
baseName = path(fpath.filename()).string();
|
baseName = path(fpath.filename()).string();
|
||||||
}
|
}
|
||||||
if (param_.has("output_dir")) {
|
|
||||||
logFileStream << output_dir_ << "/";
|
|
||||||
debugFileStream << output_dir_ + "/";
|
|
||||||
}
|
|
||||||
|
|
||||||
logFileStream << baseName;
|
logFileStream << output_dir_ << "/" << baseName;
|
||||||
debugFileStream << "." << baseName;
|
debugFileStream << output_dir_ << "/" << "." << baseName;
|
||||||
|
|
||||||
if ( must_distribute_ && mpi_rank_ != 0 )
|
if ( must_distribute_ && mpi_rank_ != 0 )
|
||||||
{
|
{
|
||||||
@@ -354,12 +353,10 @@ namespace Opm
|
|||||||
MissingFeatures::checkKeywords(deck());
|
MissingFeatures::checkKeywords(deck());
|
||||||
}
|
}
|
||||||
|
|
||||||
IOConfig& ioConfig = eclState().getIOConfig();
|
|
||||||
ioConfig.setOutputDir(output_dir_);
|
|
||||||
|
|
||||||
// Possible to force initialization only behavior (NOSIM).
|
// Possible to force initialization only behavior (NOSIM).
|
||||||
if (param_.has("nosim")) {
|
if (param_.has("nosim")) {
|
||||||
const bool nosim = param_.get<bool>("nosim");
|
const bool nosim = param_.get<bool>("nosim");
|
||||||
|
auto& ioConfig = eclState().getIOConfig();
|
||||||
ioConfig.overrideNOSIM( nosim );
|
ioConfig.overrideNOSIM( nosim );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -310,7 +310,6 @@ namespace Opm
|
|||||||
|
|
||||||
// Parameters for output.
|
// Parameters for output.
|
||||||
const std::string outputDir_;
|
const std::string outputDir_;
|
||||||
const int output_interval_;
|
|
||||||
const bool restart_double_si_;
|
const bool restart_double_si_;
|
||||||
|
|
||||||
int lastBackupReportStep_;
|
int lastBackupReportStep_;
|
||||||
@@ -341,8 +340,7 @@ namespace Opm
|
|||||||
const Opm::PhaseUsage &phaseUsage)
|
const Opm::PhaseUsage &phaseUsage)
|
||||||
: output_( param.getDefault("output", true) ),
|
: output_( param.getDefault("output", true) ),
|
||||||
parallelOutput_( output_ ? new ParallelDebugOutput< Grid >( grid, eclipseState, phaseUsage.num_phases, phaseUsage ) : 0 ),
|
parallelOutput_( output_ ? new ParallelDebugOutput< Grid >( grid, eclipseState, phaseUsage.num_phases, phaseUsage ) : 0 ),
|
||||||
outputDir_( output_ ? param.getDefault("output_dir", std::string("output")) : "." ),
|
outputDir_( eclipseState.getIOConfig().getOutputDir() ),
|
||||||
output_interval_( output_ ? param.getDefault("output_interval", 1): 0 ),
|
|
||||||
restart_double_si_( output_ ? param.getDefault("restart_double_si", false) : false ),
|
restart_double_si_( output_ ? param.getDefault("restart_double_si", false) : false ),
|
||||||
lastBackupReportStep_( -1 ),
|
lastBackupReportStep_( -1 ),
|
||||||
phaseUsage_( phaseUsage ),
|
phaseUsage_( phaseUsage ),
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ TEST_ARGS="$@"
|
|||||||
rm -Rf ${RESULT_PATH}
|
rm -Rf ${RESULT_PATH}
|
||||||
mkdir -p ${RESULT_PATH}
|
mkdir -p ${RESULT_PATH}
|
||||||
cd ${RESULT_PATH}
|
cd ${RESULT_PATH}
|
||||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS} nosim=true
|
${BINPATH}/${EXE_NAME} ${TEST_ARGS} nosim=true output_dir=${RESULT_PATH}
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
ecode=0
|
ecode=0
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ TEST_ARGS="$@"
|
|||||||
rm -Rf ${RESULT_PATH}
|
rm -Rf ${RESULT_PATH}
|
||||||
mkdir -p ${RESULT_PATH}
|
mkdir -p ${RESULT_PATH}
|
||||||
cd ${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
|
test $? -eq 0 || exit 1
|
||||||
mkdir mpi
|
mkdir mpi
|
||||||
cd 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
|
test $? -eq 0 || exit 1
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ TEST_ARGS="$@"
|
|||||||
rm -Rf ${RESULT_PATH}
|
rm -Rf ${RESULT_PATH}
|
||||||
mkdir -p ${RESULT_PATH}
|
mkdir -p ${RESULT_PATH}
|
||||||
cd ${RESULT_PATH}
|
cd ${RESULT_PATH}
|
||||||
${BINPATH}/${EXE_NAME} ${TEST_ARGS}
|
${BINPATH}/${EXE_NAME} ${TEST_ARGS} output_dir=${RESULT_PATH}
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
ecode=0
|
ecode=0
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ TEST_ARGS="$@"
|
|||||||
rm -Rf ${RESULT_PATH}
|
rm -Rf ${RESULT_PATH}
|
||||||
mkdir -p ${RESULT_PATH}
|
mkdir -p ${RESULT_PATH}
|
||||||
cd ${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
|
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
|
test $? -eq 0 || exit 1
|
||||||
|
|
||||||
ecode=0
|
ecode=0
|
||||||
|
|||||||
Reference in New Issue
Block a user