abstract class for interfacing with ephemeris systems.
get the state of one body w.r.t. another body.
function to return the state of the targ body relative to
the obs body, in the inertial frame [ICRF].
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ephemeris_class), | intent(inout) | :: | me | |||
| real(kind=wp), | intent(in) | :: | et |
ephemeris time [sec] |
||
| type(celestial_body), | intent(in) | :: | targ |
target body |
||
| type(celestial_body), | intent(in) | :: | obs |
observer body |
||
| real(kind=wp), | intent(out), | dimension(6) | :: | rv |
state of targ w.r.t. obs |
|
| logical, | intent(out) | :: | status_ok |
true if there were no problems |
get the position of one body w.r.t. another body.
function to return the position of the targ body relative to
the obs body, in the inertial frame [ICRF].
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ephemeris_class), | intent(inout) | :: | me | |||
| real(kind=wp), | intent(in) | :: | et |
ephemeris time [sec] |
||
| type(celestial_body), | intent(in) | :: | targ |
target body |
||
| type(celestial_body), | intent(in) | :: | obs |
observer body |
||
| real(kind=wp), | intent(out), | dimension(3) | :: | r |
position vector of targ w.r.t. obs |
|
| logical, | intent(out) | :: | status_ok |
true if there were no problems |
type,abstract,public :: ephemeris_class !! abstract class for interfacing with ephemeris systems. private contains private procedure(rv_func),deferred,public :: get_rv !! get the state of one body w.r.t. another body. procedure(r_func),deferred,public :: get_r !! get the position of one body w.r.t. another body. end type ephemeris_class