geoh5py.objects.surveys.electromagnetics

geoh5py.objects.surveys.electromagnetics.airborne_tem

class geoh5py.objects.surveys.electromagnetics.airborne_tem.AirborneTEMReceivers(object_type: ObjectType, name='Airborne TEM Rx', **kwargs)[source]

Bases: AirborneTEMSurvey

Airborne time-domain electromagnetic receivers class.

property complement

Returns the complement object for self.

classmethod default_type_uid() UUID[source]
Returns:

Default unique identifier

property type

Survey element type

class geoh5py.objects.surveys.electromagnetics.airborne_tem.AirborneTEMSurvey(object_type: ObjectType, name='Curve', **kwargs)[source]

Bases: TEMSurvey, AirborneEMSurvey

property base_receiver_type
Returns:

Base receiver class

property base_transmitter_type
Returns:

Base transmitter class

property default_metadata: dict

Default dictionary of metadata for AirborneTEM entities.

property default_receiver_type
Returns:

Receiver class

property default_transmitter_type
Returns:

Transmitter class

class geoh5py.objects.surveys.electromagnetics.airborne_tem.AirborneTEMTransmitters(object_type: ObjectType, name='Airborne TEM Tx', **kwargs)[source]

Bases: AirborneTEMSurvey

Airborne time-domain electromagnetic transmitters class.

property complement

Returns the complement object for self.

classmethod default_type_uid() UUID[source]
Returns:

Default unique identifier

property type

Survey element type

geoh5py.objects.surveys.electromagnetics.base

class geoh5py.objects.surveys.electromagnetics.base.AirborneEMSurvey(object_type: ObjectType, name='Curve', **kwargs)[source]

Bases: BaseEMSurvey, Curve

property crossline_offset: float | UUID | None

Numeric value or property UUID for the crossline offset between receiver and transmitter.

property default_input_types: list[str]

Choice of survey creation types.

fetch_metadata(key: str) float | UUID | None[source]

Fetch entry from the metadata.

property inline_offset: float | UUID | None

Numeric value or property UUID for the inline offset between receiver and transmitter.

property loop_radius: float | None

Transmitter loop radius

property pitch: float | UUID | None

Numeric value or property UUID for the pitch angle of the transmitter loop.

property relative_to_bearing: bool | None

Data relative_to_bearing

property roll: float | UUID | None

Numeric value or property UUID for the roll angle of the transmitter loop.

set_metadata(key: str, value: float | UUID | None)[source]
property vertical_offset: float | UUID | None

Numeric value or property UUID for the vertical offset between receiver and transmitter.

property yaw: float | UUID | None

Numeric value or property UUID for the yaw angle of the transmitter loop.

class geoh5py.objects.surveys.electromagnetics.base.BaseEMSurvey(object_type: ObjectType, **kwargs)[source]

Bases: ObjectBase, ABC

A base electromagnetics survey object.

add_components_data(data: dict) list[PropertyGroup][source]

Add lists of data components to an EM survey. The name of each component is appended to the metadata ‘Property groups’.

Data channels must be provided for every frequency or time in order specified by channels. The data channels can be supplied as either a list of geoh5py.data.float_data.FloatData entities or uuid.UUID

data = {
    "Component A": [
        data_entity_1,
        data_entity_2,
    ],
    "Component B": [...],
},

or a nested dictionary of arguments defining new Data entities as defined by the add_data() method.

data = {
    "Component A": {
        time_1: {
            'values': [v_11, v_12, ...],
            "entity_type": entity_type_A,
            ...,
        },
        time_2: {...},
        ...,
    },
    "Component B": {...},
}
Parameters:

data – Dictionary of data components to be added to the survey.

Returns:

List of property groups for all components added.

add_validate_component_data(name: str, data_block: list | dict)[source]

Append a property group to the entity and its metadata after validations.

property channels

List of measured channels.

property complement

Returns the complement object for self.

property components: dict | None

Rapid access to the list of data entities for all components.

copy(parent: Group | Workspace | None = None, copy_children: bool = True, clear_cache: bool = False, mask: np.ndarray | None = None, cell_mask: np.ndarray | None = None, **kwargs)[source]

Sub-class extension of copy().

copy_complement(new_entity, parent: Group | Workspace | None = None, copy_children: bool = True, clear_cache: bool = False, mask: np.ndarray | None = None)[source]
abstract property default_input_types: list[str] | None

Input types.

Must be one of ‘Rx’, ‘Tx’, ‘Tx and Rx’, ‘Rx only’, ‘Rx and base stations’.

property default_metadata

Default metadata structure. Implemented on the child class.

abstract property default_receiver_type: type
Returns:

Receivers implemented on the child class.

abstract property default_transmitter_type: type
Returns:

Transmitters implemented on the child class.

abstract classmethod default_type_uid() UUID[source]

Default unique identifier. Implemented on the child class.

abstract property default_units: list[str]

List of accepted units.

edit_metadata(entries: dict[str, Any])[source]

Utility function to edit or add metadata fields and trigger an update on the receiver and transmitter entities.

Parameters:

entries – Metadata key value pairs.

property input_type: str | None

Data input type. Must be one of ‘Rx’, ‘Tx’ or ‘Tx and Rx’

property metadata

Metadata attached to the entity.

property receivers: BaseEMSurvey | None

The associated TEM receivers.

property survey_type: str | None

Data input type. Must be one of ‘Rx’, ‘Tx’ or ‘Tx and Rx’

property transmitters

The associated TEM transmitters (sources).

abstract property type

Survey element type

property unit: float | None

Default channel units for time or frequency defined on the child class.

class geoh5py.objects.surveys.electromagnetics.base.FEMSurvey(object_type: ObjectType, **kwargs)[source]

Bases: BaseEMSurvey

property default_units: list[str]

Accepted frequency units.

Must be one of “Hertz (Hz)”, “KiloHertz (kHz)”, “MegaHertz (MHz)”, or “Gigahertz (GHz)”,

Returns:

List of acceptable units for frequency domain channels.

class geoh5py.objects.surveys.electromagnetics.base.LargeLoopGroundEMSurvey(object_type: ObjectType, name='Curve', **kwargs)[source]

Bases: BaseEMSurvey, Curve

property base_receiver_type
property base_transmitter_type
copy_complement(new_entity, parent: Group | Workspace | None = None, copy_children: bool = True, clear_cache: bool = False, mask: np.ndarray | None = None)[source]
property default_input_types: list[str]

Choice of survey creation types.

property tx_id_property: ReferencedData | None

Default channel units for time or frequency defined on the child class.

class geoh5py.objects.surveys.electromagnetics.base.MovingLoopGroundEMSurvey(object_type: ObjectType, name='Curve', **kwargs)[source]

Bases: BaseEMSurvey, Curve

property base_receiver_type
property base_transmitter_type
property default_input_types: list[str]

Choice of survey creation types.

property loop_radius: float | None

Transmitter loop radius

class geoh5py.objects.surveys.electromagnetics.base.TEMSurvey(object_type: ObjectType, **kwargs)[source]

Bases: BaseEMSurvey

property default_units: list[str]

Accepted time units.

Must be one of “Seconds (s)”, “Milliseconds (ms)”, “Microseconds (us)” or “Nanoseconds (ns)”

Returns:

List of acceptable units for time domain channels.

property timing_mark: float | None

Timing mark from the beginning of the discrete waveform. Generally used as the reference (time=0.0) for the provided (-) on-time an (+) off-time channels.

property waveform: ndarray | None

Discrete waveform of the TEM source provided as numpy.array of type float, shape(n, 2)

waveform = [
    [time_1, current_1],
    [time_2, current_2],
    ...
]
property waveform_parameters: dict | None

Access the waveform parameters stored as a dictionary.

geoh5py.objects.surveys.electromagnetics.magnetotellurics

class geoh5py.objects.surveys.electromagnetics.magnetotellurics.MTReceivers(object_type: ObjectType, name='Magnetotellurics rx', **kwargs)[source]

Bases: FEMSurvey, Points

A magnetotellurics survey object.

property base_receiver_type
property base_transmitter_type
property default_input_types: list[str]

Choice of survey creation types.

property default_metadata: dict
Returns:

Default unique identifier

property default_receiver_type
Returns:

Transmitter class

property default_transmitter_type
Returns:

Transmitter class

classmethod default_type_uid() UUID[source]
Returns:

Default unique identifier

property type

Survey element type

geoh5py.objects.surveys.electromagnetics.tipper

class geoh5py.objects.surveys.electromagnetics.tipper.TipperBaseStations(object_type: ObjectType, name='Tipper base', **kwargs)[source]

Bases: TipperSurvey, Points

A z-tipper EM survey object.

property complement

Returns the complement object for self.

classmethod default_type_uid() UUID[source]
Returns:

Default unique identifier

property type

Survey element type

class geoh5py.objects.surveys.electromagnetics.tipper.TipperReceivers(object_type: ObjectType, name='Tipper rx', **kwargs)[source]

Bases: TipperSurvey, Curve

A z-tipper EM survey object.

property complement

Returns the complement object for self.

classmethod default_type_uid() UUID[source]
Returns:

Default unique identifier

property type

Survey element type

class geoh5py.objects.surveys.electromagnetics.tipper.TipperSurvey(object_type: ObjectType, base_stations: TipperBaseStations | None = None, **kwargs)[source]

Bases: FEMSurvey, AirborneEMSurvey

Base tipper survey class.

property base_receiver_type
property base_stations: TipperBaseStations | None

The base station entity

property base_transmitter_type
copy_from_extent(extent: ndarray, parent=None, copy_children: bool = True, clear_cache: bool = False, inverse: bool = False, **kwargs) TipperReceivers | TipperBaseStations | None[source]

Sub-class extension of copy_from_extent().

property default_input_types: list[str]

Choice of survey creation types.

property default_metadata: dict
Returns:

Default unique identifier

property default_receiver_type
Returns:

Transmitter class

property default_transmitter_type
Returns:

Transmitter class

property default_units: list[str]

Accepted time units. Must be one of “Seconds (s)”, “Milliseconds (ms)”, “Microseconds (us)” or “Nanoseconds (ns)”