利用Python将wrfout变量信息构成字典

获得WRF输出文件后,需要查看变量信息。
在安装有NCL的服务器上直接输入命令:

nudump -h wrfout_d02...(<-这个是自己生成的任意一个文件名字) &> varnames.txt &

即可获得输出文件的信息,前部分展示如下:
varname.txt

接下来利用Python将变量信息全部导出成一个字典:

import re
import json
f = open("varnames.txt", "r")
# 文件前17行不需要,从第一个float XLAT开始。具体多少行需要看自己的文件。
for line in range(17):
    x = f.readline()
# 开始读变量
d = {}
for line in f:
    x = re.split('[,"();=: ]', line.strip())
    while '' in x:
        x.remove('')
    if len(x) == 0:
        print('Read finished.')
        break
    if x[0] == "float" or x[0] == "int":
        var_name = x[1]
        d[var_name] = [x[2:]]
        continue
    d[var_name].append(x[1:])
f.close()
# 存字典到文件
# with open('varnames.json', 'w') as fo:
#     json.dump(d, fo)
# 读字典
# with open('varnames.json', 'r') as fo:
#    data = json.load(fo)

最后得到字典:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值