System

- class gspy.gs_dataset.System.System(xarray_obj)
- check_against_data(dataset)
Assert that gate time strings match the coordinates of the attached dataset.
- classmethod from_dict(**kwargs)
- property is_projected
Does the dataset have a projected spatial reference
- Returns:
out
- Return type:
bool
- classmethod metadata_template(key, name=None, transmitters=None, receivers=None, metadata=None)
A metadata template for one system, shaped to its transmitters and receivers.
- Parameters:
key (str) – Which method family to template, one of
templates().name (str, optional) – What to file the system under,
f"{key}_system"by default. Must contain “system”, because that is what a container looks for when it lifts system definitions out of a dataset’s metadata.transmitters (int or list of str, optional) – How many of each there are, or their labels. A count gives indexed labels. Both default to one. Where a family pairs its transmitters and receivers one to one, giving only one side mirrors it onto the other.
receivers (int or list of str, optional) – How many of each there are, or their labels. A count gives indexed labels. Both default to one. Where a family pairs its transmitters and receivers one to one, giving only one side mirrors it onto the other.
metadata (dict, optional) – What you already know about this system. Wins over the placeholders.
- Returns:
{name: the system}, ready to merge into a dataset’s metadata.- Return type:
gspy.Metadata
Notes
Fields are repeated to match the shape asked for, and collapse to a single value where there is only one of something. Couplets are worked out from the two sets of labels: every receiver measures every transmitter, unless the family pairs them off, and anything named per transmitter - time domain gate times, say - is named after the transmitter label it belongs to.
A template is a skeleton, not a system. Its dimensions hold placeholders where real gate times or frequencies go, so it will not build until those are filled in, the same way
Survey.metadata_templatedoes not yield a coordinate reference system fromwkid: '??'.Examples
Two moments read by two coils, so four couplets:
>>> System.metadata_template('tdem', name='skytem_system', ... transmitters=['LM', 'HM'], receivers=['z', 'x'])
Six frequencies, each coil pair its own couplet:
>>> System.metadata_template('fdem', transmitters=6)
- classmethod open(filename, **kwargs)
- required_metadata: tuple[str, ...] = ('type', 'mode', 'method', 'instrument')
Attributes every GS dataset must carry. Subclasses narrow or widen this.
- classmethod templates()
The method families that
metadata_templatecan shape a template for.- Return type:
tuple of str
- classmethod valid_instrument(**kwargs)
- classmethod valid_method(**kwargs)
- classmethod valid_model(**kwargs)