爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13615|回复: 14

请教如何查看wrf模式结果某个经纬度的T2变量值

[复制链接]

新浪微博达人勋

发表于 2013-6-21 16:22:06 | 显示全部楼层 |阅读模式

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

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

x
想请教大家,我运行完WRF后,想查看 wrfout_d04_2011-07-20_00:00:00.nc文件中某个经纬度的T2变量的值,该如何实现呢?
感觉应该简单,但是大脑一片混乱,完全不知道用什么方法,任务比较急,大家有知道的可以告诉我么,万分万分感谢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-6-21 17:03:44 | 显示全部楼层
本帖最后由 lsd1984 于 2013-6-22 10:56 编辑

送一个ncl的脚本
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;本段代码用来显示指定的经纬度在计算网格中最近的点的编号和经纬度
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
;上边是写ascii文件需要导入的脚本文件
begin
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 输入文件
; 读入一个nc文件。如下:(注意:需要补充好文件类型,否则不识别)
  a = addfile("//wrfout_d02_2011-08-04_00:00:00.nc","r")
;读取数据
T2=wrf_user_getvar(a,"T2",-1)        ;-1取全部数据        ;slp是sea level pressure海平面气压
times = wrf_user_getvar(a,"times",-1)
xlat=wrf_user_getvar(a,"XLAT",0)
xlon=wrf_user_getvar(a,"XLONG",0)

locationij=wrf_user_ll_to_ij(a,121.7854194,31.19645278,True);                ;此命令返回给定的(纬度,经度)对应的最近的节点坐标:网格意义上的(i,j)
;print(locationij)
lonlat=wrf_user_ij_to_ll(a,locationij(0),locationij(1),True);                ;此命令返回给定的节点坐标对应的(纬度,经度)
print(lonlat)
;xx=xlat(locationij(1)-1,locationij(0)-1)                                ;注意ij坐标到编号的转换,需要-1
;print(xx)
t=T2(:,locationij(1)-1,locationij(0)-1)
print(t)


end
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2013-6-22 08:15:49 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-6-22 09:25:45 | 显示全部楼层
如果你有输出的CTL文件的话,在GRADS里打开这个CTL文件
第1步 set t 时间
第2步 set lon 经度
第3步 set lat 纬度
第4步 d t2
结果就会显示出来了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-6-24 15:27:02 | 显示全部楼层
Forcast 发表于 2013-6-22 09:25
如果你有输出的CTL文件的话,在GRADS里打开这个CTL文件
第1步 set t 时间
第2步 set lon 经度

嗯,谢谢您,恍然大悟
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-4 16:27:48 | 显示全部楼层
lsd1984 发表于 2013-6-21 17:03
送一个ncl的脚本
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;本段代码用来显示指定的经纬度在计算网格中最近 ...

正需要这个,非常感谢分享,我是ncl菜鸟,嘿嘿
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-11 15:26:47 | 显示全部楼层
lsd1984 发表于 2013-6-21 17:03
送一个ncl的脚本
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;本段代码用来显示指定的经纬度在计算网格中最 ...

正需要这个,真的非常感谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-31 14:21:42 | 显示全部楼层
lsd1984 发表于 2013-6-21 17:03
送一个ncl的脚本
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;本段代码用来显示指定的经纬度在计算网格中最 ...

你好,我用你的代码试了一下,但是有一些问题,你知道是为什么吗?

Variable: lonlat
Type: float
Total Size: 8 bytes
            2 values
Number of Dimensions: 1
Dimensions and sizes:   [lon_lat_location | 2]
Coordinates:
(0)     121.6453
(1)     31.39188
fatal:["Execute.c":7432]:performASSIGN_VAR_VAR_OP: Number of subscripts on rhs do not match
                        number of dimensions of variable, (3) Subscripts used, (2)

fatal:["Execute.c":8128]:Execute: Error occurred at or near line 14 in file test.ncl
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-2 08:23:12 | 显示全部楼层
hahahahaha 发表于 2016-5-31 14:21
你好,我用你的代码试了一下,但是有一些问题,你知道是为什么吗?

Variable: lonlat

你确定一下你的时次数量和经纬度坐标范围。我不知道你里边的14行是哪一行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-2 08:37:28 | 显示全部楼层
lsd1984 发表于 2016-6-2 08:23
你确定一下你的时次数量和经纬度坐标范围。我不知道你里边的14行是哪一行

是这一行 t=T2(:,locationij(1)-1,locationij(0)-1)
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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