grid_procedures Submodule

Contains module procedures associated with the grid class


Uses


Module Functions

pure module function getXGrid(this) result(x)

Getter for xGrid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value real(kind=rk), allocatable, dimension(:)

pure module function getVGrid(this) result(v)

Getter for vGrid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value real(kind=rk), allocatable, dimension(:)

pure module function getMaxL(this) result(maxL)

Getter for maxL

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik)

pure module function getMaxM(this) result(maxM)

Getter for maxM

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik)

pure module function getNumH(this) result(numH)

Return total number of resolved harmonic on grid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik)

pure module function getNumX(this) result(numX)

Return number of x points on grid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik)

pure module function getNumV(this) result(numV)

Return number of v points on grid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik)

pure module function getLGrid(this) result(l)

Getter for lGrid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik), allocatable, dimension(:)

pure module function getMGrid(this) result(m)

Getter for mGrid

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value integer(kind=ik), allocatable, dimension(:)

pure module function getHarmonicIm(this) result(im)

Getter for imaginaryHarmonic

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this

Return Value logical, allocatable, dimension(:)

pure module function getH(this, l, m, im) result(h)

Return index of harmonic l,m, (if im=true returns the imaginary component)

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this
integer(kind=ik), intent(in) :: l
integer(kind=ik), intent(in) :: m
logical, intent(in) :: im

Return Value integer(kind=ik)

pure module function getL(this, ind) result(l)

Return l number for given harmonic index

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this
integer(kind=ik), intent(in) :: ind

Return Value integer(kind=ik)

pure module function getM(this, ind) result(m)

Return m number for given harmonic index

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this
integer(kind=ik), intent(in) :: ind

Return Value integer(kind=ik)

pure module function isImaginary(this, ind) result(im)

Return true if harmonic with given index is imaginary

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(in) :: this
integer(kind=ik), intent(in) :: ind

Return Value logical


Module Subroutines

pure module subroutine initGrid(this, x, v, maxL, maxM)

Grid initialization routine

Arguments

Type IntentOptional Attributes Name
class(Grid), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: x

Positions of x-grid cell centres

real(kind=rk), intent(in), dimension(:) :: v

Positions of v-grid cell centres

integer(kind=ik), intent(in) :: maxL

Highest resolved l-harmonic

integer(kind=ik), intent(in) :: maxM

Highest resolved m-harmonic