Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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