Normal Gravity Field (pygeoid.reduction.normal)

Gravity field and geometry of the level ellipsoid.

class pygeoid.reduction.normal.Centrifugal(omega=<Quantity 7.292115e-05 rad / s>)[source]

Centrifugal potential and its derivatives.

Parameters:

omega (float) – Angular rotation rate of the body, in rad/s. Default value is the angular speed of Earth’s rotation 7292115e-11 rad/s

potential(lat, radius)[source]

Return centrifugal potential.

Parameters:
  • lat (Quantity) – Spherical (geocentric) latitude.

  • radius (Quantity) – Radius.

Return type:

Unit(“m2 / s2”)

r_derivative(lat, radius)[source]

Return radial derivative.

Parameters:
  • lat (Quantity) – Spherical (geocentric) latitude.

  • radius (Quantity) – Radius.

lat_derivative(lat, radius)[source]

Return latitude derivative.

Parameters:
  • lat (Quantity) – Spherical (geocentric) latitude.

  • radius (Quantity) – Radius.

gradient(lat, radius)[source]

Return centrifugal force.

Parameters:
  • lat (Quantity) – Spherical (geocentric) latitude.

  • radius (Quantity) – Radius.

Return type:

Unit(“m / s2”)

class pygeoid.reduction.normal.LevelEllipsoid(ellps=None, **kwargs)[source]

Class represents the gravity field of the level ellipsoid.

This class intialize Ellipsoid class from pygeoid.coordinates.ellipsoid, so all geometrical methods and parameters are available too.

Parameters:

ellps ({'GRS80', 'WGS84', 'PZ90', 'GSK2011'}, optional) – Ellipsoid name. Default is ‘GRS80’.

property j2

Return dynamic form factor J2.

property gm

Return geocentric gravitational constant.

property omega

Return angular velocity, in radians.

property m

Auxiliary constant.

Notes

\[m = \frac{{\omega}^2 a^2 b}{GM}.\]
property surface_potential

Return normal gravity potential on the ellipsoid.

Value of the normal gravity potential on the ellipsoid, or on the equipotential surface U(x, y, z) = U_0.

gravitational_potential(rlat, u_ax)[source]

Return normal gravitational potential V.

Calculate normal gravitational potential from the rigorous formula.

Parameters:
  • rlat (Quantity) – Reduced latitude.

  • u_ax (Quantity) – Polar axis of the ellipsoid passing through the point.

Returns:

Normal gravitational potential.

Return type:

Quantity

gravity_potential(rlat, u_ax)[source]

Return normal gravity potential U.

Calculate normal gravity potential from the rigorous formula.

Parameters:
  • rlat (Quantity) – Reduced latitude.

  • u_ax (Quantity) – Polar axis of the ellipsoid passing through the point.

Returns:

Normal gravity potential.

Return type:

Quantity

property equatorial_normal_gravity

Return normal gravity at the equator.

property polar_normal_gravity

Return normal gravity at the poles.

property mean_normal_gravity

Return mean normal gravity over ellipsoid.

property gravity_flattening

Return gravity flattening.

f* = (gamma_p - gamma_e) / gamma_e

conventional_gravity_coeffs()[source]

Return coefficients for the conventional gravity formula.

gamma_0 = gamma_e*(1 + beta*sin(lat)**2 - beta1*sin(2*lat)**2)

surface_normal_gravity(lat)[source]

Return normal gravity on the ellipsoid.

Calculate normal gravity value on the level ellipsoid by the rigorous formula of Somigliana.

Parameters:

lat (Quantity) – Geodetic latitude.

Returns:

Normal gravity on the ellipsoid.

Return type:

Quantity

surface_vertical_normal_gravity_gradient(lat)[source]

Return the vertical gravity gradient on the ellipsoid.

Vertical gradient of the normal gravity at the reference ellipsoid.

Parameters:

lat (Quantity) – Geodetic latitude.

height_correction(lat, height)[source]

Return height correction.

Second-order approximation formula is used instead of -0.3086*height.

Parameters:
  • lat (Quantity) – Geodetic latitude.

  • height (Quantity) – Geodetic height.

Return type:

Unit(“m / s2”)

normal_gravity(rlat, u_ax)[source]

Return normal gravity.

Calculate normal gravity value at any arbitrary point by the rigorous closed formula.

Parameters:
  • rlat (Quantity) – Reduced latitude.

  • u_ax (Quantity) – Polar axis of the ellipsoid passing through the point.

Returns:

Normal gravity.

Return type:

Quantity

j2n(n)[source]

Return even zonal coefficients J with a degree of 2*n.

If n = 0, the function will return -1. If n = 1, the function will return J2 (dynamic form factor). If n = 2, the function will return J4. If n = 3, the function will return J6. If n = 4, the function will return J8.

Parameters:

n (int) – Degree of the J coefficient.

Return type:

Unit(dimensionless)

gravitational_potential_sph(lat, radius, n_max=4)[source]

Return normal gravitational potential V.

Calculate normal gravitational potential from spherical approximation.

Parameters:
  • lat (Quantity) – Spherical (geocentric) latitude.

  • radius (Quantity) – Radius, in metres.

  • n_max (int) – Maximum degree.

Return type:

Unit(“m2 / s2”)

gravity_potential_sph(lat, radius, n_max=4)[source]

Return normal gravitational potential V.

Calculate normal gravitational potential from spherical approximation.

Parameters:
  • lat (Quantity) – Spherical (geocentric) latitude.

  • radius (Quantity) – Radius, in metres.

  • n_max (int) – Maximum degree.

Return type:

Unit(“m2 / s2”)

pygeoid.reduction.normal.surface_normal_gravity_clairaut(lat, model=None)[source]

Return normal gravity from the first Clairaut formula.

Parameters:
  • lat (Quantity) – Geodetic latitude.

  • model ({'helmert', 'helmert_14mGal', '1930', '1930_14mGal', '1967', '1980'}) – Which gravity formula will be used.

Return type:

Unit(“m / s2”)