harmonica.DatasetAccessorTesseroidLayer#
- class harmonica.DatasetAccessorTesseroidLayer(xarray_obj)[source]#
Define dataset accessor for layer of tesseroids
Warning
This class in not intended to be initialized. Use the tesseroid_layer accessor for accessing the methods and attributes of this class.
See also
Methods Summary
Return the boundaries of the chosen tesseroid |
|
|
Computes the gravity generated by the layer of tesseroids |
Update top and bottom boundaries of the layer |
- DatasetAccessorTesseroidLayer.get_tesseroid(indices)[source]#
Return the boundaries of the chosen tesseroid
- Parameters:
indices (tuple) – Indices of the desired tesseroid of the layer in the following order:
(index_northing, index_easting)
.- Returns:
tesseroid (tuple) – Boundaries of the prisms in the following order:
longitude_w
,longitude_e
,latitude_s
,latitude_n
,bottom
,top
.
- DatasetAccessorTesseroidLayer.gravity(coordinates, field, progressbar=False, density_name='density', **kwargs)[source]#
Computes the gravity generated by the layer of tesseroids
- Parameters:
coordinates (list of arrays) – List of arrays containing the
longitude
,latitude
andradius
coordinates of the computation points, defined on a spherical geocentric coordinate system. Bothlongitude
andlatitude
should be in degrees andradius
in meters.field (str) – Gravitational field that wants to be computed. The variable fields are: - Gravitational potential:
potential
- Downward acceleration:g_z
progressbar (bool (optional)) – If True, a progress bar of the computation will be printed to standard error (stderr). Requires
numba_progress
to be installed. Default toFalse
.density_name (str (optional)) – Name of the property layer (or
data_var
of thexarray.Dataset
) that will be used for the density of each tesseroid in the layer. Default to"density"
- Returns:
result (array) – Gravitational field generated by the tesseroid on the computation point. Gravitational potential will be returned in SI units, while acceleration components will be in mGal.
See also
- DatasetAccessorTesseroidLayer.update_top_bottom(surface, reference)[source]#
Update top and bottom boundaries of the layer
Change the values of the
top
andbottom
coordinates based on the passedsurface
andreference
. Thetop
andbottom
boundaries of every tesseroid will be equal to the correspondingsurface
andreference
values, respectively, ifsurface
is above thereference
on that point. Otherwise thetop
andbottom
boundaries of the tesseroid will be equal to its correspondingreference
andsurface
, respectively.- Parameters:
surface (2d-array) – Array used to create the uppermost boundary of the tesseroid layer. All heights should be in meters. On every point where
surface
is belowreference
, thesurface
value will be used to set thebottom
boundary of that tesseroid, while thereference
value will be used to set thetop
boundary of the tesseroid.reference (2d-array or float) – Reference surface used to create the lowermost boundary of the tesseroid layer. It can be either a plane or an irregular surface passed as 2d array. Height(s) must be in meters.