Compute all the unnormalized Legendre polynomials and first derivatives.
Usage
call PLegendre_d1 (p
, dp
, lmax
, z
, exitstatus
)
Parameters
p
: output, real(dp), dimension (lmax
+1)- An array of unnormalized Legendre polynomials up to degree
lmax
. Degreel
corresponds to array indexl
+1. dp
: output, real(dp), dimension (lmax
+1)- An array of the first derivatives of the unnormalized Legendre polynomials up to degree
lmax
. Degreel
corresponds to array indexl
+1. lmax
: input, integer(int32)- The maximum degree of the Legendre polynomials to be computed.
z
: input, real(dp)- The argument of the Legendre polynomial.
exitstatus
: output, optional, integer(int32)- 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.
Description
PLegendre_d1
will calculate all of the unnormalized Legendre polynomials and first derivatives up to degree lmax
for a given argument. These are calculated using a standard three-term recursion formula, and the integral of the Legendre polynomials over the interval [-1, 1] is 2/(2l+1)
. Note that the derivative of the Legendre polynomials is calculated with respect to its arguement z
, and not latitude or colatitude. If z=cos(theta)
, where theta
is the colatitude, then it is only necessary to multiply dp
by -sin(theta)
to obtain the derivative with respect to theta
.
See also
plbar, plbar_d1, plmbar, plmbar_d1, plon, plon_d1, plmon, plmon_d1, plschmidt, plschmidt_d1, plmschmidt, plmschmidt_d1, plegendre, plegendrea, plegendrea_d1
Edit me