The base abstract class for the various geopotential models
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | name |
model name |
||
character(len=:), | public, | allocatable | :: | filename |
model file name |
||
integer, | public | :: | nmax | = | 0 |
degree of the model |
|
integer, | public | :: | mmax | = | 0 |
order of the model |
|
real(kind=wp), | public | :: | re | = | zero |
body radius [km] |
|
real(kind=wp), | public | :: | mu | = | zero |
body grav. parameter [km3/s2] |
Read the gravity coefficient file. Example file: ftp://ftp.csr.utexas.edu/pub/grav/EGM96.GEO.Z
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(geopotential_model), | intent(inout) | :: | me | |||
character(len=*), | intent(in) | :: | filename | |||
integer, | intent(in) | :: | nmax | |||
integer, | intent(in) | :: | mmax | |||
logical, | intent(out) | :: | status_ok |
Destroy a gravity model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(geopotential_model), | intent(inout) | :: | me |
Interface to the acceleration function for the different methods
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(geopotential_model), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in), | dimension(3) | :: | r | ||
integer, | intent(in) | :: | n | |||
integer, | intent(in) | :: | m | |||
real(kind=wp), | intent(out), | dimension(3) | :: | a |
type,abstract,public :: geopotential_model !! The base abstract class for the various geopotential models character(len=:),allocatable :: name !! model name character(len=:),allocatable :: filename !! model file name integer :: nmax = 0 !! degree of the model integer :: mmax = 0 !! order of the model real(wp) :: re = zero !! body radius [km] real(wp) :: mu = zero !! body grav. parameter [km3/s2] contains procedure,public :: initialize => read_geopotential_file procedure,public :: destroy => destroy_geopotential_model procedure(acc_function),deferred,public :: get_acc end type geopotential_model