区域平均最主要的函数为wgt_areaave(q, wgty, wgtx, opt)
该函数的功能是以wgtx及wgty为权重计算数组q的区域平均值,具体参数定义详见官网。
设给定数组u(lat,lon),lat和lon为高斯格点上的经纬度,权重为高斯权重,使用如下几种权重方法计算区域平均。
(1)格网面积为权重
lat = f ->lat(:)
lon = f ->lon(:)
jlat1 = dimsizes(lat)
rad1 = 4.0*atan(1.0)/180.0
re1 = 6371220
rr1 = re1*rad1
dlon1 = abs(lon(2)-lon(1))*rr1
dx1 = dlon1*cos(lat*rad1)
dy1 = new(jlat1,typeof(dx1))
dy1(0) = abs(lat(2) - lat(1)) * rr1
dy1(1:jlat1-2) = abs(lat(2:jlat1-1) - lat(0:jlat1-3)) * rr1 * 0.5
dy1(jlat1-1) = abs(lat(jlat1 - 1) - lat(jlat1 - 2)) * rr1
area1 = dx1 * dy1
u_area = wgt_areaave(u, area1, 1.0, 1)
(2)高斯格点为权重
gwgt = f ->gwgt
u_gwgt = wgt_areaave(u, gwgt, 1.0, 1)
(3)纬度余弦为权重
clat = cos(lat * rad)
u_clat = wgt_areaave(u, clat, 1.0, 1)
(4)求平均值 (可用于有缺测数据)
u_avg = dim_avg_n(u({min(lat):max(lat)},{min(lon):max(lon)}), (/0,1/))