Exogeous prices market stepsΒΆ
[1]:
import os
from pyltmapi import LtmSession
from pathlib import Path
from generate_plots import display_dot_image
ltm_core_path = os.environ.get("LTM_CORE_PATH", str(Path("~").expanduser().joinpath("ltm/release/bin/")))
license_file = os.environ.get("LTM_CORE_LICENSE_FILE", str(Path("~").expanduser().joinpath("ltm/ltm-license.dat")))
with LtmSession(
"ikernel", overwrite_session=True
) as session:
session.load(filename="model1.json")
print(session.model.global_settings.model_type)
print(session.model.global_settings.simulation_type)
display_dot_image(session.build_connection_tree())
ModelType.EMPS
SimulationType.Parallel
[2]:
with LtmSession(
"ikernel", overwrite_session=True, ltm_core_path=ltm_core_path
) as session:
session.load(filename="model1.json")
session.model.global_settings.ltm_license_file_path = license_file
try:
discrepancies = session.validate_model()
if not discrepancies:
write_model = session.write_model()
last_rc, results = session.execute_model()
except RuntimeError as e:
print(e)
raise(e)
[3]:
with LtmSession(
"ikernel", overwrite_session=True, ltm_core_path=ltm_core_path
) as session:
session.load(filename="model2.json")
session.model.global_settings.ltm_license_file_path = license_file
try:
discrepancies = session.validate_model()
if not discrepancies:
write_model = session.write_model()
last_rc, results = session.execute_model()
numedal_enmd_path = (
f"{session.model.global_settings.output_path}/numedal.ENMD"
)
with open(numedal_enmd_path, "r", encoding="ISO-8859-1") as file:
for line_number, line in enumerate(file, start=1):
if 7 <= line_number <= 8 or 18 <= line_number <= 29:
print(f"{line_number}: {line.strip()}")
except RuntimeError as e:
print(e)
raise(e)
7: 17,T, * Datagruppe PRISREKKE
8: 'HOVEDPRISREKKE.CSV', * Navn paa prisrekkefil
18: 1, 52, * Start V.V., Slutt V.V.
19: 51, 40, 0.001000, * Ant. pkt mag. V.V.,Maks ant. int V.V., Pres. krav V.V.
20: T, 0, 0, 1, * Autom. gen. vekttall, Ant. tilsigsalt. ved vv. Beregn., Ant. sluttuker, Ant. tilsigtilstander ved vv. Beregn
21: 4,T, * Datagruppe PREFDA: Kjp/import, salg/eksport, varmekraft, rasjonering
22: 3, 12,'ms_exo_direct ',F, 0.000000, * Typenr, Kategori, Navn, Eget(T), Ekst.var.>>..003
23: 'ms_exo_direct', * Filnavn til prisrekke for annen usikkerhet
24: 0.000000, 1.000000, 0.000000, * Skaleringsfaktor hovedprisrekke, Skaleringsfaktor prisrekke for annen usikkerhet, Konstantledd
25: TAPP, * * Kode for referanse til tidsserier kapasitet v.v.beregninger
26: 4, 12,'ms_exo_ref ',F, 0.000000, * Typenr, Kategori, Navn, Eget(T), Ekst.var.>>..004
27: 'sps1', * Filnavn til prisrekke for annen usikkerhet
28: 0.200000, 0.500000, 1.200000, * Skaleringsfaktor hovedprisrekke, Skaleringsfaktor prisrekke for annen usikkerhet, Konstantledd
29: TAPP, * * Kode for referanse til tidsserier kapasitet v.v.beregninger