일부 grib 파일에 액세스해야합니다. 나는 파이그 리브 (pygrib)를 사용하여 어떻게하는지 알아 냈다. 그러나 내가 어떻게하는지 알아 낸 유일한 방법은 근면하게 느리다.파이 그 리브로 한 번에 많은 그리브 메시지에 액세스하십시오.
나는 34 시간의 3hrly 데이터를 보유하고 있으며, 연간 36 개 파일 (10 일마다 하나씩)로 구성됩니다. 총 약 1000 개의 파일
각 파일에는 ~ 80 개의 "메시지"(10 일 동안 하루에 8 개의 값)가 있습니다. (공간 데이터이므로 (x, y) 차원을 갖습니다).
grbfile = pygrib.index(filename, 'shortName', 'typeOfLevel', 'level')
var1 = grbfile.select(typeOfLevel='pressureFromGroundLayer', level=180, shortName='unknown')
for it in np.arange(len(var1)):
var_values, lat1, lon1 = var1[it].data()
if (it==0):
tot_var = np.expand_dims(var_values,axis=0)
else:
tot_var = np.append(tot_var, np.expand_dims(var_values,axis=0),axis=0)
및 1000 개 파일 각각에 대해이 작업을 반복 :
내가 쓰는 내 모든 데이터를 읽을 수 있습니다.더 빠른 방법이 있습니까? 한 번에 모든 grib 파일 당 ~ 80 개의 레이어를로드하는 것과 비슷합니까?
var_values, lat1, lon1 = var1[:].data()