Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
cdo
Commits
35d13046
Commit
35d13046
authored
Jun 25, 2014
by
Uwe Schulzweida
Browse files
Filter: docu update
parent
7cf0b574
Changes
3
Hide whitespace changes
Inline
Side-by-side
doc/tex/mod/Filter
View file @
35d13046
...
...
@@ -8,28 +8,21 @@
@BeginDescription
This module takes the time series for each gridpoint in @file{ifile} and fills it with zeros (zero-
padding) up to the next time-step-number that is a power of 2. Then it (fast fourier) transforms
the time series with @math{2^n} elements into the frequency domain.
According to the particular operator and its parameters certain frequencies are filtered
(set to zero) in the frequency domain and the spectrum is (inverse fast fourier) transformed
back into the time domain. This time series is cut to the original number of timesteps from
@file{ifile} and written to @file{ofile}.
To determine the frequency the time-axis of @file{ifile} is used. (Data should have a constant time
increment since this assumption applies for transformation. However, the time increment
has to be different from zero.)
All frequencies given as parameter are interpreted per year. This is done by the
assumption of a 365-day calendar. Consequently if you want to perform multiyear-filtering
accurately you have to delete the 29th of February. If your @file{ifile} has a 360 year calendar
the frequency parameters fmin respectively fmax should be multiplied with a factor of
360/365 in order to obtain accurate results.
For the set up of a frequency filter the frequency parameters have to be adjusted to a
frequency in the data. Here fmin is rounded down and fmax is always rounded up.
Consequently it is possible to use bandpass with fmin=fmax without getting a zero-field
for @file{ofile}.
This module takes the time series for each gridpoint in @file{ifile} and (fast fourier) transforms it
into the frequency domain. According to the particular operator and its parameters certain frequencies
are filtered (set to zero) in the frequency domain and the spectrum is (inverse fast fourier) transformed
back into the time domain.
To determine the frequency the time-axis of @file{ifile} is used. (Data should have a constant time increment
since this assumption applies for transformation. However, the time increment has to be different from zero.)
All frequencies given as parameter are interpreted per year. This is done by the assumption of a 365-day calendar.
Consequently if you want to perform multiyear-filtering accurately you have to delete the 29th of February.
If your @file{ifile} has a 360 year calendar the frequency parameters @var{fmin} respectively @var{fmax} should be
multiplied with a factor of 360/365 in order to obtain accurate results.
For the set up of a frequency filter the frequency parameters have to be adjusted to a frequency in the data.
Here @var{fmin} is rounded down and @var{fmax} is always rounded up. Consequently it is possible to use bandpass with
@var{fmin=fmax} without getting a zero-field for @file{ofile}.
Hints for efficient usage:
@BeginItemize
@Item = to avoid effects of zero-padding cut or extend your time series down/up to the nearest power of two
@Item = to get reliable results the time-series has to be detrended (cdo detrend)
@Item = the lowest frequency greater zero that can be contained in ifile is 1/(N*dT),
@Item = the greatest frequency is 1/(2dT) (Nyquist frequency),
...
...
@@ -44,9 +37,8 @@ with N the number of timesteps and dT the time increment of @file{ifile} in year
@Parameter = fmin fmax
@BeginDescription
Bandpass filtering (pass for frequencies between fmin and fmax).
Suppresses all variability outside the frequency range specified
by [fmin,fmax].
Bandpass filtering (pass for frequencies between @var{fmin} and @var{fmax}).
Suppresses all variability outside the frequency range specified by [@var{fmin},@var{fmax}].
@EndDescription
@EndOperator
...
...
@@ -56,8 +48,8 @@ by [fmin,fmax].
@Parameter = fmin
@BeginDescription
Highpass filtering (pass for frequencies greater than fmin).
Suppresses all variabilty with frequencies lower than fmin.
Highpass filtering (pass for frequencies greater than
@var{
fmin
}
).
Suppresses all variabilty with frequencies lower than
@var{
fmin
}
.
@EndDescription
@EndOperator
...
...
@@ -67,8 +59,8 @@ Suppresses all variabilty with frequencies lower than fmin.
@Parameter = fmax
@BeginDescription
Lowpass filtering (pass for frequencies lower than fmax).
Suppresses all variability with frequencies greater than fmax.
Lowpass filtering (pass for frequencies lower than
@var{
fmax
}
).
Suppresses all variability with frequencies greater than
@var{
fmax
}
.
@EndDescription
@EndOperator
...
...
src/operator_help.h
View file @
35d13046
...
...
@@ -3851,27 +3851,20 @@ static char *FilterHelp[] = {
" highpass,fmin ifile ofile"
,
""
,
"DESCRIPTION"
,
" This module takes the time series for each gridpoint in ifile and fills it with zeros (zero-"
,
" padding) up to the next time-step-number that is a power of 2. Then it (fast fourier) transforms "
,
" the time series with 2^n elements into the frequency domain."
,
" According to the particular operator and its parameters certain frequencies are filtered "
,
" (set to zero) in the frequency domain and the spectrum is (inverse fast fourier) transformed "
,
" back into the time domain. This time series is cut to the original number of timesteps from"
,
" ifile and written to ofile."
,
" To determine the frequency the time-axis of ifile is used. (Data should have a constant time "
,
" increment since this assumption applies for transformation. However, the time increment "
,
" has to be different from zero.)"
,
" All frequencies given as parameter are interpreted per year. This is done by the "
,
" assumption of a 365-day calendar. Consequently if you want to perform multiyear-filtering "
,
" accurately you have to delete the 29th of February. If your ifile has a 360 year calendar"
,
" the frequency parameters fmin respectively fmax should be multiplied with a factor of"
,
" 360/365 in order to obtain accurate results. "
,
" For the set up of a frequency filter the frequency parameters have to be adjusted to a "
,
" frequency in the data. Here fmin is rounded down and fmax is always rounded up. "
,
" Consequently it is possible to use bandpass with fmin=fmax without getting a zero-field "
,
" for ofile. "
,
" This module takes the time series for each gridpoint in ifile and (fast fourier) transforms it "
,
" into the frequency domain. According to the particular operator and its parameters certain frequencies "
,
" are filtered (set to zero) in the frequency domain and the spectrum is (inverse fast fourier) transformed "
,
" back into the time domain."
,
" To determine the frequency the time-axis of ifile is used. (Data should have a constant time increment "
,
" since this assumption applies for transformation. However, the time increment has to be different from zero.)"
,
" All frequencies given as parameter are interpreted per year. This is done by the assumption of a 365-day calendar. "
,
" Consequently if you want to perform multiyear-filtering accurately you have to delete the 29th of February. "
,
" If your ifile has a 360 year calendar the frequency parameters fmin respectively fmax should be "
,
" multiplied with a factor of 360/365 in order to obtain accurate results. "
,
" For the set up of a frequency filter the frequency parameters have to be adjusted to a frequency in the data. "
,
" Here fmin is rounded down and fmax is always rounded up. Consequently it is possible to use bandpass with "
,
" fmin=fmax without getting a zero-field for ofile. "
,
" Hints for efficient usage: "
,
" - to avoid effects of zero-padding cut or extend your time series down/up to the nearest power of two"
,
" - to get reliable results the time-series has to be detrended (cdo detrend)"
,
" - the lowest frequency greater zero that can be contained in ifile is 1/(N*dT), "
,
" - the greatest frequency is 1/(2dT) (Nyquist frequency),"
,
...
...
@@ -3880,8 +3873,7 @@ static char *FilterHelp[] = {
"OPERATORS"
,
" bandpass Bandpass filtering"
,
" Bandpass filtering (pass for frequencies between fmin and fmax)."
,
" Suppresses all variability outside the frequency range specified"
,
" by [fmin,fmax]."
,
" Suppresses all variability outside the frequency range specified by [fmin,fmax]."
,
" lowpass Lowpass filtering"
,
" Lowpass filtering (pass for frequencies lower than fmax)."
,
" Suppresses all variability with frequencies greater than fmax. "
,
...
...
test/bm_Remap.sh
View file @
35d13046
...
...
@@ -44,8 +44,8 @@ done
# result on hama: icc 12.1.5
# =================
# bil bic nn con ycon
# reg2d 1.0 2.2 1.
4
2
95
13
0
# curv 51 52 1
84
305
29
1
# reg2d 1.0 2.2 1.
3
2
42
13
1
# curv 51 52 1
75
263
29
5
#
# result on bailung: gcc
# =================
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment