Source code for gmeterpy.corrections.atmosphere

# -*- coding: utf-8 -*-
"""Atmospheric pressure correction.

This module contains the atmospheric correction to the gravity observations.

"""

import gmeterpy.units as u
import gmeterpy.constants as c


[docs]@u.quantity_input def normal_pressure(height: u.m) -> u.Pa: r"""Normal atmospheric pressure. Parameters ---------- height : ~astropy.units.Quantity Height above sea level. Returns ------- pn : ~astropy.units.Quantity Normal pressure. Notes ----- The normal pressure is referred to the DIN5450 (ISO 2533:1975) Standard Atmosphere [1]_: .. math:: p_n = 101325 \left(1 - 0.0065 \dfrac{H}{288.15}\right)^{5.2559}\quad [\textrm{Pa}] where :math:`H` -- physical height of the station in metres. Reference --------- .. [1] International Organization for Standardization 1975 Standard Atmosphere ISO 2533 1975 """ # pn = 101325 * (1 - 0.0065 * height / 288.15) ** 5.2559 pn = c.p0 * (1 - c.L * height / c.Tn)**(c.gn * c.M / c.R / c.L).round(4) return pn
[docs]@u.quantity_input def atmospheric_pressure_correction(height: u.m, pressure: u.Pa, barometric_factor: u.uGal / u.mbar = c.atm_sens) -> u.uGal: r"""Atmospheric pressure correction. Parameters ---------- height : ~astropy.units.Quantity Height above sea level. pressure : ~astropy.units.Quantity Observed atmospheric pressure. barometric_factor : ~astropy.units.Quantity Barometric factor. Default is 0.3 uGal / mBar as recommended by IAG. Returns ------- delta_g_atm : ~astropy.units.Quantity Atmospheric pressure correction. Notes ----- The lumped effects of direct gravitation of air mass changes and indirect effect via deformation of the solid earth have been determined empirically from air pressure variations. It is recommended to reduce these effects through (IAG 1983 resolution no. 9) .. math:: \Delta g = 0.30\times 10^{-10} (p_a - p_n)\quad [\textrm{ms}^{-2}] where :math:`p_a` -- actual observed air pressure, :math:`p_n` -- normal pressure calculated by `gmeterpy.corrections.atmosphere.normal_pressure` function, 0.3 uGal / mBar -- default barometric factor. The actual value of :math:`p_n` needs to be documented. """ delta_p = pressure - normal_pressure(height) delta_g_atm = barometric_factor * delta_p return delta_g_atm