Source code for epytc.main

import os
from .run import run_epytc
from dataclasses import dataclass
from hydra.utils import instantiate
from omegaconf import OmegaConf


[docs] @dataclass class epytc_class: module: str maximum_iterations_required: int simulation_period_days: int simulation_time_step: int base_period_days: int minimum_pipe_flow_velocity: float reservoir_quality_matrix: list[list[float]] reservoir_quality_pattern: str reservoir_quality_pattern_random_variability: float reservoir_injection_pattern: str reservoir_injection_pattern_random_variability: float reservoir_injection_start_time: list[list[float]] reservoir_injection_end_time: list[list[float]] reservoir_injection_input_value: list[list[float]] injection_nodes_index: list injection_nodes_quality_matrix: list[list[float]] injection_node_quality_pattern: str injection_node_quality_pattern_random_variability: float injection_node_injection_pattern: str injection_node_injection_pattern_random_variability: float injection_node_injection_start_time: list[list[float]] injection_node_injection_end_time: list[list[float]] injection_node_injection_input_value: list[list[float]] hyd_wq_sync_option: str
[docs] def create_epytc(): """Creates an object of dataclass epytc-class :return: An epytc_class object :rtype: epytc_class """ print("Creating instance of EPyT-C with default values") file_dir = os.path.dirname(os.path.abspath(__file__)) default_config = OmegaConf.load(os.path.join(file_dir, "default_values.yaml")) epytc = instantiate(default_config.epytc_class) return epytc
[docs] def execute_epytc(epytc: epytc_class): """Execute the epytc module :param epytc: epytc object :type epytc: epytc_class """ print("EPyT-C loaded for execution...") run_epytc(epytc)