아래 그림과 같이 우측 하단에 mask된 data들이 있음. 이를 처리하기 위해 interpolation진행.
(x, y)의 masked data를 채우기 위해 3*3 필터의 채워진 8개의 값을 평균값을 넣어줌. 이를 위에서 오른쪽 진행방향으로 반복하는 방식으로 값을 채워넣음.
if raw[x, y] > 999:
around_filter = np.array([[raw[x-2, y-2],raw[x-1, y-2],raw[x, y-2]],[raw[x-2, y-1],raw[x-1, y-1],raw[x, y-1]],[raw[x-2, y],raw[x-1, y],raw[x, y]]])
filter_list = []
for i in range(around_filter.shape[0]):
for j in range(around_filter.shape[1]):
if around_filter[i,j] < 999:
filter_list.append(around_filter[i,j])
mask_new_element = sum(filter_list)/len(filter_list)
raw[x, y] = mask_new_element
한반도 이미지가 뒤집혀있어 이를 올바른 형태로 행렬값 수정. numpy연산의 좌우 반전후 회전.
l_rotate = np.rot90(np.rot90(np.fliplr(l_crop),1),1)
LDPS는 00, 03, 06~21까지 3시간 간격으로 총 8회 제공. 이를 AWS와 대응시키기 위해 각 시간 마다 정보를 주기 위해 사이 시간을 채우는 작업.
위와 같은 작업으로 각 시간 별로 npz파일 저장. 한 npz파일 당 약 256KB.
'../../data/003/LDPS/201807/03/l015_v070_erlo_pres_h000.2018070303.gb2' 의 변수가
1:Geometric vertical velocity:m s**-1 (instant):lambert:isobaricInhPa:level 100000 Pa:fcst time 0 hrs:from 201807030300
이거 밖에 없어서 다시 요청해야함. 임시 방편으로
unis로 npz만드는 작업에 pres 들어갔을 수도 있음. 학습 끝나면 4040이랑 320320 그 시점 구간 다시 만들기