def get_simulation_models(SCENARIO): models = [ "neighborhood_vars", # local accessibility vars "regional_vars", # regional accessibility vars "rsh_simulate", # residential sales hedonic "nrh_simulate", # non-residential rent hedonic "households_relocation", "households_transition", "jobs_relocation", "jobs_transition", "price_vars", "scheduled_development_events", # scheduled buildings additions "lump_sum_accounts", # run the subsidized acct system "subsidized_residential_developer_lump_sum_accts", "alt_feasibility", "residential_developer", "developer_reprocess", "office_developer", "retail_developer", "additional_units", "hlcm_simulate", # put these last so they don't get "proportional_elcm", # start with a proportional jobs model "elcm_simulate", # displaced by new dev "topsheet", "parcel_summary", "building_summary", "diagnostic_output", "geographic_summary", "travel_model_output" ] # calculate VMT taxes if SCENARIO in ["1", "3", "4"]: # calculate the vmt fees at the end of the year # note that you might also have to change the fees that get # imposed - look for fees_per_unit column in variables.py if SCENARIO == "3": orca.get_injectable("settings")["vmt_res_for_res"] = True if SCENARIO == "1": orca.get_injectable("settings")["vmt_com_for_res"] = True if SCENARIO == "4": orca.get_injectable("settings")["vmt_com_for_res"] = True orca.get_injectable("settings")["vmt_com_for_com"] = False models.insert(models.index("office_developer"), "subsidized_office_developer") models.insert(models.index("diagnostic_output"), "calculate_vmt_fees") models.insert(models.index("alt_feasibility"), "subsidized_residential_feasibility") models.insert(models.index("alt_feasibility"), "subsidized_residential_developer_vmt") return models
def get_simulation_models(SCENARIO): models = [ "neighborhood_vars", # local accessibility vars "regional_vars", # regional accessibility vars "rsh_simulate", # residential sales hedonic "nrh_simulate", # non-residential rent hedonic "households_relocation", "households_transition", "jobs_relocation", "jobs_transition", "price_vars", "scheduled_development_events", # scheduled buildings additions "lump_sum_accounts", # run the subsidized acct system "subsidized_residential_developer_lump_sum_accts", "alt_feasibility", "residential_developer", "developer_reprocess", "retail_developer", "office_developer", "hlcm_simulate", # put these last so they don't get "elcm_simulate", # displaced by new dev "topsheet", "parcel_summary", "building_summary", "diagnostic_output", "geographic_summary", "travel_model_output" ] # calculate VMT taxes if SCENARIO in ["1", "3", "4"]: # calculate the vmt fees at the end of the year # note that you might also have to change the fees that get # imposed - look for fees_per_unit column in variables.py if SCENARIO == "3": orca.get_injectable("settings")["vmt_fee_res"] = True if SCENARIO == "1": orca.get_injectable("settings")["vmt_fee_com"] = True if SCENARIO == "4": orca.get_injectable("settings")["vmt_fee_com"] = True models.insert(models.index("diagnostic_output"), "calculate_vmt_fees") models.insert(models.index("alt_feasibility"), "subsidized_residential_feasibility") models.insert(models.index("alt_feasibility"), "subsidized_residential_developer_vmt") return models
def get_simulation_models(SCENARIO): models = [ "neighborhood_vars", # local accessibility vars "regional_vars", # regional accessibility vars "rsh_simulate", # residential sales hedonic "nrh_simulate", # non-residential rent hedonic "households_relocation", "households_transition", "jobs_relocation", "jobs_transition", "price_vars", "scheduled_development_events", # scheduled buildings additions "lump_sum_accounts", # run the subsidized acct system "subsidized_residential_developer_lump_sum_accts", "alt_feasibility", "residential_developer", "developer_reprocess", "office_developer", "retail_developer", "accessory_units", "hlcm_simulate", # put these last so they don't get "proportional_elcm", # start with a proportional jobs model "elcm_simulate", # displaced by new dev "topsheet", "parcel_summary", "building_summary", "diagnostic_output", "geographic_summary", "travel_model_output" ] # calculate VMT taxes vmt_settings = \ orca.get_injectable("settings")["acct_settings"]["vmt_settings"] if SCENARIO in vmt_settings["com_for_com_scenarios"]: models.insert(models.index("office_developer"), "subsidized_office_developer") if SCENARIO in vmt_settings["com_for_res_scenarios"] or \ SCENARIO in vmt_settings["res_for_res_scenarios"]: models.insert(models.index("diagnostic_output"), "calculate_vmt_fees") models.insert(models.index("alt_feasibility"), "subsidized_residential_feasibility") models.insert(models.index("alt_feasibility"), "subsidized_residential_developer_vmt") return models
def get_simulation_models(SCENARIO): # ual has a slightly different set of models - might be able to get rid # of the old version soon models = [ "slr_inundate", "slr_remove_dev", "eq_code_buildings", "earthquake_demolish", "neighborhood_vars", # street network accessibility "regional_vars", # road network accessibility "nrh_simulate", # non-residential rent hedonic # uses conditional probabilities "household_relocation", "households_transition", # update building/unit/hh correspondence "reconcile_unplaced_households", "jobs_relocation", "jobs_transition", "balance_rental_and_ownership_hedonics", "price_vars", "scheduled_development_events", # run the subsidized acct system "lump_sum_accounts", "subsidized_residential_developer_lump_sum_accts", "alt_feasibility", "residential_developer", "developer_reprocess", "retail_developer", "office_developer", "accessory_units", # (for buildings that were removed) "remove_old_units", # set up units for new residential buildings "initialize_new_units", # update building/unit/hh correspondence "reconcile_unplaced_households", "rsh_simulate", # residential sales hedonic for units "rrh_simulate", # residential rental hedonic for units # (based on higher of predicted price or rent) "assign_tenure_to_new_units", # allocate owners to vacant owner-occupied units "hlcm_owner_simulate", # allocate renters to vacant rental units "hlcm_renter_simulate", # we have to run the hlcm above before this one - we first want to # try and put unplaced households into their appropraite tenured # units and then when that fails, force them to place using the # code below. technically the hlcms above could be moved above the # developer again, but we would have to run the hedonics twice and # also the assign_tenure_to_new_units twice. # force placement of any unplaced households, in terms of rent/own # is a noop except in the final simulation year "hlcm_owner_simulate_no_unplaced", # this one crashes right no because there are no unplaced, so # need to fix the crash in urbansim "hlcm_renter_simulate_no_unplaced", # update building/unit/hh correspondence "reconcile_placed_households", "proportional_elcm", # start with a proportional jobs model "elcm_simulate", # displaced by new dev # save_intermediate_tables", # saves output for visualization "topsheet", "simulation_validation", "parcel_summary", "building_summary", "diagnostic_output", "geographic_summary", "travel_model_output", # "travel_model_2_output", "hazards_slr_summary", "hazards_eq_summary" ] # calculate VMT taxes vmt_settings = \ orca.get_injectable("policy")["acct_settings"]["vmt_settings"] if SCENARIO in vmt_settings["com_for_com_scenarios"]: models.insert(models.index("office_developer"), "subsidized_office_developer") if SCENARIO in vmt_settings["com_for_res_scenarios"] or \ SCENARIO in vmt_settings["res_for_res_scenarios"]: models.insert(models.index("diagnostic_output"), "calculate_vmt_fees") models.insert(models.index("alt_feasibility"), "subsidized_residential_feasibility") models.insert(models.index("alt_feasibility"), "subsidized_residential_developer_vmt") return models
def get_simulation_models(SCENARIO): # ual has a slightly different set of models - might be able to get rid # of the old version soon models = [ "slr_inundate", "slr_remove_dev", "eq_code_buildings", "earthquake_demolish", "neighborhood_vars", # street network accessibility "regional_vars", # road network accessibility "nrh_simulate", # non-residential rent hedonic # uses conditional probabilities "households_relocation", "households_transition", # update building/unit/hh correspondence "reconcile_unplaced_households", "jobs_relocation", "jobs_transition", "balance_rental_and_ownership_hedonics", "price_vars", "scheduled_development_events", # run the subsidized acct system "lump_sum_accounts", "subsidized_residential_developer_lump_sum_accts", "alt_feasibility", "residential_developer", "developer_reprocess", "retail_developer", "office_developer", "accessory_units", # (for buildings that were removed) "remove_old_units", # set up units for new residential buildings "initialize_new_units", # update building/unit/hh correspondence "reconcile_unplaced_households", "rsh_simulate", # residential sales hedonic for units "rrh_simulate", # residential rental hedonic for units # (based on higher of predicted price or rent) "assign_tenure_to_new_units", # allocate owners to vacant owner-occupied units "hlcm_owner_simulate", # allocate renters to vacant rental units "hlcm_renter_simulate", # we have to run the hlcm above before this one - we first want to # try and put unplaced households into their appropraite tenured # units and then when that fails, force them to place using the # code below. technically the hlcms above could be moved above the # developer again, but we would have to run the hedonics twice and # also the assign_tenure_to_new_units twice. # force placement of any unplaced households, in terms of rent/own # is a noop except in the final simulation year "hlcm_owner_simulate_no_unplaced", # this one crashes right no because there are no unplaced, so # need to fix the crash in urbansim "hlcm_renter_simulate_no_unplaced", # update building/unit/hh correspondence "reconcile_placed_households", "proportional_elcm", # start with a proportional jobs model "elcm_simulate", # displaced by new dev # save_intermediate_tables", # saves output for visualization "topsheet", "simulation_validation", "parcel_summary", "building_summary", "diagnostic_output", "geographic_summary", "travel_model_output", # "travel_model_2_output", "hazards_slr_summary", "hazards_eq_summary" ] # calculate VMT taxes vmt_settings = \ orca.get_injectable("settings")["acct_settings"]["vmt_settings"] if SCENARIO in vmt_settings["com_for_com_scenarios"]: models.insert(models.index("office_developer"), "subsidized_office_developer") if SCENARIO in vmt_settings["com_for_res_scenarios"] or \ SCENARIO in vmt_settings["res_for_res_scenarios"]: models.insert(models.index("diagnostic_output"), "calculate_vmt_fees") models.insert(models.index("alt_feasibility"), "subsidized_residential_feasibility") models.insert(models.index("alt_feasibility"), "subsidized_residential_developer_vmt") return models