Default environment models

Attention

This page is only exact for Tudatpy version >= 0.7. Older versions use several slightly different Spice kernels and gravity fields. To use default Spice kernels from older versions, use the load_standard_deprecated_kernels() instead of load_standard_kernels()

To facilitate the creation of the celestial bodies in your simulation, Tudat provides the option of loading default models for a broad range of solar system bodies.

Many of these settings are derived from so-called Spice kernels. Spice is a toolkit developed by NASA’s Navigation and Ancillary Information Facility (NAIF) and is used throughout the space industry for the design and analysis of (planetary) missions. In Tudat, we primarily use the modules of spice that deal with pre-defined ephemerides and rotation models of solar system bodies (see section Spice in Tudat below for details on our usage of Spice).

Default settings

Using the data from these Spice kernels into Tudat, the following default models are used by Tudat when calling the load_standard_kernels() function.

Ephemeris

Directly from Spice (see SPICE in Tudat). For our default settings, this includes all solar system planets, the Sun, Earth’s moon, the main Martian, Jovian and Saturnian satellites. as well as 300 major solar sysrem asteroids. Users can append this list with additional ephemeris files, for instance for small bodies or other satellite systems, through the use of the load_kernel().

Ephemerides from Spice kernels are only valid for a somewhat limited time interval (on the order of one or several centuries, depending on the specific body), which is limited by the valid range of the Spice kernels provided in Tudat by default. You can load additional Spice kernels with a longer coverage by using the load_kernel() function for any additional kernels you like (see, for instance, the generic kernels listed on the Spice website. Note that the contents will override data in the default kernels (if applicable).

Note

In some cases, the extraction of the state of bodies from Spice kernels can be a computational bottleneck. Tudat has an alternative set of default options, which make this process signicantly faster, at the expense of higher RAM usage, and an environment that is only valid over a very limited time interval.

Rotation model

Directly from Spice (see SPICE in Tudat). For body Foo, Tudat uses the frame IAU_Foo defined in Spice as the body-fixed frame. These rotation models are implementations of results published by the IAU Working Group on Cartographic Coordinates and Rotational Elements.

For the Earth, a high-accuracy rotation model is available, which is not loaded by default, but can be added to the default settings using the gcrs_to_itrs() function.

Note

In some cases, the extraction of the rotational state of bodies from Spice kernels can be a computational bottleneck. Tudat has an alternative set of default options, which make this process signicantly faster, at the expense of higher RAM usage, and an environment that is only valid over a very limited time interval.

Shape model

Directly from Spice (any body available through Spice kernels). Tudat uses the average radius from Spice to define a spherical shape model for all bodies.

Gravity field

  • Spherical harmonic gravity field for the following bodies:

    • Earth: Full gravity field up to degree and order 200, described here (GOCO05c, data obtained from GFZ; coefficient are available up to degree/order 720, but are not all loaded by default for efficiency purposes)

    • Moon: Full gravity field up to degree and order 200, described here (gggrx1200, data obtained from PDS; coefficient are available up to degree/order 1199, but are not all loaded by default for efficiency purposes)

    • Mars: Full gravity field up to degree and order 120, described here (jgmro120d, data obtained from PDS)

    • Venus: Full gravity field up to degree and order 180, described here (shgj180u, data obtained from PDS)

    • Mercury: Full gravity field up to degree and order 160, described here (jgmess160a, data obtained from PDS)

    • Jupiter: Zonal coefficients up to degree 8 from, described here

    • Galilean Moons (Io, Europa, Ganymede, Callisto), \(\mu\), \(C_{20}\) and \(C_{22}\) from IMCCE ephemerides

  • For all the other bodies not mentioned above, point-mass gravity field with gravitational parameter loaded from Spice are used (for any body available through Spice kernels).

Warning

Temporal variations of the gravity field are zero by default, but can be included for high-accuracy applications. See API reference

Atmosphere

  • Earth: NRLMSISE-00 density model (see nrlmsise00(); default input file is used)

  • All other bodies: none

SPICE in Tudat

The cspice toolkit (version of spice written in the C language) is included in the conda environment when installing Tudat, and Tudat contains a number of functions to directly interact with spice, listed here.

The Spice toolkit has extensive lessons, tutorials and detailed documentation.

Spice relies on a set of user-supplier input files (kernels) to perform its calculations. A number of these kernels are installed automatically with Tudat, and loaded when calling the load_standard_kernels() function (see this API docs entry for list of kernels).

When using the default kernels/body settings, we have introduced one small difference for the sake of expediency. For the cases of Uranus, Neptune and Pluto, where we only have the ephemeris of the barycenter of the planetary system loaded, the planet is placed at the barycenter of the planetary system. This introduces a minor offset in the position of this planet (Mercury and Venus have no moons, and therefore their state coincides with their planetary system barycenter; dedicated planetary system ephemerides are loaded for teh Earth, Mars, Jupiter and Saturn system). For Uranus, for example, the default settings will place Uranus at the center of mass (barycenter) of the combined system of Uranus and its moons. To correct this behaviour, a user can load a kernel for this body’s planetary system (see here, for example), and modify the default settings.