(This answer continues the one above.)
A table of $P_{n,m}(\mu)$ values
can be envisioned as a square array.
Rows down the page are indexed by degree $n$,
and columns to the right by order $m$.
Due to the underlying math,
the only sensible $P_{n,m}(\mu)$ values occur for
$0 \le m \le n$.
The effect is that the table is lower-triangular
instead of square;
$P_{n,m}(\mu)$ do not exist above the $m=n$ diagonal.
Values along the $m=n$ diagonal correspond to the
sectorial terms described in
the preceding answer.
A simple recurrence provides the value of
$P_{n,n}(\mu)$ from the preceding value $P_{n-1,n-1}(\mu)$.
A different recurrence provides values down a column.
This "vertical" recurrence uses the two immediately preceding values
higher in the column.
For example in column $m=3$,
the value of $P_{6,3}(\mu)$ can be computed
from $P_{5,3}(\mu)$ and $P_{4,3}(\mu)$.
The vertical recurrence using colatitude $\theta$ is:
\begin{align*}
(n-m) P_{n,m}(\cos\theta)
= (2n-1) \cos\theta \; P_{n-1,m} (\sin\theta) - (n-m-1) P_{n-2,m}(\cos\theta)
\end{align*}
This recurrence using unnormalized $P_{n,m}(\cos\theta)$
can be converted to
fully normalized $\overline{P}_{n,m}(\cos\theta)$
in the same way as used above for converting the sectorial recurrence:
$\overline{P}_{n,m}(\cos\theta) / N_{n,m}$ is substituted for $P_{n,m}(\cos\theta)$.
\begin{align*}
\overline{P}_{n,m}(\cos\theta)
& =
\frac {N_{n,m}}
{n-m}
\left[
\frac {2n-1}
{N_{n-1,m}}
\cos\theta \; \overline{P}_{n-1,m} (\cos\theta)
- \frac {n+m-1}
{N_{n-2,m}}
\overline{P}_{n-2,m}(\cos\theta)
\right]
\\ & =
\frac {\sqrt{(2-\delta_{0,m}) (2n+1) \frac{(n-m)!}{(n+m)!}}}
{n-m}
\left[ \begin{array}{l}
\dfrac {2n-1}
{\sqrt{(2-\delta_{0,m}) (2n-1) \frac{(n-m-1)!} {(n+m-1)!}}}
\cos\theta \; \overline{P}_{n-1,m} (\cos\theta)
\\ \quad
- \dfrac {n+m-1}
{\sqrt{(2-\delta_{0,m}) (2n-3) \frac{(n-m-2)!} {(n+m-2)!}}}
\overline{P}_{n-2,m}(\cos\theta)
\end{array} \right]
\\ & =
\frac {\sqrt{(2n+1) \frac{(n-m)(n-m-1)(n-m-2)!}{(n+m)(n+m-1)(n+m-2)!}}}
{n-m}
\left[ \begin{array}{l}
\dfrac {2n-1}
{\sqrt{(2n-1) \frac{(n-m-1)(n-m-2)!} {(n+m-1)(n+m-2)!}}}
\cos\theta \; \overline{P}_{n-1,m} (\cos\theta)
\\ \quad
- \dfrac {n+m-1}
{\sqrt{(2n-3) \frac{(n-m-2)!} {(n+m-2)!}}}
\overline{P}_{n-2,m}(\cos\theta)
\end{array} \right]
\\ & =
\frac {\sqrt{(2n+1) \frac{(n-m)(n-m-1)}{(n+m)(n+m-1)}}}
{n-m}
\left[ \begin{array}{l}
\dfrac {2n-1}
{\sqrt{(2n-1) \frac{(n-m-1)} {(n+m-1)}}}
\cos\theta \; \overline{P}_{n-1,m} (\cos\theta)
\\ \quad
- \dfrac {n+m-1}
{\sqrt{2n-3}}
\overline{P}_{n-2,m}(\cos\theta)
\end{array} \right]
\\ & =
\sqrt{\frac{2n+1} {(n-m)(n+m)}}
\sqrt{\frac{n-m-1}{n+m-1}}
\left[ \begin{array}{l}
\sqrt{(2n-1) \frac{n+m-1} {n-m-1}}
\cos\theta \; \overline{P}_{n-1,m} (\cos\theta)
\\ \quad
- \dfrac {n+m-1}
{\sqrt{2n-3}}
\overline{P}_{n-2,m}(\cos\theta)
\end{array} \right]
\\ & =
\sqrt{\frac{2n+1} {(n-m)(n+m)}}
\left[ \begin{array}{l}
\sqrt{2n-1}
\cos\theta \; \overline{P}_{n-1,m} (\cos\theta)
\\ \quad
- \sqrt{
\dfrac {(n-m-1)(n+m-1)}
{2n-3}
}
\overline{P}_{n-2,m}(\cos\theta)
\end{array} \right]
.
\end{align*}
This is the vertical recurrence
for fully normalized $\overline{P}_{n,m}(\cos\theta)$.
One wrinkle is that
when computing the subdiagonal term
$\overline{P}_{n+1,n}(\cos\theta)$,
there is only one preceding term
(the diagonal $\overline{P}_{n,n}(\cos\theta)$).
The second preceding term (above the diagonal) does not exist.
In this special case,
only the first term within the brackets is needed.
F447.f program
The subroutine
LEGFDN
saves values of $\sqrt {i}$ in array
DRTS(i)
and the reciprocal $1 / \sqrt {i}$ in
DIRT(i).
The subroutine's code
RLEG(N1) = DRTS(N2+1)*DIRT(N+M)*DIRT(N-M)*(DRTS(N2-1)*COTHET*
2 RLEG(N1-1)-DRTS(N+M-1)*DRTS(N-M-1)*DIRT(N2-3)*RLEG(N1-2))
near the bottom of DO-loop 30 is equivalent to
RLEG(N1) = SQRT(2*N+1)/SQRT(N+M)/SQRT(N-M)*
1 ( SQRT(2*N-1)*COS(THETA)*RLEG(N1-1)
2 - SQRT(N+M-1)*SQRT(N-M-1)/SQRT(2*N-3)*RLEG(N1-2)
3 )
This corresponds exactly to the
vertical recurrence.
Evidently $\overline{P}_{n,m}(\cos\theta)$ is
stored in one-dimensional array
RLEG(n).
(I've not studied the code to understand how it handles
the various columns.)
One conclusion is that the
normalization formula used in
the F447.f program
is the $N_{n,m}$ formula given in the preceding answer.