爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13649|回复: 17

【NCL】ncl读grd文件

[复制链接]

新浪微博达人勋

发表于 2016-11-22 21:18:32 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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

运行结果:


63D5644B82B38115892E2C47F76F840E.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-22 21:20:57 | 显示全部楼层
应该发到ncl里怎么跑到grads了,大神们表介意
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-22 21:23:46 | 显示全部楼层
求助啊,大神看我
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-22 21:25:11 | 显示全部楼层
顶帖,希望有大神相助,一起学习下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-22 21:42:28 | 显示全部楼层
同顶!d=====( ̄▽ ̄*)b
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-23 00:24:36 来自手机 | 显示全部楼层
你居然为了顶自己的贴申请了两个小号。。。是师姐输了。。还有我不知道怎么转发呀 哪里能转发
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-23 08:44:14 | 显示全部楼层
是和LittleEndian有关吗?数据是大端还是小端?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2016-11-23 09:10:39 | 显示全部楼层
syl136 发表于 2016-11-23 00:24
你居然为了顶自己的贴申请了两个小号。。。是师姐输了。。还有我不知道怎么转发呀 哪里能转发

师姐输了。。。师姐。。。师姐。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-23 09:36:28 | 显示全部楼层
syl136 发表于 2016-11-23 00:24
你居然为了顶自己的贴申请了两个小号。。。是师姐输了。。还有我不知道怎么转发呀 哪里能转发

师姐,我保证我们几个都没开小号顶帖。。。大家只是互相顶一下。。而已。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-23 09:59:08 | 显示全部楼层
syl136 发表于 2016-11-23 00:24
你居然为了顶自己的贴申请了两个小号。。。是师姐输了。。还有我不知道怎么转发呀 哪里能转发

都是真好心人帮顶贴啊,自己的大号都这么低还搞什么小号
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表