ss_args_exst = os.path.exists(ss_paramsfile) if (not ss_vars_exst) or (not ss_args_exst): # If the files don't exist, stop the program and run the steady- # state solution first err_msg = ('ERROR: The SS output files do not exist and ' + 'SS_solve=False. Must set SS_solve=True and ' + 'compute steady-state solution.') raise RuntimeError(err_msg) else: # If the files do exist, make sure that none of the parameters # changed from the parameters used in the solution for the saved # steady-state pickle ss_args = pickle.load(open(ss_paramsfile, 'rb')) cur_ss_args = (S, beta, sigma, l_tilde, b_ellip, upsilon, chi_n_vec, A, alpha, delta, r_star, SS_tol, SS_EulDiff, hh_fsolve_SS) args_same = utils.compare_args(ss_args[:-1], cur_ss_args[:-1]) if args_same: # If none of the parameters changed, use saved pickle print('RETRIEVE STEADY-STATE SOLUTIONS FROM FILE') ss_output = pickle.load(open(ss_outputfile, 'rb')) else: # If any of the parameters changed, end the program and # compute the steady-state solution err_msg = ('ERROR: Current ss_args are not equal to the ' + 'ss_args that produced ss_output. Must solve ' + 'for SS before solving transition path. Set ' + 'SS_solve=True.') raise RuntimeError(err_msg) ''' ------------------------------------------------------------------------ Solve for the transition path equilibrium by time path iteration (TPI)
ss_vars_exst = os.path.exists(ss_outputfile) ss_args_exst = os.path.exists(ss_paramsfile) if (not ss_vars_exst) or (not ss_args_exst): # If the files don't exist, stop the program and run the steady- # state solution first err_msg = ('ERROR: The SS output files do not exist and ' + 'SS_solve=False. Must set SS_solve=True and ' + 'compute steady-state solution.') raise RuntimeError(err_msg) else: # If the files do exist, make sure that none of the parameters # changed from the parameters used in the solution for the saved # steady-state pickle prev_ss_args = pickle.load(open(ss_paramsfile, 'rb')) args_same = utils.compare_args(ss_args, prev_ss_args) if args_same: # If none of the parameters changed, use saved pickle print('RETRIEVE STEADY-STATE SOLUTIONS FROM FILE') ss_output = pickle.load(open(ss_outputfile, 'rb')) else: # If any of the parameters changed, end the program and # compute the steady-state solution err_msg = ('ERROR: Current ss_args are not equal to the ' + 'ss_args that produced ss_output. Must solve ' + 'for SS before solving transition path. Set ' + 'SS_solve=True.') raise RuntimeError(err_msg) ''' ------------------------------------------------------------------------
if (not ss_vars_exst) or (not ss_args_exst): # If the files don't exist, stop the program and run the steady- # state solution first err_msg = ('ERROR: The SS output files do not exist and ' + 'SS_solve=False. Must set SS_solve=True and ' + 'compute steady-state solution.') raise RuntimeError(err_msg) else: # If the files do exist, make sure that none of the parameters # changed from the parameters used in the solution for the saved # steady-state pickle ss_args = pickle.load(open(ss_paramsfile, 'rb')) cur_ss_args = (J, S, lambdas, emat, beta, sigma, l_tilde, b_ellip, upsilon, chi_n_vec, A, alpha, delta, SS_tol, SS_EulDiff) args_same = utils.compare_args(ss_args, cur_ss_args) if args_same: # If none of the parameters changed, use saved pickle print('RETRIEVE STEADY-STATE SOLUTIONS FROM FILE') ss_output = pickle.load(open(ss_outputfile, 'rb')) else: # If any of the parameters changed, end the program and # compute the steady-state solution err_msg = ('ERROR: Current ss_args are not equal to the ' + 'ss_args that produced ss_output. Must solve ' + 'for SS before solving transition path. Set ' + 'SS_solve=True.') raise RuntimeError(err_msg) ''' ------------------------------------------------------------------------