def get_inputs(meta_params_dict): ''' Function to get user input parameters from COMP ''' # Get meta-params from web app meta_params = MetaParams() meta_params.adjust(meta_params_dict) # Set default CCC params ccc_params = Specification(year=meta_params.year) # Set default TC params iit_params = Policy() iit_params.set_state(year=meta_params.year.tolist()) filtered_iit_params = cs2tc.convert_policy_defaults( meta_params, iit_params) default_params = { "Business Tax Parameters": ccc_params.dump(), "Individual and Payroll Tax Parameters": filtered_iit_params } return { "meta_parameters": meta_params.dump(), "model_parameters": default_params }
def get_inputs(meta_params_dict): ''' Function to get user input parameters from COMP ''' # Get meta-params from web app meta_params = MetaParams() with meta_params.transaction(defer_validation=True): meta_params.adjust(meta_params_dict) # Year must be at least 2014 when using the CPS. This rule is # validated in the validate_inputs function below. if meta_params.data_source == "CPS" and meta_params.year < 2014: meta_params.adjust({"year": 2014}) # Set default CCC params ccc_params = Specification(year=meta_params.year) filtered_ccc_params = OrderedDict() # filter out parameters that can be changed with Tax-Calc params or # that users unlikely to use (so reduce clutter on screen) filter_list = [ 'tau_div', 'tau_nc', 'tau_int', 'tau_scg', 'tau_lcg', 'tau_td', 'tau_h', 'alpha_c_e_ft', 'alpha_c_e_td', 'alpha_c_e_nt', 'alpha_c_d_ft', 'alpha_c_d_td', 'alpha_c_d_nt', 'alpha_nc_d_ft', 'alpha_nc_d_td', 'alpha_nc_d_nt', 'alpha_h_d_ft', 'alpha_h_d_td', 'alpha_h_d_nt', 'Y_td', 'Y_scg', 'Y_lcg', 'Y_xcg', 'Y_v', 'gamma', 'phi'] for k, v in ccc_params.dump().items(): if k not in filter_list: filtered_ccc_params[k] = v # Set default TC params iit_params = Policy() iit_params.set_state(year=meta_params.year.tolist()) filtered_iit_params = cs2tc.convert_policy_defaults( meta_params, iit_params) default_params = { "Business Tax Parameters": filtered_ccc_params, "Individual and Payroll Tax Parameters": filtered_iit_params } return { "meta_parameters": meta_params.dump(), "model_parameters": default_params }
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}