- 积分
- 1237
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-5-6
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
准备将二维数组(时间,格点数),按照时间维升序排列,利用得到的结果与排序前相差很大,还望各位大神指点.已完成部分如下:
load "$NCARG_ROOt/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOt/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
begin
all_files = systemfunc ("ls /home/chenyg/ncl/air.*.nc")
fall = addfiles (all_files, "r")
ListSetType (fall, "join")
T = fall[:]->air
tt = T(:,0:89,{20:30},{120:130})
delete(T)
n0= dimsizes(tt(:,0,0,0))
n1= dimsizes(tt(0,:,0,0))
n2= dimsizes(tt(0,0,:,0))
n3= dimsizes(tt(0,0,0,:))
n4= n0*n1
s1 = new((/ n4,n2,n3 /),float)
do ll=0,n2-1
do nn=0,n3-1
kk=0
do ii=0, n0-1
do jj = 0, n1-1
s1(kk,ll,nn) = tt(ii,jj,ll,nn)
kk=kk+1
end do
end do
end do
end do
delete(tt)
delete(n0)
delete(n1)
delete(kk)
;*****
xx = onedtond(ndtooned(s1),(/n4-1,(n2-1)*(n3-1)/))
print(xx(1:2,1:2))
yy = dim_pqsort_n(xx,1,0)
print(yy(1:2,1:2))
;******
system("rm -f t2.nc")
fout = addfile("t2.nc" ,"c")
fout->yy = (/yy/)
end
输出结果如下
Variable: xx (subsection)
Type: float
Total Size: 16 bytes
4 values
Number of Dimensions: 2
Dimensions and sizes: [2] x [2]
Coordinates:
Number Of Attributes: 1
_FillValue : 32766
(0,0) -18802
(0,1) -18777
(1,0) -18322
(1,1) -19025
Variable: yy (subsection)
Type: integer
Total Size: 16 byte
4 values
Number of Dimensions: 2
Dimensions and sizes: [2] x [2]
Coordinates:
(0,0) 151
(0,1) 158
(1,0) 160
(1,1) 137
排列后数据类型变为整形,且排列前后相差很大,不知错在哪里,还望指点。
|
|