-
Notifications
You must be signed in to change notification settings - Fork 106
/
plmon.1
83 lines (83 loc) · 3.45 KB
/
plmon.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
.\" Automatically generated by Pandoc 2.9.2
.\"
.TH "plmon" "1" "2019-09-23" "Fortran 95" "SHTOOLS 4.6"
.hy
.SH PlmON
.PP
Compute all the orthonormalized associated Legendre functions.
.SH Usage
.PP
call PlmON (\f[C]p\f[R], \f[C]lmax\f[R], \f[C]z\f[R], \f[C]csphase\f[R],
\f[C]cnorm\f[R], \f[C]exitstatus\f[R])
.SH Parameters
.TP
\f[B]\f[CB]p\f[B]\f[R] : output, real(dp), dimension ((\f[B]\f[CB]lmax\f[B]\f[R]+1)*(\f[B]\f[CB]lmax\f[B]\f[R]+2)/2)
An array of orthonormalized associated Legendre functions up to degree
\f[C]lmax\f[R].
The index corresponds to \f[C]l*(l+1)/2+m+1\f[R], which can be
calculated by a call to \f[C]PlmIndex\f[R].
.TP
\f[B]\f[CB]lmax\f[B]\f[R] : input, integer
The maximum degree of the associated Legendre functions to be computed.
If \f[C]lmax\f[R] is -1, allocated memory will be deallocated.
.TP
\f[B]\f[CB]z\f[B]\f[R] : input, real(dp)
The argument of the associated Legendre functions.
.TP
\f[B]\f[CB]csphase\f[B]\f[R] : input, optional, integer, default = 1
If 1 (default), the Condon-Shortley phase will be excluded.
If -1, the Condon-Shortley phase of (-1)\[ha]m will be appended to the
associated Legendre functions.
.TP
\f[B]\f[CB]cnorm\f[B]\f[R] : input, optional, integer, default = 0
If 1, the complex normalization of the associated Legendre functions
will be used.
The default is to use the real normalization.
.TP
\f[B]\f[CB]exitstatus\f[B]\f[R] : output, optional, integer
If present, instead of executing a STOP when an error is encountered,
the variable exitstatus will be returned describing the error.
0 = No errors; 1 = Improper dimensions of input array; 2 = Improper
bounds for input variable; 3 = Error allocating memory; 4 = File IO
error.
.SH Description
.PP
\f[C]PlmON\f[R] will calculate all of the orthonormalized associated
Legendre functions up to degree \f[C]lmax\f[R] for a given argument.
These are calculated using a standard three-term recursion formula, and
in order to prevent overflows, the scaling approach of Holmes and
Featherstone (2002) is utilized.
These functions are accurate to about degree 2800.
The index of the array corresponding to a given degree \f[C]l\f[R] and
angular order \f[C]m\f[R] is \f[C]l*(l+1)/2+m+1\f[R], which can be
calculated by a call to \f[C]PlmIndex\f[R].
.PP
The integral of the squared Legendre functions over the interval [-1, 1]
is \f[C](2-delta(0,m))/(2pi)\f[R], where delta is the Kronecker delta
function.
If the optional parameter \f[C]cnorm\f[R] is set equal to 1, the complex
normalization will be used where the integral of the squared Legendre
functions over the interval [-1, 1] is \f[C]1/(2pi)\f[R].
The default is to exclude the Condon-Shortley phase, but this can be
modified by setting the optional argument \f[C]csphase\f[R] to -1.
.PP
This routine saves the three-term recursion factors and square roots of
the integers the first time being called.
If subsequent calls possess the same value of \f[C]lmax\f[R], these will
not be recomputed.
If you wish to deallocate this memory, which is an array of length
\f[C](lmax+1)*(lmax+2)\f[R], recall this routine with \f[C]lmax\f[R]=-1.
.SH References
.PP
Holmes, S.
A., and W.
E.
Featherstone, A unified approach to the Clenshaw summation and the
recursive computation of very high degree and order normalised
associated Legendre functions, J.
Geodesy, 76, 279- 299, 2002.
.SH See also
.PP
plbar, plbar_d1, plmbar, plmbar_d1, plon, plon_d1, plmon_d1, plschmidt,
plschmidt_d1, plmschmidt, plmschmidt_d1, plegendre, plegendre_d1,
plegendrea, plegendrea_d1, plmindex