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

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

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

即可获得输出文件的信息,前部分展示如下:
利用Python将wrfout变量信息构成字典_第1张图片

接下来利用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)

最后得到字典:
利用Python将wrfout变量信息构成字典_第2张图片

你可能感兴趣的:(python)