FvParticles

class tfv.particles.FvParticles(file: Union[Path, str, xarray.Dataset], lazy_load: bool = True, is_spherical: bool = True, warmup: Union[str, Timedelta] = '0D')

Class that extracts particle data from a TUFLOW FV PTM netCDF4 result file.

Parameters

file (string) – Model result file path.

nt

Number of time steps

Type

int

np

Number of particles

Type

int

get_mask_vector(ii: int)

Query to extract an array that defines invalid model data.

Parameters

ii (integer) – Time index at which to extract the mask array.

Returns

mask – Logical index, True if model cells/nodes are invalid (i.e dry cells).

Return type

np.ndarray

get_raw_data(**kwargs)

Query to extract raw data at a time step (if time-varying).

Parameters
  • variable (string) – Name of time varying data set to be extracted.

  • ii (integer) – The time vector index at which to extract the data.

Returns

data – The raw data as 1D or 2D numpy array

Return type

np.ndarray

get_vertical_selection(ii: int, datum: str, limits: tuple)

Query to extract logical index of particles within a given vertical selection at given time step.

Parameters
  • ii (integer) – Time index at which to extract the selection.

  • datum ({'sigma', 'depth', 'height', 'elevation'}) – Vertical depth-averaging datum i.e sigma, depth, height, elevation, top, bottom.

  • limits (tuple) – Vertical depth-averaging limits (z1, z2) relative to vertical datum.

Returns

lgi – A logical index for particles within specified limits. True if particle is in limits.

Return type

np.ndarray