IONORT 이온층 레이 트레이싱 프로그램
초록
본 논문은 FORTRAN 77 기반의 고전 레이 트레이싱 코드를 Windows 환경의 현대 컴파일러와 MATLAB 인터페이스로 재구성한 IONORT 시스템을 소개한다. 사용자는 MATLAB GUI를 통해 입력을 제공하고, Fortran 실행 파일이 수행한 수치 적분 결과를 2D·3D 지리 좌표 지도에 시각화한다.
상세 분석
ION오스 레이 트레이싱은 전자기파가 지구 이온층을 통과하면서 겪는 굴절·반사 현상을 정확히 예측하기 위해 복잡한 편미분 방정식 시스템을 풀어야 한다. 기존 Jones‑Stephenson 프로그램은 CDC‑3800 메인프레임에서 FORTRAN 77으로 구현되었으며, 고전적인 차분법(예: 4차 Runge‑Kutta)과 전자기 텐서 연산을 이용해 전파 경로를 계산한다. 그러나 입력·출력 장치가 구식이고, 현대 운영체제에서는 해당 어셈블리 명령어를 지원하지 않아 직접 활용이 어려웠다.
본 연구는 이러한 제약을 극복하기 위해 핵심 적분 루틴을 그대로 유지하면서도 Windows‑compatible Fortran 컴파일러(예: Intel Fortran)로 재컴파일하였다. 코드 구조는 크게 두 부분으로 나뉜다. 첫 번째는 MATLAB‑M‑파일이 사용자로부터 이온층 모델 파라미터(전자밀도, 기온, 자기장 등)와 전파 초기 조건(주파수, 발사각, 편파)을 수집하고, 이를 Fortran 실행 파일에 텍스트 형태로 전달한다. 두 번째는 Fortran 프로그램이 전자기 파동 방정식의 해를 시간(또는 거리) 단계별로 적분하고, 경로 좌표와 전파 강도, 위상 정보를 파일에 기록한다. MATLAB은 이 출력을 파싱하여 2‑D 평면도, 3‑D 구면 지도, 그리고 실제 위성·지리 좌표와 연동된 GIS 레이어로 시각화한다.
기술적으로 주목할 점은 다음과 같다. 첫째, 전자기 텐서식 유도 방정식을 그대로 유지함으로써 기존 연구와 결과의 호환성을 확보하였다. 둘째, Fortran‑MATLAB 연동을 위해 파일 기반 I/O 대신 메모리 매핑(MEX) 방식을 도입하면 데이터 전송 오버헤드가 크게 감소한다는 가능성을 제시한다. 셋째, 3‑D 시각화는 MATLAB의 Mapping Toolbox와 연동해 실제 지리 좌표계(ECEF, WGS‑84)로 변환함으로써 OTH 레이더의 좌표 등록(CR) 작업에 바로 활용할 수 있다. 넷째, 프로그램 구조가 모듈화돼 있어 새로운 이온층 모델(예: IRI‑2016)이나 고도‑시간 변동을 반영하는 동적 파라미터를 플러그인 형태로 손쉽게 삽입할 수 있다. 마지막으로, 기존 코드의 효율성을 유지하면서도 현대 CPU의 벡터화와 멀티스레딩을 적용하면 대규모 시뮬레이션(수천 개 레이)에서도 실시간 수준의 처리 속도를 기대할 수 있다.