celestial_body_module Module

Celestial body definitions


Uses

  • module~~celestial_body_module~~UsesGraph module~celestial_body_module celestial_body_module module~base_class_module base_class_module module~celestial_body_module->module~base_class_module module~kind_module kind_module module~celestial_body_module->module~kind_module module~numbers_module numbers_module module~celestial_body_module->module~numbers_module iso_fortran_env iso_fortran_env module~kind_module->iso_fortran_env module~numbers_module->module~kind_module

Used by

  • module~~celestial_body_module~~UsedByGraph module~celestial_body_module celestial_body_module module~ephemeris_module ephemeris_module module~ephemeris_module->module~celestial_body_module module~fortran_astrodynamics_toolkit fortran_astrodynamics_toolkit module~fortran_astrodynamics_toolkit->module~celestial_body_module module~fortran_astrodynamics_toolkit->module~ephemeris_module module~standish_module standish_module module~fortran_astrodynamics_toolkit->module~standish_module module~transformation_module transformation_module module~fortran_astrodynamics_toolkit->module~transformation_module module~jpl_ephemeris_module jpl_ephemeris_module module~fortran_astrodynamics_toolkit->module~jpl_ephemeris_module module~standish_module->module~celestial_body_module module~standish_module->module~ephemeris_module module~transformation_module->module~celestial_body_module module~transformation_module->module~ephemeris_module proc~crtbp_test crtbp_module::crtbp_test proc~crtbp_test->module~celestial_body_module proc~get_rv_from_jpl_ephemeris jpl_ephemeris_module::jpl_ephemeris%get_rv_from_jpl_ephemeris proc~get_rv_from_jpl_ephemeris->module~celestial_body_module proc~get_rv_from_spice_ephemeris spice_ephemeris_module::spice_ephemeris%get_rv_from_spice_ephemeris proc~get_rv_from_spice_ephemeris->module~celestial_body_module proc~halo_orbit_test halo_orbit_module::halo_orbit_test proc~halo_orbit_test->module~celestial_body_module module~jpl_ephemeris_module->module~ephemeris_module module~spice_ephemeris_module spice_ephemeris_module module~spice_ephemeris_module->module~ephemeris_module proc~transformation_module_test transformation_module::transformation_module_test proc~transformation_module_test->module~jpl_ephemeris_module

Variables

Type Visibility Attributes Name Initial
type(celestial_body), public, parameter :: body_sun = celestial_body(10, 'Sun', 1.3271244004193938E+11_wp)
type(celestial_body), public, parameter :: body_mercury = celestial_body(199, 'Mercury', 2.2031780000000021E+04_wp)
type(celestial_body), public, parameter :: body_venus = celestial_body(299, 'Venus', 3.2485859200000006E+05_wp)
type(celestial_body), public, parameter :: body_earth = celestial_body(399, 'Earth', 3.9860043543609598E+05_wp)
type(celestial_body), public, parameter :: body_earth_moon_barycenter = celestial_body(3, 'Earth-Moon Barycenter', 4.0350323550225981E+05_wp)
type(celestial_body), public, parameter :: body_moon = celestial_body(301, 'Moon', 4.9028000661637961E+03_wp)
type(celestial_body), public, parameter :: body_mars = celestial_body(499, 'Mars', 4.282837362069909E+04_wp)
type(celestial_body), public, parameter :: body_jupiter = celestial_body(599, 'Jupiter', 1.266865349218008E+08_wp)
type(celestial_body), public, parameter :: body_saturn = celestial_body(699, 'Saturn', 3.793120749865224E+07_wp)
type(celestial_body), public, parameter :: body_uranus = celestial_body(799, 'Uranus', 5.793951322279009E+06_wp)
type(celestial_body), public, parameter :: body_neptune = celestial_body(899, 'Neptune', 6.835099502439672E+06_wp)
type(celestial_body), public, parameter :: body_pluto = celestial_body(999, 'Pluto', 8.696138177608748E+02_wp)

Derived Types

type, public, extends(base_class) ::  celestial_body

A celestial body (Planet, moon, etc.) The ID from the base_class is the NAIF SPICE ID code for the body

Components

Type Visibility Attributes Name Initial
integer, public :: id = 0

a unique ID code that distinguishes a variable from other variables of the same type.

character(len=name_len), public :: name = ''

the variable name

real(kind=wp), public :: mu = zero

gravitational parameter []

Type-Bound Procedures

generic, public :: operator(==) => base_class_equal
generic, public :: operator(/=) => base_class_not_equal