tloop(expr)
When time is a varying dimension in the dimension environment, the
tloop function evaluates the expr at
fixed times, then reconstructs the time series to obtain a final result
that is time varying. The tloop function is required due to
the implementation of the GrADS expression evaluation rules, and the
implementation of certain other functions. The tloop function
can also improve performance for certain calculations.
The tloop function is provided as a way to obtain time series
from functions that themselves are not implemented to be able to operate
when time is a varying dimension. See the examples below.
tloop function loops through time based on the time
increment of the default file; it is thus important to have the default
file set appropriately.
tloop function and the define command
work very similarly. In many cases, the define command can be
used to obtain the same result as using tloop. In fact, the
define command can be even more useful along
those lines, since it also loops through the Z dimension, in effect
creating a zloop function. See the define command for more
information.
tloop function is to obtain
a time series of areal averages using the aave function.
Since the aave function will not work when time is a varying
dimension, the useof tloop is required:
set x 1
- set y 1
- set t 1 31
- d tloop(aave(ts,lon=0,lon=360,lat=-90,lat=90))
Note that the dimension environment is set up to reflect the kind of plot
desired, namely a line plot where time is the varying
dimension. Thus it is necessary to fix the X and Y dimensions; the values
of those dimensions in this case are not relevent.
tloop function can be used to smooth in time:
set lon -180 0
- set lat 40
- set lev 500
- set t 3 28
- d tloop(ave(z,t-2,t+2))
In this example, we are plotting a time-longitude cross section, where each time is a 5 time period mean centered at that time.
set lon -180 0
- set lat 40
- set lev 500
- set t 1 31
- d ave(z,lat=20,lat=40)
This calculation could be fairly time consuming, since to perform the
average, a longitude-time section is obtained at each latitude. If the
time period is long, then this would be a very inneficient operation, due
to the ordering of data in a typical GrADS data set. The
tloop function might substantially improve the performance of
this calculation:
d tloop(ave(z,lat=20,lat=40))
since the average is then done at each fixed time, and is thus just an
average of X varying data over Y. Thus the tloop function
here is simply being used to force a different ordering to the
calculation, although the result is the same.