2.7.8.3. pycsamt.airborne.mobilemt.base#

MobileMT-specific metadata that does not duplicate EMTF mathematics.

Classes

MobileMTReferenceStation([station_id, site, ...])

Ground electric reference-station metadata for MobileMT processing.

MobileMTSystemSpec([...])

Published/declared MobileMT system characteristics.

class pycsamt.airborne.mobilemt.base.MobileMTSystemSpec(nominal_frequency_range_hz=(19.0, 26000.0), nominal_max_frequency_windows=30, nominal_sampling_rate_hz=73728.0, input_channels=('Ex', 'Ey'), output_channels=('Hx', 'Hy', 'Hz'), attrs=<factory>)[source]

Bases: CoreObject

Published/declared MobileMT system characteristics.

These values are descriptive metadata, not hard validation limits. A processed product may legitimately contain fewer windows or a subset of the nominal frequency range.

Parameters:
nominal_frequency_range_hz: tuple[float, float] = (19.0, 26000.0)
nominal_max_frequency_windows: int = 30
nominal_sampling_rate_hz: float = 73728.0
input_channels: tuple[str, ...] = ('Ex', 'Ey')
output_channels: tuple[str, ...] = ('Hx', 'Hy', 'Hz')
attrs: dict[str, Any]
validate()[source]

Validate object state.

Subclasses can override this hook. The base implementation intentionally accepts all states.

Return type:

None

nominal_frequency_mask(frequency)[source]

Return a mask for values inside the published nominal range.

Parameters:

frequency (Any)

Return type:

ndarray

to_instrument_meta(*, serial=None, software_version='')[source]

Return a reusable InstrumentMeta description.

The sensor descriptions reflect only the published system-level geometry. Manufacturer model numbers and calibration details are not invented.

Parameters:
  • serial (str | None)

  • software_version (str)

Return type:

InstrumentMeta

class pycsamt.airborne.mobilemt.base.MobileMTReferenceStation(station_id=None, site=None, electric_channels=('Ex', 'Ey'), attrs=<factory>)[source]

Bases: CoreObject

Ground electric reference-station metadata for MobileMT processing.

This object intentionally describes only the processed reference station. It does not invent a raw electrode-file schema or model the additional internal reference electrode pairs used by proprietary processing.

Parameters:
station_id: str | None = None
site: SiteMeta | None = None
electric_channels: tuple[str, str] = ('Ex', 'Ey')
attrs: dict[str, Any]
validate()[source]

Validate object state.

Subclasses can override this hook. The base implementation intentionally accepts all states.

Return type:

None

property preferred_id: str | None[source]

Return explicit station ID, then SiteMeta preferred name.