For computing direct and inverse Legendre transforms.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real, | private | :: | cpol(2*mx,nx,iy) | The Legendre polynomials  | 
  
|||
| real, | public | :: | epsi(mx+1,nx+1) | Epsilon function used for various spectral calculations  | 
  
|||
| real, | private | :: | repsi(mx+1,nx+1) | 1/epsi  | 
  
|||
| integer, | private | :: | nsh2(nx) | Used for defining shape of spectral triangle  | 
  
|||
| real, | private, | dimension(iy) | :: | wt | Gaussian weights used for integration in direct Legendre transform  | 
  
Computes inverse Legendre transformation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real, | intent(in) | :: | input(2*mx,nx) | Input field  | 
  
Output field
Computes direct Legendre transformation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real, | intent(in) | :: | input(2*mx,il) | Input field  | 
  
Output field
Compute Gaussian weights for direct Legendre transform
Weights in gaussian quadrature (sum should equal 1.0)
Compute associated Legendre polynomials at given latitude.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | j | The latitude to compute the polynomials at  | 
  
The Legendre polynomials
Initializes Legendre transforms and constants used for other subroutines that manipulate spherical harmonics.