def test_run_small(): from execute import runner output_base = "./OUTPUT" input_dir = "./OUTPUT" user_params = {'frisch': 0.41} runner(output_base=output_base, input_dir=input_dir, user_params=user_params, run_micro=False)
def run_micro_macro(user_params): start_time = time.time() baseline_dir = "./OUTPUT_BASELINE" ''' ------------------------------------------------------------------------ Run calibration ----------------------------------------------------------------------- ''' # output_base = baseline_dir # input_dir = baseline_dir # user_params = {'frisch':1.5, 'sigma':3.0} # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # 'baseline':True, 'reform':0, 'user_params':user_params, # 'guid':'wealth_tax_baseline','calibrate_model':False} # runner_SS(**kwargs) # quit() # # sig_val = 3.0 # # while sig_val < 3.05: # # user_params = {'frisch':1.5, 'sigma':sig_val} # # print 'SIMGA = ', sig_val # # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # # 'baseline':True, 'reform':0, 'user_params':user_params, # # 'guid':'wealth_tax_baseline','calibrate_model':False} # # runner_SS(**kwargs) # # sig_val += 0.05 # # quit() # # time.sleep(10.5) # # quit() sigma_list = [2.0, 1.1, 1.0, 2.0, 2.1, 3.1, 3.2] ''' Loop over value of sigma and run all baselines and reforms ''' for item in sigma_list: print 'item= ', item # parameters that may update at each iteration user_params = {'frisch': 1.5, 'sigma': item} # set up directories to save output to baseline_dir = "./OUTPUT_BASELINE" + '/sigma' + str(item) wealth_dir = "./OUTPUT_WEALTH_REFORM" + '/sigma' + str(item) income_dir = "./OUTPUT_INCOME_REFORM" + '/sigma' + str(item) ''' ------------------------------------------------------------------------ Run SS for Baseline first ------------------------------------------------------------------------ ''' # output_base = baseline_dir # input_dir = baseline_dir # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # 'baseline':True, 'reform':0, 'fix_transfers':False, 'user_params':user_params, # 'guid':'baseline_sigma_'+str(item),'calibrate_model':False} # runner_SS(**kwargs) ''' ------------------------------------------------------------------------ Run baseline TPI ------------------------------------------------------------------------ ''' # output_base = baseline_dir # input_dir = baseline_dir # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # 'baseline':True,'reform':0,'fix_transfers':False, 'user_params':user_params, # 'guid':'baseline_sigma_'+str(item),'calibrate_model':False} # runner(**kwargs) # quit() ''' ------------------------------------------------------------------------ Run wealth tax reform (needs to be run before income tax reform because it determines the SS revenue target) ------------------------------------------------------------------------ ''' output_base = wealth_dir input_dir = wealth_dir guid_iter = 'reform_' + str(0) kwargs = { 'output_base': output_base, 'baseline_dir': baseline_dir, 'baseline': False, 'reform': 2, 'fix_transfers': True, 'user_params': user_params, 'guid': 'wealth_tax_reform2', 'calibrate_model': False } runner(**kwargs) quit() '''
import ogusa ogusa.parameters.DATASET = 'SMALL' import ogusa.SS import ogusa.TPI from ogusa import parameters, wealth, labor, demographics, income, SS, TPI from ogusa import txfunc #txfunc.get_tax_func_estimate(baseline=False) from execute import runner if __name__ == "__main__": output_base = "./OUTPUT" input_dir = "./OUTPUT" reform = { 2015: { '_II_rt1': [.09], '_II_rt2': [.135], '_II_rt3': [.225], '_II_rt4': [.252], '_II_rt5': [.297], '_II_rt6': [.315], '_II_rt7': [0.3564], }, } runner(output_base=output_base, input_dir=input_dir, baseline=False, reform=reform, run_micro=False)
def run_micro_macro(user_params): # reform = { # 2015: { # '_II_rt1': [.09], # '_II_rt2': [.135], # '_II_rt3': [.225], # '_II_rt4': [.252], # '_II_rt5': [.297], # '_II_rt6': [.315], # '_II_rt7': [0.3564], # }, } # reform = { # 2015: { # '_II_rt1': [0.045] # }, } reform = { 2015: { '_II_rt5': [.3], '_II_rt6': [.3], '_II_rt7': [0.3], }, } start_time = time.time() REFORM_DIR = "./OUTPUT_REFORM" BASELINE_DIR = "./OUTPUT_BASELINE" user_params = {'frisch': 0.41, 'start_year': 2015} ''' ------------------------------------------------------------------------ Run SS for Baseline first - so can run baseline and reform in parallel if want ------------------------------------------------------------------------ ''' output_base = BASELINE_DIR input_dir = BASELINE_DIR kwargs = { 'output_base': output_base, 'baseline_dir': BASELINE_DIR, 'baseline': True, 'analytical_mtrs': True, 'age_specific': False, 'user_params': user_params, 'guid': '38_mtr', 'run_micro': False } #p1 = Process(target=runner, kwargs=kwargs) #p1.start() runner_SS(**kwargs) ''' ------------------------------------------------------------------------ Run baseline ------------------------------------------------------------------------ ''' output_base = BASELINE_DIR input_dir = BASELINE_DIR kwargs = { 'output_base': output_base, 'baseline_dir': BASELINE_DIR, 'baseline': True, 'analytical_mtrs': True, 'age_specific': False, 'user_params': user_params, 'guid': '38_mtr', 'run_micro': False } #p1 = Process(target=runner, kwargs=kwargs) #p1.start() runner(**kwargs) quit() ''' ------------------------------------------------------------------------ Run reform ------------------------------------------------------------------------ ''' output_base = REFORM_DIR input_dir = REFORM_DIR guid_iter = 'reform_' + str(0) kwargs = { 'output_base': output_base, 'baseline_dir': BASELINE_DIR, 'baseline': False, 'analytical_mtrs': False, 'age_specific': False, 'reform': reform, 'user_params': user_params, 'guid': '38_mtr', 'run_micro': False } #p2 = Process(target=runner, kwargs=kwargs) #p2.start() runner(**kwargs) #p1.join() print "just joined" #p2.join() time.sleep(0.5) ans = postprocess.create_diff(baseline_dir=BASELINE_DIR, policy_dir=REFORM_DIR) print "total time was ", (time.time() - start_time) print ans return ans
''' A 'smoke test' for the ogusa package. Uses a fake data set to run the baseline ''' import cPickle as pickle import os import numpy as np import time import ogusa ogusa.parameters.DATASET = 'SMALL' import ogusa.SS import ogusa.TPI from ogusa import parameters, wealth, labor, demographics, income, SS, TPI from ogusa import txfunc #txfunc.get_tax_func_estimate(baseline=True) from execute import runner if __name__ == "__main__": output_base = "./OUTPUT_BASELINE" input_dir = "./OUTPUT_BASELINE" runner(output_base=output_base, input_dir=input_dir, baseline=True)
def run_micro_macro(user_params): # reform = { # 2015: { # '_II_rt1': [.09], # '_II_rt2': [.135], # '_II_rt3': [.225], # '_II_rt4': [.252], # '_II_rt5': [.297], # '_II_rt6': [.315], # '_II_rt7': [0.3564], # }, } # reform = { # 2015: { # '_II_rt1': [0.045] # }, } reform = { 2017: { '_II_rt5': [.3], '_II_rt6': [.3], '_II_rt7': [0.3], }, } start_time = time.time() REFORM_DIR = "./OUTPUT_REFORM" BASELINE_DIR = "./OUTPUT_BASELINE" user_params = {'frisch':0.41, 'start_year':2016} ''' ------------------------------------------------------------------------ Run SS for Baseline first - so can run baseline and reform in parallel if want ------------------------------------------------------------------------ ''' output_base = BASELINE_DIR input_dir = BASELINE_DIR kwargs={'output_base':output_base, 'baseline_dir':BASELINE_DIR, 'baseline':True, 'analytical_mtrs':False, 'age_specific':True, 'user_params':user_params,'guid':'test', 'run_micro':True} #p1 = Process(target=runner, kwargs=kwargs) #p1.start() runner_SS(**kwargs) ''' ------------------------------------------------------------------------ Run baseline ------------------------------------------------------------------------ ''' output_base = BASELINE_DIR input_dir = BASELINE_DIR kwargs={'output_base':output_base, 'baseline_dir':BASELINE_DIR, 'baseline':True, 'analytical_mtrs':False, 'age_specific':True, 'user_params':user_params,'guid':'test', 'run_micro':False} #p1 = Process(target=runner, kwargs=kwargs) #p1.start() runner(**kwargs) # quit() ''' ------------------------------------------------------------------------ Run reform ------------------------------------------------------------------------ ''' # output_base = REFORM_DIR # input_dir = REFORM_DIR # guid_iter = 'reform_' + str(0) # kwargs={'output_base':output_base, 'baseline_dir':BASELINE_DIR, # 'baseline':False, 'analytical_mtrs':False, 'age_specific':False, # 'reform':reform, 'user_params':user_params,'guid':'38_mtr', # 'run_micro':False} # #p2 = Process(target=runner, kwargs=kwargs) # #p2.start() # runner(**kwargs) #p1.join() # print "just joined" #p2.join() # time.sleep(0.5) # ans = postprocess.create_diff(baseline_dir=BASELINE_DIR, policy_dir=REFORM_DIR) print "total time was ", (time.time() - start_time)
def run_micro_macro(user_params): start_time = time.time() baseline_dir = "./OUTPUT_BASELINE" ''' ------------------------------------------------------------------------ Run calibration ----------------------------------------------------------------------- ''' # output_base = baseline_dir # input_dir = baseline_dir # user_params = {'frisch':1.5, 'sigma':3.0} # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # 'baseline':True, 'reform':0, 'user_params':user_params, # 'guid':'wealth_tax_baseline','calibrate_model':False} # runner_SS(**kwargs) # quit() # # sig_val = 3.0 # # while sig_val < 3.05: # # user_params = {'frisch':1.5, 'sigma':sig_val} # # print 'SIMGA = ', sig_val # # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # # 'baseline':True, 'reform':0, 'user_params':user_params, # # 'guid':'wealth_tax_baseline','calibrate_model':False} # # runner_SS(**kwargs) # # sig_val += 0.05 # # quit() # # time.sleep(10.5) # # quit() sigma_list = [2.0, 1.1, 1.0, 2.0, 2.1, 3.1, 3.2] ''' Loop over value of sigma and run all baselines and reforms ''' for item in sigma_list: print 'item= ', item # parameters that may update at each iteration user_params = {'frisch': 1.5, 'sigma': item} # set up directories to save output to baseline_dir = "./OUTPUT_BASELINE" + '/sigma' + str(item) wealth_dir = "./OUTPUT_WEALTH_REFORM" + '/sigma' + str(item) income_dir = "./OUTPUT_INCOME_REFORM" + '/sigma' + str(item) ''' ------------------------------------------------------------------------ Run SS for Baseline first ------------------------------------------------------------------------ ''' # output_base = baseline_dir # input_dir = baseline_dir # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # 'baseline':True, 'reform':0, 'fix_transfers':False, 'user_params':user_params, # 'guid':'baseline_sigma_'+str(item),'calibrate_model':False} # runner_SS(**kwargs) ''' ------------------------------------------------------------------------ Run baseline TPI ------------------------------------------------------------------------ ''' # output_base = baseline_dir # input_dir = baseline_dir # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, # 'baseline':True,'reform':0,'fix_transfers':False, 'user_params':user_params, # 'guid':'baseline_sigma_'+str(item),'calibrate_model':False} # runner(**kwargs) # quit() ''' ------------------------------------------------------------------------ Run wealth tax reform (needs to be run before income tax reform because it determines the SS revenue target) ------------------------------------------------------------------------ ''' output_base = wealth_dir input_dir = wealth_dir guid_iter = 'reform_' + str(0) kwargs={'output_base':output_base, 'baseline_dir':baseline_dir, 'baseline':False, 'reform':2, 'fix_transfers':True, 'user_params':user_params, 'guid':'wealth_tax_reform2','calibrate_model':False} runner(**kwargs) quit() '''
def test_run_small(): from execute import runner output_base = "./OUTPUT" input_dir = "./OUTPUT" user_params = {'frisch':0.41} runner(output_base=output_base, input_dir=input_dir, user_params=user_params, run_micro=False)