爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4643|回复: 3

【求助】利用计算多日的气团轨迹的脚本,运行后没有结果怎么办

[复制链接]

新浪微博达人勋

发表于 2020-9-9 06:48:52 | 显示全部楼层 |阅读模式

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

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

x
python小白,完全照着王老师的脚本来的,为什么运行后没有结果
import calendar

# Set working directory
metDir = 'E:/MeteoInfo/grads/fall'
outDir = 'E:/MeteoInfo/grads'
workingDir = 'E:/MeteoInfo/MeteoInfo/plugins/TrajStat/working'
os.chdir(workingDir)
print 'Current directory: ' + os.getcwd()

# Set parameters
lon = '115.2'
lat = '40.1'
shour = '06'
heights = ['100.0','500.0','1000.0']
hnum = len(heights)
hours = '-24'
vertical = '0'
top = '10000.0'

# Get GDAS1 meteorological data files by time
def getmeteofiles(t):
    ystr = t.strftime('%y')
    mdir = metDir + '/%s' % t.strftime('%Y')
    mmm = miutil.dateformat(t, 'MMM', 'us_en').lower()
    mdirs = []
    fns = []
    # The meteo files of this month
    for i in range(1,6):
        fn = 'gdas1.' + mmm + ystr + '.w' + str(i)
        if os.path.exists(os.path.join(mdir, fn)):
            mdirs.append(mdir)
            fns.append(fn)

    # The last two meteo files of last month
    days = calendar.monthrange(t.year, t.month)[1]
    t = t - datetime.timedelta(days=days)
    ystr = t.strftime('%y')
    mdir = metDir + '/%s' % t.strftime('%Y')
    mmm = miutil.dateformat(t, 'MMM', 'us_en').lower()
    fn = 'gdas1.' + mmm + ystr + '.w4'
    mdirs.append(mdir)
    fns.append(fn)
    fn = 'gdas1.' + mmm + ystr + '.w5'
    if os.path.exists(os.path.join(mdir, fn)):
        mdirs.append(mdir)
        fns.append(fn)
    else:
        mdirs.append(mdir)
        fns.append('gdas1.' + mmm + ystr + '.w3')

    return mdirs, fns

# Set start/end time
stime = datetime.datetime(2019,8,1)
etime = datetime.datetime(2019,10,31)

# Loop
ctFile = './CONTROL'
while stime < etime:
    print stime.strftime('%Y-%m-%d ') + shour + ':00'
    ctf = open(ctFile, 'w')
    ctf.write(stime.strftime('%y %m %d ') + shour + "\n")
    ctf.write(str(hnum) + '\n')
    for j in range(0,hnum):
        ctf.write(lat + ' ' + lon + ' ' + heights[j] + '\n')
    ctf.write(hours + '\n')
    ctf.write(vertical + '\n')
    ctf.write(top + '\n')
    mdirs, fns = getmeteofiles(stime)
    fnnum = len(fns)
    ctf.write(str(fnnum) + '\n')
    for mdir,fn in zip(mdirs,fns):
        ctf.write(mdir + '/' + '\n')
        ctf.write(fn + '\n')
    ctf.write(outDir + '/' + '\n')
    outfn = stime.strftime('traj_%Y%m%d')
    ctf.write(outfn)
    ctf.close()
    os.system('E:/MeteoInfo/MeteoInfo/plugins/TrajStat/working/hyts_std.exe')

    stime = stime + datetime.timedelta(days=1)

print 'Finish...'

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

新浪微博达人勋

发表于 2020-9-9 10:02:43 | 显示全部楼层
是不是报错了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-9-9 11:51:32 | 显示全部楼层

没有报错,就是运行完以后什么都没有
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-9-14 21:24:47 | 显示全部楼层
NameError: name 'miutil' is not defined
请问您有出现这个问题吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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