- 积分
- 122
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-9-14
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 爽歪歪! 于 2016-11-22 21:30 编辑
http://bbs.06climate.com/forum.php?mod=viewthread&tid=33310使用此贴的脚本,数据读出来降水值认为有误,请指教~本人自写脚本数据一样不对,想知道到底是哪里出了问题,谢谢各位~~以下为个人脚本,float改为double一样数据有误。
#!/bin/bash
datadir="/proj/data/200801/"
outdir="/proj/out/"
#-----------------------------------------
#Create plot.ncl
#-----------------------------------------
cat >averagerain.ncl << EOF
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
files0 = systemfunc ("ls -1 " + "${datadir}" + "SURF*")
numfiles = dimsizes(files0)
; setfileoption("files0", "ReadByteOrder", "LittleEndian")
rain = new((/24,440,700/), float, -999.0)
sum24 = new((/440,700/), float, -999.0)
avlon = new((/440/), float, -999.0)
avlat = new((/31/), float, -999.0)
j = 0
d = 0 ;number of days
k = 0
do ii = 0, numfiles-1
if(j.ne.24)then
hour_rain = fbindirread(files0(ii), 0, (/440,700/), "float")
hour_rain@FillValue = -999.0
print(hour_rain)
rain(j,:,:) = hour_rain(:,:)
j = j+1
print(rain)
else
j = 0
sum24 = dim_sum_n(rain,0)
avlon = dim_avg_n(sum24,1)
avlat(d) = dim_avg_n(avlon,0)
print(avlat(d))
d = d+1
hour_rain = fbinrecread(files0(ii), 0, (/440,700/), "float")
rain(j,:,:) = hour_rain(:,:)
j = j+1
if (all(ismissing(rain)))then
print("second rain all")
end if
end if
end do
line = sprintf("%3.2f",avlat(:))
asciiwrite("${outdir}" + "20080101.TXT",line)
delete(hour_rain)
delete(line)
end
EOF
ncl averagerain.ncl
rm averagerain.ncl
运行结果:
|
-
|