Skip to content

gravitools.quantity

GValue(value, error=0) dataclass

A relative gravity value

Provides arithmetic, string formatting and error propagation (sum of squares).

Examples:

>>> GValue(100, 10) + GValue(200, 10)
GValue(value=300, error=14.142135623730951)
>>> 10 * GValue(100, 10)
GValue(value=1000, error=100)
>>> str(GValue(123.456))
'123.5 nm/s²'
>>> str(GValue(123.456, 12.34))
'123.5 ± 12.3 nm/s²'

value instance-attribute

Gravity value, in nm/s²

error = 0 class-attribute instance-attribute

Standard error, in nm/s²

from_str(text) classmethod

Parse a gravity value string

Examples:

>>> GValue.from_str("123.4 nm/s²")
GValue(value=123.4, error=0)
>>> GValue.from_str("12.34 µGal")
GValue(value=123.4, error=0)
>>> GValue.from_str("123.4 ± 1.2 nm/s²")
GValue(value=123.4, error=1.2)

as_tuple()

Convert to a tuple of value and error

Gradient(value, error=0) dataclass

Vertical gravity gradient

Examples:

>>> str(Gradient(-3000))
'-3000.0 nm/s²/m'
>>> str(Gradient(-3000, 10))
'-3000.0 ± 10.0 nm/s²/m'

value instance-attribute

Vertical gravity gradient, in nm s-2 m-1

error = 0 class-attribute instance-attribute

Standard error, in nm s-2 m-1

from_str(text) classmethod

Convert string to Gradient

Examples:

>>> Gradient.from_str("-300 µGal/m")
Gradient(value=-3000.0, error=0)
>>> Gradient.from_str("-3000 nm/s²/m")
Gradient(value=-3000.0, error=0)
>>> Gradient.from_str("-300 µGal/m")
Gradient(value=-3000.0, error=0)

Parameters:

  • text (str) –

    Input string.

as_tuple()

Convert to a tuple of value and error

dg_height(height_difference)

Gravity height transfer correction

Parameters:

  • height_difference (float) –

    Difference to original measurement height, in meters.

Returns:

  • GValue

    Height transfer correction.

AbsGValue(value, error=0, height=None, vgg=None) dataclass

Absolute gravity value

Examples:

>>> AbsGValue(9.81e9, 30, height=1.25, vgg=Gradient(-3000))
AbsGValue(value=9810000000.0,  error=30, height=1.25,
    vgg=Gradient(value=-3000, error=0))
>>> str(AbsGValue(9.81e9))
'9,810,000,000.0 nm/s²'
>>> str(AbsGValue(9.81e9, 30))
'9,810,000,000.0 ± 30.0 nm/s²'
>>> str(AbsGValue(9.81e9, 30, 1.25))
'9,810,000,000.0 ± 30.0 nm/s² (1.25 m)'

value instance-attribute

Absolute gravity value, in nm/s²

error = 0 class-attribute instance-attribute

Standard error, in nm/s²

height = None class-attribute instance-attribute

Measurement height, in m

vgg = None class-attribute instance-attribute

Vertical gravity gradient used for height transfer

as_gvalue()

Convert to a relative gravity value

Examples:

>>> AbsGValue(9.81e9, 30).as_gvalue()
GValue(value=9810000000.0, error=30)

transfer(height)

Transfer gravity value to a different height

Parameters:

  • height (float) –

    New height, in meters.

Returns:

  • AbsGValue

    Absolute gravity value at new height

Examples:

>>> AbsGValue(9.8e9, 30, height=1.25, vgg=Gradient(-3200, 20)).transfer(0)
AbsGValue(value=9800004000.0, error=39.05124837953327, height=0,
    vgg=Gradient(value=-3200, error=20))

parse_quantity(text)

Parse a quantity string into value, uncertainty and units

Also accepts float values. These are simply passed through.

Examples:

>>> parse_quantity("12.34 ± 0.01 nm/s²")
(12.34, 0.01, 'nm/s²')
>>> parse_quantity(12.34)
(12.34, None, None)

parse_pressure_admittance(text)

Parse a pressure admittance string

Parameters:

  • text (str | float) –

    If the input is a number, it is assumed to be in units of nm/s²/hPa.

Returns:

  • float

    Pressure admittance value.

Examples:

>>> parse_pressure_admittance("-3 nm/s²/hPa")
-3.0
>>> parse_pressure_admittance("-0.3 µGal/hPa")
-3.0
>>> parse_pressure_admittance(-3)
-3.0

format_pressure_admittance(value)

Format a pressure admittance value

clean_pressure_admittance(text)

Parse a pressure admittance string and format in standard form

Examples:

>>> clean_pressure_admittance('-0.3 µGal/hPa')
'-3.00 nm/s²/hPa'

parse_height(text)

Parse a height string

If no units are specified, value is interpreted as meters. This is for compatibility with very early AQG metadata files.

Examples:

>>> parse_height("123.45 m")
123.45
>>> parse_height("123.45")
123.45

format_height(value)

Format a height value

clean_height(text)

Parse a height value string and format in standard form

Examples:

>>> clean_height('1.25')
'1.2500 m'

parse_coord_angle(text)

Parse a latitude or longitude angle string

Examples:

>>> parse_coord_angle("12.4567 °")
12.4567
>>> parse_coord_angle("12.4567°")
12.4567

format_coord_angle(value)

Format a coordinate angle value

clean_coord_angle(text)

Parse a coordinate angle and format in standard form

Examples:

>>> clean_coord_angle('12.34°')
'12.340000°'

parse_tilt_angle(text)

Parse an instrument tilt angle

Examples:

>>> parse_tilt_angle("1e-6 rad")
1e-06
>>> parse_tilt_angle("0.001 mrad")
1e-06
>>> parse_tilt_angle("1 µrad")
1e-06
>>> parse_tilt_angle(1e-6)
1e-06

parse_gravity(value)

Parse a gravity float value or string

clean_gravity(value)

Bring gravity value string to standard form

Examples:

>>> clean_gravity('12.34 µGal')
'123.4 nm/s²'
>>> clean_gravity(123.4)
'123.4 nm/s²'

parse_gradient(value)

Parse a gravity gradient value

clean_gradient(text)

Bring gravity gradient string to standard form

Examples:

>>> clean_gradient('-300 µGal/m')
'-3000.0 nm/s²/m'