Skip to content

TxtinoutReader

TxtinoutReader

__init__(path: str) -> None

Initialize a TxtinoutReader instance for working with SWAT model data.

Parameters: path (str, os.PathLike): The path to the SWAT model folder.

TypeError: If the provided path is not a string or a Path object, or if the folder does not exist, or if there is more than one .exe file in the folder, or if no .exe file is found.

Attributes: root_folder (Path): The path to the root folder of the SWAT model. swat_exe_path (Path): The path to the main SWAT executable file.

copy_and_run(target_dir: str, overwrite: bool = False, params: Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]] = {}, show_output: bool = True) -> str

Copy the SWAT model files to a specified directory, modify input parameters, and run the simulation.

Parameters: target_dir (str): The target directory where the SWAT model files will be copied. overwrite (bool, optional): If True, overwrite the content of 'target_dir'; if False, create a new folder inside 'target_dir' (default is False). params (Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]], optional): A dictionary containing modifications to input files. Format: {filename: (id_col, [(id, col, value)])}. Format: {filename: (id_col, [(id, col, value)])}. show_output (bool, optional): If True, print the simulation output; if False, suppress output (default is True).

Returns: str: The path to the directory where the SWAT simulation was executed.

copy_and_run_star(args: Tuple[str, bool, Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]], bool]) -> str

Copy the SWAT model files to a specified directory, modify input parameters, and run the simulation using arguments provided as a tuple.

args (Tuple[Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]]], bool]): A tuple containing simulation parameters. The first element is a dictionary with input parameter modifications, the second element is a boolean to show output.

Returns: str: The path to the directory where the SWAT simulation was executed.

copy_swat(target_dir: str = None, overwrite: bool = False) -> str

Copy the SWAT model files to a specified directory.

If 'overwrite' is True, the content of the 'target_dir' folder will be deleted, and the 'txtinout' folder will be copied there. If 'overwrite' is False, the 'txtinout' folder will be copied to a new folder inside 'target_dir'.

Parameters: target_dir (str, optional): The target directory where the SWAT model files will be copied. If None, a temporary folder will be created (default is None). overwrite (bool, optional): If True, overwrite the content of 'target_dir'; if False, create a new folder inside target_dir (default is False).

Returns: str: The path to the directory where the SWAT model files were copied.

disable_csv_print() -> None

Disable CSV print in the 'print.prt' file.

Returns: None

enable_csv_print() -> None

Enable CSV print in the 'print.prt' file.

Returns: None

enable_object_in_print_prt(obj: str, daily: bool, monthly: bool, yearly: bool, avann: bool) -> None

Enable or update an object in the 'print.prt' file. If obj is not a default identifier, it will be added at the end of the file.

Parameters: obj (str): The object name or identifier. daily (bool): Flag for daily print frequency. monthly (bool): Flag for monthly print frequency. yearly (bool): Flag for yearly print frequency. avann (bool): Flag for average annual print frequency.

Returns: None

register_file(filename: str, has_units: bool = False, index: Optional[str] = None, usecols: Optional[List[str]] = None, filter_by: Dict[str, Union[Any, List[Any], re.Pattern]] = {}) -> FileReader

Register a file to work with in the SWAT model.

Parameters: filename (str): The name of the file to register. has_units (bool): Indicates if the file has units information (default is False). index (str, optional): The name of the index column (default is None). usecols (List[str], optional): A list of column names to read (default is None). filter_by (Dict[str, Union[Any, List[Any], re.Pattern]): A dictionary of column names and values to filter by (default is an empty dictionary).

Returns: FileReader: A FileReader instance for the registered file.

run_parallel_swat(params: List[Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]]], n_workers: int = 1, target_dir: str = None, parallelization: str = 'threads') -> List[str]

Run SWAT simulations in parallel with modified input parameters.

params (Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]], optional): A dictionary containing modifications to input files. Format: {filename: (id_col, [(id, col, value)])}. n_workers (int, optional): The number of parallel workers to use (default is 1). target_dir (str, optional): The target directory where the SWAT model files will be copied (default is None). parallelization (str, optional): The parallelization method to use ('threads' or 'processes') (default is 'threads').

Returns: List[str]: A list of paths to the directories where the SWAT simulations were executed.

run_swat(params: Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]] = {}, show_output: bool = True) -> str

Run the SWAT simulation with modified input parameters.

params (Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]], optional): A dictionary containing modifications to input files. Format: {filename: (id_col, [(id, col, value)])}. 'id' can be None to apply the value to all rows, a single id or a regex pattern or list to match multiple IDs. show_output (bool, optional): If True, print the simulation output; if False, suppress output (default is True).

Returns: str: The path to the directory where the SWAT simulation was executed.

run_swat_star(args: Tuple[Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]], bool]) -> str

Run the SWAT simulation with modified input parameters using arguments provided as a tuple.

args (Tuple[Dict[str, Tuple[str, List[Tuple[Union[None, str, List[str], re.Pattern], str, Any]]]]], bool]): A tuple containing simulation parameters. The first element is a dictionary with input parameter modifications, the second element is a boolean to show output.

Returns: str: The path to the directory where the SWAT simulation was executed.

set_beginning_and_end_year(beginning: int, end: int) -> None

Modify the beginning and end year in the 'time.sim' file.

Parameters: beginning (int): The new beginning year. end (int): The new end year.

Returns: None

set_warmup(warmup: int) -> None

Modify the warmup period in the 'time.sim' file.

Parameters: warmup (int): The new warmup period value.

Returns: None