The Solar System using NAIF SPICE kernels

Post requests, images, descriptions and reports about work in progress here.
Topic author
volcanopele
Posts: 103
Joined: 05.02.2007
With us: 17 years 10 months

The Solar System using NAIF SPICE kernels

Post #1by volcanopele » 03.03.2009, 04:29

I announce the release of my NAIF SPICE Kernel Solar System addon. This add-on makes use of Celestia's support for NAIF SPICE kernels to improve the accuracy of planetary and satellite positions. This add-on includes every planet, moon, and the Pluto system. Currently these SPICE kernels generally run from 1900-2053 with keplerian orbits or Celestia's built-in calculations used outside that timeframe. Accuracy runs from sub-km scales for the moon, ~1 km for Earth, Mars, and Venus, and 2-3 km for Mercury, Jupiter, and Saturn. Please read the instructions in the files linked below thoroughly before running. Most of the spice files are not included in order to reduce the file size of the add-on package. The file FILES TO DOWNLOAD.txt includes a list of all the files you need to download to the add-on's data directory. Grand total, expect to download 2-3 GB worth of files from the NAIF FTP site.

For now, I have created an add-on for the entire solar system, which includes a separate folder for Barycenters, which facilitates the use of Spice kernels in other add-ons, for other spacecraft. I have also created a separate add-on for the Cassini Mission, but that requires the Solar System Add-on for it to be used to full effect.

Solar System using NAIF SPICE kernels
http://pirlwww.lpl.arizona.edu/~perry/C ... mSPICE.zip

Cassini SPICE add-on
http://pirlwww.lpl.arizona.edu/~perry/C ... iSPICE.zip

Positions for Cassini run from Launch through the end of the Extended mission. However, the kernels for orientation run out on August 25, 2009.

This add-on requires Celestia Version 1.6, currently in development, but nearing completion. Compiled versions can be downloaded from the Development sub-forum.

Future SPICE add-ons include support for the following missions: Juno, New Horizons, Galileo, and Mars Reconnaissance Orbiter.
Hands off: C55AFB738D58F4B81D3A4722551D25E1
The Gish Bar Times - A Blog all about Jupiter's Moon Io

Topic author
volcanopele
Posts: 103
Joined: 05.02.2007
With us: 17 years 10 months

Re: The Solar System using NAIF SPICE kernels

Post #2by volcanopele » 03.03.2009, 04:48

Jupiter_moons.jpg

This screenshot shows one of the neat things that this add-on can display that the default orbit definitions can't. This shows the orbits of all the minor outer satellites of Jupiter. Each color corresponds to a different dynamical group of outer satellites. One thing you might notice are the kinks in the orbital paths. Particularly look at 2003 J2 near the lower left corner for an extreme example. These kinks are caused by solar perturbations on the orbit of these small rocks, where the sun's gravitational influence is almost as much as Jupiter's. So their orbits precess about Jupiter at a rather rapid rate. This shows up here as visible differences in the position of these moons between the start of an orbit and the end of the at orbit.
Hands off: C55AFB738D58F4B81D3A4722551D25E1
The Gish Bar Times - A Blog all about Jupiter's Moon Io

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 10 months

Re: The Solar System using NAIF SPICE kernels

Post #3by ElChristou » 03.03.2009, 10:17

volcanopele wrote:
Jupiter_moons.jpg

This screenshot shows one of the neat things that this add-on can display that the default orbit definitions can't. This shows the orbits of all the minor outer satellites of Jupiter. Each color corresponds to a different dynamical group of outer satellites. One thing you might notice are the kinks in the orbital paths. Particularly look at 2003 J2 near the lower left corner for an extreme example. These kinks are caused by solar perturbations on the orbit of these small rocks, where the sun's gravitational influence is almost as much as Jupiter's. So their orbits precess about Jupiter at a rather rapid rate. This shows up here as visible differences in the position of these moons between the start of an orbit and the end of the at orbit.

Interesting...
Now, imagine we could have an automated fully transparent process that would update the Celestia default database according to Spice kernels to keep ALL bodies as accurate as possible... that would be fantastic... :o
As a parenthesis, concerning the kinks in the orbit we definitively need a better graphic solution but I guess Chris have this in his todo list for next big revision...
Image

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #4by John Van Vliet » 04.03.2009, 05:38

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 05:48, edited 1 time in total.

Topic author
volcanopele
Posts: 103
Joined: 05.02.2007
With us: 17 years 10 months

Re: The Solar System using NAIF SPICE kernels

Post #5by volcanopele » 04.03.2009, 07:14

Okay, if you already have the Saturn add-on, this does supercede that. If you downloaded the last version of my Saturn add-on, just move the .bsp files that start with "sat", like sat296.bsp, to the extras/zzSolarSystemSpice/data directory (that way you don't need to download them again). For the Cassini mission optional add-on linked above, move all the other .bsp and .bc files over to the extras/CassiniSPICE/data directory. You will need to download the following kernel that I added in the last few days:

ftp://naif.jpl.nasa.gov/pub/naif/CASSIN ... h_psiv2.bc

Once those kernel files are copied over, you should then delete the Saturn add-on so it doesn't interfere.
Hands off: C55AFB738D58F4B81D3A4722551D25E1
The Gish Bar Times - A Blog all about Jupiter's Moon Io

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #6by John Van Vliet » 04.03.2009, 19:29

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 05:48, edited 1 time in total.

mbar
Posts: 10
Joined: 25.12.2009
With us: 14 years 11 months

Re: The Solar System using NAIF SPICE kernels

Post #7by mbar » 08.04.2010, 07:02

Volcanopele, Sorry to trouble you after your extensive work on the SPICE kernel. But I just recently got interested to this subject. One point: how can one download easily (automatically) the numerous ftp files of the SPICE kernel I am not a specialist of DOS ! I probably need a simple batch. Sorry t ask so basic question :oops:
Michel

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #8by John Van Vliet » 08.04.2010, 08:05

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 05:48, edited 1 time in total.

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #9by John Van Vliet » 14.02.2011, 03:21

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 05:47, edited 1 time in total.

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #10by John Van Vliet » 30.01.2012, 05:14

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 05:47, edited 1 time in total.

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #11by John Van Vliet » 05.05.2012, 07:24

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 05:47, edited 1 time in total.

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Re: The Solar System using NAIF SPICE kernels

Post #12by Chuft-Captain » 23.10.2012, 19:47

Hi guys,

To date, for my usual purposes, I've been satisfied with the overall accuracy of the standard Celestia distribution, so I've never done anything with SPICE Kernels. Now, with New Horizons approaching it's goal in a few years time, I thought it's time I gave my Solar System an upgrade.

I apologize in advance if some of my questions are a bit ignorant, but I've never touched anything to do with SPICE files, so I'm a complete rookie with how it all hangs together.

So I have DL'd and installed volcanopele's solarsystem addon, and am in the process of downloading the latest kernels.
What's a little confusing is: when browsing the FTP site, how do you know which are the necessary or correct files to download?
The current list of available files is different to the list in JVV's last update (Mon Jan 30, 2012 6:14 am). Some listed by John are no longer there, there are some new ones with higher numbers. What is the rule?
So far I have got:

Code: Select all

jup230l.bsp
jup230-rocks.bsp
jup282.bsp
mar097.bsp
nep077.bsp
nep081.bsp
nep085.bsp
plu022.bsp
sat351.bsp
sat353.bsp
sat353-rocks.bsp
sat354.bsp
ura083.bsp
ura091.bsp
ura095.bsp

What's confusing is that in some cases, the higher numbered .bsp file seems to supersede the lower one (eg. There's a couple of .txt files: mar097-vs-mar085_deimos.txt and mar097-vs-mar085_phobos.txt which seem to suggest that mar097.bsp replaces mar085.bsp, plus the fact that mar085.bsp is no longer on the site would seem to suggest that this is the case.)
In other cases, it seems that all of them are required. eg. JVV uses al 3 of:

Code: Select all

ura083.bsp
ura091.bsp and
ura095.bsp


So, what's the process for determining which files to download? Is there even a general rule?
I would like to try and avoid downloading superseded files as some of them are quite large, but it seems that there is no clear rule that a higher numbered one supersedes the lower one. In some cases, all appear to be required.

Also, why does de423.bsp have to be installed in BOTH the aaBarycenters\data folder AND the zzSolarSystem\data folder? .. and are older versions de431.bsp?, de421.bsp?, no longer required, or is this a case where BOTH are still required?

Final question...
Aside from de423.bsp, which John mentioned above, how do we know if any of the original files that shipped with the addon:
cpck02Feb2009.tpc de421.bsp sat291.bsp
cpck_rock_02Feb2009_merged.tpc jup230-rocks.bsp ura074.bsp
cpck_rock_11Mar2009_merged.tpc jup255.bsp ura086.bsp
cpck_rock_11May2009_merged.tpc pck00008.tpc
and in
aaBarycenters/data
de421.bsp
need to be updated, deleted, or superseded?

EDIT:One final, final question: :roll:
It looks as though I need to get the SPICE Toolkit as well? ... or is this only required by the DEV's?
It seems to me that just some or all of the Utilities will be sufficient for my purposes: http://naif.jpl.nasa.gov/naif/utilities_PC_Windows_32bit.html

Cheers
CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #13by John Van Vliet » 23.10.2012, 23:27

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 04:12, edited 1 time in total.

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Re: The Solar System using NAIF SPICE kernels

Post #14by Chuft-Captain » 10.11.2012, 09:42

I was just wondering if anyone has asked Chris how/if he plans to handle the issue of orbit display for planets with SPICED orbits.
For example, the orbit of a SPICED Earth looks like this:
eart-orbit-SPICED.jpg
EDIT:[This is fine of course]...because Earth is now orbiting it's Earth-Moon barycenter, rather than the Sun...

BUT: Now it's the barycenter "Earth_bary" that is in orbit around the Sun). so an orrery of a (partially) SPICED Solar System will look rather bare of orbits (with orbit rendering enabled):
orrery-SPICED.jpg


Perhaps all that is needed is the ability to render barycenter orbits, but I suspect it may be a bit more complicated than that.
Also, I suspect that SPICE kernels will play havoc with any scripts that rely on the usual parent-child relationships, ...although I haven't investigated this aspect yet.
eg.

Code: Select all

object:getinfo().parent, etc


There's also the issue of whether there is (any need for) an established convention for the naming of barycenters.
eg. Celestia's convention (pre-SPICE) was/is : "Pluto-Charon", whereas the implementations (by volcanopele) I've seen so far use "Pluto_bary", etc...
Last edited by Chuft-Captain on 10.11.2012, 14:04, edited 3 times in total.
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #15by John Van Vliet » 10.11.2012, 10:03

--- edit ---
Last edited by John Van Vliet on 19.10.2013, 04:06, edited 1 time in total.

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Re: The Solar System using NAIF SPICE kernels

Post #16by Chuft-Captain » 10.11.2012, 11:16

John,

I don't understand what you mean. The aaBarycenters.ssc that I have appears to specify all Periods in "days". Are you saying that Periods should be in years?

Code: Select all

   Line 13:      Period 90 -- Mercury
   Line 30:      Period 225 -- Venus
   Line 47:      Period 366 -- Earth
   Line 64:      Period 687 -- Mars
   Line 97:      Period 10833 -- Saturn
   Line 114:      Period 30799.095 -- Uranus
   Line 131:      Period 60191 -- Neptune

It seems to me that it shouldn't be necessary to specify a Period at all for a SPICE orbit, as all the information for the orbit is contained in the KERNEL.

Interestingly, the planets which DO display orbits correctly on my system (eg. Jupiter) don't have any Period specified at all in the SSC.
[CORRECTION: The only planet that displays an orbit in the orrery is Saturn (which has: Period 10833 )

I'm going to go ahead and comment out all "Period" directives in aaBarycenters.ssc as I believe that will fix it.
EDIT: This made no difference.

I can't see what connection the Period could possibly have with the display of the orbits.

Perhaps this is actually due to having an incomplete set of kernels or referring to the wrong kernel. ??

CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

Avatar
Limax7
Posts: 98
Joined: 23.01.2010
Age: 45
With us: 14 years 10 months
Location: Poland, Bialystok

Re: The Solar System using NAIF SPICE kernels

Post #17by Limax7 » 10.11.2012, 13:30

Chuft-Captain wrote:I can't see what connection the Period could possibly have with the display of the orbits.

Perhaps this is actually due to having an incomplete set of kernels or referring to the wrong kernel. ??

CC


Try add

Code: Select all

   Class "planet"
    Visible true
    Clickable true


in ReferencePoint to all planets and Period in years.

I have that in aabarycenters.ssc

Code: Select all

ReferencePoint "Mercury_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "1"
        Origin "0"
      Period 0.2408467

        BoundingRadius 1e10
    }
}

ReferencePoint "Venus_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "2"
        Origin "0"
      Period 0.61519726

        BoundingRadius 1e10
    }
}

ReferencePoint "Earth_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "3"
        Origin "0"
      Period 1

        BoundingRadius 1e10
    }
}

ReferencePoint "Mars_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "4"
        Origin "0"
      Period 1.88081578

        BoundingRadius 1e10
    }
}

ReferencePoint "Jupiter_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "5"
        Origin "0"
      Period 11.862615

        BoundingRadius 1e10
    }
}

ReferencePoint "Saturn_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "6"
        Origin "0"
      Period 29.447498

        BoundingRadius 1e10
    }
}

ReferencePoint "Uranus_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "7"
        Origin "0"
      # Period 88

        BoundingRadius 1e10
    }
}

ReferencePoint "Neptune_bary" "Sol"
{
   Class "planet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
        Target "8"
        Origin "0"
      # Period 170

        BoundingRadius 1e10
    }
}

ReferencePoint "Pluto_bary" "Sol"
{
   Class "dwarfplanet"
    Visible true
    Clickable true

    Beginning "1899 07 29 00:00:00.000"
    Ending    "2053 10 09 00:00:00.000"
   
   # Beginning      "1964 04 26 00:00:00.000"
   # Ending      "2051 01 02 00:00:00.000"

    OrbitFrame { EclipticJ2000 { Center "SSB"}}

    SpiceOrbit
    {
        Kernel "de421.bsp"
      Target "9"
      Origin "0"
      # Period 260

      BoundingRadius 1e10
   }
}


If you have added ReferencePoints in other ssc files then add
Class "planet"
Visible true
Clickable true

too.

And don't add (") in true only "planet" must have (").
Adam Hurcewicz
Bialystok, Poland

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 3 months

Re: The Solar System using NAIF SPICE kernels

Post #18by John Van Vliet » 10.11.2012, 20:30

--- edit ---

Avatar
Limax7
Posts: 98
Joined: 23.01.2010
Age: 45
With us: 14 years 10 months
Location: Poland, Bialystok

Post #19by Limax7 » 07.12.2018, 08:59

Hi I have strange problem with shadows in Mars surface when I use SPICE :(

See this in animation of rotating Mars
phpBB [media]

https://www.youtube.com/watch?v=XhErXlMskJU


I have got all Barycenters and Solar system bodies here is my folder structure and ssc files:

2018-12-07_095752.png


00Barycenter.ssc

Code: Select all

# this file is called "1.barycenter.ssc" so that it is read FIRST!!!!!!
ReferencePoint "Mercury_bary" "Sol"
  {
  Beginning      "1549 12 31 00:00:00.000"
  Ending         "2650 01 25 00:00:00.000"
 
  OrbitFrame     { EclipticJ2000 { Center "SSB"}}
  Visible        true
  Clickable      true
 
  SpiceOrbit
  {
    Kernel       "de438.bsp"
    Target       "1"
    Origin       "0"
    Period        0.25
    BoundingRadius 1e10
    }
   }
 
  ReferencePoint "Venus_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame     { EclipticJ2000 { Center "SSB"}}
      Visible        true
      Clickable      true
     
      SpiceOrbit
      {
        Kernel       "de438.bsp"
        Target       "2"
        Origin       "0"
        Period        1
        BoundingRadius 1e10
      }
    }
   
    ReferencePoint "Earth_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame     { EclipticJ2000 { Center "SSB"}}
      Visible        true
      Clickable      true
         
      SpiceOrbit
      {
        Kernel       "de438.bsp"
        Target       "3"
        Origin       "0"
        Period        1
        BoundingRadius 1e10
      }     
    }
       
    ReferencePoint "Mars_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame     { EclipticJ2000 { Center "SSB"}}
      Visible        true
      Clickable      true
      SpiceOrbit
      {
        Kernel       "de438.bsp"
        Target       "4"
        Origin       "0"
        Period        2
        BoundingRadius 1e10
      }
    }
       
    ReferencePoint "Jupiter_bary" "Sol"
    {   
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame { EclipticJ2000 { Center "SSB"}}
      Visible true
      Clickable true
     
      SpiceOrbit
      {
        Kernel "de438.bsp"
        Target "5"
        Origin "0"
        Period  12
        BoundingRadius 1e10
      }     
    }
   
    ReferencePoint "Saturn_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame { EclipticJ2000 { Center "SSB"}}
      Visible true
      Clickable true
     
      SpiceOrbit
      {
        Kernel "de438.bsp"
        Target "6"
        Origin "0"
        Period 29.4577
        BoundingRadius 1e10
      }
    }
   
    ReferencePoint "Uranus_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame { EclipticJ2000 { Center "SSB"}}
      Visible true
      Clickable true
      SpiceOrbit
      {
        Kernel "de438.bsp"
        Target "7"
        Origin "0"
        Period 85
        BoundingRadius 1e10
      }
    }
   
    ReferencePoint "Neptune_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame { EclipticJ2000 { Center "SSB"}}
      Visible true
      Clickable true
     
      SpiceOrbit
      {
        Kernel "de438.bsp"
        Target "8"
        Origin "0"
        Period 166
        BoundingRadius 1e10
      }
    }
   
    ReferencePoint "Pluto_bary" "Sol"
    {
      Beginning      "1549 12 31 00:00:00.000"
      Ending         "2650 01 25 00:00:00.000"
     
      OrbitFrame { EclipticJ2000 { Center "SSB"}}
      Visible true
      Clickable true
     
      SpiceOrbit
      {
        Kernel "de438.bsp"
      Target "9"
      Origin "0"
      Period   247.89
        BoundingRadius 1e10
      }
    }



and 01SolarSystem.ssc

Code: Select all

Modify "Mercury" "Sol"
 {
   Timeline
   [
   # Before SPICE
   {
     
     BodyFrame { EquatorJ2000 { Center "Sol" } }
     Ending   "1550 02 27 00:00:00.000"  # add 2 months for orbit drawing
     CustomOrbit "vsop87-mercury"
     CustomRotation "iau-mercury"
   }
   # Spice
   {
     OrbitFrame { EclipticJ2000  { Center "Sol/Mercury_bary" }}
     BodyFrame  { EclipticJ2000 { Center "Sol"              }}
     Ending     "2649 11 25 00:00:00.000"  # less 2 month for orbit drawing
   
     
     SpiceOrbit
     {
       Kernel  "de438.bsp"
       Target  "199"
       Origin  "1"
       Period   0.2441  # earth years
       BoundingRadius 1e10
     }
     
     #CustomRotation "iau-mercury"
     SpiceRotation
     {
       Kernel    [ "pck00010.tpc"  "naif0012.tls"  ]
       Frame     "IAU_MERCURY" 
     }
     }
     # After SPICE
     {       
       BodyFrame { EquatorJ2000 { Center "Sol" } }
       CustomOrbit "vsop87-mercury"
       CustomRotation "iau-mercury"
     }
   ]
   Albedo            0.06
   }
   
Modify "Venus" "Sol"
   {
     Timeline
     [
     # Before SPICE
     {
       BodyFrame { EquatorJ2000 { Center "Sol" } }
       Ending   "1550 02 27 00:00:00.000"  # add 2 months for orbit drawing       
       CustomOrbit "vsop87-venus"
       CustomRotation "iau-venus"
     }
     # SPICE
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Venus_bary" }}
       BodyFrame  { EclipticJ2000 { Center "Sol"            }}     
       Ending     "2649 11 25 00:00:00.000"  # less 3 month for orbit
       
       SpiceOrbit
       {
         Kernel  "de438.bsp"
         Target  "299"
         Origin  "2"
    Period   0.615
         BoundingRadius 1e10
       }   
       #CustomRotation "iau-venus"

       SpiceRotation
        {
       Kernel    [ "pck00010.tpc"  "naif0012.tls"  ]
       Frame     "IAU_VENUS"
       }
     }   
     # After SPICE
     {
       BodyFrame { EquatorJ2000 { Center "Sol" } }     
       CustomOrbit "vsop87-venus"
       CustomRotation "iau-venus"
     }   
    ]     
   }
   
Modify "Earth" "Sol"
   {
     Timeline
     [
     # Before SPICE
     {
       BodyFrame { EquatorJ2000 { Center "Sol" } }
       Ending   "1550 02 27 00:00:00.000"  # add 2 month for orbit drawing   
       CustomOrbit "vsop87-earth"
       CustomRotation "iau-earth"
     }
     # SPICE
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Earth_bary"}}
       BodyFrame { EclipticJ2000 { Center "Sol" } }
       Ending    "2649 11 25 00:00:00.000"  # less 2 month for orbit
       SpiceOrbit
       {
         Kernel "de438.bsp"
         Target "399"
         Origin "3"
         Period 1
         BoundingRadius 1e10
       }     
       SpiceRotation
       {

          Kernel       
          [
          "pck00010.tpc"
          "naif0012.tls"
          "earth_000101_190214_181123.bpc"
          "earth_070425_370426_predict.bpc"
          "earth_fixed.tf"
          ]
         # Frame               "IAU_EARTH"
          Frame                 "EARTH_FIXED"
       }     
     }   
     # After Spice
     {
       BodyFrame { EquatorJ2000 { Center "Sol" } }     
       CustomOrbit "vsop87-earth"
       CustomRotation "iau-earth"
     }   
    ]       
   }
     
Modify "Moon" "Sol/Earth"
   {
     Timeline
     [
     # Before SPICE
     {     
       OrbitFrame { EquatorJ2000 { Center "Sol/Earth"}}
       BodyFrame  { EquatorJ2000 { Center "Sol/Earth"}}
       Ending   "1550 02 27 00:00:00.000"  # add 2 month for orbit drawing       
       CustomOrbit "moon"     
       CustomRotation "iau-moon"     
     }   
     # SPICE
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Earth_bary"}}
       BodyFrame  { EclipticJ2000 { Center "Sol/Earth"     }}     
       Ending     "2649 11 25 00:00:00.000"  # less 2 month for orbit   
       
       SpiceOrbit
       {
         Kernel "de438.bsp"
         Target "301"
         Origin "3" 
         Period         27.321661       
         BoundingRadius 1e10
       }
       
       SpiceRotation
       {
         Kernel     
         [
         "pck00010.tpc"
         "naif0012.tls"
         
         ]
       
          Frame     "IAU_MOON"       
       }
     }   
     # After SPICE
     {
       OrbitFrame { EquatorJ2000 { Center "Sol/Earth"}}
       BodyFrame  { EquatorJ2000 { Center "Sol/Earth"}}
       CustomOrbit "moon"
       CustomRotation "iau-moon"     
     }
         ]       
         LunarLambert 1.0       
         Albedo           0.12       
   }
   
Modify "Mars" "Sol"
   {

     
     Timeline
     [
     # Before Spice
     {
       CustomOrbit "vsop87-mars"
       Ending   "1550 02 27 00:00:00.000"  # add 2 month for orbit drawing
       BodyFrame { EquatorJ2000 { Center "Sol"} }
       CustomRotation "iau-mars"
     }
     # spice
     {
       OrbitFrame { EclipticJ2000  { Center "Sol/Mars_bary" }}
       BodyFrame  { EclipticJ2000 { Center "Sol"           }}
       Ending     "2649 11 25 00:00:00.000"  # less 2 month for orbit
       SpiceOrbit
       {
         Kernel "de438.bsp"
         Target "4"
         Origin "4"
         Period  1.88
         BoundingRadius 1e10
       }
       
       SpiceRotation
       {
         Kernel    [ "pck00010.tpc" "naif0012.tls" ]
         Frame       "IAU_MARS"       
       }
     }
     # After Spice
     {     
       CustomOrbit "vsop87-mars"
       BodyFrame { EquatorJ2000 { Center "Sol"} }
       CustomRotation "iau-mars"
     }
    ]
   }
   
Modify "Phobos:Mars I" "Sol/Mars"
   {
     Timeline
     [
     # Before
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Mars" }}
       BodyFrame  { EquatorJ2000  {Center "Sol/Mars"  }}
       Ending    "1900 02 04 00:00:41.184 " # add 1 month for drawing orbit
       
       EllipticalOrbit
       {
         Epoch        2415054.500000000              # 1900 02 04
         Eccentricity       1.518804109399017E-02    # well Ecc.
         AscendingNode      8.267052630309641E+01    # Deg.
         SemiMajorAxis      9.377997102713629E+03    # Km.
         ArgOfPericenter    3.043078653748888E+02    # Deg.
         MeanAnomaly        5.332299997217411E+01    # Deg.
         Inclination        2.565060806884143E+01    # Deg.
         Period             3.191284128449522E-01    # days
       }
       
        CustomRotation  "iau-phobos"
         
     }
     # spice
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Mars_bary" }}
       BodyFrame  { EclipticJ2000  { Center "Sol/Mars"      }}
       Ending    "2099 12 01 00:01:07.183"  # minus 1 month for drawing orbit
       SpiceOrbit
       {
         Kernel "mar097.bsp"
         Target "401"
         Origin "4"   
         Period  0.32
         BoundingRadius 1e10
       }
       
       SpiceRotation
       {
         Kernel            [ "pck00010.tpc"   "naif0012.tls" ]
         Frame               "IAU_PHOBOS"
       }
     }
     # After Spice
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Mars" }}
       BodyFrame  { EquatorJ2000  { Center "Sol/Mars" }}
       
       EllipticalOrbit
       {
         Epoch        2488038.500000000              # 2099 12 01
         Eccentricity       1.483144293957042E-02    # well Ecc.
         AscendingNode      8.481820920977968E+01    # Deg.
         SemiMajorAxis      9.378104613638820E+03    # Km.
         ArgOfPericenter    2.643248684702730E+01    # Deg.
         MeanAnomaly        1.350187386377397E+02    # Deg.
         Inclination        2.718705574501926E+01    # Deg.
         Period             3.191339006728237E-01    # days
       }
       
       # CustomRotation "iau-phobos"
     }
         ]
         
         Albedo         0.08
         
   }
   
Modify "Deimos:Mars II" "Sol/Mars"
   {
     Mesh "Deimos.low.bin.cmod"
     Texture "Deimos.png"
     Radius 7.9
     MeshCenter [ 0.00 -0.10 0.10 ] 
   
     Timeline
     [
     # Before
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Mars" }}
       BodyFrame  { EquatorJ2000  { Center "Sol/Mars" }}
       Ending    "1900 02 04 00:00:41.184 " # add 1 month for drawing orbit
       
       EllipticalOrbit
       {
         Epoch        2415054.500000000              # 1900 02 04
         Eccentricity       2.727785842374572E-04    # well Ecc.
         AscendingNode      8.014712529094811E+01    # Deg.
         SemiMajorAxis      2.345843352277748E+04    # Km.
         ArgOfPericenter    2.794768893629913E+02    # Deg.
         MeanAnomaly        4.108445654415713E+01    # Deg.
         Inclination        2.706516193051360E+01    # Deg.
         Period             1.262550755300245E+00    #  days
       }
       
       
       CustomRotation "iau-deimos"
     }
     # spice
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Mars_bary" }}
       BodyFrame  { EclipticJ2000  { Center "Sol/Mars"      }}
       Ending    "2099 12 01 00:01:07.183"  # minus 1 month for drawing orbit
       SpiceOrbit
       {
         Kernel "mar097.bsp"
         Target "402"
         Origin "4"   
         Period   1.2624408
         BoundingRadius 1e10
       }
       
       
       #CustomRotation "iau-deimos"
       SpiceRotation
       {
         Kernel           [ "pck00010.tpc"   "naif0012.tls" ]
         Frame               "IAU_DEIMOS"
       }
     }
     # After Spice
     {
       OrbitFrame { EclipticJ2000 { Center "Sol/Mars" }}
       BodyFrame  { EquatorJ2000  { Center "Sol/Mars" }}
       
       EllipticalOrbit
       {
         Epoch        2488038.500000000              # 2099 12 01
         Eccentricity       2.637095563057808E-04    # well Ecc.
         AscendingNode      8.643314126921305E+01    # Deg.
         SemiMajorAxis      2.345856966798129E+04    # Km.
         ArgOfPericenter    1.469448698896884E+02    # Deg.
         MeanAnomaly        1.026702715681343E+02    # Deg.
         Inclination        2.641083361232704E+01    # Deg.
         Period             1.262561746474004E+00    # days
       }     
       CustomRotation "iau-deimos"
     }
    ]       
         Albedo   0.08
   }


   
   
   
   
Modify "Jupiter" "Sol"
{
  Timeline
  [
  # Before SPICE
   {
    CustomOrbit "vsop87-jupiter"
    BodyFrame {  EquatorJ2000 { Center "Sol"}}
    Ending   "1550 02 27 00:00:00.000"  # add 2 month minus a few days (there is no feb 31) for orbit drawing
    CustomRotation "iau-jupiter"
  }
  # SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Jupiter_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol"             }}
    Ending    "2649 11 25 00:00:00.000"  # less 2 month for orbit
    SpiceOrbit
    {
      Kernel "de438.bsp"
      Target "5"
      Origin "5"
      Period 11.8618
      BoundingRadius 1e10
    }

    SpiceRotation
    {
      Kernel           [  "pck00010.tpc"  "naif0012.tls"  ]
      Frame               "IAU_JUPITER"
    }
  }
  # After SPICE
  {
    CustomOrbit "vsop87-jupiter"
    BodyFrame { EquatorJ2000 { Center "Sol"}}
    CustomRotation "iau-jupiter"
   }
  ]
}



Modify "Saturn" "Sol"
{
  Timeline
  [
  # Before spice
  {
    CustomOrbit "vsop87-saturn"
    BodyFrame { EquatorJ2000 { Center "Sol"     }}
    Ending "1550 03 27 00:00:00.000"  # add 3 month for orbit drawing
    CustomRotation "iau-saturn"
  }
  # spice
  {

    OrbitFrame { EclipticJ2000 { Center "Sol/Saturn_bary"}}
    BodyFrame { EclipticJ2000 { Center "Sol"     }}
    Ending    "2649 11 25 00:00:00.000"  # less 2 month for orbit
    SpiceOrbit
    {
      Kernel "de438.bsp"
      Target "6"
      Origin "6"
      Period    29.4571
      BoundingRadius 1e10
    }


    SpiceRotation
    {
      Kernel            [  "pck00010.tpc"  "naif0012.tls"  ]
      Frame               "IAU_SATURN"
    }
  }

  # After spice
  {
    CustomOrbit          "vsop87-saturn"
    BodyFrame            { EquatorJ2000 { Center "Sol"     }}
    CustomRotation       "iau-saturn"
  }

  ]

}


Modify "Uranus" "Sol"
{
  Timeline
  [
  # Before SPICE
  {
    CustomOrbit "vsop87-uranus"
    Ending "1550 02 27 00:00:00.000"  # add 2 month minus a few days (there is no feb 31) for orbit drawing
    BodyFrame { EquatorJ2000 { Center "Sol"}}
    CustomRotation "iau-uranus"
  }
  # SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Uranus_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol"     }}
    Ending     "2649 11 25 00:00:00.000"  # less 2 month for orbit
    SpiceOrbit
    {
      Kernel "de438.bsp"
      Target "7"
      Origin "7"
      Period 12
      BoundingRadius 1e10
    }
    SpiceRotation
    {
      Kernel      [  "pck00010.tpc"  "naif0012.tls"  ]
      Frame          "IAU_URANUS"     
    }
  }
  # After SPICE
  {
    CustomOrbit "vsop87-uranus"
    BodyFrame { EquatorJ2000 { Center "Sol"}}
    CustomRotation "iau-uranus"
  }
  ]
  Albedo            0.66
}


Modify "Neptune" "Sol"
{
  Timeline
  [
  # Before SPICE
  {
    CustomOrbit "vsop87-neptune"
    BodyFrame   {  EquatorJ2000 { Center "Sol"}}
    Ending      "1550 02 27 00:00:00.000"  # add 2 month minus a few days (there is no feb 31) for orbit drawing
    UniformRotation
    {
      Period          16.11 # System III (magnetic field)
      Inclination     28.03
      AscendingNode   49.24
      MeridianAngle  228.66 # correct System III prime meridian
    }
  }
  # spice
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Neptune_bary" }}
    BodyFrame  { EclipticJ2000 { Center "Sol"      }}
    Ending   "2649 11 25 00:00:00.000"  # less 2 month for orbit

    SpiceOrbit
    {
      Kernel "de438.bsp"
      Target "8"
      Origin "8"
      BoundingRadius 1e10
    }
    SpiceRotation
    {
      Kernel       [  "pck00010.tpc"  "naif0012.tls"  ]
      Frame          "IAU_NEPTUNE"
    }

  }
  # After SPICE
  {
    CustomOrbit "vsop87-neptune"
    BodyFrame { EquatorJ2000 { Center "Sol"}}
    UniformRotation
    {
      Period          16.11 # System III (magnetic field)
      Inclination     28.03
      AscendingNode   49.24
      MeridianAngle  228.66 # correct System III prime meridian
    }
  }
 ]
  Albedo            0.62
}





"Pluto:134340 Pluto" "Sol"
{
  Class           "dwarfplanet"
    Texture "pluto-lok.*"
    SpecularTexture "pluto-lok-spec.*"
  # NormalMap       "PlutoNormal.png"
  Color           [0.6 0.5 0.5 ]
  HazeColor       [ 0.8 0.6 0.3 ]
  HazeDensity     0.4
  SpecularColor   [ 0.07 0.06 0.06 ]
  SpecularPower   1.0
  Radius          1195
  OrbitColor      [ 1 1 0]
    Albedo           0.55
   
  Atmosphere
  {
    Lower       [ 0.8 0.8 0.5 ]
    Upper       [ 0.6 0.6 0.6 ]
    Sky         [ 0.8 0.8 0.5 ]
    # CloudHeight 1
    # CloudSpeed  0
    # CloudMap    "JVV.PlutoCloud.png"
  }
  Timeline
  [
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary" }}
    BodyFrame  { EquatorJ2000  { Center "Sol" }}
    Ending     "1900 02 07 00:00:41.184" # add 1 month

    EllipticalOrbit
    {
      Epoch          2415057.500000000             # 1900 02 07
      Eccentricity         3.842052909366977E-02    # well Ecc.
      AscendingNode        2.274033367324091E+02    # Deg.
      SemiMajorAxis        2.048431256115461E+03    # Km.
      ArgOfPericenter      1.136111197960867E+02    # Deg.
      MeanAnomaly          1.799322902753307E+02    # Deg.
      Inclination          1.128753220539163E+02    # Deg.
      Period               5.919297615643465E+00    # days
    }

    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }
  # begin SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol"     }}
    Ending     "2099 11 28 00:01:07.183"  # - 1 month plus a few days less than kernel , for orbit drawing

    SpiceOrbit
    {
      Kernel    "plu055.bsp"
      Target    "999"
      Origin    "9" 
      Period          247.89
      BoundingRadius  1e10
    }

    SpiceRotation
    {
      Kernel    [ "pck00010.tpc" "naif0012.tls" ]
      Frame      "IAU_PLUTO"
    }
  }
  # After SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary" }}
    BodyFrame  { EquatorJ2000  { Center "Sol" }}

    EllipticalOrbit
    {
      Epoch          2488035.500000000              #  2099 11 28
      Eccentricity         3.853175530578760E-02    # well Ecc.
      AscendingNode        2.274127176865489E+02    # Deg.
      SemiMajorAxis        2.048179831222588E+03    # Km.
      ArgOfPericenter      3.381273265862308E+02    # Deg.
      MeanAnomaly          1.799445702701380E+02    # Deg.
      Inclination          1.128733422401989E+02    # Deg.
      Period               5.918207845291481E+00    # days
    }

    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }
 ]
}



AltSurface "limit of knowledge" "Sol/Pluto"
{
    Texture "pluto-lok.*"
    SpecularTexture "pluto-lok-spec.*"
    SpecularColor            [ 0.135 0.12 0.08 ]
    SpecularPower             9.5
}





"Charon:Pluto I:134340 Pluto I:1978 P 1" "Sol/Pluto"
{
  Class            "moon"
    Texture "charon-lok.*"
    SpecularTexture "charon-lok-spec.*"
  # Texture        "JVV_Charon.png"
  # NormalMap      "CharonNormal.png"       
  Color          [0.6 0.5 0.5 ]
  HazeColor      [ 0.8 0.6 0.3 ]
  HazeDensity    0.4
  SpecularColor  [ 0.07 0.06 0.06 ]
  SpecularPower  1.0
  Radius         605
    Albedo               0.35
    InfoURL "http://www.nineplanets.org/pluto.html#Charon"

  Atmosphere
  {
    Lower    [ 0.8 0.8 0.5 ]
    Upper    [ 0.6 0.6 0.6 ]
    Sky      [ 0.8 0.8 0.5 ]
    # CloudHeight 1
    # CloudSpeed  0
    # CloudMap  "JVV_CharonCloud.png"
  }

  Timeline
  [
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary" }}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto" }}
    Ending     "1900 02 07 00:00:41.183"

    EllipticalOrbit
    {
      Epoch          2415057.500000000              # 1900 02 07
      Eccentricity         2.120680281579346E-03    # well Ecc.
      AscendingNode        2.274033336965910E+02    # Deg.
      SemiMajorAxis        1.743217922038960E+04    # Km.
      ArgOfPericenter      2.918837647007996E+02    # Deg.
      MeanAnomaly          1.816645300739275E+02    # Deg.
      Inclination          1.128753216097926E+02    # Deg.
      Period               6.360206662645079E+00    # days
    }
    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }

  #  SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol/Pluto"     }}
    Ending    "2099 11 28 00:01:07.183"   # - 1 month less than kernel , for orbit drawing

    SpiceOrbit
    {
      Kernel "plu055.bsp"
      Target "901"
      Origin "9"
      Period   6.4
      BoundingRadius 1e10
    }

    SpiceRotation
    {
      Kernel    [ "pck00010.tpc" "naif0012.tls" ]
      Frame      "IAU_CHARON"
    }
  }
  # After SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary" }}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto" }}

    EllipticalOrbit
    {
      Epoch          2488035.500000000              # 2099 DEC 31
      Eccentricity         2.139412654928561E-03    # well Ecc.
      AscendingNode        2.274127028700794E+02    # Deg.
      SemiMajorAxis        1.743245959612379E+04    # Km.
      ArgOfPericenter      1.591274605642271E+02    # Deg.
      MeanAnomaly          1.789442837051825E+02    # Deg.
      Inclination          1.128733411129070E+02    # Deg.
      Period               6.360360107727343E+00    # days
    }

    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }
 ]
}


AltSurface "limit of knowledge" "Sol/Pluto/Charon"
{
   Texture "charon-lok.*"
        SpecularTexture "charon-lok-spec.*"
        SpecularColor            [ 0.135 0.12 0.08 ]
        SpecularPower             9.5
}





"Nix" "Sol/Pluto"
{
  Class      "moon"
  Mesh         "asteroid.cmod"
  Texture   "asteroid.*"
  Radius     44

  Timeline
 [
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}
    Ending     "1900 02 07 00:00:41.183"
    EllipticalOrbit
    {
      Epoch          2415057.500000000              # 1900 02 02
      Eccentricity         6.479604237601501E-03    # well Ecc.
      AscendingNode        2.273789130039034E+02    # Deg.
      SemiMajorAxis        4.871032101267891E+04    # Km.
      ArgOfPericenter      1.931713210188226E+02    # Deg.
      MeanAnomaly          2.670161459169165E+02    # Deg.
      Inclination          1.128723167122542E+02    # Deg.
      Period               2.501222714480507E+01    # days
    }
  }
  # begin SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol/Pluto"     }}
    Ending   "2099 11 28 00:01:07.183"  # - 1 month less  , for orbit drawing

    SpiceOrbit
    {
      Kernel   "plu055.bsp"
      Target   "902"
      Origin   "9"
      Period   25
      BoundingRadius 1e10
    }
   
    PrecessingRotation
    # a bit random
  {
    Period             35
    Inclination         15
    PrecessionPeriod     0.001
  }
  }
  # After SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}

    EllipticalOrbit
    {
      Epoch          2488035.500000000              # 2099 DEC 31
      Eccentricity         6.745023685286226E-03    # well Ecc.
      AscendingNode        2.274313657160384E+02    # Deg.
      SemiMajorAxis        4.898274369148519E+04    # Km.
      ArgOfPericenter      1.719975796643247E+02    # Deg.
      MeanAnomaly          3.507047942018160E+02    # Deg.
      Inclination          1.128877758419482E+02    # Deg.
      Period               2.522234943376132E+01    # days
    }
  }
 ]
  Albedo 0.08
}


"Hydra" "Sol/Pluto"
{
  Class        "moon"
  Mesh         "asteroid.cmod"
  Texture   "asteroid.*"
  Radius       36

  Timeline
  [
  # before SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}
    Ending     "1900 02 07 00:00:41.183"

    EllipticalOrbit
    {
      Epoch          2415057.500000000              # 1900 01 02
      Eccentricity         1.378029083202007E-02    # well Ecc.
      AscendingNode        2.273059185468179E+02    # Deg.
      SemiMajorAxis        6.525587359130121E+04    # Km.
      ArgOfPericenter      2.159923876736057E+02    # Deg.
      MeanAnomaly          3.516585537468688E+02    # Deg.
      Inclination          1.125779296269136E+02    # Deg.
      Period               3.878380343901928E+01    # days
    }

    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }
  # begin SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EclipticJ2000  { Center "Sol/Pluto"    }}
    Ending     "2099 11 28 00:01:07.183"  # - 1 month less than kernel , for orbit drawing

    SpiceOrbit
    {
      Kernel   "plu055.bsp"
      Target   "903"
      Origin   "9"
      Period   38.37
      BoundingRadius 1e10
    }

    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }
  # After SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}
    EllipticalOrbit
    {
      Epoch          2488035.500000000              # 2099 DEC 31
      Eccentricity         7.814792280794630E-03    # well Ecc.
      AscendingNode        2.277455552849920E+02    # Deg.
      SemiMajorAxis        6.488487853456646E+04    # Km.
      ArgOfPericenter      3.368099283715883E+02    # Deg.
      MeanAnomaly          3.445232897864296E+02    # Deg.
      Inclination          1.129119386712967E+02    # Deg.
      Period               3.845353134623979E+01    # days
    }

    UniformRotation
    {
      Period               153.292944
      Inclination          115.60
      AscendingNode        228.34
      MeridianAngle        320.75
    }
  }
 ]
  Albedo 0.18
}

"Kerberos:Pluto IV:134340" "Sol/Pluto"
{
  Class      "moon"
  Mesh         "asteroid.cmod"
  Texture   "asteroid.*"
  Radius        23.9
  Albedo        0.18

  Timeline
  [
  # Before SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary" }}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}
    Ending    "1900 02 07 00:00:41.183"

    EllipticalOrbit
    {
      Epoch          2415057.500000000              # 1900 02 07
      Eccentricity         1.551546884434514E-02    # well Ecc.
      AscendingNode        2.272879953102414E+02    # Deg.
      SemiMajorAxis        5.841033336923728E+04    # Km.
      ArgOfPericenter      1.657080244153093E+02    # Deg.
      MeanAnomaly          1.638869221781458E+01    # Deg.
      Inclination          1.133053150680446E+02    # Deg.
      Period               3.284385389827932E+01    # days
    }
  }
  # spice
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol/Pluto"     }}
    Ending     "2099 11 28 00:01:07.183"

    SpiceOrbit
    {
      Kernel "plu055.bsp"
      Target "904"
      Origin "9"
      Period  32.72

      BoundingRadius 1e10
    }

    UniformRotation
    {
      Period               10.0
      Inclination          10.0
      AscendingNode        10.0
      MeridianAngle        10.0
    }
  }

  # After SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}

    EllipticalOrbit
    {
      Epoch          2488035.500000000              # 2099 11 28
      Eccentricity         1.563741265194505E-02    # well Ecc.
      AscendingNode        2.270722282141489E+02    # Deg.
      SemiMajorAxis        5.843737063645036E+04    # Km.
      ArgOfPericenter      5.568359980073014E+01    # Deg.
      MeanAnomaly          4.231464400782641E+00    # Deg.
      Inclination          1.131815958200937E+02    # Deg.
      Period               3.286666092803936E+01    # days
    }
  }
 ]
}

"Styx:Pluto V:134340" "Sol/Pluto"
{
  Class        "moon"
  Mesh         "asteroid.cmod"
  Texture   "asteroid.*"
  Radius        12.5
  Albedo        0.18

  Timeline
  [
  # Before SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary" }}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}
    Ending "1900 02 07 00:00:41.183"

    EllipticalOrbit
    {
      Epoch          2415057.500000000              # 1900 02 02
      Eccentricity         7.020952831720115E-03    # well Ecc.
      AscendingNode        2.272862126034439E+02    # Deg.
      SemiMajorAxis        4.268049091884379E+04    # Km.
      ArgOfPericenter      2.954214446788343E+02    # Deg.
      MeanAnomaly          1.871885622053021E+00    # Deg.
      Inclination          1.126685812149368E+02    # Deg.
      Period               2.051459526765751E+01    # days
    }
  }
  # spice
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EclipticJ2000 { Center "Sol/Pluto"     }}
    Ending "2099 11 28 00:01:07.183"

    SpiceOrbit
    {
      Kernel    "plu055.bsp"
      Target    "905"
      Origin    "9"
      Period    20.5
      BoundingRadius 1e10
    }
    UniformRotation
    {
      Period                 10.0
      Inclination            10.0
      AscendingNode          10.0
      MeridianAngle          10.0
    }
  }
  # After SPICE
  {
    OrbitFrame { EclipticJ2000 { Center "Sol/Pluto_bary"}}
    BodyFrame  { EquatorJ2000  { Center "Sol/Pluto"     }}

    EllipticalOrbit
    {
      Epoch          2488035.500000000              # 2099 11 27
      Eccentricity         7.948513244979520E-03    # well Ecc.
      AscendingNode        2.271869396368839E+02    # Deg.
      SemiMajorAxis        4.270787276169645E+04    # Km.
      ArgOfPericenter      1.402933997326030E+02    # Deg.
      MeanAnomaly          2.814517410788679E+01    # Deg.
      Inclination          1.127572402378158E+02    # Deg.
      Period               2.053434026695490E+01    # days
    }
  }
 ]
}
Adam Hurcewicz
Bialystok, Poland

Avatar
toutatis
Posts: 744
Joined: 24.02.2018
Age: 55
With us: 6 years 9 months
Location: Almaty, Kazakhstan

Post #20by toutatis » 08.12.2018, 22:22

Hi Limax7... Where can I download .BSP files.... for Planets and major moons? I am interested in this kind of orbits... it's better for spacecrafts with.XYZV trajectories ... I am planning and building .XYZV trajectory now for spacecraft ( I will cal it Celestia-1) which will journey to Jupiter system... It will make several Callisto, Ganymede, Europa, Io flybys and enter in orbit around Ganymede...


Return to “Add-on development”