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