mirror of https://gitlab.com/pamhyr/pamhyr2
Pamhyr: Some fixe for db update to 0.1.1.
parent
770ecdfa99
commit
7274ff5e2d
|
|
@ -87,6 +87,7 @@ class BasicHS(SQLSubModel):
|
||||||
hs = data['id2pid']['hydraulic_structures']
|
hs = data['id2pid']['hydraulic_structures']
|
||||||
|
|
||||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||||
|
cls._db_update_to_0_1_0_set_hs_pid(execute, table, hs)
|
||||||
Scenario.update_db_add_scenario(execute, table)
|
Scenario.update_db_add_scenario(execute, table)
|
||||||
|
|
||||||
cls._db_create(execute, ext="_tmp")
|
cls._db_create(execute, ext="_tmp")
|
||||||
|
|
@ -101,8 +102,6 @@ class BasicHS(SQLSubModel):
|
||||||
execute(f"DROP TABLE {table}")
|
execute(f"DROP TABLE {table}")
|
||||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||||
|
|
||||||
cls._db_update_to_0_1_0_set_hs_pid(execute, table, hs)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update_to_0_1_0_set_hs_pid(cls, execute, table, hs):
|
def _db_update_to_0_1_0_set_hs_pid(cls, execute, table, hs):
|
||||||
els = execute(
|
els = execute(
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,7 @@ class BHSValue(SQLSubModel):
|
||||||
bhs = data['id2pid']['hydraulic_structures_basic']
|
bhs = data['id2pid']['hydraulic_structures_basic']
|
||||||
|
|
||||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||||
|
cls._db_update_to_0_1_0_set_bhs_pid(execute, table, bhs)
|
||||||
Scenario.update_db_add_scenario(execute, table)
|
Scenario.update_db_add_scenario(execute, table)
|
||||||
|
|
||||||
cls._db_create(execute, ext="_tmp")
|
cls._db_create(execute, ext="_tmp")
|
||||||
|
|
@ -85,8 +86,6 @@ class BHSValue(SQLSubModel):
|
||||||
execute(f"DROP TABLE {table}")
|
execute(f"DROP TABLE {table}")
|
||||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||||
|
|
||||||
cls._db_update_to_0_1_0_set_bhs_pid(execute, table, bhs)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update_to_0_1_0_set_bhs_pid(cls, execute, table, bhs):
|
def _db_update_to_0_1_0_set_bhs_pid(cls, execute, table, bhs):
|
||||||
els = execute(
|
els = execute(
|
||||||
|
|
|
||||||
|
|
@ -113,11 +113,12 @@ class HydraulicStructure(SQLSubModel):
|
||||||
table = "hydraulic_structures"
|
table = "hydraulic_structures"
|
||||||
reachs = data['id2pid']['river_reach']
|
reachs = data['id2pid']['river_reach']
|
||||||
|
|
||||||
|
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||||
|
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
||||||
cls._db_update_to_0_1_1(
|
cls._db_update_to_0_1_1(
|
||||||
execute, data,
|
execute, data,
|
||||||
origin_version="0.0.*"
|
origin_version="0.0.*"
|
||||||
)
|
)
|
||||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
|
||||||
Scenario.update_db_add_scenario(execute, table)
|
Scenario.update_db_add_scenario(execute, table)
|
||||||
|
|
||||||
cls._db_create(execute, ext="_tmp")
|
cls._db_create(execute, ext="_tmp")
|
||||||
|
|
@ -135,8 +136,6 @@ class HydraulicStructure(SQLSubModel):
|
||||||
execute(f"DROP TABLE {table}")
|
execute(f"DROP TABLE {table}")
|
||||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||||
|
|
||||||
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update_to_0_1_0_set_reach_pid(cls, execute, table, reachs):
|
def _db_update_to_0_1_0_set_reach_pid(cls, execute, table, reachs):
|
||||||
els = execute(
|
els = execute(
|
||||||
|
|
|
||||||
|
|
@ -100,11 +100,12 @@ class Data(SQLSubModel):
|
||||||
table = "initial_conditions"
|
table = "initial_conditions"
|
||||||
reachs = data['id2pid']['river_reach']
|
reachs = data['id2pid']['river_reach']
|
||||||
|
|
||||||
|
cls.update_db_add_pamhyr_id(execute, table, data)
|
||||||
|
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
||||||
cls._db_update_to_0_1_1(
|
cls._db_update_to_0_1_1(
|
||||||
execute, data,
|
execute, data,
|
||||||
origin_version="0.0.*"
|
origin_version="0.0.*"
|
||||||
)
|
)
|
||||||
cls.update_db_add_pamhyr_id(execute, table, data)
|
|
||||||
Scenario.update_db_add_scenario(execute, table)
|
Scenario.update_db_add_scenario(execute, table)
|
||||||
|
|
||||||
cls._db_create(execute, ext="_tmp")
|
cls._db_create(execute, ext="_tmp")
|
||||||
|
|
@ -121,8 +122,6 @@ class Data(SQLSubModel):
|
||||||
execute(f"DROP TABLE {table}")
|
execute(f"DROP TABLE {table}")
|
||||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||||
|
|
||||||
cls._db_update_to_0_1_0_set_reach_pid(execute, table, reachs)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update_to_0_1_1(cls, execute, data,
|
def _db_update_to_0_1_1(cls, execute, data,
|
||||||
origin_version="0.1.0"):
|
origin_version="0.1.0"):
|
||||||
|
|
@ -149,6 +148,7 @@ class Data(SQLSubModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
new = []
|
new = []
|
||||||
|
ok = True
|
||||||
|
|
||||||
for row in table:
|
for row in table:
|
||||||
it = iter(row)
|
it = iter(row)
|
||||||
|
|
@ -169,6 +169,14 @@ class Data(SQLSubModel):
|
||||||
None
|
None
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if section is None:
|
||||||
|
logger.debug(
|
||||||
|
f"Section ID {section_id} do not exist in reach " +
|
||||||
|
f"{reach.name} ({reach.pamhyr_id})"
|
||||||
|
)
|
||||||
|
ok = False
|
||||||
|
continue
|
||||||
|
|
||||||
d = cls(
|
d = cls(
|
||||||
id=pid,
|
id=pid,
|
||||||
reach=data["reach"],
|
reach=data["reach"],
|
||||||
|
|
@ -182,6 +190,12 @@ class Data(SQLSubModel):
|
||||||
|
|
||||||
new.append(d)
|
new.append(d)
|
||||||
|
|
||||||
|
if not ok:
|
||||||
|
logger.info(
|
||||||
|
"Please regenerate/defined the inital conditions " +
|
||||||
|
f"for reach {reach.name} ({reach.pamhyr_id})"
|
||||||
|
)
|
||||||
|
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class Data(SQLSubModel):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
|
|
||||||
if major == minor == "0":
|
if major == minor == "0":
|
||||||
if 5 < int(release):
|
if int(release) > 5:
|
||||||
cls._db_update_to_0_1_0(execute, data)
|
cls._db_update_to_0_1_0(execute, data)
|
||||||
|
|
||||||
return cls._update_submodel(execute, version, data)
|
return cls._update_submodel(execute, version, data)
|
||||||
|
|
@ -77,7 +77,7 @@ class Data(SQLSubModel):
|
||||||
|
|
||||||
cls._db_create(execute, ext="_tmp")
|
cls._db_create(execute, ext="_tmp")
|
||||||
execute(
|
execute(
|
||||||
f"INSERT INTO {table} " +
|
f"INSERT INTO {table}_tmp " +
|
||||||
"(pamhyr_id, ind, elevation, surface, reservoir, scenario) " +
|
"(pamhyr_id, ind, elevation, surface, reservoir, scenario) " +
|
||||||
"SELECT pamhyr_id, ind, elevation, surface, reservoir, scenario " +
|
"SELECT pamhyr_id, ind, elevation, surface, reservoir, scenario " +
|
||||||
f"FROM {table}"
|
f"FROM {table}"
|
||||||
|
|
@ -143,7 +143,7 @@ class Data(SQLSubModel):
|
||||||
ind = data["ind"]
|
ind = data["ind"]
|
||||||
elevation = self._db_format(str(self[0]))
|
elevation = self._db_format(str(self[0]))
|
||||||
surface = self._db_format(str(self[1]))
|
surface = self._db_format(str(self[1]))
|
||||||
bc = data["bc"]
|
reservoir = data["reservoir"]
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
|
|
@ -202,8 +202,8 @@ class Reservoir(SQLSubModel):
|
||||||
if int(release) < 5:
|
if int(release) < 5:
|
||||||
cls._db_create(execute)
|
cls._db_create(execute)
|
||||||
return True
|
return True
|
||||||
else:
|
|
||||||
cls._db_update_to_0_1_0(execute, data)
|
cls._db_update_to_0_1_0(execute, data)
|
||||||
|
|
||||||
return cls._update_submodel(execute, version, data)
|
return cls._update_submodel(execute, version, data)
|
||||||
|
|
||||||
|
|
@ -212,15 +212,15 @@ class Reservoir(SQLSubModel):
|
||||||
table = "reservoir"
|
table = "reservoir"
|
||||||
nodes = data['id2pid']['river_node']
|
nodes = data['id2pid']['river_node']
|
||||||
|
|
||||||
cls.update_db_add_pamhyr_id(
|
cls.update_db_add_pamhyr_id(execute, table, data=data)
|
||||||
execute, table,
|
cls._db_update_to_0_1_0_set_node_pid(execute, table, nodes)
|
||||||
data=data
|
|
||||||
)
|
|
||||||
Scenario.update_db_add_scenario(execute, table)
|
Scenario.update_db_add_scenario(execute, table)
|
||||||
|
|
||||||
|
print(execute(f"SELECT * FROM {table}"))
|
||||||
|
|
||||||
cls._db_create(execute, ext="_tmp")
|
cls._db_create(execute, ext="_tmp")
|
||||||
execute(
|
execute(
|
||||||
f"INSERT INTO {table} " +
|
f"INSERT INTO {table}_tmp " +
|
||||||
"(pamhyr_id, name, node, scenario) " +
|
"(pamhyr_id, name, node, scenario) " +
|
||||||
"SELECT pamhyr_id, name, node, scenario " +
|
"SELECT pamhyr_id, name, node, scenario " +
|
||||||
f"FROM {table}"
|
f"FROM {table}"
|
||||||
|
|
@ -229,8 +229,6 @@ class Reservoir(SQLSubModel):
|
||||||
execute(f"DROP TABLE {table}")
|
execute(f"DROP TABLE {table}")
|
||||||
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
execute(f"ALTER TABLE {table}_tmp RENAME TO {table}")
|
||||||
|
|
||||||
cls._db_update_to_0_1_0_set_node_pid(execute, table, nodes)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_load(cls, execute, data=None):
|
def _db_load(cls, execute, data=None):
|
||||||
new = []
|
new = []
|
||||||
|
|
@ -290,6 +288,8 @@ class Reservoir(SQLSubModel):
|
||||||
)
|
)
|
||||||
execute(sql)
|
execute(sql)
|
||||||
|
|
||||||
|
data["reservoir"] = self
|
||||||
|
|
||||||
ind = 0
|
ind = 0
|
||||||
for d in self._data:
|
for d in self._data:
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
|
|
@ -387,7 +387,7 @@ class Reservoir(SQLSubModel):
|
||||||
|
|
||||||
def sort(self, _reverse=False, key=None):
|
def sort(self, _reverse=False, key=None):
|
||||||
if key is None:
|
if key is None:
|
||||||
self._data.sort(reverse=_reverse)
|
self._data.sort(reverse=_reverse, key=lambda d: d[0])
|
||||||
else:
|
else:
|
||||||
self._data.sort(reverse=_reverse, key=key)
|
self._data.sort(reverse=_reverse, key=key)
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
|
|
|
||||||
|
|
@ -478,7 +478,10 @@ class Mage(CommandLineSolver):
|
||||||
IS = f"{id_sec}"
|
IS = f"{id_sec}"
|
||||||
discharge = f"{d['discharge']:>10.5f}"
|
discharge = f"{d['discharge']:>10.5f}"
|
||||||
elevation = f"{d['elevation']:>11.6f}"
|
elevation = f"{d['elevation']:>11.6f}"
|
||||||
rk = f"{d['rk']:>9.2f}"
|
section = d['rk']
|
||||||
|
if section is None:
|
||||||
|
continue
|
||||||
|
rk = f"{section.rk:>9.2f}"
|
||||||
|
|
||||||
f.write(f"{IR} {IS} {discharge} {elevation} {rk}\n")
|
f.write(f"{IR} {IS} {discharge} {elevation} {rk}\n")
|
||||||
id_sec += 1
|
id_sec += 1
|
||||||
|
|
|
||||||
|
|
@ -111,14 +111,18 @@ class InitialConditionTableModel(PamhyrTableModel):
|
||||||
row = index.row()
|
row = index.row()
|
||||||
column = index.column()
|
column = index.column()
|
||||||
|
|
||||||
if self._headers[column] is "rk":
|
if self._headers[column] == "rk":
|
||||||
v = self._lst.get(row)[self._headers[column]]
|
val = self._lst.get(row)
|
||||||
return v.display_name()
|
section = val[self._headers[column]]
|
||||||
elif self._headers[column] is "speed":
|
if section is None:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
return section.display_name()
|
||||||
|
elif self._headers[column] == "speed":
|
||||||
z = self._lst.get(row)["elevation"]
|
z = self._lst.get(row)["elevation"]
|
||||||
q = self._lst.get(row)["discharge"]
|
q = self._lst.get(row)["discharge"]
|
||||||
profile = self._lst.get(row)["rk"]
|
profile = self._lst.get(row)["rk"]
|
||||||
if len(profile) >= 1:
|
if profile is not None:
|
||||||
speed = profile.speed(q, z)
|
speed = profile.speed(q, z)
|
||||||
return f"{speed:.4f}"
|
return f"{speed:.4f}"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue