Added (command line) nointeractive option.
parent
dd21816b13
commit
3dc372e5bc
|
@ -747,6 +747,9 @@ computations.
|
|||
Activate the @code{nograph} option (@xref{nograph}), so that Dynare will not produce any
|
||||
graph
|
||||
|
||||
@item nointeractive
|
||||
Instructs Dynare to not request user input
|
||||
|
||||
@item cygwin
|
||||
Tells Dynare that your MATLAB is configured for compiling MEX files with
|
||||
Cygwin (@pxref{Software requirements}). This option is only available
|
||||
|
|
|
@ -93,30 +93,35 @@ if isempty(varlist)
|
|||
string = [ cas , ' will be computed for the ' num2str(M_.endo_nbr) ' endogenous variables'];
|
||||
string = [ string ' of your model, this can be very long....'];
|
||||
format_text(string, 10)
|
||||
choice = [];
|
||||
while isempty(choice)
|
||||
disp(' ')
|
||||
disp(' ')
|
||||
disp('Choose one of the following options:')
|
||||
disp(' ')
|
||||
disp(' [1] Consider all the endogenous variables.')
|
||||
disp(' [2] Consider all the observed endogenous variables.')
|
||||
disp(' [3] Stop Dynare and change the mod file.')
|
||||
disp(' ')
|
||||
choice = input('options [default is 1] = ');
|
||||
if isempty(choice)
|
||||
choice=1;
|
||||
end
|
||||
if choice==1
|
||||
varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
|
||||
elseif choice==2
|
||||
varlist = options_.varobs;
|
||||
elseif choice==3
|
||||
varlist = NaN;
|
||||
else
|
||||
disp('')
|
||||
disp('YOU HAVE TO ANSWER 1, 2 or 3!')
|
||||
disp('')
|
||||
if options_.nointeractive
|
||||
% Default behaviour is to consider all the endogenous variables.
|
||||
varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
|
||||
else
|
||||
choice = [];
|
||||
while isempty(choice)
|
||||
disp(' ')
|
||||
disp(' ')
|
||||
disp('Choose one of the following options:')
|
||||
disp(' ')
|
||||
disp(' [1] Consider all the endogenous variables.')
|
||||
disp(' [2] Consider all the observed endogenous variables.')
|
||||
disp(' [3] Stop Dynare and change the mod file.')
|
||||
disp(' ')
|
||||
choice = input('options [default is 1] = ');
|
||||
if isempty(choice)
|
||||
choice=1;
|
||||
end
|
||||
if choice==1
|
||||
varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
|
||||
elseif choice==2
|
||||
varlist = options_.varobs;
|
||||
elseif choice==3
|
||||
varlist = NaN;
|
||||
else
|
||||
disp('')
|
||||
disp('YOU HAVE TO ANSWER 1, 2 or 3!')
|
||||
disp('')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -107,6 +107,9 @@ gmhmaxlik.nclimb = 200000;
|
|||
gmhmaxlik.nscale = 200000;
|
||||
options_.gmhmaxlik = gmhmaxlik;
|
||||
|
||||
% Request user input.
|
||||
options_.nointeractive = 0;
|
||||
|
||||
% Graphics
|
||||
options_.graphics.nrows = 3;
|
||||
options_.graphics.ncols = 3;
|
||||
|
|
|
@ -127,9 +127,15 @@ if ~options_.load_mh_file && ~options_.mh_recover
|
|||
init_iter = init_iter + 1;
|
||||
if init_iter > 100 && validate == 0
|
||||
disp(['MH: I couldn''t get a valid initial value in 100 trials.'])
|
||||
disp(['MH: You should Reduce mh_init_scale...'])
|
||||
disp(sprintf('MH: Parameter mh_init_scale is equal to %f.',options_.mh_init_scale))
|
||||
options_.mh_init_scale = input('MH: Enter a new value... ');
|
||||
if options_.nointeractive
|
||||
disp(['MH: I reduce mh_init_scale by ten percent:'])
|
||||
options_.mh_init_scale = .9*options_.mh_init_scale;
|
||||
disp(sprintf('MH: Parameter mh_init_scale is now equal to %f.',options_.mh_init_scale))
|
||||
else
|
||||
disp(['MH: You should Reduce mh_init_scale...'])
|
||||
disp(sprintf('MH: Parameter mh_init_scale is equal to %f.',options_.mh_init_scale))
|
||||
options_.mh_init_scale = input('MH: Enter a new value... ');
|
||||
end
|
||||
trial = trial+1;
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,7 +36,7 @@ using namespace std;
|
|||
Splitting main() in two parts was necessary because ParsingDriver.h and MacroDriver.h can't be
|
||||
included simultaneously (because of Bison limitations).
|
||||
*/
|
||||
void main2(stringstream &in, string &basename, bool debug, bool clear_all, bool no_tmp_terms, bool no_log, bool no_warn, bool warn_uninit, bool console, bool nograph,
|
||||
void main2(stringstream &in, string &basename, bool debug, bool clear_all, bool no_tmp_terms, bool no_log, bool no_warn, bool warn_uninit, bool console, bool nograph, bool nointeractive,
|
||||
bool parallel, const string ¶llel_config_file, const string &cluster_name, bool parallel_slave_open_mode,
|
||||
bool parallel_test
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
|
@ -48,7 +48,7 @@ void
|
|||
usage()
|
||||
{
|
||||
cerr << "Dynare usage: dynare mod_file [debug] [noclearall] [savemacro[=macro_file]] [onlymacro] [nolinemacro] [notmpterms] [nolog] [warn_uninit]"
|
||||
<< " [console] [nograph] [parallel[=cluster_name]] [conffile=parallel_config_path_and_filename] [parallel_slave_open_mode] [parallel_test] "
|
||||
<< " [console] [nograph] [nointeractive] [parallel[=cluster_name]] [conffile=parallel_config_path_and_filename] [parallel_slave_open_mode] [parallel_test] "
|
||||
<< " [-D<variable>[=<value>]]"
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
<< " [cygwin] [msvc]"
|
||||
|
@ -85,6 +85,7 @@ main(int argc, char **argv)
|
|||
bool warn_uninit = false;
|
||||
bool console = false;
|
||||
bool nograph = false;
|
||||
bool nointeractive = false;
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
bool cygwin = false;
|
||||
bool msvc = false;
|
||||
|
@ -132,6 +133,8 @@ main(int argc, char **argv)
|
|||
console = true;
|
||||
else if (!strcmp(argv[arg], "nograph"))
|
||||
nograph = true;
|
||||
else if (!strcmp(argv[arg], "nointeractive"))
|
||||
nointeractive = true;
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
else if (!strcmp(argv[arg], "cygwin"))
|
||||
cygwin = true;
|
||||
|
@ -224,7 +227,7 @@ main(int argc, char **argv)
|
|||
return EXIT_SUCCESS;
|
||||
|
||||
// Do the rest
|
||||
main2(macro_output, basename, debug, clear_all, no_tmp_terms, no_log, no_warn, warn_uninit, console, nograph,
|
||||
main2(macro_output, basename, debug, clear_all, no_tmp_terms, no_log, no_warn, warn_uninit, console, nograph, nointeractive,
|
||||
parallel, parallel_config_file, cluster_name, parallel_slave_open_mode, parallel_test
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
, cygwin, msvc
|
||||
|
|
|
@ -26,7 +26,7 @@ using namespace std;
|
|||
#include "ConfigFile.hh"
|
||||
|
||||
void
|
||||
main2(stringstream &in, string &basename, bool debug, bool clear_all, bool no_tmp_terms, bool no_log, bool no_warn, bool warn_uninit, bool console, bool nograph,
|
||||
main2(stringstream &in, string &basename, bool debug, bool clear_all, bool no_tmp_terms, bool no_log, bool no_warn, bool warn_uninit, bool console, bool nograph, bool nointeractive,
|
||||
bool parallel, const string ¶llel_config_file, const string &cluster_name, bool parallel_slave_open_mode,
|
||||
bool parallel_test
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
|
@ -58,7 +58,7 @@ main2(stringstream &in, string &basename, bool debug, bool clear_all, bool no_tm
|
|||
mod_file->computingPass(no_tmp_terms);
|
||||
|
||||
// Write outputs
|
||||
mod_file->writeOutputFiles(basename, clear_all, no_log, no_warn, console, nograph, config_file
|
||||
mod_file->writeOutputFiles(basename, clear_all, no_log, no_warn, console, nograph, nointeractive, config_file
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
, cygwin, msvc
|
||||
#endif
|
||||
|
|
|
@ -455,7 +455,7 @@ ModFile::computingPass(bool no_tmp_terms)
|
|||
}
|
||||
|
||||
void
|
||||
ModFile::writeOutputFiles(const string &basename, bool clear_all, bool no_log, bool no_warn, bool console, bool nograph, const ConfigFile &config_file
|
||||
ModFile::writeOutputFiles(const string &basename, bool clear_all, bool no_log, bool no_warn, bool console, bool nograph, bool nointeractive, const ConfigFile &config_file
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
, bool cygwin, bool msvc
|
||||
#endif
|
||||
|
@ -511,6 +511,9 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool no_log, b
|
|||
<< "options_.nodisplay = 1;" << endl;
|
||||
if (nograph)
|
||||
mOutputFile << "options_.nograph = 1;" << endl;
|
||||
|
||||
if (nointeractive)
|
||||
mOutputFile << "options_.nointeractive = 1;" << endl;
|
||||
|
||||
cout << "Processing outputs ...";
|
||||
|
||||
|
|
|
@ -128,10 +128,11 @@ public:
|
|||
\param clear_all Should a "clear all" instruction be written to output ?
|
||||
\param console Are we in console mode ?
|
||||
\param nograph Should we build the figures?
|
||||
\param nointeractive Should Dynare request user input?
|
||||
\param cygwin Should the MEX command of use_dll be adapted for Cygwin?
|
||||
\param msvc Should the MEX command of use_dll be adapted for MSVC?
|
||||
*/
|
||||
void writeOutputFiles(const string &basename, bool clear_all, bool no_log, bool no_warn, bool console, bool nograph, const ConfigFile &config_file
|
||||
void writeOutputFiles(const string &basename, bool clear_all, bool no_log, bool no_warn, bool console, bool nograph, bool nointeractive, const ConfigFile &config_file
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__)
|
||||
, bool cygwin, bool msvc
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue