def test_param_effect(): adjustment = {"Business Tax Parameters": {"CIT_rate": 0.35}, "Individual and Payroll Tax Parameters": {}} comp_dict = functions.run_model({}, adjustment) df1 = pd.read_csv(io.StringIO(comp_dict['downloadable'][0]['data'])) df2 = pd.read_csv(io.StringIO(comp_dict['downloadable'][1]['data'])) assert max(np.absolute(df1['rho_mix']-df2['rho_mix'])) > 0
def run_model(): meta_param_dict = { "year": [{ "value": 2020 }], "data_source": [{ "value": "CPS" }], "time_path": [{ "value": True }], } adjustment_dict = { "OG-USA Parameters": { "frisch": 0.39, "initial_debt_ratio": 1.1, "g_y_annual": 0.029, "tG1": 22, }, "Tax-Calculator Parameters": {}, } comp_dict = functions.run_model(meta_param_dict, adjustment_dict) pickle.dump(comp_dict, open("ogusa_cs_test_dict.pkl", "wb")) s = io.StringIO(comp_dict["downloadable"][0]["data"]) with open("ogusa_test_output.csv", "w") as f: for line in s: f.write(line)
def test_param_effect(): adjustment = { "Business Tax Parameters": { "CIT_rate": 0.35 }, "Individual and Payroll Tax Parameters": {} } comp_dict = functions.run_model({}, adjustment) df = pd.read_csv(io.StringIO(comp_dict['downloadable'][0]['data'])) assert df.loc[0, 'Change from Baseline (pp)'] != 0
def sim(self, meta_param_dict, adjustment): if os.environ.get("DASK_SCHEDULER_ADDRESS") is not None: from distributed import Client from dask import delayed print("submitting data") with Client() as c: print("c", c) fut = c.submit(functions.run_model, meta_param_dict, adjustment) print("waiting on result", fut) return fut.result() return functions.run_model(meta_param_dict, adjustment)
def sim(self, meta_param_dict, adjustment): return functions.run_model(meta_param_dict, adjustment)
from cs_config import functions import cs_storage from cs_storage.screenshot import write_template """ This script is useful to testing the outputs from the cs_config/functions.py script. """ # outputs = functions.run_model(meta_param_dict, adjustment_dict) outputs = functions.run_model( {}, { "mycicd": { "title": "ParamTools", "user_or_org": "PSLmodels", "ref": "master", "cmds": ["py.test paramtools -v"], } }, ) i = 1 for output in outputs["renderable"]: serializer = cs_storage.get_serializer(output["media_type"]) ser = serializer.serialize(output["data"]) deserialized = dict(output, data=serializer.deserialize(ser, json_serializable=True)) deserialized["id"] = f"test-{i}" # Need this output id. res = write_template(deserialized) with open(f"{output['title']}.html", "w") as f:
def sim(meta_param_dict, adjustment): outputs = functions.run_model(meta_param_dict, adjustment) print("got result") return cs_storage.serialize_to_json(outputs)