# Path: skyfield/api.py
# N = E = +1.0
# S = W = -1.0
# 
# Path: skyfield/positionlib.py
# class Geocentric(ICRF):
#     """An |xyz| position measured from the center of the Earth.
# 
#     A geocentric position is the difference between the position of the
#     Earth at a given instant and the position of a target body at the
#     same instant, without accounting for light-travel time or the effect
#     of relativity on the light itself.
# 
#     Its ``.position`` and ``.velocity`` vectors have |xyz| axes that
#     are those of the Geocentric Celestial Reference System (GCRS), an
#     inertial system that is an update to J2000 and that does not rotate
#     with the Earth itself.
# 
#     """
#     _default_center = 399
# 
#     def itrf_xyz(self):
#         """Deprecated; instead, call ``.frame_xyz(itrs)``. \
#         See `reference_frames`."""
#         return self.frame_xyz(framelib.itrs)
# 
#     def subpoint(self):
#         """Deprecated; instead, call either ``iers2010.subpoint(pos)`` or \
#         ``wgs84.subpoint(pos)``."""
#         from .toposlib import iers2010
#         return iers2010.subpoint(self)


from assay import assert_raises
from skyfield.api import Topos, load
from skyfield.positionlib import Geocentric
 Geodetic 399 EARTH -> IERS2010 latitude +38.9215 N longitude -77.0669 E elevation 92.0 m"""

    assert repr(v) == """\
<VectorSum of 3 vectors:
 'de421.bsp' segment 0 SOLAR SYSTEM BARYCENTER -> 3 EARTH BARYCENTER
 'de421.bsp' segment 3 EARTH BARYCENTER -> 399 EARTH
 Geodetic 399 EARTH -> IERS2010 latitude +38.9215 N longitude -77.0669 E elevation 92.0 m>"""

    assert str(v.at(t)) == """\
<Barycentric BCRS position and velocity at date t center=0 target=IERS2010 latitude +38.9215 N longitude -77.0669 E elevation 92.0 m>"""

    v = earth - mars

    assert str(v) == """\
Sum of 4 vectors:
 Reversed 'de421.bsp' segment 499 MARS -> 4 MARS BARYCENTER
 Reversed 'de421.bsp' segment 4 MARS BARYCENTER -> 0 SOLAR SYSTEM BARYCENTER
 'de421.bsp' segment 0 SOLAR SYSTEM BARYCENTER -> 3 EARTH BARYCENTER
 'de421.bsp' segment 3 EARTH BARYCENTER -> 399 EARTH"""

    assert repr(v) == """\
<VectorSum of 4 vectors:
 Reversed 'de421.bsp' segment 499 MARS -> 4 MARS BARYCENTER
 Reversed 'de421.bsp' segment 4 MARS BARYCENTER -> 0 SOLAR SYSTEM BARYCENTER
 'de421.bsp' segment 0 SOLAR SYSTEM BARYCENTER -> 3 EARTH BARYCENTER
 'de421.bsp' segment 3 EARTH BARYCENTER -> 399 EARTH>"""

    assert str(v.at(t)) == "\
<ICRF position and velocity at date t center=499 target=399>"


# Path: skyfield/api.py
# N = E = +1.0
# S = W = -1.0
# 
# Path: skyfield/positionlib.py
# class Geocentric(ICRF):
#     """An |xyz| position measured from the center of the Earth.
# 
#     A geocentric position is the difference between the position of the
#     Earth at a given instant and the position of a target body at the
#     same instant, without accounting for light-travel time or the effect
#     of relativity on the light itself.
# 
#     Its ``.position`` and ``.velocity`` vectors have |xyz| axes that
#     are those of the Geocentric Celestial Reference System (GCRS), an
#     inertial system that is an update to J2000 and that does not rotate
#     with the Earth itself.
# 
#     """
#     _default_center = 399
# 
#     def itrf_xyz(self):
#         """Deprecated; instead, call ``.frame_xyz(itrs)``. \
#         See `reference_frames`."""
#         return self.frame_xyz(framelib.itrs)
# 
#     def subpoint(self):
#         """Deprecated; instead, call either ``iers2010.subpoint(pos)`` or \
#         ``wgs84.subpoint(pos)``."""
#         from .toposlib import iers2010
#         return iers2010.subpoint(self)


# Path: skyfield/tests/test_vectors.py
from assay import assert_raises
from skyfield.api import Topos, load
from skyfield.positionlib import Geocentric

 Geodetic 399 EARTH -> IERS2010 latitude +38.9215 N longitude -77.0669 E elevation 92.0 m"""

    assert repr(v) == """\
<VectorSum of 3 vectors:
 'de421.bsp' segment 0 SOLAR SYSTEM BARYCENTER -> 3 EARTH BARYCENTER
 'de421.bsp' segment 3 EARTH BARYCENTER -> 399 EARTH
 Geodetic 399 EARTH -> IERS2010 latitude +38.9215 N longitude -77.0669 E elevation 92.0 m>"""

    assert str(v.at(t)) == """\
<Barycentric BCRS position and velocity at date t center=0 target=IERS2010 latitude +38.9215 N longitude -77.0669 E elevation 92.0 m>"""

    v = earth - mars

    assert str(v) == """\
Sum of 4 vectors:
 Reversed 'de421.bsp' segment 499 MARS -> 4 MARS BARYCENTER
 Reversed 'de421.bsp' segment 4 MARS BARYCENTER -> 0 SOLAR SYSTEM BARYCENTER
 'de421.bsp' segment 0 SOLAR SYSTEM BARYCENTER -> 3 EARTH BARYCENTER
 'de421.bsp' segment 3 EARTH BARYCENTER -> 399 EARTH"""

    assert repr(v) == """\
<VectorSum of 4 vectors:
 Reversed 'de421.bsp' segment 499 MARS -> 4 MARS BARYCENTER
 Reversed 'de421.bsp' segment 4 MARS BARYCENTER -> 0 SOLAR SYSTEM BARYCENTER
 'de421.bsp' segment 0 SOLAR SYSTEM BARYCENTER -> 3 EARTH BARYCENTER
 'de421.bsp' segment 3 EARTH BARYCENTER -> 399 EARTH>"""

    assert str(v.at(t)) == "\
<ICRF position and velocity at date t center=499 target=399>"


    geocentric = Geocentric([0,0,0])