Transfer Functions

The transfer_functions module deals with various formats that transfer functions are stored in. This includes reading and writing for most formats.

Supported Formats

Format

Description

Read

Write

EDI

Common SEG format (including spectra)

Yes

Yes

EMTFXML

Anna Kelbert’s XML format, archive format at IRIS

Yes

Yes

ZFiles

Output from Gary Egbert’s EMFT processing code [.zmm, .zrr, .zss]

Yes

Yes

JFiles

Jones’ format, also output of Alan Chave’s BIRRP code [.j]

Yes

No

Zonge AVG

Zonge International .avg format out put by their MTEdit code [.avg]

Yes

No

Purpose

Modules exists for each supported format, but should only be used under the hood. Instead, the transfer_functions module was set up to have a common container for any transfer function. This is the mt_metadata.transfer_functions.core.TF object. It can read any supported format and write those that have write methods.

The mt_metadata.transfer_functions.core.TF object contains standard metadata and the data are stored in an xarray.DataSet for generalization and easy access to elements.

Module Structure

The module structure for mt_metadata.transfer_functions is setup to be plug-in like. Each transfer function file format has its own module in mt_metadata.transfer_functions.io. For example EDI files are in the module mt_metadata.transfer_functions.io.edi. Under each module there is a metadata folder and a metadata/standards folder to accommodate format specific metadata and standardize data types for those metadata.

mt_metadata.transfer_functions.io
-----------------------------------
    |- edi
      |- metadata
        |- standards
          |- .json standard files
    |- zfiles
      |- metadata
        |- standards
          |- .json standard files
    |- jfiles
      |- metadata
        |- standards
          |- .json standard files
    |- zonge
      |- metadata
         |- standards
           |- .json standard files
    |- emtfxml
      |- metadata
          |- standards
            |- .json standard files

Each of these modules are imported into mt_metadata.transfer_functions.io.readwrite for generic readers and writers. The mt_metadata.transfer_functions.core.TF class uses the mt_metadata.transfer_functions.io.readwrite.read() and mt_metadata.transfer_functions.io.readwrite.write() functions to read and write through mt_metadata.transfer_functions.core.TF.read_tf_file() and mt_metadata.transfer_functions.core.TF.write_tf_file() methods

Supported Formats

Archiving Transfer Functions at IRIS

Metadata Definitions