Example #1
0
metric_dict = {}
all_dict = {}

front_commods = ['sourceout', 'enrichmentout', 'frmixerout', 'moxmixerout']

add = '-buffer0'
# add = sys.argv[1]
name = 'eg01-eg29-flatpower-d3ploy' + add

for calc_method in calc_methods:
    output_file = name + '-' + calc_method + '.sqlite'

    all_dict['power'] = tester.supply_demand_dict_driving(
        output_file, demand_eq, 'power')

    metric_dict = tester.metrics(all_dict['power'], metric_dict, calc_method,
                                 'power', True)

    for commod in front_commods:
        all_dict[commod] = tester.supply_demand_dict_nondriving(
            output_file, commod, True)
        metric_dict = tester.metrics(all_dict[commod], metric_dict,
                                     calc_method, commod, True)

    commod = 'lwrpu'
    all_dict[commod] = tester.supply_demand_dict_nond3ploy(output_file, commod)
    metric_dict = tester.metrics(all_dict[commod], metric_dict, calc_method,
                                 commod, True)

    commod = 'frpu'
    all_dict[commod] = tester.supply_demand_dict_nond3ploy(output_file, commod)
    metric_dict = tester.metrics(all_dict[commod], metric_dict, calc_method,
                                 True, True, False, 1)

front_commods = ['sourceout', 'enrichmentout']
back_commods = [
    'lwrstorageout', 'frstorageout', 'lwrout', 'frout', 'lwrreprocessingwaste',
    'frreprocessingwaste', 'frtru', 'lwrtru'
]

for commod in front_commods:
    all_dict[commod] = tester.supply_demand_dict_nondriving(
        output_file, commod, True)
    name = 'B2000-' + commod
    plotter.plot_demand_supply_agent(all_dict[commod],
                                     agent_entry_dict[commod], commod, name,
                                     True, True, False, 1)
    metric_dict = tester.metrics(all_dict[commod], metric_dict, calc_method,
                                 commod, True)

for commod in back_commods:
    all_dict[commod] = tester.supply_demand_dict_nondriving(
        output_file, commod, False)

    name = 'B2000-' + commod
    plotter.plot_demand_supply_agent(all_dict[commod],
                                     agent_entry_dict[commod], commod, name,
                                     False, True, False, 1)
    metric_dict = tester.metrics(all_dict[commod], metric_dict, calc_method,
                                 commod, False)

df = pd.DataFrame(metric_dict)
df.to_csv('B2000-' + calc_method + '.csv')
    name = 'scenario_1_input_' + calc_method
    input_file = name + '.json'
    output_file = name + '.sqlite'
    with open(input_file, 'w') as f:
        json.dump(scenario_1_input[calc_method], f)
    s = subprocess.check_output(['cyclus', '-o', output_file, input_file],
                                universal_newlines=True, env=ENV)

    # Initialize dicts  
    all_dict_fuel = {} 
     
    all_dict_fuel = tester.supply_demand_dict_driving(output_file, demand_eq, 'fuel')
    plotter.plot_demand_supply(
        all_dict_fuel, 'fuel', name,True)
    
    metric_dict = tester.metrics(all_dict_fuel,metric_dict,calc_method,'fuel',True)

    df = pd.DataFrame(metric_dict)
    df.to_csv('scenario_1_output.csv')

##########################################################################################

######################################SCENARIO 2##########################################
# scenario 2, source -> reactor (cycle time = 1, refuel time = 0) -> sink
scenario_2_input = {}
demand_eq = "1000*t"

for calc_method in calc_methods:
    scenario_2_input[calc_method] = copy.deepcopy(scenario_template)
    scenario_2_input[calc_method]["simulation"].update({"facility": [{
                "config": {"Source": {"outcommod": "fuel",
    True,
    False,
    False)
plotter.plot_demand_supply_agent(
    all_dict_spent_fuel,
    agent_entry_dict["spent_fuel"],
    "spent_fuel",
    name + " Spent Fuel",
    False,
    False,
    False,
)

metric_dict = tester.metrics(
    all_dict_power,
    metric_dict,
    calc_method,
    "power",
    True)
metric_dict = tester.metrics(
    all_dict_fuel,
    metric_dict,
    calc_method,
    "fuel",
    True)
metric_dict = tester.metrics(
    all_dict_spent_fuel, metric_dict, calc_method, "spent_fuel", False
)

df = pd.DataFrame(metric_dict)
df.to_csv("scenario.csv")
    all_dict_power = tester.supply_demand_dict_driving(
        output_file, demand_eq, 'power')
    all_dict_fuel = tester.supply_demand_dict_nondriving(
        output_file, 'fuel',True)
    all_dict_spentfuel = tester.supply_demand_dict_nondriving(
        output_file, 'spentfuel',False)
    
    # plots demand, supply, calculated demand, calculated supply for the scenario for each calc method
    plotter.plot_demand_supply(all_dict_power, 'power', name, True)
    name2 = "scenario_5_input_"+ calc_method +"_fuel"
    plotter.plot_demand_supply(all_dict_fuel, 'fuel', name2, True)
    name3 = "scenario_5_input_"+ calc_method +"_spentfuel"
    plotter.plot_demand_supply(all_dict_spentfuel, 'spentfuel', name3, False)
    
    metric_dict = tester.metrics(all_dict_power,metric_dict,calc_method,'power',True)
    metric_dict = tester.metrics(all_dict_fuel,metric_dict,calc_method,'fuel',True)
    metric_dict = tester.metrics(all_dict_spentfuel,metric_dict,calc_method,'spentfuel',False)
        
    df = pd.DataFrame(metric_dict)
    df.to_csv('scenario_5_output.csv')


######################################SCENARIO 6##########################################
# scenario 6, source -> reactor (cycle time = 1, refuel time = 0) -> storage -> sink
scenario_6_input = {}
demand_eq = "1000*t"

for calc_method in calc_methods:
    scenario_6_input[calc_method] = copy.deepcopy(scenario_template)
    scenario_6_input[calc_method]["simulation"].update({"facility": [
Example #6
0
        False,
        False,
        False)
    name5 = "scenario_7_input_" + calc_method + "_reactor2output"
    plotter.plot_demand_supply_agent(
        all_dict['reactor2output'],
        agent_entry_dict['reactor1output'],
        'reactor2output',
        name5,
        False,
        False,
        False)

    metric_dict = tester.metrics(
        all_dict['power'],
        metric_dict,
        calc_method,
        'power',
        True)
    metric_dict = tester.metrics(
        all_dict['sourceoutput'],
        metric_dict,
        calc_method,
        'sourceoutput',
        True)
    metric_dict = tester.metrics(
        all_dict['reactor1output'],
        metric_dict,
        calc_method,
        'reactor1output',
        False)
    metric_dict = tester.metrics(
                                env=ENV)
    # Initialize dicts
    all_dict = {}
    agent_entry_dict = {}
    all_dict['power'] = tester.supply_demand_dict_driving(
        output_file, demand_eq, 'power')
    all_dict['sourceoutput'] = tester.supply_demand_dict_nondriving(
        output_file, 'sourceoutput', True)

    agent_entry_dict['power'] = tester.get_agent_dict(output_file,
                                                      ['reactor1', 'reactor2'])
    agent_entry_dict['sourceoutput'] = tester.get_agent_dict(
        output_file, ['source'])

    # plots demand, supply, calculated demand, calculated supply for the scenario for each calc method
    plotter.plot_demand_supply_agent(all_dict['power'],
                                     agent_entry_dict['power'], 'power', name,
                                     True)
    name2 = "scenario_7_input_" + calc_method + "_sourceoutput"
    plotter.plot_demand_supply_agent(all_dict['sourceoutput'],
                                     agent_entry_dict['sourceoutput'],
                                     'sourceoutput', name2, True)

    metric_dict = tester.metrics(all_dict['power'], metric_dict, calc_method,
                                 'power', True)
    metric_dict = tester.metrics(all_dict['sourceoutput'], metric_dict,
                                 calc_method, 'sourceoutput', True)

    df = pd.DataFrame(metric_dict)
    df.to_csv('scenario_7_output.csv')