-
Notifications
You must be signed in to change notification settings - Fork 7
/
studycase_info.txt
185 lines (145 loc) · 17.8 KB
/
studycase_info.txt
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
Info on studycase input file creation. If you want to use this file as a json, copy-paste and delete the comments.
Each location (es. "Example") has a list of technologies and each technology has its parameters that will be explained below.
Technologies are used to solve energy balances one at a time following the order dictated by the parameter "priority".
{
"Example": { "electricity demand" : { "series" : "load_test.csv", # str name of the serie in input/loads from which the demand have to be read
"priority": 1}, # The order in which the technology is interrogated at each timestep
# every energy carrier has the same parameter in "demand", except for hydrogen
# demand units:
# 'electricity', 'heating water', 'cooling water', 'process heat', 'process hot water', process cold water', 'process chilled water' [kW]
# 'hydrogen', 'HP hydrogen', 'LP hydrogen', 'oxygen', 'process steam' [kg/s]
# 'gas' [Sm3/s]
# 'water' [m3/s]
"hydrogen demand" : { "series" : "load_test.csv", # str name of the serie in input/loads from which the demand have to be read
"strategy" : "demand-led", # str 'demand-led' or 'supply-led':
# 'demand-led': hydrogen is produced based on actual user consumption and hydrogen-chain components interactions.
# 'supply-led': hydrogen is produced regardless of demand, maximising production potential and delivering hydrogen at a constant rate. Storage is # retrospectively sized, and demand csv file must still be provided but doesn't influence energy balances.
"priority" : 2},
"electricity grid" : { "draw" : true, # bool, true if the carrier can be withdrawn from the grid
"feed" : true, # bool, true if the carrier can be fed into the grid
"priority" : 17, # grid input must be provided for every energy carrier
"PV" : { "peakP" : 10, # float, peak DC power [kWp]
"tilt" : 30, # float, surface tilt angle [deg]
"azimuth" : 0, # float, azimuth angle [deg]
"optimal angles" : true, # bool, calculate the optimum tilt and azimuth angles,if true 'tilt' and 'azimuth' are ignored
"losses" : 10, # float, PV system losses in percentage [%]
"tracking type" : 0, # int from 0 to 5, PV system tracking type (0 is fixed). Check https://pvlib-python.readthedocs.io/en/v0.9.0/generated/pvlib.iotools.get_pvgis_hourly.html for more info
"serie" : "TMY", # if "TMY" --> production series of typical meteorological year is used (from pvgis)
# if INT [2005-2016] --> a serie of the specified year is used (from pvgis)
# if "filename.csv" --> a production serie uploaded by the user in input/production is used (must be hourly time series of 8760 production values in # Wh). In this case the other parameters are ignored
"ageing" : true, # bool, ageing considered or not
"degradation factor" : 1, # float, annual loss of performance [%] if ageing = true
"owned" : true, # bool, take into account if the plant is owned or only the electricity purchase is considered
"priority" : 3},
"wind" : { "model" : "power curve", # str, type of model to be used for wind
# "power curve" --> wind speed data retrieved from PVGIS. "WScutin", "WScutout" and "WSrated"must be provided.
# "betz" --> model based on Betz theory. "WScutin", "WScutout", "WSrated", "area" and "efficiency" must be provided.
# "detailed" --> more detailed model based on Saint-Drenan, Yves-Marie et al. "A parametric model for wind turbine power curves incorporating # environmental conditions." Renewable Energy 157 (2020): 754-768. "WScutin", "WScutout", "WSrated", "area", "cp_max", "beta", "idx", "z_i", "z_hub", # "alpha", "Vu", "Nbands". Parameters "omega_min" and "omega_max" are optional.
"Npower" : 1000, # float, rated power [kW]. NOTE: Useless for "betz" and "detailed".
"area" : 39.6, # float, swept area [m2]. e.g. 39.6 m2 Aircon 10/10 kW. Used in "betz" and "detailed" models.
"efficiency" : 0.45, # float, total efficiency [-] = Betz*efficiency. Default = 0.45 (ca. 0.593*0.76, Betz*efficiency). Used in "betz" and "detailed" models.
"WSrated" : 11.0, # float, rated wind speed [m/s] e.g. 11.0 m/s Aircon 10/10 kW. Used in all models.
"WScutin" : 2.5, # float, cut in wind speed [m/s] e.g. 2.5 m/s Aircon 10/10 kW. Used in all models.
"WScutoff" : 32.0, # float, cut off wind speed [m/s] e.g. 32.0 m/s Aircon 10/10 kW. Used all models.
"beta" : 0, # float, blade angle [deg], default 0. Used in "detailed" model.
"cp_max" : 0.44, # float, optional maximum value of power coefficient [-]. If not specified is equal to 0.44. Used in "detailed" model.
"idx" : 5, # int, values from 0 to 5. Which parametrization of the power coefficient is chosen. See techs/wind for more details. Used in "detailed" model.
"z_i" : 40, # float, wind turbine height [m]. Used in "detailed" model.
"z_hub" : 30, # float, wind turbine hub height [m]. Used in "detailed" model.
"alpha" : 0.14, # float, Exponent law coefficient [-]. Values from 0 to 0.4. See techs/wind for more details. Used in "detailed" model.
"Vu" : 0.4, # float, Veer coefficient [deg/m]. Values from 0 to 0.75. See techs/wind for more details. Used in "detailed" model.
"Nbands" : 3, # int, number of horizontal bands [-]. See techs/wind for more details. Used in detailed model.
"ageing" : true, # bool, ageing considered or not
"degradation factor" : 1, # float, annual loss of performance [%] if ageing = true
"owned" : true, # bool, take into account if the plant is owned or only the electricity purchase is considered
"priority" : 4},
"inverter" : { "max efficiency" : 0.92, # float, inverter max efficiency (0-1) [-]
"peakP" : 2, # float, peak power of a single inverter [kWp]
"number" : 5, # int, number of inverters used [-]
"priority" : 5},
"battery" : { "nominal capacity" : 10, # float, battery nominal capacity [kWh]
"max charging power" : 10, # float, maximum input power [kW]
"max discharging power" : 10, # float, maximum output power [kW]
"charging efficiency" : 0.8, # float, efficiency of charging process [-]
"discharging efficiency" : 0.8, # float, efficiency of discharging process [-]
"depth of discharge" : 0.1, # float, minimum SOC [-]
"self discharge rate" : 0.0069, # float, hourly self discharge rate [-]
"ageing" : true, # bool, true if ageing has to be considered
"life cycles" : 1000, # int, number of life cycles to reach the end of battery life [-]
"end life capacity" : 50, # float, maximum capacity left at end of life [%]
"collective" : 0, # int, 0 or 1. 0 if no collective rules, 1 if priority to csc and then charge or discharge the battery
"priority" : 6},
"electrolyzer" : { "Npower" : 20, # float, nominal power of single electrolyzer module [kW]. If "simple" model it corresponds to total electrolyzer power
"number of modules" : 3, # int, number of modules in the stack [-]. Only for "Alkaline" and "PEM General"
"stack model" : "PEM General", # str, electrolyzer model. Either "simple", "Alkaline", or "PEM General" are available
"efficiency" : 0.7, # float, 0-1 efficiency of the electrolyzer. To be used only with "simple" model
"strategy" : "hydrogen-first", # str, strategy of use. "hydrogen-first" --> hydrogen production has priority on electricity generation. Electrolyzer works to cover hydrogen demand.
# "full-time" --> operational 24/7, grid connection must be present and hydrogen demand strategy "supply-led".
"only_renewables" : false, # bool, indicates if electrolyzer can only work with RES electricity or also with electricity from grid
"minimum_load" : 0.2, # float, 0-1 minimum operational load while functioning [-]
"min power module" : 0.1, # float, 0-1 minimum power input for the single module [-]
"power distribution" : "parallel", # str, "series" or "parallel" power distribution between the modules [-]
"operational_period" : "01-01,31-12", # str, start and end date for electrolyzer operational period
"state" : "on", # str, "on" or "off", state of the electrolyzer in the operational period
"ageing" : true, # bool, true if ageing has to be considered
"priority" : 7},
"fuel_cell" : { "Npower" : 20, # float, nominal power of single fuel cell module [kW]
"number of modules" : 3, # int, number of modules in the stack [-]
"stack model" : "PEM General", # str, fuel cell model. Either "FCS-C5000", "SOFC" and "PEM General" are available
"electric efficiency" : 0.45, # float, 0-1 electric efficiency of the fuel cell. To be used only with "simple" model
"thermal efficiency" : 0.35, # float, 0-1 thermal efficiency of the fuel cell. To be used only with "simple" model
"operational_period" : "01-01,31-12", # str, start and end date for electrolyzer operational period
"state" : "on", # str, "on" or "off", state of the electrolyzer in the operational period
"minimum_load" : 0.2, # float, 0-1 minimum operational load while functioning [-]
"ageing" : true, # bool, true if ageing has to be considered
"priority" : 8},
"mechanical compressor": { "compressor model" : "simple compressor", # "simple_compressor" --> specific consumption calculation based on interpolation on a given dataset. Only with hydrogen.
# "normal_compressor" --> single-stage compressor without refrigeration - detailed thermodynamic calculation
# "compressor_with_refrigeration" --> single-stage compressor with refrigeration - detailed thermodynamic calculation
# "compressor_without_refrigeration"--> multi-stage compressor with refrigeration - detailed thermodynamic calculation
"fluid" : "Hydrogen", # str, type of selected fluid ("Hydrogen" or "Air").
"P_out" : 150, # float, max pressure [bar]
"P_in" : 1.01325, # float, inlet pressure [bar]
"T_in" : 303.15, # float, inlet temperature [K]
"Npower" : 50, # float, nominal power [kW]. To be provided if "flow_rate" is not provided.
"flow_rate" : 0.1, # float, mass flow rate [kg/s]. To be provided if "Npower" is not provided
"pressure losses IC" : 1, # pressure losses in heat exchangers [%]
"T_IC" : 303.15, # temperature of intercooler [K]
"n_stages" : 3, # number of compression stages
"only_renewables" : false, # bool, indicates if compressor can only work with RES electricity or also with electricity from grid
"priority" : 9},
"mhhc_compressor" : { "compressor number" : 30, # int, number of compressors working at the same time
"compressor model" : "Ti-V-Zr", # str, metal hydride compressor model
"priority" : 10},
"H tank" : { "max capacity" : 100, # float, max hydrogen capacity [kg] or bool "false" if strategy is "supply-led"
"pressure" : 150, # float, storage pressure [bar]
"priority" : 11}, # SAME PARAMETERS for O2_tank
"heatpump" : { "type" : 1, # int, type of heatpump. 1 == air-water (other types not yet implemented)
"nom Pth" : 30, # float, power [kW] at nominal condition T_amb = 5°C, T_out = 35°C, rpm = 6000
"t rad heat" : 45, # float, temperature radiant system in heating mode [°C]
"t rad cool" : 12, # float, temperature radiant system in cooling mode [°C]
"inertial TES volume" : 100, # float, volume of thermal energy storage [lt]
"inertial TES dispersion": 50, # float, dispersion of thermal energy storage [J/kgK]
"REC surplus" : true, # bool, allow use of REC PV surplus to charge inertial_TES
"priority" : 12},
"boiler_el" : { "Ppeak" : 30, # float, peak thermal power [kWp]
"efficiency" : 0.92, # float, boiler efficiency [-]. Values between 0 and 1.
"priority" : 13}, # SAME PARAMETERS for boiler_ng and boiler_h2
"chp" : { "Fuel" : "gas", # str, type of fuel fed to the chp. "gas" or "hydrogen"
"Strategy" : "process steam" # str, parameter on which the operatioon of the system is based ("process steam/heat/hot water" or "electricity" -> thermal or electric load follow)
"Co-product" : "electricity" # str, co-product energy stream
"Thermal Output" : "process steam" # str, type of stream into which heat from combustion is converted/transferred. "process steam" or "process hot water"
"Control Param" : { "Lower" : {"1": {"Method" : "Load", # "electricity", "process heat", "Load", "TIT", "Tstack"
"Limit" : 0.2}, # [kW], [kW], [-], [K], [K]
},
"Upper" : {"1": {"Method" : "Load", # "electricity", "process heat", "Load", "TIT", "Tstack"
"Limit" : 0.8} # [kW], [kW], [-], [K], [K]
}}, # control parameters to define operational boundaries of the system
"priority" : 14},
"chp_gt" : { "Technology" : "Gas Turbine", #
"Fuel" : "Hydrogen", # specific case of gas turbine hydrogen cogeneration plant. Only available options.
"priority" : 15},
"SMR" : { "Ppeak" : 100, # float, peak hydrogen output thermal power [kWp]
"efficiency" : 0.8, # float, overall Steam Methane Reformer plant efficiency [-]
"priority" : 16}
}