1function global_initialization() 2%function global_initialization() 3% initializes global variables and options for DYNARE 4% 5% INPUTS 6% none 7% 8% OUTPUTS 9% none 10% 11% SPECIAL REQUIREMENTS 12% none 13 14% Copyright (C) 2003-2018 Dynare Team 15% 16% This file is part of Dynare. 17% 18% Dynare is free software: you can redistribute it and/or modify 19% it under the terms of the GNU General Public License as published by 20% the Free Software Foundation, either version 3 of the License, or 21% (at your option) any later version. 22% 23% Dynare is distributed in the hope that it will be useful, 24% but WITHOUT ANY WARRANTY; without even the implied warranty of 25% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 26% GNU General Public License for more details. 27% 28% You should have received a copy of the GNU General Public License 29% along with Dynare. If not, see <http://www.gnu.org/licenses/>. 30 31global oo_ M_ options_ estim_params_ bayestopt_ estimation_info ex0_ ys0_ dataset_ dataset_info 32estim_params_ = []; 33bayestopt_ = []; 34dataset_=[]; 35dataset_info=[]; 36 37M_.dname = M_.fname; 38M_.bvar = []; 39 40estimation_info.empty_prior = struct(... 41 'domain', [], 'interval', [], 'mean', [], ... 42 'median', [], 'mode', [], 'shape', [], ... 43 'shift', [], 'stdev', [], 'truncate', [], 'variance', []); 44estimation_info.empty_options = struct(... 45 'bounds',[], 'init', [], 'jscale', []); 46estimation_info.subsamples.range = struct('date1', [], 'date2', []); 47estimation_info.parameter.prior = estimation_info.empty_prior; 48estimation_info.parameter.subsample_prior = estimation_info.empty_prior; 49estimation_info.parameter.options = estimation_info.empty_options; 50estimation_info.parameter.subsample_options = estimation_info.empty_options; 51estimation_info.structural_innovation.prior = estimation_info.empty_prior; 52estimation_info.structural_innovation.subsample_prior = estimation_info.empty_prior; 53estimation_info.structural_innovation.options = estimation_info.empty_options; 54estimation_info.structural_innovation.subsample_options = estimation_info.empty_options; 55estimation_info.structural_innovation_corr.prior = estimation_info.empty_prior; 56estimation_info.structural_innovation_corr.subsample_prior = estimation_info.empty_prior; 57estimation_info.structural_innovation_corr.options = estimation_info.empty_options; 58estimation_info.structural_innovation_corr.subsample_options = estimation_info.empty_options; 59estimation_info.measurement_error.prior = estimation_info.empty_prior; 60estimation_info.measurement_error.subsample_prior = estimation_info.empty_prior; 61estimation_info.measurement_error.options = estimation_info.empty_options; 62estimation_info.measurement_error.subsample_options = estimation_info.empty_options; 63estimation_info.measurement_error_corr.prior = estimation_info.empty_prior; 64estimation_info.measurement_error_corr.subsample_prior = estimation_info.empty_prior; 65estimation_info.measurement_error_corr.options = estimation_info.empty_options; 66estimation_info.measurement_error_corr.subsample_options = estimation_info.empty_options; 67estimation_info.subsamples_index = {}; 68estimation_info.subsamples.range_index = {}; 69estimation_info.parameter_prior_index = {}; 70estimation_info.parameter_options_index = {}; 71estimation_info.parameter.range_index = {}; 72estimation_info.measurement_error_prior_index = {}; 73estimation_info.measurement_error_options_index = {}; 74estimation_info.measurement_error.range_index = {}; 75estimation_info.structural_innovation_prior_index = {}; 76estimation_info.structural_innovation_options_index = {}; 77estimation_info.structural_innovation.range_index = {}; 78estimation_info.measurement_error_corr_prior_index = {}; 79estimation_info.measurement_error_corr_options_index = {}; 80estimation_info.measurement_error_corr.range_index = {}; 81estimation_info.structural_innovation_corr_prior_index = {}; 82estimation_info.structural_innovation_corr_options_index = {}; 83estimation_info.structural_innovation_corr.range_index = {}; 84estimation_info.joint_parameter_prior_index = {}; 85estimation_info.joint_parameter = {'index','domain','interval','mean','median','mode','shape','shift','stdev','truncate','variance'}; 86 87oo_.exo_simul = []; 88oo_.endo_simul = []; 89ys0_ = []; 90ex0_ = []; 91oo_.dr = []; 92oo_.exo_steady_state = []; 93oo_.exo_det_steady_state = []; 94oo_.exo_det_simul = []; 95 96oo_.gui.ran_estimation = false; 97oo_.gui.ran_stoch_simul = false; 98oo_.gui.ran_calib_smoother = false; 99oo_.gui.ran_perfect_foresight = false; 100oo_.gui.ran_shock_decomposition = false; 101oo_.gui.ran_realtime_shock_decomposition = false; 102 103M_.params = []; 104M_.endo_histval = []; 105M_.exo_histval = []; 106M_.exo_det_histval = []; 107M_.Correlation_matrix = []; 108M_.Correlation_matrix_ME = []; 109M_.parameter_used_with_lead_lag = false; 110 111M_.xref1.param = {}; 112M_.xref1.endo = {}; 113M_.xref1.exo = {}; 114M_.xref1.exo_det = {}; 115 116M_.xref2.param = {}; 117M_.xref2.endo = {}; 118M_.xref2.exo = {}; 119M_.xref2.exo_det = {}; 120 121M_.osr.param_names={}; 122M_.osr.param_indices=[]; 123M_.osr.param_bounds=[]; 124M_.osr.variable_weights=[]; 125M_.osr.variable_indices =[]; 126 127M_.instr_id=[]; 128 129% Set default options_ but keep global_init_file field if defined in the driver. 130if isstruct(options_) && isfield(options_, 'global_init_file') 131 global_init_file = options_.global_init_file; 132 options_ = default_option_values(M_); 133 options_.global_init_file = global_init_file; 134else 135 options_ = default_option_values(M_); 136end 137 138% initialize persistent variables in priordens() 139priordens([],[],[],[],[],[],1); 140% initialize persistent variables in dyn_first_order_solver() 141dyn_first_order_solver(); 142 143% Set dynare random generator and seed. 144set_dynare_seed('default'); 145 146 147% Create directories 148[~,~]=mkdir(M_.fname); 149[~,~]=mkdir([M_.fname filesep 'Output']); 150 151% Load user configuration file. 152if isfield(options_, 'global_init_file') 153 run(options_.global_init_file); 154end 155