-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinput_data.py
More file actions
108 lines (89 loc) · 4.36 KB
/
input_data.py
File metadata and controls
108 lines (89 loc) · 4.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# -*- coding: utf-8 -*-
"""
Created on Sun Feb 10 13:41:25 2019
@author: llavi
"""
from __future__ import division
import os
import glob
from os.path import join
import pandas as pd
import numpy as np
import math
import time
from pyomo.environ import *
from pyomo.opt import SolverFactory
import model_script
start_time = time.time()
cwd = os.getcwd()
def scenario_inputs(inputs_directory):
data = DataPortal()
# data.load(filename=os.path.join(inputs_directory, "timepoints.csv"),
# index=model_script.dispatch_model.TIMEPOINTS,
# param=(model_script.dispatch_model.grossload,
# model_script.dispatch_model.windcap,
# model_script.dispatch_model.windcf,
# model_script.dispatch_model.solarcap,
# model_script.dispatch_model.solarcf)
# )
data.load(filename=os.path.join(inputs_directory, "PJM_generators.csv"),
index=model_script.dispatch_model.GENERATORS,
param=(model_script.dispatch_model.fuelcost,
model_script.dispatch_model.pmin,
model_script.dispatch_model.startcost,
model_script.dispatch_model.canspin,
model_script.dispatch_model.minup,
model_script.dispatch_model.mindown)
)
data.load(filename=os.path.join(inputs_directory, "initialize_generators.csv"),
param=(model_script.dispatch_model.commitinit,
model_script.dispatch_model.upinit,
model_script.dispatch_model.downinit)
)
data.load(filename=os.path.join(inputs_directory, "PJM_generators_scheduled_outage.csv"),
param=(model_script.dispatch_model.scheduledavailable)
)
data.load(filename=os.path.join(inputs_directory, "PJM_generators_zone.csv"),
param=(model_script.dispatch_model.capacity,
model_script.dispatch_model.ramp,
model_script.dispatch_model.rampstartuplimit,
model_script.dispatch_model.rampshutdownlimit)
)
#this is effectively defunct and used only for loading the index
data.load(filename=os.path.join(inputs_directory, "operating_reserve_segments.csv"),
index=model_script.dispatch_model.SEGMENTS,
param=(model_script.dispatch_model.segmentMW,
model_script.dispatch_model.segmentprice)
)
data.load(filename=os.path.join(inputs_directory, "timepoints_index.csv"),
index=model_script.dispatch_model.TIMEPOINTS,
param=(model_script.dispatch_model.temperature)
)
data.load(filename=os.path.join(inputs_directory, "full_ordc.csv"),
param=(model_script.dispatch_model.MW,
model_script.dispatch_model.price)
)
data.load(filename=os.path.join(inputs_directory, "zones.csv"),
index=model_script.dispatch_model.ZONES,
param=(model_script.dispatch_model.windcap,
model_script.dispatch_model.solarcap)
)
data.load(filename=os.path.join(inputs_directory, "timepoints_zonal.csv"),
param=(model_script.dispatch_model.grossload,
model_script.dispatch_model.windcf,
model_script.dispatch_model.solarcf)
)
data.load(filename=os.path.join(inputs_directory, "transmission_lines.csv"),
index=model_script.dispatch_model.TRANSMISSION_LINE,
param=(model_script.dispatch_model.old)
)
data.load(filename=os.path.join(inputs_directory, "transmission_lines_hourly.csv"),
param=(model_script.dispatch_model.transmission_from,
model_script.dispatch_model.transmission_to,
model_script.dispatch_model.transmission_from_capacity,
model_script.dispatch_model.transmission_to_capacity,
model_script.dispatch_model.line_losses_frac)
)
return data
end_time = time.time() - start_time
print ("time elapsed during run is " + str(end_time) + " seconds")