Skip to main content

mt_metadata version 1.0.12

Standard MT metadata

PyPi version Latest conda|conda-forge version codecov example workflow name License: MIT DOI Binder

Description

MT Metadata is a project led by IRIS-PASSCAL MT Software working group and USGS to develop tools that standardize magnetotelluric metadata, well, at least create tools for standards that are generally accepted. This include the two main types of magnetotelluric data

  • Time Series

    • Structured as:
      • Experiment -> Survey -> Station -> Run -> Channel
    • Supports translation to/from StationXML
  • Transfer Functions

    • Supports (will support) to/from:
      • EDI (most common format)
      • ZMM (Egberts EMTF output)
      • JFILE (BIRRP output)
      • EMTFXML (Kelbert's format)
      • AVG (Zonge output)

Most people will be using the transfer functions, but a lot of that metadata comes from the time series metadata. This module supports both and has tried to make them more or less seamless to reduce complication.

  • Version: 1.0.12
  • Free software: MIT license
  • Documentation: https://mt-metadata.readthedocs.io.
  • Examples: Click the Binder badge above and Jupyter Notebook examples are in mt_metadata/examples/notebooks and docs/source/notebooks
  • Suggested Citation: Peacock, J. R., Kappler, K., Ronan, T., Heagy, L., Kelbert, A., Frassetto, A. (2022) MTH5: An archive and exchangeable data format for magnetotelluric time series data, Computers & Geoscience, 162, doi:10.1016/j.cageo.2022.105102
  • IPDS: IP-138156

Installation

From Source

git clone https://github.com/kujaku11/mt_metadata.git

pip install .

You can add the flag -e if you want to install the source repository in an editable state.

PIP

pip install mt_metadata

You can install with optional packages by appending [option_name] to the package name during the pip install command. E.g:

pip install mt_metadata[obspy]

or pip install .[obspy] if building from source.

Conda

conda install mt_metadata

Standards

Each metadata keyword has an associated standard that goes with it. These are stored internally in JSON file. The JSON files are read in when the package is loaded to initialize the standards. Each keyword is described by:

  • type - How the value should be represented based on very basic types

    • string
    • number (float or integer)
    • boolean
  • required - A boolean (True or False) denoting whether the metadata key word required to represent the data.

  • style - How the value should be represented within the type. For instance is the value a controlled string where there are only a few options, or is the value a controlled naming convention where only a 5 character alpha-numeric string is allowed. The styles are

    • Alpha Numeric a string with alphabetic and numberic characters
    • Free Form a free form string
    • Controlled Vocabulary only certain values are allowed according to options
    • Date a date and/or time string in ISO format
    • Number a float or integer
    • Boolean the value can only be True or False
  • units - Units of the value

  • description - Full description of what the metadata key is meant to convey.

  • options - Any options of a Controlled Vocabulary style.

  • alias - Any aliases that may represent the same metadata key.

  • example - An example value to inform the user.

All input values are internally validated according to the definition providing a robust way to standardize metadata.

Each metadata object is based on a Base class that has methods:

  • to/from_json
  • to/from_xml
  • to_from_dict
  • attribute_information

And each object has a doc string that describes the standard:

Metadata Key Description Example
key description of what the key describes example value
Required: False
Units: None
Type: string
Style: controlled vocabulary

The time series module is more mature than the transfer function module at the moment, and this is still a work in progress.

Example

from mt_metadata import timeseries
x = timeseries.Instrument()

Help

help(x)

+----------------------------------------------+-----------------------------------------------+----------------+
| **Metadata Key**                             | **Description**                               | **Example**    |
+==============================================+===============================================+================+
| **id**                                       | instrument ID number can be serial number or  | mt01           |
|                                              | a designated ID                               |                |
| Required: True                               |                                               |                |
|                                              |                                               |                |
| Units: None                                  |                                               |                |
|                                              |                                               |                |
| Type: string                                 |                                               |                |
|                                              |                                               |                |
| Style: free form                             |                                               |                |
+----------------------------------------------+-----------------------------------------------+----------------+
| **manufacturer**                             | who manufactured the instrument               | mt gurus       |
|                                              |                                               |                |
| Required: True                               |                                               |                |
|                                              |                                               |                |
| Units: None                                  |                                               |                |
|                                              |                                               |                |
| Type: string                                 |                                               |                |
|                                              |                                               |                |
| Style: free form                             |                                               |                |
+----------------------------------------------+-----------------------------------------------+----------------+
| **type**                                     | instrument type                               | broadband      |
|                                              |                                               | 32-bit         |
| Required: True                               |                                               |                |
|                                              |                                               |                |
| Units: None                                  |                                               |                |
|                                              |                                               |                |
| Type: string                                 |                                               |                |
|                                              |                                               |                |
| Style: free form                             |                                               |                |
+----------------------------------------------+-----------------------------------------------+----------------+
| **model**                                    | model version of the instrument               | falcon5        |
|                                              |                                               |                |
| Required: False                              |                                               |                |
|                                              |                                               |                |
| Units: None                                  |                                               |                |
|                                              |                                               |                |
| Type: string                                 |                                               |                |
|                                              |                                               |                |
| Style: free form                             |                                               |                |
+----------------------------------------------+-----------------------------------------------+----------------+

Fill in metadata

x.model = "falcon 5"
x.type = "broadband 32-bit"
x.manufacturer = "MT Gurus"
x.id = "f176"

to JSON

print(x.to_json())
{
    "instrument": {
        "id": "f176",
        "manufacturer": "MT Gurus",
        "model": "falcon 5",
        "type": "broadband 32-bit"
    }
}

to XML

print(x.to_xml(string=True))
<?xml version="1.0" ?>
<instrument>
    <id>f176</id>
    <manufacturer>MT Gurus</manufacturer>
    <model>falcon 5</model>
    <type>broadband 32-bit</type>
</instrument>

Credits

This project is in cooperation with the Incorporated Research Institutes of Seismology, the U.S. Geological Survey, and other collaborators. Facilities of the IRIS Consortium are supported by the National Science Foundation’s Seismological Facilities for the Advancement of Geoscience (SAGE) Award under Cooperative Support Agreement EAR-1851048. USGS is partially funded through the Community for Data Integration and IMAGe through the Minerals Resources Program.

Metadata

Release files for mt-metadata 1.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mt-metadata 1.0.12
File Size Uploaded
mt_metadata-1.0.12.tar.gz 3.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mt-metadata 1.0.12
File Interpreter ABI Platform
mt_metadata-1.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 4.1 MB

Release files / mt_metadata-1.0.12.tar.gz

Download URL mt_metadata-1.0.12.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ca19810a9d9fe32b35b3be85d2e3c8f86afc3b7c094c0e5f2055dce45f3b5827
BLAKE2b-256 checksum
How to use checksums
4aead454dded194722fba65c313678cd6d30e6f901fce93fcbfc1d72b440ef7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release files / mt_metadata-1.0.12-py3-none-any.whl

Download URL mt_metadata-1.0.12-py3-none-any.whl
Size 790.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
531683ba3e4e37abbec26f1d74021934709bc339c475dc0d6f8e1bac2391d10f
BLAKE2b-256 checksum
How to use checksums
829ec21b999521a753cdcf5e983a03e62629323fe8fb47e43245e8ec63911cf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.12 This release

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

1 release file

0.1.5

2 release files

0.1.3

2 release files

0.1.2

3 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page