geopotential_model_lear Derived Type

type, public, extends(geopotential_model_matrix_coeff) :: geopotential_model_lear

Lear method


Inherits

type~~geopotential_model_lear~~InheritsGraph type~geopotential_model_lear geopotential_model_lear type~geopotential_model_matrix_coeff geopotential_model_matrix_coeff type~geopotential_model_lear->type~geopotential_model_matrix_coeff type~geopotential_model geopotential_model type~geopotential_model_matrix_coeff->type~geopotential_model

Components

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]

real(kind=wp), public, dimension(:,:), allocatable :: cnm
real(kind=wp), public, dimension(:,:), allocatable :: snm

Type-Bound Procedures

procedure, public :: initialize => read_geopotential_file

  • private subroutine read_geopotential_file(me, filename, nmax, mmax, status_ok)

    Author
    Jacob Williams
    Date
    9/20/2014

    Read the gravity coefficient file. Example file: ftp://ftp.csr.utexas.edu/pub/grav/EGM96.GEO.Z

    Arguments

    Type IntentOptional 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

procedure, public :: destroy => destroy_geopotential_model

procedure, public :: get_acc => compute_gravity_acceleration_lear

  • private subroutine compute_gravity_acceleration_lear(me, r, n, m, a)

    Wrapper for Lear method.

    Arguments

    Type IntentOptional Attributes Name
    class(geopotential_model_lear), 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

Source Code

    type,extends(geopotential_model_matrix_coeff),public :: geopotential_model_lear
        !! Lear method
    contains
        procedure,public :: get_acc => compute_gravity_acceleration_lear
    end type geopotential_model_lear