爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: zhugecunfu

刚接触TrajStat软件,关于气象数据请大家指点

[复制链接]

新浪微博达人勋

 楼主| 发表于 2015-3-10 09:08:25 | 显示全部楼层
MeteoInfo 发表于 2015-3-9 17:33
根据实际情况吧,比如6小时间隔甚至一天只算一个时次的。还有时次是从00 - 23

谢谢王老师,昨天用王老师MeteoInfo软件将fnl的grib数据转换成arl数据,脚本见附件。生成了120101和120102两天的数据。用TrajStat计算轨迹,同样出现了上次的状况,文本内容都是空白。请问王老师哪里出现了问题。谢谢!



脚本:



#--------------------------------------------------------        
# Author: Yaqiang Wang                                          
# Date: 2014-10-24                                               
# Purpose: Convert GRIB data to ARL data



# Note: Sample                                                   
#-----------------------------------------------------------
from org.meteoinfo.data.meteodata import MeteoDataInfo
from org.meteoinfo.data.meteodata.arl import ARLDataInfo
from org.meteoinfo.data.meteodata.arl import DataLabel
import os

#---- Set directories
dataDir = "G:/CO2/MeteoInfo_Java_1.2R3_Files/fnl"

#---- Set output data file
outFile = os.path.join(dataDir, 'arl\\fnl12010200.arl')

#---- Read a GRIB data file
mydata = MeteoDataInfo()
infile = os.path.join(dataDir, 'grib\\fnl_120102_00_00')
print infile
mydata.openNetCDFData(infile)
print 'GRIB file has been opened...'

#---- Set output ARL data info
arlDI = ARLDataInfo()

#---- Set variable and level list
gvars = ['Pressure_surface','Temperature_height_above_ground',\
     'u-component_of_wind_height_above_ground','v-component_of_wind_height_above_ground',\
     'Geopotential_height_isobaric','Temperature_isobaric',\
     'u-component_of_wind_isobaric','v-component_of_wind_isobaric','Vertical_velocity_pressure_isobaric',\
     'Relative_humidity_isobaric']
avars = ['PRSS','T02M','U10M','V10M','HGTS','TEMP','UWND','VWND','WWND','RELH']
#levels = [0,200,300,400,500,600,700,800,\
#     850,900,925,950,975,1000]
levels = [0,10,20,30,50,70,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,\
   850,900,925,950,975,1000]
#levels = [0,1000,975,950,925,900,850,800,750,700,650,600,550,500,450,400,350,300,250,200,150,100,70,50,30,20,10]




for l in levels:
    arlDI.levels.add(l)
    if l == 0:
        arlDI.LevelVarList.add(['PRSS','T02M','U10M','V10M'])
    else:
        arlDI.LevelVarList.add(['HGTS','TEMP','UWND','VWND','WWND','RELH'])

#---- Write ARL data file
dataInfo = mydata.getDataInfo()
arlDI.createDataFile(outFile)
arlDI.X = dataInfo.getXDimension().getValues()
arlDI.Y = dataInfo.getYDimension().getValues()
variables = dataInfo.getVariables()
tNum = dataInfo.getTimeNum()
for t in range(0, tNum):
    mydata.setTimeIndex(t)
    atime = dataInfo.getTimes().get(t)
    aDH = arlDI.getDataHead(mydata.getProjectionInfo(), 'FNL1', 2)
    arlDI.writeIndexRecord(atime, aDH)
    lidx = 0
    for l in arlDI.levels:
        print l
        for v in arlDI.LevelVarList[lidx]:
            vName = gvars[avars.index(v)]
            print vName
            if lidx == 0:
                mydata.setLevelIndex(lidx)
            else:
                variable = dataInfo.getVariable(vName)
                nlidx = variable.getZDimension().getDimValue().indexOf(l*100.0)
                mydata.setLevelIndex(nlidx)
            gData = mydata.getGridData(vName)
            if v == 'PRSS' or v == 'WWND':
                gData = gData.div(100)
            aDL = DataLabel(atime)
            aDL.setLevel(lidx)
            aDL.setVarName(v)
            aDL.setGrid(99)
            aDL.setForecast(0)
            arlDI.writeGridData(aDL, gData)
    lidx += 1

arlDI.closeDataFile()

print 'Finished!'



001.jpg
002.jpg

20150309-1.py

3.31 KB, 下载次数: 4, 下载积分: 金钱 -5

fnl12010100.arl

27.02 MB, 下载次数: 12, 下载积分: 金钱 -5

120102.tgs

106 Bytes, 下载次数: 0, 下载积分: 金钱 -5

12010206

198 Bytes, 下载次数: 2, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2015-3-10 18:19:36 | 显示全部楼层
zhugecunfu 发表于 2015-3-10 09:08
谢谢王老师,昨天用王老师MeteoInfo软件将fnl的grib数据转换成arl数据,脚本见附件。生成了120101和12010 ...

貌似你转成的ARL格式数据有些问题,有些层的数据无法读出来,你把原始的GRIB数据文件也贴出来我看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-3-11 10:35:15 | 显示全部楼层
MeteoInfo 发表于 2015-3-10 18:19
貌似你转成的ARL格式数据有些问题,有些层的数据无法读出来,你把原始的GRIB数据文件也贴出来我看看。

文件太大,直接贴不上我转存到网盘里面了
http://pan.baidu.com/s/1dDha9cl
请您帮忙看一下

格式是grib1的,ncep提供的是grib2,我们单位数值室为了方便使用,转成grib1


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

新浪微博达人勋

发表于 2015-3-11 13:26:55 | 显示全部楼层
zhugecunfu 发表于 2015-3-11 10:35
文件太大,直接贴不上我转存到网盘里面了
http://pan.baidu.com/s/1dDha9cl
请您帮忙看一下

数据转换脚本程序有些问题,参考此脚本   fnl2arl.py (3.05 KB, 下载次数: 5)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-3-12 09:07:34 | 显示全部楼层
MeteoInfo 发表于 2015-3-11 13:26
数据转换脚本程序有些问题,参考此脚本  

批量转换的话可以加上循环。

xi谢谢王老师,我试试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-18 10:27:15 | 显示全部楼层
MeteoInfo 发表于 2015-2-17 10:11
见此网页:http://ready.arl.noaa.gov/archives.php

王老师,你好!我也遇到这个问题。我下载的时候点开全是这样乱码的!
@)U`Z~LM)`[MM(O1YWXCMN7.png
X9()BST1U[WABI)0W~(9O~5.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-18 10:27:55 | 显示全部楼层
ljl1991 发表于 2015-3-18 10:27
王老师,你好!我也遇到这个问题。我下载的时候点开全是这样乱码的!

想问一下您是什么原因?是我下载的不对吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-18 11:00:53 | 显示全部楼层
ljl1991 发表于 2015-3-18 10:27
想问一下您是什么原因?是我下载的不对吗?

建议你找个FTP客户端下载,推荐FileZilla,免费开源且功能强大易用。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-19 16:03:15 | 显示全部楼层
MeteoInfo 发表于 2015-3-18 11:00
建议你找个FTP客户端下载,推荐FileZilla,免费开源且功能强大易用。

谢谢王老师!数据可以下载了。但是还有一个问题想问一下您:您帮我看看我下载的数据对吗?如果对的话,用这个数据就可以直接生成轨迹吗,还是需要转换成其他格式的数据才可以生成轨迹?打扰王老师!
QQ截图20150319155856.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-19 18:03:19 | 显示全部楼层
ljl1991 发表于 2015-3-19 16:03
谢谢王老师!数据可以下载了。但是还有一个问题想问一下您:您帮我看看我下载的数据对吗?如果对的话,用 ...

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

本版积分规则

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

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

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