Skip to content
Snippets Groups Projects
Commit c0083468 authored by Taeyoung Kim's avatar Taeyoung Kim
Browse files

changing the way to creat loads/gen so that only exisitng loads are shown

parent 7c7bfce7
Branches
No related tags found
No related merge requests found
......@@ -76,6 +76,6 @@ INFO:cimpy.cimimport:CIM object Line created : 11 times
INFO:cimpy.cimimport:CIM object SubGeographicalRegion created : 2 times
INFO:cimpy.cimimport:CIM object BusbarSection created : 13 times
INFO:cimpy.cimimport:CIM object TopologicalIsland created : 2 times
INFO:cimpy.cimimport:Created totally 275 CIM objects in 0.023450851440429688s
INFO:cimpy.cimimport:Created totally 275 CIM objects in 0.023180484771728516s
......@@ -124,9 +124,11 @@ class CIMtoDataFrame(Exporter):
this file create Loads dataframe from read CIM file.
For now, it skips whole index when it is not PQ bus, which means, when there is no PQ bus at index 3, dataframe[3] is not exist.
"""
df = pd.DataFrame(columns = ["idx", "bus_index", "power", "power_pu", "power_real","power_imag", "power_pu_real","power_pu_imag"])
for k,node in enumerate(self.node):
if node.type.value == 3: #We only look PQ bus
load_rows=[]
load_idx=0
for node in self.node:
if node.type.value == 3:
baseVoltage = node.baseVoltage#
base_apparent_power = node.base_apparent_power#
base_current = node.base_current#
......@@ -145,14 +147,23 @@ class CIMtoDataFrame(Exporter):
power_pu_real = power_pu.real
power_pu_imag = power_pu.imag
row = {
"idx": load_idx,
"bus_idx": node.index,
"power": power,
"power_pu": power_pu,
"power_real": power.real,
"power_imag": power.imag,
"power_pu_real": power_pu.real,
"power_pu_imag": power_pu.imag
}
load_rows.append(row)
load_idx += 1
load_index = int(k.real)
df.loc[k] = [
int(load_index), int(index), power, power_pu, power_real, power_imag, power_pu_real, power_pu_imag
]
df = pd.DataFrame(load_rows, columns = ["idx", "bus_idx", "power", "power_pu", "power_real","power_imag", "power_pu_real","power_pu_imag"])
#to make sure all the index is going to be integer
df["idx"] = self.makeInt(df["idx"])
df["bus_index"] = self.makeInt(df["bus_index"])
df["bus_idx"] = self.makeInt(df["bus_idx"])
df['power_real'] = self.makeReal(df['power_real'])
df['power_imag'] = self.makeReal(df['power_imag'])
df['power_pu_real'] = self.makeReal(df['power_pu_real'])
......@@ -166,9 +177,11 @@ class CIMtoDataFrame(Exporter):
this function create generation dataframe from read CIM file.
For now, it skips whole index when it is not PQ bus, which means, when there is no PQ bus at index 3, dataframe[3] is not exist.
"""
df = pd.DataFrame(columns = ["idx", "bus_index", "power", "power_pu", "power_real","power_imag", "power_pu_real","power_pu_imag"])
for k, node in enumerate(self.node):
if node.type.value == 2: #We only look PV bus
load_rows=[]
load_idx=0
for node in self.node:
if node.type.value == 2:
baseVoltage = node.baseVoltage#
base_apparent_power = node.base_apparent_power#
base_current = node.base_current#
......@@ -187,13 +200,23 @@ class CIMtoDataFrame(Exporter):
power_pu_real = power_pu.real
power_pu_imag = power_pu.imag
row = {
"idx": load_idx,
"bus_idx": node.index,
"power": power,
"power_pu": power_pu,
"power_real": power.real,
"power_imag": power.imag,
"power_pu_real": power_pu.real,
"power_pu_imag": power_pu.imag
}
load_rows.append(row)
load_idx += 1
load_index = k #actually gen
df.loc[k] = [
int(load_index), int(index), power, power_pu, power_real, power_imag, power_pu_real, power_pu_imag
]
df = pd.DataFrame(load_rows, columns = ["idx", "bus_idx", "power", "power_pu", "power_real","power_imag", "power_pu_real","power_pu_imag"])
#to make sure all the index is going to be integer
df["idx"] = self.makeInt(df["idx"])
df["bus_index"] = self.makeInt(df["bus_index"])
df["bus_idx"] = self.makeInt(df["bus_idx"])
df['power_real'] = self.makeReal(df['power_real'])
df['power_imag'] = self.makeReal(df['power_imag'])
df['power_pu_real'] = self.makeReal(df['power_pu_real'])
......@@ -303,6 +326,8 @@ class DataFrameToJson(Exporter):
#ToDo: finish this function. But seems like we need to find a way.
# @activePowerkW, there will be rows that loads doesn't exist, so manybe we have to reset the index of loads, or put zero.
# or find a way to indexinsg bus_index of loads and use row.idx of for loop to connecting value.
#update --> load/gen now have load/gen index and connected bus index.
def feedDataToTemplate(self, template):
data = self.dict
......@@ -323,12 +348,12 @@ class DataFrameToJson(Exporter):
entry = {
"index": row.idx,
"type": row.type,
"name": row['name'], # Using the CSV "name" field
"name": row['name'],
"activePowerkW": 0.0, # Default value
"reactivePowerkVAR": 0.0, # Default value
"capacityPu": 0.0, # Default value
"voltageArea": 1, # Example default; adjust if necessary
"voltageModulePu": parse_complex(row['voltage_pu']),
"voltageModulePu": (row['voltage_pu']),
"voltagePhasePu": 0.0, # Default value
"nominalVoltagekV": float(row['base_voltage']),
"powerLine": 0, # Default value (adjust if needed)
......
......@@ -76,6 +76,6 @@ INFO:cimpy.cimimport:CIM object Line created : 11 times
INFO:cimpy.cimimport:CIM object SubGeographicalRegion created : 2 times
INFO:cimpy.cimimport:CIM object BusbarSection created : 13 times
INFO:cimpy.cimimport:CIM object TopologicalIsland created : 2 times
INFO:cimpy.cimimport:Created totally 275 CIM objects in 0.03974318504333496s
INFO:cimpy.cimimport:Created totally 275 CIM objects in 0.04271221160888672s
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment