コード例 #1
0
    # dict(inputs_subdir='re_cost_trend',
    #     wind_capital_cost_escalator=0.011,
    #     pv_capital_cost_escalator=-0.064),
    # dict(inputs_subdir='triple_ph',
    #     pumped_hydro_projects=[
    #         args["pumped_hydro_projects"][0],   # standard Lake Wilson project
    #         ['Project_2_(1.2x)', 'Oahu', 1.2*2800*1000+35e6/150, 50, 0.015, 0.77, 0, 100],
    #         ['Project_3_(1.3x)', 'Oahu', 1.3*2800*1000+35e6/150, 50, 0.015, 0.77, 0, 100],
    #     ]
    # ),
    # dict(
    #     inputs_subdir='rps_2030',
    #     time_sample = "rps_fast_mini",
    #     rps_targets = {2020: 0.4, 2025: 0.7, 2030: 1.0, 2035: 1.0},
    # ),
]

# annual change in capital cost of new renewable projects:
# solar cost projections: decline by 6.4%/year (based on residential PV systems from 1998 to 2014 in Fig. 7 of "Tracking the Sun VIII: The Installed Price of Residential and Non-Residential Photovoltaic Systems in the United States," https://emp.lbl.gov/reports (declines have been faster over more recent time period, and faster for non-residential systems).
# wind cost projections:
# increase by 1.1%/year (based on 1998-2014 in  2014 Wind Technologies Market Report, https://emp.lbl.gov/reports)



for a in alt_args:
    # clone the arguments dictionary and update it with settings from the alt_args entry, if any
    active_args = dict(args.items() + a.items())
    scenario_data.write_tables(**active_args)
    

コード例 #2
0
    # rather than assigning a cost per MW-km here.
    connect_cost_per_mw_km = 1000,
    base_financial_year = 2015,
    interest_rate = 0.06,
    discount_rate = 0.03,
    inflation_rate = 0.025,  # used to convert nominal costs in the tables to real costs
)

args.update(
    battery_capital_cost_per_mwh_capacity=363636.3636,
    battery_n_cycles=4500,
    battery_max_discharge=0.9,
    battery_min_discharge_time=6,
    battery_efficiency=0.75,
)

args.update(
    pumped_hydro_capital_cost_per_mw=2800*1000+35e6/150,
    pumped_hydro_project_life=50,
    pumped_hydro_fixed_om_percent=0.015,    # use the low-end O&M, because it always builds the big version
    pumped_hydro_efficiency=0.8,
    pumped_hydro_inflow_mw=10,
    pumped_hydro_max_capacity_mw=1000,
)

if "skip_cf" in sys.argv:
    print "Skipping variable capacity factors..."
    args["skip_cf"] = True

scenario_data.write_tables(**args)
コード例 #3
0
})

# data definitions for alternative scenarios
alt_args = [
    dict(inputs_dir="inputs", time_sample="rps_mini"),
    dict(inputs_dir="inputs_tiny", time_sample="tiny"),
    dict(inputs_dir="inputs_tiny_tiny",
         time_sample="tiny",
         exclude_technologies=args["exclude_technologies"] +
         ('CentralTrackingPV', 'Wind')),
]

for a in alt_args:
    # clone the arguments dictionary and update it with settings from the alt_args entry, if any
    active_args = dict(args.items() + a.items())
    scenario_data.write_tables(**active_args)

if cmd_line_args['write_rhos']:
    # calculate and store the per-variable rho values
    print "creating rho settings files (takes several minutes)..."
    import ReferenceModel
    inputs_dirs = set()
    inputs_dirs.add(args["inputs_dir"])
    for a in alt_args:
        inputs_dirs.add(a["inputs_dir"])
    for inputs_dir in inputs_dirs:
        ReferenceModel.inputs_dir = inputs_dir
        ReferenceModel.create_model()
        ReferenceModel.load_inputs()
        ReferenceModel.save_rho_file()
else:
コード例 #4
0
import sys, os
path_to_core = os.path.abspath(os.path.join(os.path.dirname(__file__), 'switch-hawaii-core'))
sys.path.append(path_to_core)

import scenario_data

###########################
# Scenario Definition

# particular settings chosen for this case
# (these will be passed as arguments when the queries are run)
scenario_data.write_tables(
    load_scen_id = "med",        # "hist"=pseudo-historical, "med"="Moved by Passion"
    fuel_scen_id = 3,            # 1=low, 2=high, 3=reference
    time_sample = "rps_test",       # could be '2007', '2016test', 'rps_test' or 'main'
    load_zones = ('Oahu',),       # subset of load zones to model
    enable_must_run = 0,     # should the must_run flag be converted to set minimum commitment for existing plants?
    # TODO: integrate the connect length into switch financial calculations,
    # rather than assigning a cost per MW-km here.
    connect_cost_per_mw_km = 1000000,
    base_financial_year = 2015,
    interest_rate = 0.06,
    discount_rate = 0.03
)