This function takes an areal average over an X-Y region. The syntax is:
aave(expr, xdim1, xdim2, ydim1, ydim2)
where:
expr
- any valid grads expression
xdim1
- starting X dimension expression
xdim2
- ending X dimension expression
ydim1
- starting Y dimension expression
ydim2
- ending Y dimension expression
For global averaging, a shorthand may be used:
aave(expr, global)
or
aave(expr, g)
aave(expr, lon=0, lon=360, lat=-90, lat=90)
Usage Notes
-
In the absence of missing data values,
aave
gives the same result as nestedave
functions in the X and Y dimensions. The expressionave(ave(expr,x=1,x=72),y=1,y=46)
will produce the same numerical result as
aave(expr,x=1,x=72,y=1,y=46)
but the
aave
function is faster more efficient. -
When there are missing data values, the
aave
function does not return the same result as nestedave
functions. To see this, consider the small grid:6 18 3 510 10 10 1012 U U Uwhere U represents the missing data value. If we apply nestedave
functions, the innerave
will provide row averages of 8, 10, and 12. When the outsideave
is applied, the result will be an average of 10. Whenaave
is used, all the values participate equally (in this case, we are assuming no weights applied to the final average), and the result is 84/9 or about 9.33.
-
The
aave
function assumes that the world coordinates are longitude in the X dimension and latitude in the Y dimension, and does weighting in the latitude dimension by the difference between the sines of the latitude at the northern and southern edges of the grid box. For areal averaging without latitude weighting, use theamean
function.
-
-
The
aave
function always does its average to the exact boundaries specified, in world coordinates. This is somewhat different from theave
function, where the-b
flag is used to get this behavior. If the boundaries specified via the dimension expressions do not fall on grid boundaries, then the boundary values are weighted appropriately in the average.
-
If grid coordinates are used in the dimensions expressions, then they are converted to world coordinates to determine the exact boundary values. This conversion is done using the scaling of the default file. Note that the conversion is done using the outside grid box boundary, rather than the grid box center. For example:
asum(expr,x=1,x=72,y=1,y=46)
Here the boundary would be determined by using the X grid values ranging from 0.5 to 72.5 and Y grid values ranging from 0.5 to 46.5. These four grid boundary values would be converted to world coordinates using the scaling information from the default file. If we assume that
x=1
is 0 degrees longitude andx=72
is 355 degrees longitude, then the averaging boundary would be -2.5 to 357.5 degrees, which would cover the earth. In the Y dimension, when the boundary is beyond the pole, theasum
function recognizes this and weights appropriately.
Examples
-
-
An example of taking an area average of data only over land, given a mask grid:
aave(maskout(p,mask.3(t=1)),x=1,x=72,y=1,y=46)
In this case, it is assumed the mask grid has negative values at ocean points.