ephem Derived Type

type, private, extends(base_class) :: ephem

an ephemeris defined using a date range and a set of elements from the reference.

There are two that can be used.

Note

This should probably be merged into standish_ephemeris


Inherits

type~~ephem~~InheritsGraph type~ephem ephem type~base_class base_class type~ephem->type~base_class

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, dimension(2) :: jd_range = zero

valid julian date range

real(kind=wp), public, dimension (16, 9) :: o = zero

keplerian elements terms


Type-Bound Procedures

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

  • public pure elemental function base_class_equal(b1, b2) result(is_equal)

    == operator for base_class variables. To be equal, they must be the same type and have the same ID.

    Arguments

    Type IntentOptional Attributes Name
    class(base_class), intent(in) :: b1
    class(base_class), intent(in) :: b2

    Return Value logical

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

  • public pure elemental function base_class_not_equal(b1, b2) result(not_equal)

    /= operator for base_class variables. To be equal, they must be the same type and have the same ID.

    Arguments

    Type IntentOptional Attributes Name
    class(base_class), intent(in) :: b1
    class(base_class), intent(in) :: b2

    Return Value logical

Source Code

    type,extends(base_class) :: ephem

        !! an ephemeris defined using a date range
        !! and a set of elements from the reference.
        !!
        !! There are two that can be used.
        !!
        !!@note This should probably be merged into [[standish_ephemeris]]

        real(wp),dimension(2) :: jd_range = zero  !! valid julian date range
        real(wp),dimension (16, 9) :: o = zero    !! keplerian elements terms

    end type ephem