For the reasons given above, it may be desirable to filter the solution in polar latitudes. Option firfil uses multiple passes with a simple symmetric finite impulse response filter (Hamming 1977) to accomplish the filtering. Its advantage over fourier filtering with option fourfil is speed and there is also no ficticiously induced vertical velocity (described above) because the amount of filtering is not a function of strip size. The finite impluse filter is also designed to handle land points without the need for code to pull out the various strips as is needed for fourier filtering. Additionally, option firfil will not increase variance (and there is no introduction of negative values into a field that is all positive).
As with fourier filtering, the amount of filtering is a function of latitude and is controlled by the number of passes of the filter. The number of passes is arbitrairly given by
where
is the southern reference latitude
and numflt is the number of filter applications per prognostic
variable per latitude and the
is the cosine of that latitude.
If filtering in the northern hemisphere, then
would
be used instead of
.
Variable numflt is for T
cell latitudes and there is a corresponding numflu for the number
of passes used for variables on U cell latitudes. Equation
(27.9) is arbitrary and should be adjusted by the researcher
to get the desired effect.
A finite impulse filter can be written as
![]() |
(27.10) |
and its transfer function is
![]() |
(27.11) |
A very simple one is used with M=1 and weights given by
| (27.12) |
The transfer function is
| (27.13) |
The effect of multiple applications of this filter can be easily
calculated. If the filter is applied numflt times then the transfer
function is
.
It is useful to demonstrate that the M=1 filter (a ``1-2-1'' filter)
does not change the zonal mean of a field, so long as the zonal grid
spacing is uniform and the field has cyclic symmetry, or the field
satisfies the no-flux condition on the zonal land/ocean boundaries.
For this purpose, consider the zonal sum of the filtered field
| = | ![]() |
||
| = | ![]() |
||
| = | ![]() |
(27.14) |
![]() |
(27.15) |
![]() |
= | ![]() |
|
| = | ![]() |
||
| = | (27.16) |
![]() |
= | ||
| = | ![]() |
||
| = | (27.17) |
| = | (27.18) |
| = | (27.19) | ||
| = | (27.20) |
| = | (27.21) | ||
| = | (27.22) |