mt_metadata.transfer_functions.io.edi.metadata.data_section
Classes
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.MetadataBaseDataSection 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
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.