爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10895|回复: 4

[脚本编辑] 多层的nc转grd出现问题

[复制链接]
发表于 2017-12-6 21:38:55 | 显示全部楼层 |阅读模式
1金钱
nc转grd格式,想输出12层的各个分量,但是只有第一层是对的,后面的都是错的,想了很久实在不知道哪里出了问题,简略了时间循环,我取的第一个时次,程序如下:
    'reinit'      
    'sdfopen D:\sy\1980EC\nc\1000-100hpa\1980.6.nc'
    'set fwrite D:\sy\1980EC\1000-100hpa\1980.6grd\1.grd'
    'set gxout fwrite'
     'set t 1'
    i=1
     while(i<=12)
     'set z 'i''
     'set lat 10 60'
     'set lon 80 140'
     'd t'
     'd w'
     'd vo'
     'd d'
     'd r'
     i=i+1
    endwhile
'disable fwrite'
    'reinit'
   ;

对应的ctl:
dset D:\sy\1980EC\1000-100hpa\1980.6grd\1.grd
title ec
undef -9.99E+33
xdef   61  linear    80.0000    1
ydef   51  linear    10.0000    1
zdef   12    levels    1000 925 850 700 600 500 400 300 250 200 150 100
tdef 1 linear 00z01JUN1980    360mn
vars 5
t 12 99 temperature
w 12 99 vertical velocity
vo  12 99  vorticiy
d 12 99 divergence
r 12 99 relative humidity
endvars

直接用nc资料画的500hPa温度分布:

直接用nc画的500百帕温度分布

直接用nc画的500百帕温度分布

用转的grd画的500hpa温度分布:

grd画的

grd画的



求解答,想了一天没想出哪里有问题,画图的gs就是常规的
set lev 500
d t

最佳答案

查看完整内容

应该是设定好time后,对每一个变量分别设置level循环,而不是只设置一个level循环
密码修改失败请联系微信:mofangbao
发表于 2017-12-6 21:38:56 | 显示全部楼层
应该是设定好time后,对每一个变量分别设置level循环,而不是只设置一个level循环
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2017-12-7 11:06:32 | 显示全部楼层
今天试了下,发现如果只display单个变量转换就没有问题,同时display多个变量数据就变不对,求解这是什么道理,难道要把每个变量单独存储吗?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2017-12-7 11:10:02 | 显示全部楼层
好像是数据存放顺序搞错了,
GrADS存放数据是(x,y,z,变量,t)
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2017-12-8 14:57:47 | 显示全部楼层
弱水三千 发表于 2017-12-6 21:38
应该是设定好time后,对每一个变量分别设置level循环,而不是只设置一个level循环

应该是的,要单独对变量设置level循环
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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