diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 3939be613b5fddd80298f993c2cebf02b121b3cf..9233aeb05bcccf17b3700d70fc675802c0376c34 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -1070,14 +1070,14 @@ EstimationStatement::writeJsonOutput(ostream& output) const output << "}"; } -DynareSensitivityStatement::DynareSensitivityStatement(OptionsList options_list_arg) : +SensitivityStatement::SensitivityStatement(OptionsList options_list_arg) : options_list {move(options_list_arg)} { } void -DynareSensitivityStatement::checkPass(ModFileStructure& mod_file_struct, - [[maybe_unused]] WarningConsolidation& warnings) +SensitivityStatement::checkPass(ModFileStructure& mod_file_struct, + [[maybe_unused]] WarningConsolidation& warnings) { if (auto opt = options_list.get_if<OptionsList::NumVal>("identification"); opt && *opt == "1") { @@ -1089,8 +1089,8 @@ DynareSensitivityStatement::checkPass(ModFileStructure& mod_file_struct, } void -DynareSensitivityStatement::writeOutput(ostream& output, [[maybe_unused]] const string& basename, - [[maybe_unused]] bool minimal_workspace) const +SensitivityStatement::writeOutput(ostream& output, [[maybe_unused]] const string& basename, + [[maybe_unused]] bool minimal_workspace) const { options_list.writeOutput(output, "options_gsa"); @@ -1110,9 +1110,9 @@ DynareSensitivityStatement::writeOutput(ostream& output, [[maybe_unused]] const } void -DynareSensitivityStatement::writeJsonOutput(ostream& output) const +SensitivityStatement::writeJsonOutput(ostream& output) const { - output << R"({"statementName": "dynare_sensitivity")"; + output << R"({"statementName": "sensitivity")"; if (!options_list.empty()) { output << ", "; diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index e9d5c88e55b5f4022f99e220ae47d44c769a6724..24aadf9ab4bf8bbb5d3add16a427aad6a02f5718 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -334,13 +334,13 @@ public: void writeJsonOutput(ostream& output) const override; }; -class DynareSensitivityStatement : public Statement +class SensitivityStatement : public Statement { private: const OptionsList options_list; public: - explicit DynareSensitivityStatement(OptionsList options_list_arg); + explicit SensitivityStatement(OptionsList options_list_arg); void checkPass(ModFileStructure& mod_file_struct, WarningConsolidation& warnings) override; void writeOutput(ostream& output, const string& basename, bool minimal_workspace) const override; void writeJsonOutput(ostream& output) const override; diff --git a/src/DynareBison.yy b/src/DynareBison.yy index f7fd5b3c3495c7d207cb63db2e40b81bdbc7ea36..8e0072c493657aa737ff17152eda5a3871e40066 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -161,7 +161,7 @@ str_tolower(string s) %token EXP LOG LN LOG10 SIN COS TAN ASIN ACOS ATAN SINH COSH TANH ASINH ACOSH ATANH ERF ERFC DIFF ADL AUXILIARY_MODEL_NAME %token SQRT CBRT NORMCDF NORMPDF STEADY_STATE EXPECTATION /* GSA analysis */ -%token DYNARE_SENSITIVITY MORRIS STAB REDFORM PPRIOR PRIOR_RANGE PPOST ILPTAU MORRIS_NLIV +%token SENSITIVITY DYNARE_SENSITIVITY MORRIS STAB REDFORM PPRIOR PRIOR_RANGE PPOST ILPTAU MORRIS_NLIV %token MORRIS_NTRA NSAM LOAD_REDFORM LOAD_RMSE LOAD_STAB ALPHA2_STAB LOGTRANS_REDFORM THRESHOLD_REDFORM %token KSSTAT_REDFORM ALPHA2_REDFORM NAMENDO NAMLAGENDO NAMEXO RMSE LIK_ONLY VAR_RMSE PFILT_RMSE ISTART_RMSE %token ALPHA_RMSE ALPHA2_RMSE @@ -326,7 +326,7 @@ statement : parameters | bvar_forecast | bvar_irf | sbvar - | dynare_sensitivity + | sensitivity | homotopy_setup | forecast | load_params_and_steady_state @@ -3119,69 +3119,79 @@ ms_estimation : MS_ESTIMATION ';' { driver.ms_estimation(); } ; -dynare_sensitivity : DYNARE_SENSITIVITY ';' - { driver.dynare_sensitivity(); } - | DYNARE_SENSITIVITY '(' dynare_sensitivity_options_list ')' ';' - { driver.dynare_sensitivity(); } - ; +sensitivity : SENSITIVITY ';' + { driver.sensitivity(); } + | SENSITIVITY '(' sensitivity_options_list ')' ';' + { driver.sensitivity(); } + | DYNARE_SENSITIVITY ';' + { + driver.warning("The 'dynare_sensitivity' command is deprecated. It has been renamed 'sensitivity'."); + driver.sensitivity(); + } + | DYNARE_SENSITIVITY '(' sensitivity_options_list ')' ';' + { + driver.warning("The 'dynare_sensitivity' command is deprecated. It has been renamed 'sensitivity'."); + driver.sensitivity(); + } + ; -dynare_sensitivity_options_list : dynare_sensitivity_option COMMA dynare_sensitivity_options_list - | dynare_sensitivity_option - ; +sensitivity_options_list : sensitivity_option COMMA sensitivity_options_list + | sensitivity_option + ; -dynare_sensitivity_option : o_gsa_identification - | o_gsa_morris - | o_gsa_stab - | o_gsa_redform - | o_gsa_pprior - | o_gsa_prior_range - | o_gsa_ppost - | o_gsa_ilptau - | o_gsa_morris_nliv - | o_gsa_morris_ntra - | o_gsa_nsam - | o_gsa_load_redform - | o_gsa_load_rmse - | o_gsa_load_stab - | o_gsa_alpha2_stab - | o_gsa_logtrans_redform - | o_gsa_ksstat_redform - | o_gsa_alpha2_redform - | o_gsa_rmse - | o_gsa_lik_only - | o_gsa_pfilt_rmse - | o_gsa_istart_rmse - | o_gsa_alpha_rmse - | o_gsa_alpha2_rmse - | o_gsa_threshold_redform - | o_gsa_namendo - | o_gsa_namexo - | o_gsa_namlagendo - | o_gsa_var_rmse - | o_gsa_neighborhood_width - | o_gsa_pvalue_ks - | o_gsa_pvalue_corr - | o_datafile - | o_nobs - | o_first_obs - | o_prefilter - | o_presample - | o_nograph - | o_nodisplay - | o_graph_format - | o_forecasts_conf_sig - | o_mh_conf_sig - | o_loglinear - | o_mode_file - | o_load_ident_files - | o_useautocorr - | o_ar - | o_kalman_algo - | o_lik_init - | o_diffuse_filter - | o_analytic_derivation - | o_analytic_derivation_mode - ; +sensitivity_option : o_gsa_identification + | o_gsa_morris + | o_gsa_stab + | o_gsa_redform + | o_gsa_pprior + | o_gsa_prior_range + | o_gsa_ppost + | o_gsa_ilptau + | o_gsa_morris_nliv + | o_gsa_morris_ntra + | o_gsa_nsam + | o_gsa_load_redform + | o_gsa_load_rmse + | o_gsa_load_stab + | o_gsa_alpha2_stab + | o_gsa_logtrans_redform + | o_gsa_ksstat_redform + | o_gsa_alpha2_redform + | o_gsa_rmse + | o_gsa_lik_only + | o_gsa_pfilt_rmse + | o_gsa_istart_rmse + | o_gsa_alpha_rmse + | o_gsa_alpha2_rmse + | o_gsa_threshold_redform + | o_gsa_namendo + | o_gsa_namexo + | o_gsa_namlagendo + | o_gsa_var_rmse + | o_gsa_neighborhood_width + | o_gsa_pvalue_ks + | o_gsa_pvalue_corr + | o_datafile + | o_nobs + | o_first_obs + | o_prefilter + | o_presample + | o_nograph + | o_nodisplay + | o_graph_format + | o_forecasts_conf_sig + | o_mh_conf_sig + | o_loglinear + | o_mode_file + | o_load_ident_files + | o_useautocorr + | o_ar + | o_kalman_algo + | o_lik_init + | o_diffuse_filter + | o_analytic_derivation + | o_analytic_derivation_mode + ; shock_decomposition_options_list : shock_decomposition_option COMMA shock_decomposition_options_list | shock_decomposition_option diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll index 2544514ed18f61e098932e42a90f9f6657c3d5af..f38277a08ac958dab7559ace188f254cbc508f30 100644 --- a/src/DynareFlex.ll +++ b/src/DynareFlex.ll @@ -155,7 +155,8 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]) <INITIAL>bvar_density {BEGIN DYNARE_STATEMENT; return token::BVAR_DENSITY; } <INITIAL>bvar_forecast {BEGIN DYNARE_STATEMENT; return token::BVAR_FORECAST; } <INITIAL>bvar_irf {BEGIN DYNARE_STATEMENT; return token::BVAR_IRF; } -<INITIAL>dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;} +<INITIAL>sensitivity {BEGIN DYNARE_STATEMENT; return token::SENSITIVITY;} +<INITIAL>dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;} // Deprecated <INITIAL>initval_file {BEGIN DYNARE_STATEMENT; return token::INITVAL_FILE;} <INITIAL>histval_file {BEGIN DYNARE_STATEMENT; return token::HISTVAL_FILE;} <INITIAL>forecast {BEGIN DYNARE_STATEMENT; return token::FORECAST;} diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index 8af7f2ead3dfac90d5fc5eefb5178c795e477291..67cf5557c1c5930f1de3d8baf9e0c6a097b2f83a 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -2024,9 +2024,9 @@ ParsingDriver::run_estimation(vector<string> symbol_list) } void -ParsingDriver::dynare_sensitivity() +ParsingDriver::sensitivity() { - mod_file->addStatement(make_unique<DynareSensitivityStatement>(move(options_list))); + mod_file->addStatement(make_unique<SensitivityStatement>(move(options_list))); options_list.clear(); } diff --git a/src/ParsingDriver.hh b/src/ParsingDriver.hh index 7834058275f95922a33550ca099506b85db61a39..be31e57d422befed3ab47b31e8f1e35f115e24b6 100644 --- a/src/ParsingDriver.hh +++ b/src/ParsingDriver.hh @@ -592,8 +592,8 @@ public: void set_corr_options(string name1, string name2, string subsample_name); //! Runs estimation process void run_estimation(vector<string> symbol_list); - //! Runs dynare_sensitivy() - void dynare_sensitivity(); + //! Runs sensitivity + void sensitivity(); //! Check that no observed variable has yet be defined void check_varobs(); //! Add a new observed variable