Legendre module variables
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | private | :: | mod_legendre_initialized | = | .false. | ||
| real(kind=8), | private, | allocatable, dimension(:, :) | :: | epsi | |||
| real(kind=8), | private, | allocatable, dimension(:, :, :) | :: | cpol | |||
| real(kind=8), | private, | allocatable, dimension(:, :) | :: | repsi | |||
| integer, | private, | allocatable, dimension(:) | :: | nsh2 | |||
| real(kind=8), | private, | allocatable, dimension(:) | :: | wt | |||
| class(ModGeometry_t), | private, | pointer | :: | mod_geometry | => | null() | Spectral module instance |
| logical, | private | :: | mod_geometry_initialized | = | .false. |
Initializes Legendre transforms and constants used for other subroutines that manipulate spherical harmonics. The Legendre polynomials Epsilon function used for various spectral calculations 1/epsi Used for defining shape of spectral triangle Gaussian weights used for integration in direct Legendre transform
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModLegendre_t), | intent(inout) | :: | this | |||
| class(ModGeometry_t), | intent(in), | target | :: | mod_geometry |
Computes direct Legendre transformation. The Legendre polynomials (cpol), the triangular shape definition (nsh2), and the gaussian weights (wt) used for the integration of the Legendre transform needs to be initialized and passed to the function.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModLegendre_t), | intent(in) | :: | this | |||
| real(kind=p), | intent(in) | :: | input(2*mx,il) | Input field |
Output field
Computes inverse Legendre transformation. The Legendre polynomials (cpol) and the triangular shape definition (nsh2) needs to be initialized and passed to the function.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModLegendre_t), | intent(in) | :: | this | |||
| real(kind=p), | intent(in) | :: | input(2*mx,nx) | Input field |
Output field
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModLegendre_t), | intent(inout) | :: | this |
Compute associated Legendre polynomials at given latitude.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ModLegendre_t), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | j | The latitude index to compute the polynomials at |
The Legendre polynomials