pytuflow.TCF

Contents

pytuflow.TCF#

class TCF(fpath=None, **kwargs)#

Bases: ControlFileLoadMixin, TCFBuildState

Initialises the TCF class in a build state. This is the main entry point for reading/writing a TUFLOW model.

If the class is initialised with the fpath parameter set to None, an empty class will be initialised.

Parameters:
  • fpath (PathLike, optional) – The path to the control file (str or Path). If set to None, the TCF will be initialised as an empty control file.

  • **kwargs (optional parameters) –

    • configTCFConfig, optional

      This object stores useful information such as variable mappings, the event database, current spatial database etc. If set to None, a new TCFConfig object will be created. For TCFs, the settings object should be left as None.

    • parentControlFile, optional

      Will set the parent of the control file to another control file e.g. for a TGC, the parent should be set to the TCF. For TCFs, the parent should be set to None.

    • scopeScopeList, optional

      A list of scope objects that will be inherited by the control file itself. Not currently used but reserved in case this is useful information in the future.

    • log_levelstr, optional

      The logging level to use for the control file. Options are ‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’. Default is ‘WARNING’.

    • log_to_filePathLike, optional

      If set, will log the control file to the given file path. Default is None.

Examples

The following examples demonstrate some common operations and use cases for the TCF class:

__init__(fpath=None, **kwargs)#
Parameters:

fpath (str | Path | None)

Methods

append_input

Appends a new input to the end of the control file.

bc_dbase

Returns the BCDatabase database instance.

comment_out

Comments out a given input.

context

Create a RunState version of this object.

ecf

Returns the ECF ControlFile instance.

event_database

Returns the EventDatabase object.

find_input

Find a particular input(s) using a search filter.

input

Returns the input with the given UUID.

insert_input

Inserts an input before, or after, another reference input.

log_folder_path

Returns the log folder path.

mat_file

Returns the MatDatabase database instance.

output_folder_1d

Returns the 1D output folder.

output_folder_2d

Returns the 2D output folder.

preview

Preview the control file in stdout.

rainfall_dbase

Returns the RainfallDatabase database instance.

remove_input

Removes the input from the control file.

reset

Resets all recorded changes made to the control file since the last call to write().

soils_file

Returns the SoilDatabase database instance.

tbc

Returns the TBC ControlFile instance.

tef

Returns the TEF ControlFile instance.

tgc

Returns the TGC ControlFile instance.

tscf

Returns the TSCF ControlFile instance.

uncomment

Uncomment a given input.

undo

Undo the last recorded change.

write

Write the object to file.

Attributes

TUFLOW_TYPE

A string identifying the PyTUFLOW object type.

dirty

Whether the object has been changed since it was last written to file.

fpath

The path to the control file.

scope

List of scopes associated with the object.

tcf

The parent TCF control file object

config

The configuration settings for the model.

inputs

The list of inputs and comments in the control file

parent

The parent control file

altered_inputs

The list of all changes made to the control file since the last time write() was called.

loaded

Whether the control file has been loaded from disk or not.