gwexpy.interop.harmonica_

Interoperate with Harmonica gravity and magnetic grids.


Interoperability with Harmonica gravity/magnetic grids.

Harmonica (from the Fatiando a Terra project) works primarily with xarray.DataArray and xarray.Dataset objects using easting/northing or longitude/spherical_latitude coordinates. Units are implicitly SI (metres, mGal, nT, etc.).

This module maps Harmonica grids to GWexpy ScalarField or VectorField by delegating to gwexpy.interop.xarray_.from_xarray_field().

References

https://www.fatiando.org/harmonica/

Functions

from_harmonica_grid(cls,Β ds,Β *[,Β data_name])

Convert a Harmonica xarray grid to a ScalarField or VectorField.

gwexpy.interop.harmonica_.from_harmonica_grid(cls: type, ds: Any, *, data_name: str | None = None) ScalarField | VectorField[source]

Convert a Harmonica xarray grid to a ScalarField or VectorField.

Harmonica grids typically have dimensions easting/northing (for projected coordinates) or longitude/latitude (for geographic coordinates), with an optional upward dimension for height.

Parameters:
  • cls (type) – ScalarField or VectorField.

  • ds (xarray.DataArray or xarray.Dataset) – Harmonica grid data. A Dataset is treated as a VectorField unless data_name is given, in which case a single variable is extracted.

  • data_name (str, optional) – Variable name to extract from a Dataset. If not given and ds is a Dataset, all variables become VectorField components.

Returns:

  • ScalarField – When ds is a DataArray or data_name is given.

  • VectorField – When ds is a Dataset and data_name is not given.