def get_inputs(meta_params_dict): """ Return default parameters from Tax-Cruncher """ metaparams = MetaParameters() metaparams.adjust(meta_params_dict) params = CruncherParams() policy_params = TCParams() policy_params.set_state(year=metaparams.year.tolist()) filtered_pol_params = OrderedDict() for k, v in policy_params.dump().items(): if k == "schema" or v.get("section_1", False): filtered_pol_params[k] = v keep = [ "mstat", "page", "sage", "depx", "dep13", "dep17", "dep18", "pwages", "swages", "dividends", "intrec", "stcg", "ltcg", "otherprop", "nonprop", "pensions", "gssi", "ui", "proptax", "otheritem", "childcare", "mortgage", "mtr_options", "schema" ] cruncher_dict = params.dump() default_params = { "Tax Information": {k: v for k, v in cruncher_dict.items() if k in keep}, "Policy": filtered_pol_params } meta = metaparams.dump() return {"meta_parameters": meta, "model_parameters": default_params}
def test_compare_defaults(): ''' Test that defaults.json and defaults_batch.json have the same parameters in the same order. ''' cp = CruncherParams() ignore = ['mtr_options', 'reform_options'] cp_list = [] for k, v in cp.dump().items(): cp_list.append(k) for item in ignore: cp_list.remove(item) bp = BatchParams() bp_list = [] for k, v in bp.dump().items(): bp_list.append(k) assert cp_list == bp_list
def get_inputs(meta_params_dict): """ Return default parameters from Tax-Cruncher """ metaparams = MetaParameters() metaparams.adjust(meta_params_dict) params = CruncherParams() policy_params = Policy() policy_params.set_state(year=metaparams.year.tolist()) policy_params.array_first = False # Hack to work smoothly with convert_policy_defaults since # it expects a data_source attribute. metaparams.data_source = "CPS" filtered_pol_params = inputs.convert_policy_defaults( metaparams, policy_params) keep = [ "mstat", "page", "sage", "dep13", "dep17", "dep18", "otherdep", "pwages", "swages", "dividends", "intrec", "stcg", "ltcg", "otherprop", "nonprop", "pensions", "gssi", "ui", "proptax", "otheritem", "childcare", "mortgage", "businc", "sstb", "w2paid", "qualprop", "mtr_options", "schema" ] cruncher_dict = params.dump() default_params = { "Tax Information": {k: v for k, v in cruncher_dict.items() if k in keep}, "Policy": filtered_pol_params } meta = metaparams.dump() return {"meta_parameters": meta, "model_parameters": default_params}