if scale_type == 0: # qpe等 scale = [0.1, 0] elif scale_type == 1: # 雷达等 scale = [0.5, -33] if version >= 2.: scale[1] = head_info['offset'][0] scale[0] = head_info['scale'][0] # print('SWAN Version:', version) # print('scale:', scale) data = data * scale[0] + scale[1] data = np.flip(data, 1) # reverse latitude axis if time is None: init_time = datetime.datetime( head_info['year'][0], head_info['month'][0], head_info['day'][0], head_info['hour'][0], head_info['minute'][0]) else: init_time = time grid_file = meteva.base.grid([slon,elon,dlon],[slat,elat,dlat],gtime=[init_time],dtime_list=[dtime],level_list=levels,member_list=[data_name]) grd = meteva.base.grid_data(grid_file,data) meteva.base.reset(grd) if grid is not None: grd = meteva.base.interp_gg_linear(grd,grid,outer_value=outer_value) if data_name is not None: grd.attrs['short_name'] = data_name grd.attrs['units'] = 'mm' grd.attrs['Conventions'] = "CF-1.6" grd.attrs['Origin'] = 'MICAPS Cassandra Server' return grd 不论scale_type等于0还是1,读取的是雷达还是QPE文件,最终单位都会被设置为mm,似不合理
Activity