# Path: pygeoid/constants/iers2010.py
# G = _Constant(
#     abbrev='G',
#     name='Constant of gravitation',
#     value=6.67428e-11,
#     unit='m**3 / (kg * s**2)',
#     uncertainty=6.7e-15,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# L_G = _Constant(
#     abbrev='L_G',
#     name='1 - d(TT)/d(TCG)',
#     value=6.969290134e-10,
#     unit='',
#     uncertainty=0,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# W0 = _Constant(
#     abbrev='W0',
#     name='Potential of the geoid',
#     value=62636856.0,
#     unit='m**2 / s**2',
#     uncertainty=0.5,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# R0 = _Constant(
#     abbrev='R0',
#     name='Geopotential scale factor (GM/W0)',
#     value=6363672.6,
#     unit='m',
#     uncertainty=0.1,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# H = _Constant(
#     abbrev='H',
#     name='Dynamical flattening',
#     value=3273795e-9,
#     unit='',
#     uncertainty=1e-9,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# DEGREE2_LOVE_NUMBERS = {'k': k2, 'l': l2, 'h': h2}
# def tcg_to_tt(x):
# def l2_shida_number(lat: _u.deg = None) -> _u.dimensionless_unscaled:
# def h2_love_number(lat: _u.deg = None) -> _u.dimensionless_unscaled:


from astropy.constants import Constant as _Constant
from pyshtools.constants.Moon import gm as gm_moon
from .iers2010 import GM_sun as gm_sun
from pyshtools.constants.Mars import gm as gm_mars
from pyshtools.constants.Venus import gm as gm_venus
from pyshtools.constants.Mercury import gm as gm_mercury
    uncertainty=1e9,
    reference='Jacobson, R. A., Antreasian, P. G., Bordi, J. J., '
    'Criddle, K. E., Ionasescu,R., Jones, J. B., Mackenzie, R. A., '
    'Pelletier, F. J., Owen Jr., W. M., Roth, D. C., and Stauch, J. R., '
    '(2006), The gravity field of the Saturnian system from satellite '
    'observations and spacecraft tracking data, '
    'Astronomical Journal 132, 6.')

gm_uranus = _Constant(
    abbrev='gm_uranus',
    name='Gravitational constant times the mass of Uranus',
    value=5793951.3e9,
    unit='m3 / s2',
    uncertainty=4.4e9,
    reference='Jacobson, R. A. (2014), The Orbits of the Uranian '
    'Satellites and Rings, the Gravity Field of the Uranian System, '
    'and the Orientation of the Pole of Uranus, '
    'Astronomical Journal 148, 76-88.')

gm_neptune = _Constant(
    abbrev='gm_neptune',
    name='Gravitational constant times the mass of Neptune',
    value=6835100e9,
    unit='m3 / s2',
    uncertainty=10e9,
    reference='Jacobson, R. A. (2009), The Orbits of the Neptunian '
    'Satellites and the Orientation of the Pole of Neptune, '
    'Astronomical Journal 137, 4322.')



# Path: pygeoid/constants/iers2010.py
# G = _Constant(
#     abbrev='G',
#     name='Constant of gravitation',
#     value=6.67428e-11,
#     unit='m**3 / (kg * s**2)',
#     uncertainty=6.7e-15,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# L_G = _Constant(
#     abbrev='L_G',
#     name='1 - d(TT)/d(TCG)',
#     value=6.969290134e-10,
#     unit='',
#     uncertainty=0,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# W0 = _Constant(
#     abbrev='W0',
#     name='Potential of the geoid',
#     value=62636856.0,
#     unit='m**2 / s**2',
#     uncertainty=0.5,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# R0 = _Constant(
#     abbrev='R0',
#     name='Geopotential scale factor (GM/W0)',
#     value=6363672.6,
#     unit='m',
#     uncertainty=0.1,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# H = _Constant(
#     abbrev='H',
#     name='Dynamical flattening',
#     value=3273795e-9,
#     unit='',
#     uncertainty=1e-9,
#     reference='IERS Conventions(2010), '
#     'IERS Technical Note 36, '
#     'Verlagdes Bundesamts für Kartographie und Geodäsie, '
#     'Frankfurt am Main, Germany.')
# DEGREE2_LOVE_NUMBERS = {'k': k2, 'l': l2, 'h': h2}
# def tcg_to_tt(x):
# def l2_shida_number(lat: _u.deg = None) -> _u.dimensionless_unscaled:
# def h2_love_number(lat: _u.deg = None) -> _u.dimensionless_unscaled:


# Path: pygeoid/constants/solar_system_gm.py
from astropy.constants import Constant as _Constant
from pyshtools.constants.Moon import gm as gm_moon
from .iers2010 import GM_sun as gm_sun
from pyshtools.constants.Mars import gm as gm_mars
from pyshtools.constants.Venus import gm as gm_venus
from pyshtools.constants.Mercury import gm as gm_mercury

    uncertainty=1e9,
    reference='Jacobson, R. A., Antreasian, P. G., Bordi, J. J., '
    'Criddle, K. E., Ionasescu,R., Jones, J. B., Mackenzie, R. A., '
    'Pelletier, F. J., Owen Jr., W. M., Roth, D. C., and Stauch, J. R., '
    '(2006), The gravity field of the Saturnian system from satellite '
    'observations and spacecraft tracking data, '
    'Astronomical Journal 132, 6.')

gm_uranus = _Constant(
    abbrev='gm_uranus',
    name='Gravitational constant times the mass of Uranus',
    value=5793951.3e9,
    unit='m3 / s2',
    uncertainty=4.4e9,
    reference='Jacobson, R. A. (2014), The Orbits of the Uranian '
    'Satellites and Rings, the Gravity Field of the Uranian System, '
    'and the Orientation of the Pole of Uranus, '
    'Astronomical Journal 148, 76-88.')

gm_neptune = _Constant(
    abbrev='gm_neptune',
    name='Gravitational constant times the mass of Neptune',
    value=6835100e9,
    unit='m3 / s2',
    uncertainty=10e9,
    reference='Jacobson, R. A. (2009), The Orbits of the Neptunian '
    'Satellites and the Orientation of the Pole of Neptune, '
    'Astronomical Journal 137, 4322.')



_gm_body = {'moon' : gm_moon, 'sun' : gm_sun, 'mars' : gm_mars,