mt_metadata.transfer_functions.io.edi.metadata.data_section

Classes

DataSection

DataSection contains the small metadata block that describes which channel

Module Contents

class mt_metadata.transfer_functions.io.edi.metadata.data_section.DataSection(**data)

Bases: mt_metadata.base.MetadataBase

DataSection contains the small metadata block that describes which channel is which. A typical block looks like:

>=MTSECT

    ex=1004.001
    ey=1005.001
    hx=1001.001
    hy=1002.001
    hz=1003.001
    nfreq=14
    sectid=par28ew
    nchan=None
    maxblks=None
Parameters:

fn (string) – full path to .edi file to read in.

Attributes

Description

Default

In .edi

ex

ex channel id number

None

yes

ey

ey channel id number

None

yes

hx

hx channel id number

None

yes

hy

hy channel id number

None

yes

hz

hz channel id number

None

yes

nfreq

number of frequencies

None

yes

sectid

section id, should be the same as the station name -> Header.dataid

None

yes

maxblks

maximum number of data blocks

None

yes

nchan

number of channels

None

yes

_kw_list

list of key words to put in metadata

[1]

no

nfreq: Annotated[int, Field(default=0, description='Number of frequencies', alias=None, json_schema_extra={'units': None, 'required': False, 'examples': [16, 1]})]
sectid: Annotated[str, Field(default='', description='ID of the station that the data is from. This is important if you have more than one station per file.', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['mt001']})]
nchan: Annotated[int, Field(default=0, description='Number of channels in the transfer function', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': [7]})]
maxblocks: Annotated[int, Field(default=999, description='Maximum number of data blocks', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': [999]})]
ex: Annotated[str | None, Field(default=None, description='Measurement ID for EX', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['1']})]
ey: Annotated[str | None, Field(default=None, description='Measurement ID for EY', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['2']})]
hx: Annotated[str | None, Field(default=None, description='Measurement ID for HX', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['3']})]
hy: Annotated[str | None, Field(default=None, description='Measurement ID for HY', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['4']})]
hz: Annotated[str | None, Field(default=None, description='Measurement ID for HZ', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['5']})]
rrhx: Annotated[str | None, Field(default=None, description='Measurement ID for RRHX', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['6']})]
rrhy: Annotated[str | None, Field(default=None, description='Measurement ID for RRHY', alias=None, json_schema_extra={'units': None, 'required': True, 'examples': ['7']})]
get_data(edi_lines)

Read in the data of the file, will detect if reading spectra or impedance.

read_data(edi_lines)

Read data section

write_data(data_list=None, over_dict=None)

Write the data section to a list of strings.

match_channels(ch_ids)

Match the channels in the data section with the provided channel IDs. This method updates the channel IDs based on the provided list.