pycsamt.zonge.property#
pycsamt.zonge.property#
Reusable, lightweight property containers for survey-level
metadata that are not tied to a particular AVG record.
All classes expose a simple set()/get() API, plus helpers
to read/write CSAVGW/ASTATIC $keyword=value style headers.
Design goals#
Small, explicit data holders (dataclasses).
Robust set/get with gentle validation.
- Round-trip helpers:
update_from_keywords(meta)← dict from parserto_keywords()→ dict for writer
Tolerate legacy aliases (e.g.
XMTR↔Tx.GdpStn).Keep lines short for readability in code reviews.
Classes
|
Minimal provenance captured from banner / comment lines. |
|
Receiver electrode / coil metadata ( |
|
Encapsulate Zonge skip-flag quality codes. |
|
Project-level annotation block ( |
|
Survey-level configuration taken from AVG headers. |
|
Transmitter loop / bipole metadata ( |
- class pycsamt.zonge.property.SkipFlag(value='2')[source]#
Bases:
objectEncapsulate Zonge skip-flag quality codes.
Codes#
2 → good quality 1 → kept but skip on plots 0 → rejected / bad data * → no data (placeholder)
- class pycsamt.zonge.property.Hardware(version='7.76', source_file=None, dated=None, processed=None, astatic_ver='v3.60', updated=None, tma_points=None, tma_freq=None, _extra=<factory>)[source]#
Bases:
objectMinimal provenance captured from banner / comment lines.
Many of these are informational and may not appear as $keywords. We keep
to_keywordsminimal to avoid inventing conventions.- Parameters:
- class pycsamt.zonge.property.Receiver(station=None, length_m=None, gdp_station=None, hpr=None, comps='ExHy', azimuth_deg=None, latitude=None, longitude=None, elevation=None, unit='m', notes=None)[source]#
Bases:
objectReceiver electrode / coil metadata (
$Rx.*).- Parameters:
- class pycsamt.zonge.property.Transmitter(station=None, length_m=None, gdp_station=None, tx_type=None, center=None, hpr=None, current_a=None, frequency_hz=None, latitude=None, longitude=None, notes=None)[source]#
Bases:
objectTransmitter loop / bipole metadata (
$Tx.*).- Parameters:
- class pycsamt.zonge.property.SurveyConfiguration(survey_type='CSAMT', array_type=None, line_name=None, line_number=None, line_azim_deg=None, stn_gdp_beg=None, stn_gdp_inc=None, stn_beg=None, stn_inc=None, stn_left=None, stn_right=None, unit_length='m', unit_emag='nV/Am', unit_hfield='pT/A', unit_phase='mrad', utm_zone=None, created=<factory>, _extra=<factory>)[source]#
Bases:
objectSurvey-level configuration taken from AVG headers.
- Parameters:
survey_type (str)
array_type (str | None)
line_name (str | None)
line_number (float | None)
line_azim_deg (float | None)
stn_gdp_beg (float | None)
stn_gdp_inc (float | None)
stn_beg (float | None)
stn_inc (float | None)
stn_left (float | None)
stn_right (float | None)
unit_length (str)
unit_emag (str)
unit_hfield (str)
unit_phase (str)
utm_zone (int | None)
created (str)
- set(**kwargs)[source]#
Set known fields; unknowns are stored in
_extraso nothing is lost on round-trip.- Return type:
None
- class pycsamt.zonge.property.SurveyAnnotation(project_name='CSAMTSurvey', project_area=None, customer_name='Zonge Engineering', contractor_name='Zonge', project_label='pyCSAMT', acq_date=<factory>, _extra=<factory>)[source]#
Bases:
objectProject-level annotation block (
$Job.*).- Parameters: