Пример #1
0
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
    }
Пример #2
0
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
     }
Пример #3
0
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}