Esempio n. 1
0
File: evolve.py Progetto: bje-/NEMO
cost_class = costs.cost_switch(args.costs)
context.costs = cost_class(args.discount_rate, args.coal_price, args.gas_price, args.ccs_storage_costs)
context.costs.carbon = args.carbon_price
if args.coal_ccs_costs is not None:
    context.costs.capcost_per_kw[generators.Coal_CCS] = args.coal_ccs_costs


def txcost(x):
    """Transmission cost expression."""
    return 0 if x == 0 else 965 if x > 5000 else 16319 * pow(x, -0.332)

context.costs.transmission = transmission.Transmission(txcost, args.discount_rate)
context.track_exchanges = args.transmission

# Set up the scenario.
scenarios.supply_switch(args.supply_scenario)(context)
# Apply each demand modifier in the order given on the command line.
if args.demand_modifier is not None:
    for arg in args.demand_modifier:
        scenarios.demand_switch(arg)(context)

if args.verbose and __name__ == '__main__':
    docstring = scenarios.supply_switch(args.supply_scenario).__doc__
    assert docstring is not None
    # Prune off any doctest test from the docstring.
    docstring = docstring.split('\n')[0]
    print "supply scenario: %s (%s)" % (args.supply_scenario, docstring)
    print context.generators

if args.trace_file is not None:
    try:
Esempio n. 2
0
assert context.nsp_limit >= 0 and context.nsp_limit <= 1, \
    "NSP limit must be in the interval [0,1]"

# Apply each demand modifier in the order given on the command line.
if args.demand_modifier is not None:
    for arg in args.demand_modifier:
        scenarios.demand_switch(arg)(context)

capacities = []
replayfile = open(args.f)
for line in replayfile:
    if re.search(r'^\s*$', line):
        continue
    if re.search(r'^\s*#', line):
        print line,
        continue
    if not re.search(r'^\s*\w+:\s*\[.*\]\s*.?$', line):
        print 'skipping malformed input:', line
        continue
    m = re.match(r'^\s*(\w+):\s*\[(.*)\]\s*.?$', line)
    scenario = m.group(1)
    print 'scenario', scenario
    capacities = m.group(2).split(',')
    scenarios.supply_switch(scenario)(context)
    capacities = [float(elt) for elt in capacities]  # str -> float
    run_one(capacities)
    print

    if args.x:  # pragma: no cover
        nem.plot(context, spills=args.spills)