2.7.7.3. pycsamt.airborne.ztem.base#
ZTEM-specific metadata that reuses the common airborne/EMTF model.
Both classes inherit CoreObject, matching
pycsamt.airborne.base and every sibling technology’s metadata
(MobileMTSystemSpec,
AirMtSystemSpec, …): they are
mutable-until-validated descriptive containers, not frozen registry
value objects, so PyCSAMTObject alone
would be the wrong base (see pycsamt.airborne.registry for
where that choice is the right one). Range/positivity/fixed-channel
normalization is delegated to pycsamt.airborne.validation
rather than reimplemented here field by field.
Classes
|
Fixed ground magnetic reference station used by ZTEM processing. |
|
Published/declared ZTEM system characteristics. |
- class pycsamt.airborne.ztem.base.ZTEMSystemSpec(practical_frequency_range_hz=(22.0, 720.0), common_processed_bands_hz=((30.0, 720.0), (25.0, 600.0)), typical_frequency_count=(5, 6), time_series_sampling_rate_hz=2000.0, nominal_output_rate_hz=2.5, input_channels=('Hx', 'Hy'), output_channels=('Hz', ), attrs=<factory>)[source]
Bases:
CoreObjectPublished/declared ZTEM system characteristics.
The values are informative defaults. ZTEM frequency selection depends on platform speed, sampling, signal strength, and noise, so processed survey products may legitimately use a different subset or frequency grid; nothing here constrains
build_ztem_emtf()’s accepted input.- Parameters:
practical_frequency_range_hz ((float, float), optional) – Published practical frequency band in Hz,
(low, high)with0 < low < high. Seepractical_frequency_mask().common_processed_bands_hz (tuple of (float, float), optional) – Commonly published processed sub-bands in Hz; each validated the same way as practical_frequency_range_hz.
typical_frequency_count ((int, int), optional) – Typical minimum/maximum count of processed frequency windows,
(low, high)with0 < low <= high.time_series_sampling_rate_hz (float, optional) – Published raw time-series sampling rate in Hz.
nominal_output_rate_hz (float, optional) – Published processed-output rate in Hz.
input_channels ((str, str), default ("Hx", "Hy")) – Fixed ground-reference horizontal magnetic input channels; must equal
("Hx", "Hy").output_channels ((str,), default ("Hz",)) – Fixed airborne vertical magnetic output channel; must equal
("Hz",).attrs (dict, optional) – Free-form extension metadata.
- Raises:
ValueError – If any frequency range/band/count is not finite and correctly ordered, if any rate is not finite and positive, or if input_channels/output_channels differ from their fixed values.
- time_series_sampling_rate_hz: float = 2000.0
- nominal_output_rate_hz: float = 2.5
- validate()[source]
Normalize and range-check every descriptive field in place.
- Return type:
None
- practical_frequency_mask(frequency)[source]
Return a mask for values inside the published practical band.
- to_instrument_meta(*, serial=None, software_version='')[source]
Return reusable instrument metadata without vendor guesses.
Only a
magnetic_sensoris populated –electric_sensorstaysNonebecause ZTEM’s tipper geometry has no electric channel, unlike MobileMT’s admittance (seeto_instrument_meta()).- Parameters:
- Return type:
- class pycsamt.airborne.ztem.base.ZTEMReferenceStation(station_id=None, site=None, magnetic_channels=('Hx', 'Hy'), attrs=<factory>)[source]
Bases:
CoreObjectFixed ground magnetic reference station used by ZTEM processing.
Passed to
build_ztem_emtf()to populateprocessing’s remote-reference metadata; see_processing_for_reference().- Parameters:
station_id (str, optional) – Explicit reference-station identifier. Falls back to
site.preferred_namethroughpreferred_idwhen omitted; seenormalize_optional_identifier().site (SiteMeta, optional) – Reference-station location/identity metadata.
magnetic_channels ((str, str), default ("Hx", "Hy")) – Fixed horizontal magnetic channels measured at the reference station; must equal
("Hx", "Hy").attrs (dict, optional) – Free-form extension metadata.
- Raises:
ValueError – If magnetic_channels differs from
("Hx", "Hy").
- validate()[source]
Normalize the identifier/channels and type-check
site.- Return type:
None