load_data부터 timeseries_correction까지 — phase_linking이 최대 비용
phase_linking 스레드 함정 — 5시간→6분
PSI 처리에서 가장 값비싼 단계로, 기본 num_worker=4에 워커당 ~16 BLAS 스레드가 64코어에 과다 배정되면 thread-barrier spin으로 us=100%지만 헛돈다(총 ~5시간).
87×87 EMI 소행렬은 BLAS 멀티스레드 스케일링이 나빠, 스레드를 3으로 묶고 프로세스 병렬 numProcessor를 패치 수 이상으로 올리는 게 정답이다.
그 결과 21개 패치가 1-wave로 병렬 처리되어 patch당 3~5분·총 ~6분이 됐고, flag.npy가 있는 patch는 자동 skip이라 중단·재시작도 안전하다.
QA 결과 — 죽전 도심 완주
레이더좌표 609×1393에서 진짜 PS(maskPS)는 848,337점 중 56,975점(6.7%)이 선별됐다.
temporal coherence는 mean 0.485, ≥0.7이 25.6%로 도시 영역에서 정상 수준이며, 보정 LOS velocity는 mean +0.20·std 0.94 mm/yr였다.
최종적으로 stack_id=3 'jukjeon_psi_r6'으로 108,690점(10m 재-geocode)이 대시보드에 적재됐다.
주의점 · 함정
대시보드는 SBAS의 unwrap 검증 지표(conncomp_ok)로 '신뢰점'을 세는데, PSI엔 connComp가 없어 NULL이 되므로 '신뢰 점만' 토글을 켜면 0점이 된다 — 거짓으로 conncomp_ok=true를 박는 건 부정직하고, 정직한 해법은 대시보드가 temporalCoherence 신뢰등급을 PSI stack에 별도 지원하는 것이다. 또한 108,690 적재점도 단일 PS로 인용하지 말고 건물 단위(n_PS≥10)·단지·AOI 평균으로만 봐야 한다.