EOPS Example RunΒΆ

This example shows a basic EOPS series simulation.

It also contains two hydraulic couplings, one station joined and one non-station joined.

If licensed feature LTM_OPS_UTJAMNVASS is active, non-station joined coupling will also write additional results showing the hydraulic flow between the connected reservoirs.

[1]:
import os

from pyltmapi import LtmSession, LtmDot
from pathlib import Path

from generate_plots import generate_plots

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="eops.json")
    print(session.model.global_settings.model_type)
    print(session.model.global_settings.simulation_type)
    LtmDot.display_dot_image(session.build_connection_tree())
ModelType.EOPS
SimulationType.Parallel
../../../_images/ltm-api_guides_eops_eops-example-run_1_1.svg
[2]:
from IPython.display import HTML, display, display_markdown
import logging
from pyltmapi import LtmPlot

logging.basicConfig(level=logging.DEBUG)

import pyltm
import datetime

with LtmSession(
    "ikernel", ltm_core_path=ltm_core_path, overwrite_session=True
) as session:
    session.load(filename="eops.json")

    if False:
        hp = session.model.get("price_series_main", "HOVEDPRISREKKE.csv")
        session.model.remove(hp)

        mainprice = pyltm.MainPriceSeries()

        start_ts = pyltm.util.parse_timefmt("2024-W01")
        timestamps = []
        scenarios = []

        num_values = 104 * 7 * 24

        for n in range(0, num_values):
            timestamps.append(start_ts + datetime.timedelta(hours=n))
            pass

        for s in range(1, 11):
            sc = []

            for n in range(0, num_values):
                sc.append(s + n / 10000)

            scenarios.append(sc)

        txy = pyltm.Txy()

        txy.timestamps = timestamps
        txy.scenarios = scenarios

        mainprice.series = txy
        mainprice.name = "dynpris"

        session.model.add(mainprice)

    session.model.global_settings.ltm_license_file_path = license_file
    validation = session.validate_model()

    write_model = session.write_model()
    last_rc, results = session.execute_model()

    if last_rc != 0:
        err = results[0]["log_file_contents"]
        display_markdown(err)

    else:
        try:
            for a in session.model.areas():
                print(a)
                for hc in a.hydraulic_couplings():
                    print(hc)
                    print(f"hc.station_joined:              {hc.station_joined}")
                    print(
                        f"hc.have_hydraulic_flow_results: {hc.have_hydraulic_flow_results()}"
                    )

                    if hc.station_joined:
                        pass
                        LtmPlot.make_generic_plot(
                            hc.discharge(), f"Discharge '{hc.name}'"
                        )
                        LtmPlot.make_generic_plot(
                            hc.production(), f"Production '{hc.name}'"
                        )
                    else:
                        if hc.have_hydraulic_flow_results():
                            for rsv in hc.connected_reservoirs():
                                LtmPlot.make_generic_plot(
                                    rsv.flow(),
                                    f"Hydraulic flow '{hc.name}' - '{rsv.name}'",
                                )

                        else:
                            print(
                                f"{hc}: Does not have hydraulic exchange/flow results"
                            )

        except Exception as e:
            print(e)
            pass

        generate_plots(session)
DEBUG:LtmApiModule:(ikernel) Session created: "ikernel"
INFO:LtmApiModel:(ikernel) Not deleting output dir (/home/sintef/gitlab/pyltmapi/docs/ltm-api/guides/eops/testout_EOPS/2026-06-17-134500.304-EOPS-parallell), as delete_output_dir: false, and has_generated_output_dir: true
INFO:LtmApiModel:(ikernel) Loading model from file: eops.json
DEBUG:LtmApiModel:(ikernel) Loading model from JSON
DEBUG:LtmApiModel:(ikernel) Parsing model JSON
DEBUG:LtmApiModel:(ikernel) LtmApiModel::maybe_generate_output_dir: has_generated_output_dir false, generate_output_dir true
INFO:LtmApiModel:(ikernel) LtmApiModel::maybe_generate_output_dir: output_path: /home/sintef/gitlab/pyltmapi/docs/ltm-api/guides/eops/testout_EOPS/2026-06-17-134500.327-EOPS-parallell
DEBUG:Validator:(ikernel) Performing model validation
INFO:Validator:(ikernel) Model validation succeeded
DEBUG:LtmApiModel:(ikernel) LtmApiModel::maybe_generate_output_dir: has_generated_output_dir true, generate_output_dir true
INFO:LtmApiModel:(ikernel) Using license file '/home/sintef/ltm/ltm-license.dat'
DEBUG:Validator:(ikernel) Performing model validation
INFO:Validator:(ikernel) Model validation succeeded
INFO:LtmApiModel:(ikernel) Writing model to path /home/sintef/gitlab/pyltmapi/docs/ltm-api/guides/eops/testout_EOPS/2026-06-17-134500.327-EOPS-parallell
DEBUG:LtmApiModel:(ikernel) Creating directory: /home/sintef/gitlab/pyltmapi/docs/ltm-api/guides/eops/testout_EOPS/2026-06-17-134500.327-EOPS-parallell
INFO:InflowHandler:(ikernel) Writing inflow series
DEBUG:AreaHandler:(ikernel) Checking consistency
DEBUG:LtmApiModel:(ikernel) Creating directory: /home/sintef/gitlab/pyltmapi/docs/ltm-api/guides/eops/testout_EOPS/2026-06-17-134500.327-EOPS-parallell
DEBUG:EnergyInflowHandler:(ikernel) Writing energy inflow series
DEBUG:Validator:(ikernel) Performing model validation
INFO:Validator:(ikernel) Model validation succeeded
DEBUG:LtmApiModel:(ikernel) Running command: "genpris"
DEBUG:LtmApiModel:(ikernel) Configured stop words: "kritisk,critical,error,feil"
DEBUG:LtmApiModel:(ikernel) Command "genpris" exited with code 0
DEBUG:LtmApiModel:(ikernel) Running command: ""
DEBUG:LtmApiModel:(ikernel) Configured stop words: ""
DEBUG:LtmApiModel:(ikernel) Command "internal callback called" exited with code 0
DEBUG:LtmApiModel:(ikernel) Running command: "eops"
DEBUG:LtmApiModel:(ikernel) Configured stop words: "kritisk,critical,error,feil"
DEBUG:LtmApiModel:(ikernel) Command "eops LtmSystem_EOPS.xml" exited with code 0
INFO:LtmApiModel:(ikernel) Model executed successfully
DEBUG:matplotlib.pyplot:Loaded backend module://matplotlib_inline.backend_inline version unknown.
DEBUG:matplotlib.pyplot:Loaded backend module://matplotlib_inline.backend_inline version unknown.
DEBUG:matplotlib.font_manager:findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0.
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmr10.ttf', name='cmr10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymBol.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymBol.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf', name='STIXGeneral', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansDisplay.ttf', name='DejaVu Sans Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-BoldOblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmex10.ttf', name='cmex10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf', name='STIXGeneral', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Oblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 1.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmmi10.ttf', name='cmmi10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Bold.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymBol.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 0.33499999999999996
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Oblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Bold.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmsy10.ttf', name='cmsy10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniBol.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmb10.ttf', name='cmb10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 1.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniBolIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 0.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymReg.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmtt10.ttf', name='cmtt10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFiveSymReg.ttf', name='STIXSizeFiveSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymReg.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-BoldItalic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymBol.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmss10.ttf', name='cmss10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Italic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymReg.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerifDisplay.ttf', name='DejaVu Serif Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf', name='STIXGeneral', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf', name='STIXGeneral', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUni.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0 to DejaVu Sans ('/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf') with score of 0.050000.
DEBUG:matplotlib.font_manager:findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=12.0.
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmr10.ttf', name='cmr10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymBol.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymBol.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf', name='STIXGeneral', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansDisplay.ttf', name='DejaVu Sans Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-BoldOblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmex10.ttf', name='cmex10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf', name='STIXGeneral', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Oblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 1.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmmi10.ttf', name='cmmi10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Bold.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymBol.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 0.33499999999999996
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Oblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Bold.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmsy10.ttf', name='cmsy10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniBol.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmb10.ttf', name='cmb10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 1.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniBolIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 0.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymReg.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmtt10.ttf', name='cmtt10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizFiveSymReg.ttf', name='STIXSizeFiveSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymReg.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-BoldItalic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymBol.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/cmss10.ttf', name='cmss10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Italic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymReg.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerifDisplay.ttf', name='DejaVu Serif Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf', name='STIXGeneral', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf', name='STIXGeneral', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUniIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
DEBUG:matplotlib.font_manager:findfont: score(FontEntry(fname='/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/STIXNonUni.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
DEBUG:matplotlib.font_manager:findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=12.0 to DejaVu Sans ('/home/sintef/gitlab/venv-3.14/lib/python3.14/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf') with score of 0.050000.
area/numedal
hydraulic_coupling/plant_coupling_100
hc.station_joined:              True
hc.have_hydraulic_flow_results: True
../../../_images/ltm-api_guides_eops_eops-example-run_2_2.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_3.png
hydraulic_coupling/coupling_200
hc.station_joined:              False
hc.have_hydraulic_flow_results: True
../../../_images/ltm-api_guides_eops_eops-example-run_2_5.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_6.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_7.png
Area: numedal
DEBUG:matplotlib.colorbar:locator: <matplotlib.ticker.FixedLocator object at 0x7fc67d56b770>
../../../_images/ltm-api_guides_eops_eops-example-run_2_10.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_11.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_12.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_13.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_14.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_15.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_16.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_17.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_18.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_19.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_20.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_21.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_22.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_23.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_24.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_25.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_26.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_27.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_28.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_29.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_30.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_31.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_32.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_33.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_34.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_35.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_36.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_37.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_38.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_39.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_40.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_41.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_42.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_43.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_44.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_45.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_46.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_47.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_48.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_49.png
../../../_images/ltm-api_guides_eops_eops-example-run_2_50.png
INFO:LtmApiModel:(ikernel) Not deleting output dir (/home/sintef/gitlab/pyltmapi/docs/ltm-api/guides/eops/testout_EOPS/2026-06-17-134500.327-EOPS-parallell), as delete_output_dir: false, and has_generated_output_dir: true