pycsamt.tdem.survey#

Folder-level readers for time-domain EM surveys.

Functions

read_temavg_survey(path, *[, pattern, ...])

Read a directory of Zonge TEMAVG processed files.

Classes

TEMSurvey(root[, avg_files, z_files, ...])

Collection of processed TEM files from one survey folder.

class pycsamt.tdem.survey.TEMSurvey(root, avg_files=<factory>, z_files=<factory>, log_files=<factory>, coordinates=None, companion_files=<factory>, verbose=0, logger=None)[source]#

Bases: PyCSAMTObject

Collection of processed TEM files from one survey folder.

Parameters:
  • root (pathlib.Path) – Directory scanned for time-domain EM files.

  • avg_files (dict of str to TEMAVG) – Parsed .AVG files keyed by file stem.

  • z_files (dict of str to TEMZPlot) – Parsed .Z contour files keyed by file stem.

  • log_files (dict of str to TEMLog) – Parsed .LOG processing files keyed by file stem.

  • coordinates (TEMCoordinateTable, optional) – Profile/point coordinate table used to enrich exported survey records.

  • companion_files (dict) – Available companion files grouped by stem. Each value may contain "log", "z", and other format keys that can be parsed in later processing stages.

  • verbose (int)

  • logger (object | None)

Examples

>>> from pycsamt.tdem.survey import read_temavg_survey
>>> survey = read_temavg_survey("data/TEMAVG/JIANGSU")
>>> survey.n_avg_files > 0
True
root: Path#
avg_files: dict[str, TEMAVG]#
z_files: dict[str, TEMZPlot]#
log_files: dict[str, TEMLog]#
coordinates: TEMCoordinateTable | None = None#
companion_files: dict[str, dict[str, Path]]#
verbose: int = 0#
logger: object | None = None#
property n_avg_files: int[source]#

Number of parsed .AVG files.

property n_z_files: int[source]#

Number of parsed .Z contour files.

property n_log_files: int[source]#

Number of parsed .LOG processing files.

property stems: list[str][source]#

Sorted file stems represented by parsed .AVG files.

property stations: list[float][source]#

Sorted union of all station values in parsed data.

to_records()[source]#

Return all parsed .AVG rows as dictionaries.

Return type:

list[dict[str, Any]]

to_dataframe()[source]#

Return all parsed rows as a pandas.DataFrame.

get(stem)[source]#

Return one parsed .AVG file by stem.

Parameters:

stem (str)

Return type:

TEMAVG

get_z(stem)[source]#

Return one parsed .Z file by stem.

Parameters:

stem (str)

Return type:

TEMZPlot

get_log(stem)[source]#

Return one parsed .LOG file by stem.

Parameters:

stem (str)

Return type:

TEMLog

coordinate_for(profile, point)[source]#

Return coordinate metadata for a profile/station pair.

Parameters:
Return type:

TEMCoordinate | None

to_soundings(*, stems=None, component='Hz', frequency=None, data_column='magnitude', magnitude_unit='uV/A', data_type='voltage', rx_turns=1, tx_turns=1, min_gates=1, verbose=None, logger=None)[source]#

Build station-wise TEMSounding objects.

Parameters:
  • stems (list of str, optional) – File stems to export. When omitted, all parsed .AVG files are converted in sorted order.

  • component (str, default "Hz") – TEMAVG component to select.

  • frequency (float, optional) – Repetition frequency to select. When omitted, all rows for component are used.

  • data_column ({"magnitude"}, default "magnitude") – TEMAVG transient column used for the sounding decay.

  • magnitude_unit (str, default "uV/A") – Unit of the TEMAVG magnitude column before conversion to the requested data_type representation.

  • data_type (str, default "voltage") – Data type stored in each sounding. The default is receiver voltage in volts.

  • rx_turns (int, default 1) – Receiver and transmitter turn counts passed to each sounding.

  • tx_turns (int, default 1) – Receiver and transmitter turn counts passed to each sounding.

  • min_gates (int, default 1) – Minimum number of selected time gates required for a station to be exported.

  • verbose (int | None)

  • logger (object | None)

Returns:

Soundings suitable for LateTimeTransform or TEMtoEDI.

Return type:

list of TEMSounding

pycsamt.tdem.survey.read_temavg_survey(path, *, pattern='*.AVG', coordinate_file=None, verbose=0, logger=None)[source]#

Read a directory of Zonge TEMAVG processed files.

Parameters:
  • path (path-like) – Directory containing TEMAVG .AVG files and optional companion files such as .LOG, .Z, and .mde.

  • pattern (str, default “*.AVG”) – Glob pattern used to select processed average files.

  • coordinate_file (path-like, optional) – Profile/point coordinate file. If omitted, the reader looks for common coordinate-table names in path.

  • verbose (int)

  • logger (object | None)

Returns:

Parsed survey collection.

Return type:

TEMSurvey

Examples

>>> from pycsamt.tdem import read_temavg_survey
>>> survey = read_temavg_survey("data/TEMAVG/JIANGSU")
>>> len(survey.stations) > 0
True