爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfo脚本示例:GRIB to ARL

[复制链接]

新浪微博达人勋

 楼主| 发表于 2015-6-24 23:26:41 | 显示全部楼层
良辰 发表于 2015-6-24 22:42
王老师,我在进行grads转arl时,遇到输出结果hysplt不认识的问题。一开始提示需要地面气压和高度变量 ...

可以参考1楼示例脚本里的变量。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-25 16:12:26 | 显示全部楼层
MeteoInfo 发表于 2015-6-24 23:26
可以参考1楼示例脚本里的变量。

我再试试看,非常感谢王老师的帮助,辛苦了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-25 16:58:32 | 显示全部楼层
本帖最后由 良辰 于 2015-6-25 16:59 编辑

GRADS转arl后,MI绘图为空,为什么?请王老师指点一下,非常感谢!
  1. #--------------------------------------------------------        
  2. # Author: Yaqiang Wang                                          
  3. # Date: 2014-10-24                                               
  4. # Purpose: Convert Grads data to ARL data  
  5. # Note: Sample                                                   
  6. #-----------------------------------------------------------
  7. from org.meteoinfo.data.meteodata import MeteoDataInfo
  8. from org.meteoinfo.data.meteodata.arl import ARLDataInfo
  9. from org.meteoinfo.data.meteodata.arl import DataLabel
  10. import os
  11. #---- Set directories
  12. dataDir = "D:/Temp"
  13. #---- Set output data file
  14. outFile = os.path.join(dataDir, 'arl/test2.arl')
  15. #---- Read a GRADS data file
  16. mydata = MeteoDataInfo()
  17. infile = os.path.join(dataDir, 'grads/wrfout_d02.ctl')
  18. print infile
  19. mydata.openGrADSData(infile)
  20. print 'GRADS file has been opened...'
  21. #---- Set output ARL data info
  22. arlDI = ARLDataInfo()
  23. #---- Set variable and level list
  24. gvars = ['PSFC','T2','U10M','V10M','Z','TK','UMET','VMET','W','RH']
  25. avars = ['PRSS','T02M','U10M','V10M','HGTS','TEMP','UWND','VWND','WWND','RELH']
  26. levels = [0,1000,925,850,700,500,300,200]
  27. for l in levels:
  28.   arlDI.levels.add(l)
  29.   if l == 0:
  30.     arlDI.LevelVarList.add(['PRSS','T02M','U10M','V10M'])
  31.   else:
  32.     arlDI.LevelVarList.add(['HGTS','TEMP','UWND','VWND','WWND','RELH'])
  33. #---- Write ARL data file
  34. dataInfo = mydata.getDataInfo()
  35. arlDI.createDataFile(outFile)
  36. arlDI.X = dataInfo.getXDimension().getValues()
  37. arlDI.Y = dataInfo.getYDimension().getValues()
  38. variables = dataInfo.getVariables()
  39. tNum = dataInfo.getTimeNum()
  40. for t in range(0, tNum):
  41.   mydata.setTimeIndex(t)
  42.   atime = dataInfo.getTimes().get(t)
  43.   aDH = arlDI.getDataHead(mydata.getProjectionInfo(), 'GRPS', 2)
  44.   arlDI.writeIndexRecord(atime, aDH)
  45.   lidx = 0
  46.   for l in arlDI.levels:
  47.     print l
  48.     for v in arlDI.LevelVarList[lidx]:
  49.       vName = gvars[avars.index(v)]
  50.       print vName
  51.       if lidx == 0:
  52.         mydata.setLevelIndex(lidx)
  53.       else:
  54.         variable = dataInfo.getVariable(vName)
  55.         nlidx = variable.getZDimension().getDimValue().indexOf(l*100.0)
  56.         mydata.setLevelIndex(nlidx)
  57.       gData = mydata.getGridData(vName)
  58.       if v == 'PRSS' or v == 'WWND':
  59.         gData = gData.div(100)      
  60.         aDL = DataLabel(atime)
  61.         aDL.setLevel(lidx)
  62.         aDL.setVarName(v)
  63.         aDL.setGrid(99)
  64.         aDL.setForecast(0)
  65.         arlDI.writeGridData(aDL, gData)
  66.     lidx += 1
  67. arlDI.closeDataFile()
  68. print 'Finished!'


gards500hgt

gards500hgt

arl 500

arl 500
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-25 17:16:18 | 显示全部楼层
良辰 发表于 2015-6-25 16:58
GRADS转arl后,MI绘图为空,为什么?请王老师指点一下,非常感谢!

把数据贴出来吧,要不然没办法找问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-26 12:46:59 | 显示全部楼层
MeteoInfo 发表于 2015-6-25 17:16
把数据贴出来吧,要不然没办法找问题。
  1. dset ^wrfout_d02.dat                          
  2. undef 1.e35
  3. pdef 312 285 lcc  39.511  121.599    1.000    1.000  60.  30.  126.500   3000.   3000.
  4. xdef 1098 linear  119.9   0.01351351
  5. ydef  748 linear   38.4   0.01351351
  6. zdef    7 levels  
  7. 1000.00000
  8.   925.00000
  9.   850.00000
  10.   700.00000
  11.   500.00000
  12.   300.00000
  13.   200.00000
  14. tdef        85 linear 12z17jun2015  1hr
  15. vars   27
  16. UMET             7 0 U Compoment of wind - rotated (diagnostic)        
  17. VMET             7 0 V Component of wind - rotated (diagnostic)        
  18. W                7 0 W Component of wind                              
  19. THETA            7 0 Theta                                             
  20. TK               7 0 Temperature in K                                 
  21. Z                7 0 Height (m)                                       
  22. QVAPOR           7 0 Vapor (kg/kg)                                    
  23. TD               7 0 Dewpoint Temperature in C (diagnostic)            
  24. RH               7 0 Relative Humidity (diagnostic)                    
  25. RAINC           0  0 ACCUMULATED TOTAL CUMULUS PRECIPITATION           
  26. RAINNC          0  0 ACCUMULATED TOTAL GRID SCALE PRECIPITATION        
  27. slvl            0  0 sea level pressure                                
  28. T2              0  0 TEMP at 2 M                                       
  29. U10M            0  0 U at 10 M - rotated                              
  30. V10M            0  0 V at 10 M - rotated                              
  31. XLAT            0  0 LATITUDE, SOUTH IS NEGATIVE                       
  32. XLONG           0  0 LONGITUDE, WEST IS NEGATIVE                       
  33. PSFC            0  0 SURFACE PRESSURE(PA)                              
  34. RH2             0  0 Relative humidity(%) at 2m (diagnostic)           
  35. TD2             0  0 Dewpoint temperature(K) at 2m (diagnostic)        
  36. T2MAX           0  0 Maximum temperature(K) at 2m (diagnostic)         
  37. T2MIN           0  0 Minimum temperature(K) at 2m (diagnostic)         
  38. HIGHCLD         0  0 High cloud fraction[%] (diagnostic)               
  39. MIDCLD          0  0 Middle cloud fraction[%] (diagnostic)            
  40. LOWCLD          0  0 Low cloud fraction[%] (diagnostic)               
  41. TOTCLD          0  0 Total cloud fraction[%] (diagnostic)              
  42. VIS             0  0 Visibility in km (diagnostic)                     
  43. endvars
复制代码
数据太大,上传不了呀。

wrfout_d02.ctl

2.27 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-26 13:53:49 | 显示全部楼层
良辰 发表于 2015-6-26 12:46
数据太大,上传不了呀。

可以用百度云盘之类的工具共享数据。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-26 19:41:31 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-27 09:01:56 | 显示全部楼层
良辰 发表于 2015-6-26 19:41
http://pan.baidu.com/share/link?shareid=2675874425&uk=2704002612

你的模式结果数据不适合做轨迹分析,底层的风场等变量有大片的缺测值,会导致无法计算轨迹。事实上ARL格式的气象数据里没有缺测值的处理,也就是说不允许有缺测值。
Image00147.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-27 09:43:17 | 显示全部楼层
MeteoInfo 发表于 2015-6-27 09:01
你的模式结果数据不适合做轨迹分析,底层的风场等变量有大片的缺测值,会导致无法计算轨迹。事实上ARL格 ...

非常非常感谢王老师!如果必须用这个做,有什么办法吗?王老师。这个数据是nc转的grads,那么这个nc数据也不适合做轨迹了吗?  再次感谢王老师,辛苦辛苦,那么大数据下载都要一阵子的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-27 09:50:24 | 显示全部楼层
本帖最后由 良辰 于 2015-6-27 09:57 编辑
良辰 发表于 2015-6-27 09:43
非常非常感谢王老师!如果必须用这个做,有什么办法吗?王老师。这个数据是nc转的grads,那么这个nc数据也 ...


王老师,刚才我查看了一下原始的nc数据,里面数据没有缺失,但是垂直高度上,U\V一致,W比UV多。如果我要用nc转arl,数据为地形追随坐标,levels如何设置?另外aDH = arlDI.getDataHead(mydata.getProjectionInfo(), 'GRPS', 2)中的2修改为1就可以了吗?

u

u

w

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

本版积分规则

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

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

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