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. Degree l corresponds to array index l+1.
dp : output, real(dp), dimension (lmax+1)
An array of the first derivatives of the unnormalized Legendre polynomials up to degree lmax. Degree l corresponds to array index l+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

Tags: fortran
Edit me