cape.dkit.tecdatfile: ASCII Tecplot(R) column files

This module contains a basic interface in the spirit of cape.dkit.ftypes for ASCII tecplot .dat files. It creates a class, TecDatFile that does not rely on the popular numpy.loadtxt() function.

If possible, the column names (which become keys in the dict-like class) are read from the header. If the file begins with multiple comment lines, the column names are read from the final comment before the beginning of data.

class cape.dkit.tecdatfile.TecDatFile(fname=None, **kw)

Class for reading Tecplot ASCII .dat files

Call:
>>> db = TecDatFile(fname, **kw)
>>> db = TecDatFile(f, **kw)
Inputs:
fname: str

Name of file to read

f: file

Open file handle

Outputs:
db: cape.dkit.ftypes.tecdatfile.TecDatFile

CSV file interface

db.cols: list[str]

List of columns read

db.opts: TecDatFileOpts

Options for this instance

db.defns: dict[TecDatFileDefn]

Definitions for each column

db[col]: np.ndarray | list

Numeric array or list of strings for each column

See also:
  • cape.dkit.ftypes.basefile.BaseFile

  • cape.dkit.ftypes.basefile.TextInterpreter

Versions:
  • 2023-08-30 @jmeeroff: v1.0

read_tecdat(fname)

Read a Tecplot ASCII .dat file, including header

Reads either entire file or from current location

Call:
>>> db.read_tecdat(f)
>>> db.read_tecdate(fname)
Inputs:
db: cape.dkit.ftypes.tecdatfile.TecDatFile

Tecplot ASCII .dat file interface

f: file

File open for reading

fname: str

Name of file to read

Versions:
  • 2019-11-25 @ddalle: v1.0

read_tecdat_data(f)

Read data portion of Tecplot ASCII dat file

Call:
>>> db.read_tecdat_data(f)
Inputs:
db: cape.dkit.ftypes.tecdatfile.TecDatFile

Tecplot ASCII file interface

f: file

Open file handle

Effects:
db.cols: list[str]

List of column names

Versions:
  • 2023-08-25 @ddalle: v1.0

  • 2025-01-02 @ddalle: v2.0; transposed

read_tecdat_title(f)

Read ASCII tecplot .dat file title from first line of file

Call:
>>> db.read_tecdat_title(f)
Inputs:
db: cape.dkit.ftypes.tecdatfile.TecDatFile

Tecplot ASCII .dat file interface

f: file

Open file handle

Effects:
db.title: str

Title of .dat file

Versions:
  • 2019-11-12 @ddalle: v1.0

read_tecdat_variables(f)
Read ASCII tecplot .dat file variables from second line of

file

Call:
>>> db.read_tecdat_variables(f)
Inputs:
db: cape.dkit.ftypes.tecdatfile.TecDatFile

Tecplot ASCII .dat file interface

f: file

Open file handle

Effects:
db.cols: list[str]

List of column names

Versions:
  • 2019-11-12 @ddalle: v1.0

read_tecdat_zone(f)
Read ASCII tecplot .dat file zone from third line of

file

Call:
>>> db.read_tecdat_variables(f)
Inputs:
db: cape.dkit.ftypes.tecdatfile.TecDatFile

Tecplot ASCII .dat file interface

f: file

Open file handle

Effects:
db.t: str

Title of zone

db.solutiontime: float

Solution time of zone

db.strandid: int

Strandid of zone

db.n: int

Number of points in zone

db.f: str

Format of zone

Versions:
  • 2019-11-12 @ddalle: v1.0

class cape.dkit.tecdatfile.TecDatFileDefn(_optsdict=None, _warnmode=1, **kw)
class cape.dkit.tecdatfile.TecDatFileOpts(_optsdict=None, _warnmode=1, **kw)