Exemplo n.º 1
0
def validate_inputs(meta_param_dict, adjustment, errors_warnings):
    '''
    Validates user inputs for parameters
    '''
    # Validate meta parameter inputs
    meta_params = MetaParams()
    meta_params.adjust(meta_param_dict, raise_errors=False)
    errors_warnings["Business Tax Parameters"]["errors"].update(
      meta_params.errors)
    # Validate CCC parameter inputs
    params = Specification()
    params.adjust(adjustment["Business Tax Parameters"],
                  raise_errors=False)
    errors_warnings["Business Tax Parameters"]["errors"].update(
        params.errors)
    # Validate TC parameter inputs
    iit_adj = cs2tc.convert_policy_adjustment(
        adjustment["Individual and Payroll Tax Parameters"])

    iit_params = Policy()
    iit_params.adjust(iit_adj, raise_errors=False, ignore_warnings=True)
    errors_warnings["Individual and Payroll Tax Parameters"][
        "errors"].update(iit_params.errors)

    return {"errors_warnings": errors_warnings}
Exemplo n.º 2
0
def validate_inputs(meta_param_dict, adjustment, errors_warnings):
    '''
    Validates user inputs for parameters
    '''
    # ccc doesn't look at meta_param_dict for validating inputs.
    params = Specification()
    params.adjust(adjustment["ccc"], raise_errors=False)
    errors_warnings["ccc"]["errors"].update(params.errors)
    return errors_warnings
Exemplo n.º 3
0
def run_model(meta_param_dict, adjustment):
    '''
    Initiliazes classes from CCC that compute the model under
    different policies.  Then calls function get output objects.
    '''
    meta_params = MetaParams()
    meta_params.adjust(meta_param_dict)
    if meta_params.data_source == "PUF":
        data = retrieve_puf(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
    else:
        data = "cps"
    params = Specification(year=meta_params.year, call_tc=True, data=data)
    params.adjust(adjustment["ccc"])
    assets = Assets()
    calc1 = Calculator(params, assets)
    params2 = Specification(year=meta_params.year)
    calc2 = Calculator(params2, assets)
    comp_dict = comp_output(calc1, calc2)

    return comp_dict
def validate_inputs(meta_param_dict, adjustment, errors_warnings):
    '''
    Validates user inputs for parameters
    '''
    # ccc doesn't look at meta_param_dict for validating inputs.
    params = Specification()
    params.adjust(adjustment["Business Tax Parameters"], raise_errors=False)
    errors_warnings["Business Tax Parameters"]["errors"].update(params.errors)
    # Validate TC parameter inputs
    pol_params = {}
    # drop checkbox parameters.
    for param, data in list(
            adjustment["Individual and Payroll Tax Parameters"].items()):
        if not param.endswith("checkbox"):
            pol_params[param] = data
    iit_params = TCParams()
    iit_params.adjust(pol_params, raise_errors=False)
    errors_warnings["Individual and Payroll Tax Parameters"]["errors"].update(
        iit_params.errors)

    return {"errors_warnings": errors_warnings}