This is an old post but all of the solutions require the equation and the explanations to be given separately. I prefer to have a single environment that combines the equation and the explanation of its variables.
The code below defines a new formula
environment where you specify the formula as the first argument and give the explanation of the variables as a comma separated list in the body of the environment. For example, the code,
\begin{formula}{P+N=S_{d}}
P : notional permeability factor,
N : number of waves,
S_{d}: damage level
\end{formula}
produces

Inspired by egreg's nice answer, there are additional arguments. You can use an exclamation mark if you want a line break after the where:
and you can change the where:
into anything you like using the (second) optional argument. So
\begin{formula}![where the wonderful notation we are using is:]{P+N=S_{d}}
P : notional permeability factor,
N : number of waves,
S_{d}: damage level
\end{formula}
produces:

Additionally, there is a formula*
variant that works in exactly the same way except that it does not print an equation number. For example, to display the formula in the OP we could use:
\begin{formula*}!{
\frac{H_s}{\Delta D_{n50} } = 1.0~ P^{0.13}~ \left(\frac{S_d}{N} \right)^{0.2}
\xi_m^P~ \sqrt{\cot \alpha}
}
H_s: {significant wave height, equal to the average of the highest 1/3 of the waves},
\Delta: {relative buoyant density, equal to $\rho_r / \rho_w - 1$, where
$\rho_w$ is the water density},
D_{n50}: nominal diameter defined in Equation (2),
P: notional permeability factor,
S_d: damage level,
N: number of waves,
\xi_m: breaker parameter based on mean wave period $T_m$,
\alpha: slope angle,
\end{formula*}
produces:

Notice that it is necessary to enclose the variable explanations that contain commas inside braces.
Here is the full code:
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}
\usepackage{xparse}
% add a single explanation line - #3 gobbles any extra garbage
\def\ExplainVariable#1:#2:#3!!!{$#1$ &$\;\;=$ #2 \\}
\NewDocumentEnvironment{formula}{ t! O{where:} m b }{%
\begin{equation}#3\end{equation}
#2 \IfBooleanT{#1}{\\[1ex]}
\renewcommand*\do[1]{\ExplainVariable##1::!!!}%
\tabular[t]{r@{}l}\docsvlist{#4}\endtabular
}{}
\NewDocumentEnvironment{formula*}{ t! O{where:} m b }{%
\begin{equation*}#3\end{equation*}
#2 \IfBooleanT{#1}{\\[1ex]}
\renewcommand*\do[1]{\ExplainVariable##1::!!!}%
\tabular[t]{r@{}l}\docsvlist{#4}\endtabular
}{}
\begin{document}
\begin{formula}{P+N=S_{d}}
P : notional permeability factor,
N : number of waves,
S_{d}: damage level
\end{formula}
\bigskip
\begin{formula}![where the wonderful notation we are using is:]{P+N=S_{d}}
P : notional permeability factor,
N : number of waves,
S_{d}: damage level
\end{formula}
\bigskip
\begin{formula*}{
\frac{H_s}{\Delta D_{n50} } = 1.0~ P^{0.13}~ \left(\frac{S_d}{N} \right)^{0.2}
\xi_m^P~ \sqrt{\cot \alpha}
}
H_s: {significant wave height, equal to the average of the highest 1/3 of the waves},
\Delta: {relative buoyant density, equal to $\rho_r / \rho_w - 1$, where
$\rho_w$ is the water density},
D_{n50}: nominal diameter defined in Equation (2),
P: notional permeability factor,
S_d: damage level,
N: number of waves,
\xi_m: breaker parameter based on mean wave period $T_m$,
\alpha: slope angle,
\end{formula*}
\end{document}
The basic idea to parse the body of the formula
environment using \docsvlist
from the etoolbox package.
nomencl
. Actually two I know of:nomentbl
. Or you could even tryglossaries
. It really depends on how much effort you are willing to invest (i.e. writing a book vs short paper).align*
and\text
for the stuff after the=
=
in a fixed vertical positionalign
?&=