""" WRF后处理程序 风变量对比 20230130 byp """ import netCDF4 import wrf import os import glob import re import math # 读取数据###############################################################开始 dir_name = "./data/WRF/" dir_output = './output/txt/' list_of_files = glob.glob(dir_name+'*') latest_file = max(list_of_files, key=os.path.getctime) # 最新文件 # print(latest_file) mat = re.search(r"(\d{4}-\d{1,2}-\d{1,2}_\d{1,2})", latest_file) # 正则匹配时间 dir_time_file = 'wrfout_d01_'+latest_file[mat.span()[0]:] dir_time = latest_file[mat.span()[0]:mat.span()[1]].replace('-', '').replace('_', '') data_nc = netCDF4.Dataset(dir_name+dir_time_file) idx = 0 i = 0 u = wrf.getvar(data_nc, 'U10', timeidx=idx) v = wrf.getvar(data_nc, 'V10', timeidx=idx) u_t = u.values[0][i] v_t = v.values[0][i] print(u_t) print(v_t) uv = wrf.getvar(data_nc, 'uvmet10', timeidx=idx) u_t = uv.values[0][0][i] v_t = uv.values[1][0][i] print(u_t) print(v_t) # print(u.attrs['projection']) uv = wrf.getvar(data_nc, 'uvmet10', timeidx=idx) sd = wrf.getvar(data_nc, 'wspd_wdir10', timeidx=idx) sd10 = wrf.getvar(data_nc, 'uvmet10_wspd_wdir', timeidx=idx) print('Description:') print('uvmet10:'+uv.attrs['description']) print('wspd_wdir10:'+sd.attrs['description']) print('uvmet10_wspd_wdir:'+sd10.attrs['description']) print('Units:') print('uvmet10:'+uv.attrs['units']) print('wspd_wdir10:'+sd.attrs['units']) print('uvmet10_wspd_wdir:'+sd10.attrs['units']) print('Projection:') print(uv.attrs['projection']) # print('uvmet10:'+uv.attrs['projection']) print(sd.attrs['projection']) print(sd10.attrs['projection'])