def vsop(jde, FK5=True):
    ''' Calculate ecliptical longitude of earth in heliocentric coordinates,
    use VSOP87D table, heliocentric spherical, coordinates referred to the mean
    equinox of the date,

    In A&A, Meeus said while the complete VSOP87 yields an accuracy of 0.01",
    the A&A abridge VSOP87 has an accuracy  of 1" for -2000 - +6000.

    The VSOP87D table used here is a truncated version, done by the
    vsoptrunc-sph.c from Celestia.

    Arg:
        jde: in JDTT
    Return:
        earth longitude in radians, referred to mean dynamical ecliptic and
        equinox of the date

        '''

    t = (jde - J2000) / 365250.0
    L0 = vsopLx(earth_L0, t)
    L1 = vsopLx(earth_L1, t)
    L2 = vsopLx(earth_L2, t)
    L3 = vsopLx(earth_L3, t)
    L4 = vsopLx(earth_L4, t)
    L5 = vsopLx(earth_L5, t)

    lon = (L0 + t * (L1 + t * (L2 + t * (L3 + t * (L4 + t * L5)))))

    if FK5:
        deltalon = -4.379321981462438e-07
        lon += deltalon

    return lon
 Calculate ecliptical longitude of earth in heliocentric coordinates,
    use VSOP87D table, heliocentric spherical, coordinates referred to the mean
    equinox of the date,

    In A&A, Meeus said while the complete VSOP87 yields an accuracy of 0.01",
    the A&A abridge VSOP87 has an accuracy  of 1" for -2000 - +6000.

    The VSOP87D table used here is a truncated version, done by the
    vsoptrunc-sph.c from Celestia.

    Arg:
        jde: in JDTT
    Return:
        earth longitude in radians, referred to mean dynamical ecliptic and
        equinox of the date

        
aa.py