fix the output format
This commit is contained in:
@@ -11,6 +11,7 @@ class EnergySystem:
|
||||
self.hour_stored = []
|
||||
self.hour_stored_2 = []
|
||||
self.afford = True
|
||||
self.cost = self.ess.get_cost() + self.pv.get_cost()
|
||||
self.overload_cnt = 0
|
||||
self.spring_week_gen = []
|
||||
self.summer_week_gen = []
|
||||
@@ -22,9 +23,12 @@ class EnergySystem:
|
||||
self.winter_week_soc = []
|
||||
self.granularity = 4
|
||||
self.season_step = self.granularity * 24 * 7 * 12
|
||||
self.season_start= self.granularity * 24 * 7 * 6
|
||||
self.season_start= self.granularity * 24 * 7 * 2
|
||||
self.week_length = self.granularity * 24 * 7
|
||||
self.unmet = []
|
||||
|
||||
def get_cost(self):
|
||||
return self.ess.get_cost()+self.pv.get_cost()
|
||||
|
||||
# 优先使用PV供电给工厂 - 如果PV输出能满足工厂的需求,则直接供电,多余的电能用来给ESS充电。
|
||||
# PV不足时使用ESS补充 - 如果PV输出不足以满足工厂需求,首先从ESS获取所需电量。
|
||||
@@ -89,9 +93,11 @@ class EnergySystem:
|
||||
self.afford = False
|
||||
self.overload_cnt+=1
|
||||
log = f"index: {index}, time: {time}, SoC:{self.ess.storage / self.ess.capacity}%, storage: {self.ess.storage}, pv_gen:{generated_pv_power}, power_demand: {factory_demand}, overload_cnt:{self.overload_cnt}, day:{int(index/96) + 1}"
|
||||
self.unmet.append((index,time,factory_demand,generated_pv_power))
|
||||
# with open(f'plots/summary/ess-{self.ess.capacity}-pv-{self.pv.capacity}', 'a') as f:
|
||||
# f.write(log)
|
||||
# print(log)
|
||||
print(log)
|
||||
# self.unmet.append(log)
|
||||
saved_energy = generated_pv_energy + self.ess.storage * self.ess.loss
|
||||
self.ess.storage = 0
|
||||
needed_from_grid = factory_demand * time_interval - saved_energy
|
||||
@@ -106,30 +112,28 @@ class EnergySystem:
|
||||
cost = net_grid * electricity_price
|
||||
# print(f"time:{time} benefit: {benefit}, cost: {cost}")
|
||||
total_benefit += benefit - cost
|
||||
# spring
|
||||
# # spring
|
||||
week_start = self.season_start
|
||||
week_end = self.week_length + week_start
|
||||
# print(index)
|
||||
# print(week_start, week_end)
|
||||
if index in range(week_start, week_end):
|
||||
self.spring_week_gen.append(generated_pv_power)
|
||||
self.spring_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
# summer
|
||||
week_start += self.season_step
|
||||
week_end += self.season_step
|
||||
if index in range(week_start, week_end):
|
||||
self.summer_week_gen.append(generated_pv_power)
|
||||
self.summer_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
# autumn
|
||||
week_start += self.season_step
|
||||
week_end += self.season_step
|
||||
if index in range(week_start, week_end):
|
||||
self.autumn_week_gen.append(generated_pv_power)
|
||||
self.autumn_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
week_start += self.season_step
|
||||
week_end += self.season_step
|
||||
if index in range(week_start, week_end):
|
||||
self.winter_week_gen.append(generated_pv_power)
|
||||
self.winter_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
# week_start += self.season_step
|
||||
# week_end += self.season_step
|
||||
# if index in range(week_start, week_end):
|
||||
# self.summer_week_gen.append(generated_pv_power)
|
||||
# self.summer_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
# # autumn
|
||||
# week_start += self.season_step
|
||||
# week_end += self.season_step
|
||||
# if index in range(week_start, week_end):
|
||||
# self.autumn_week_gen.append(generated_pv_power)
|
||||
# self.autumn_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
# week_start += self.season_step
|
||||
# week_end += self.season_step
|
||||
# if index in range(week_start, week_end):
|
||||
# self.winter_week_gen.append(generated_pv_power)
|
||||
# self.winter_week_soc.append(self.ess.storage / self.ess.capacity)
|
||||
|
||||
return total_benefit
|
||||
Reference in New Issue
Block a user