登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 zly4814624 于 2016-10-27 10:39 编辑
小生不才,这段时间一直在处理FY2E的资料,因为接触NCL的时间不是很长,所以一路坎坷。
期间一直找寻各种方法,寻求各种帮助,也是弄的焦头烂额。
因为作为非nc、grid等类型的模式数据,这种二进制卫星数据在使用ncl处理起来本身就没有他们来的方便。
再加上卫星中心提供的这种数据本身没有经纬度的信息,而是单独形成了一个经纬度对照表,更是增加了一些难度。
好在。
功夫不负有心人。
我在众多好心人的帮助下。
初步完成了运用ncl处理FY2e的AWX格式数据的脚本。
情怀到此,话不多说。
运用到的数据:FY2E_SEC_IR1_LCN_20160917_1930.AWX,正式的数据的分辨率为512*512,但是AWX的卫星数据有一个特点,就是有头文件,这个数据的头文件的记录长度为6,所以头文件的字符占用个数为6*512,所以这个数据的总字符量为518*512。在读取数据的时候,必须要将头文件的字符给略去。除了这个数据,我们还需要再添加一个数据:land.dat,这是国家卫星中心提供的经纬度对照表,分辨率为512*512,正好与上面的数据完美配对。由于上面数据的特殊性,我们只能通过使用经纬度对照表来将经纬度信息加载进去。
begin
system("date")
configPath="$WORKDIR/config"
configName="awx.config"
inputfileName = getArgsPara(params,"FY2E_SEC_IR1_LCN_20160917_1930.AWX")
datafileName = getArgsPara(params,"land.dat")
;*************************************读取数据****************************
fl = getArgsPara(params,"inputfileName")
f = fbindirread(fl,0,(/518,512/),"byte") ;读取二进制数据文件
vaild = byte2flt(f(:,:)) ; [512] x [512]
tbb = new((/512,512/),fl