爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6271|回复: 0

wrf_user_getvar获取的变量如何写入wrfout.nc文件中

[复制链接]
发表于 2015-9-11 20:17:45 | 显示全部楼层 |阅读模式
NCL
系统平台:
问题截图: -
问题概况: 在NCl中将wrf_user_getvar获取的变量写入到wrfout.nc文件中,网上有一些教程,但是试过了都没有用
我看过提问的智慧: 看过
自己思考时长(天): 2

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

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

x
利用NCl的wrf_user_getvar命令可以在wrfout.nc文件中提取很多有用的变量来画图,最近想学习matlab画图,但是matlab却无法简单的获取这些变量,所以想在NCl中将wrf_user_getvar获取的变量写入到wrfout.nc文件中,网上有一些教程,但是试过了都没有用,也是刚刚接触这些,不太懂,望各位指导。
我把教程里的贴上来,
3.4 写 netCDF/HDF 文件
NCL有两种写netCDF/HDF文件的方法,一种是简单方法,另一种是传统方法。
简单方法:
直接用“.nc”替代“.hdf”就可以生成HDF文件:
fo = addfile(“foo.nc”,”c”)
fo->X = x
fo->Y = y
要生成一个无限制的维,通常是time,就要在输出值之前加上下面一行代码:
filedimdef(fo,”time”,-1,True)
传统方法:
该方法要求用户在输出之前明确定义整个文件的内容。预先定义netCDF文件:
filevardef:   定义变量名
filevarttdef:   将一个变量的属性复制给一个或多个文件变量
filedimdef:   定义维
fileattdef:   将一个变量属性复制给一个文件作为全局属性
setfileoption  一些选项能显著改进性能
在下面的例子中,假定变量time,lat,lon,T存在于存储器内。当写netCDF文件时,变量T被命名为TMP.
fout = addfile("out.nc","c")
; create global attributes (生成全局属性)
fileAtt= True
fileAtt@title= "Sample"
fileAtt@Conventions= "None"
fileAtt@creation_date= systemfunc("date")
setfileoption(fout,“DefineMode”,True)  ; optional
fileattdef(fout,fileAtt)          ; predefine coordinate variables (预先定义坐标变量)
dimNames = (/"time","lat","lon"/)
dimSizes = (/-1,nlat,nlon/) ; -1 means unspecified
dimUnlim = (/True,False,False/)
; predefine names, type, dimensions (预先定义名称,类型,维数)
; explicit dimension naming or getvardims can be used (明确维名称,或者可以用getvardims命令)
filedimdef(fout,dimNames,dimSizes,dimUnlim)
filevardef(fout,"time",typeof(time),getvardims(time))
filevardef(fout,"lat" ,typeof(lat) ,"lat")
filevardef(fout,"lon" ,"float" ,"lon")
filevardef(fout,"TMP" ,typeof(T) , getvardims(T) )
; predefine each variable’s attributes (预先定义每个变量的属性)
filevarattdef(fout,"time",time)
filevarattdef(fout,"lat" ,lat)
filevarattdef(fout,"lon" ,lon)
filevarattdef(fout,"TMP" ,T)
setfileoption(fout,”SuppressDefineMode”,False) ; optional
; output values only (输出值)[use (/... /) to strip metadata]
fout->time=(/time/)
fout->lat=(/lat/)
fout->lon=(/lon/)
fout->TMP=(/T/) ; T in script; TMP on file



密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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