コード例 #1
0
ファイル: models.py プロジェクト: ual/DOE-repo-deliverable
def alt_feasibility(parcels, settings, parcel_sales_price_sqft_func,
                    parcel_is_allowed_func):
    kwargs = settings['feasibility']
    config = sqftproforma.SqFtProFormaConfig()
    config.parking_rates["office"] = 1.5
    config.parking_rates["retail"] = 1.5

    utils.run_feasibility(parcels,
                          parcel_sales_price_sqft_func,
                          parcel_is_allowed_func,
                          config=config,
                          **kwargs)

    f = subsidies.policy_modifications_of_profit(
        orca.get_table('feasibility').to_frame(), parcels)

    orca.add_table("feasibility", f)
コード例 #2
0
ファイル: models.py プロジェクト: afcarl/sandag_urbansim
    def nonresidential_proforma(form, devtype_id, use, parking_rate):
        print form
        parcels = sim.get_table('parcels').to_frame()

        residential_to_yearly = False
        parcel_filter = settings['feasibility']['parcel_filter']
        #parcel_filter = None
        pfc = sqftproforma.SqFtProFormaConfig()
        pfc.forms = {form: {use: 1.0}}
        pfc.uses = [use]
        pfc.residential_uses = [False]
        pfc.parking_rates = {use: parking_rate}
        if use == 'retail':
            pfc.costs = {use: [160.0, 175.0, 200.0, 230.0]}
        elif use == 'industrial':
            pfc.costs = {use: [140.0, 175.0, 200.0, 230.0]}
        else:  #office
            pfc.costs = {use: [160.0, 175.0, 200.0, 230.0]}

        #Fees
        fee_schedule_devtype = fee_schedule[fee_schedule.development_type_id ==
                                            devtype_id]
        parcel_fee_schedule_devtype = pd.merge(parcel_fee_schedule,
                                               fee_schedule_devtype,
                                               left_on='fee_schedule_id',
                                               right_on='fee_schedule_id')
        parcel_fee_schedule_devtype[
            'development_fee_per_unit'] = parcel_fee_schedule_devtype.development_fee_per_unit_space_initial * parcel_fee_schedule_devtype.portion
        parcel_fees_processed = parcel_fee_schedule_devtype.groupby(
            'parcel_id').development_fee_per_unit.sum()
        fees = pd.Series(data=parcel_fees_processed,
                         index=parcels.index).fillna(0)

        pf = sqftproforma.SqFtProForma(pfc)
        fees = fees * pf.config.cap_rate

        return run_proforma_lookup(parcels,
                                   fees,
                                   pf,
                                   use,
                                   form,
                                   residential_to_yearly,
                                   parcel_filter=parcel_filter)
コード例 #3
0
ファイル: models.py プロジェクト: urbansim/bayarea_urbansim
def alt_feasibility(parcels, settings, parcel_sales_price_sqft_func,
                    parcel_is_allowed_func):
    kwargs = settings['feasibility']
    config = sqftproforma.SqFtProFormaConfig()
    config.parking_rates["office"] = 1.5
    config.parking_rates["retail"] = 1.5
    config.building_efficiency = .85
    config.parcel_coverage = .85
    # use the cap rate from settings.yaml
    config.cap_rate = settings["cap_rate"]

    utils.run_feasibility(parcels,
                          parcel_sales_price_sqft_func,
                          parcel_is_allowed_func,
                          config=config,
                          **kwargs)

    f = subsidies.policy_modifications_of_profit(
        orca.get_table('feasibility').to_frame(), parcels)

    orca.add_table("feasibility", f)
コード例 #4
0
def subsidized_residential_feasibility(parcels, settings,
                                       add_extra_columns_func,
                                       parcel_sales_price_sqft_func,
                                       parcel_is_allowed_func,
                                       parcels_geography):

    kwargs = settings['feasibility'].copy()
    kwargs["only_built"] = False
    kwargs["forms_to_test"] = ["residential"]

    config = sqftproforma.SqFtProFormaConfig()
    # use the cap rate from settings.yaml
    config.cap_rate = settings["cap_rate"]

    # step 1
    utils.run_feasibility(parcels,
                          parcel_sales_price_sqft_func,
                          parcel_is_allowed_func,
                          config=config,
                          **kwargs)

    feasibility = orca.get_table("feasibility").to_frame()
    # get rid of the multiindex that comes back from feasibility
    feasibility = feasibility.stack(level=0).reset_index(level=1, drop=True)
    # join to parcels_geography for filtering
    feasibility = feasibility.join(parcels_geography.to_frame())

    # add the multiindex back
    feasibility.columns = pd.MultiIndex.from_tuples([
        ("residential", col) for col in feasibility.columns
    ])

    feasibility = policy_modifications_of_profit(feasibility, parcels)

    orca.add_table("feasibility", feasibility)

    df = orca.get_table("feasibility").to_frame()
    df = df.stack(level=0).reset_index(level=1, drop=True)
    df.to_csv("runs/run{}_feasibility_{}.csv".format(
        orca.get_injectable("run_number"), orca.get_injectable("year")))