$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

줄리아 언어를 이용한 고성능 해양모델의 개발
Development of a High Performance Ocean Model using Julia Language 원문보기

바다 : 한국해양학회지 = The sea : the journal of the Korean society of oceanography, v.24 no.2, 2019년, pp.187 - 207  

권민선 (군산대학교 환경공학과) ,  김종구 (군산대학교 환경공학과)

초록
AI-Helper 아이콘AI-Helper

고성능 해양모델을 개발하기 위하여 적시 컴파일(Just-In-Time) 언어인 줄리아 언어를 사용하였고, 운동량 방정식의 해를 구하기 위해 연속완화법으로 푸아송 방정식을 푸는 코드를 작성하였다. 다음으로, 줄리아 계산 코드를 시험하기 위하여 두 가지의 모델을 구축하였다. 첫 번째로, 일정한 유량의 생성/소멸(source/sink) 조건을 시험하기 위해 단순한 수로 형태를 모델링하였고, 두 번째로, 조석 외력(tidal forcing) 및 전향력(Coriolis force), 난류확산계수로 인한 효과 등을 시험하기 위해 황해(Yellow Sea)를 단순화하여 모델링하였다. 모델은 두 가지 시나리오 안에서 총 8개의 실험안으로 테스트되었다. 테스트 결과, 시나리오 1에서 3가지 실험안의 수심 평균된 유속은 이론 값에 완벽하게 수렴하였고, 해저마찰로 인한 수직적 유속 구배를 잘 보여주었다. 또한 시나리오 2에서는 황해의 무조점과 우리나라 서해 중부와 남부 연안의 조석 특성을 잘 재현하였고, 전향력과 수직 난류확산계수에 따른 결과의 차이를 잘 보여주었다. 따라서, 줄리아 언어를 이용한 해양모델을 개발하는 데에 성공하였다고 판단되며, 이는 해양모델이 고전적인 컴파일 언어에서 적시 컴파일 언어로 성공적으로 넘어가는 단계에 오게 됐다는 것을 시사한다.

Abstract AI-Helper 아이콘AI-Helper

In order to develop a high performance ocean model, we used Julia, a Just-In-Time compile language, and to obtain the solution of the momentum equation, we made the code to solve the Poisson equation by the Successive Over-Relaxation method. And then we made two models to test Julia calculation code...

주제어

표/그림 (14)

질의응답

핵심어 질문 논문에서 추출한 답변
줄리아 언어란 무엇인가? 고성능 해양모델을 개발하기 위하여 적시 컴파일(Just-In-Time) 언어인 줄리아 언어를 사용하였고, 운동량 방정식의 해를 구하기 위해 연속완화법으로 푸아송 방정식을 푸는 코드를 작성하였다. 다음으로, 줄리아 계산 코드를 시험하기 위하여 두 가지의 모델을 구축하였다.
인터프리터(interpreter) 언어나 적시 컴파일언어를 사용하는 이유는 무엇인가? 하지만, 전문 연구자들 중 일부는 속도가 느리더라도 이를 감내해가며 인터프리터(interpreter) 언어나 적시 컴파일(Just-In-Time compile, Aycock, 2003) 언어로써 연구를 수행하기도 한다. 이러한 언어를 즐겨 쓰는 이유는 여러 가지가 있겠지만, 가장 큰 이유는 편리함일 것이다. 예컨대, 해양학자들이 연구를 위해 해양모델링을 하려고 한다면, 대부분 컴파일 언어인 포트란으로 이루어진 모델들을 사용하게 되는데, 전처리(pre-processing)나 후처리(post-processing)에는 인터프리터 언어인 매트랩(Matlab, MathWorks, 2018)이나 파이썬(Python, Python Software Foundation, 2018) 등을 사용한다는 것이다.
기존의 해양 모델에 쓰인 언어의 문제점은 무엇인가? 예컨대, 해양학자들이 연구를 위해 해양모델링을 하려고 한다면, 대부분 컴파일 언어인 포트란으로 이루어진 모델들을 사용하게 되는데, 전처리(pre-processing)나 후처리(post-processing)에는 인터프리터 언어인 매트랩(Matlab, MathWorks, 2018)이나 파이썬(Python, Python Software Foundation, 2018) 등을 사용한다는 것이다. 기존의 해양 모델들은 매우 복잡하여 소스코드를 수정하고 컴파일하기가 쉽지 않고, 또 EFDC (Environmental Fluid Dynamic Code, Hamrick, 1992)와 같은 몇몇 모델들은 같은 포트란 언어로 작성되었다 하더라도 인텔(intel) 컴파일러 등 상용의 특정 컴파일러에서만 작동하기도 한다. 또한, 이러한 모델들은 복잡한 전처리 및 후처리 과정이 별도로 필요하며, 모델링을 위한 일련의 과정을 위하여 두 가지 이상의 언어와 툴을 별도로 익히거나 값 비싼 라이선스를 구입해야만 하는 경우도 있다.
질의응답 정보가 도움이 되었나요?

참고문헌 (20)

  1. Arakawa, A. and V.R. Lamb, 1977. Computational Design of the Basic Dynamical Processes of the UCLA General Circulation Model, Methods in Computational Physics: Advances in Research and Applications, 17: 173-265. 

  2. Aycock, 2003. 2. JIT Compilation Techniques, 2.1 Genesis, p. 98. 

  3. Brunt, D., 1927. The period of simple vertical oscillations in the atmosphere. Quarterly Journal of the Royal Meteorological Society, 53(221): 30-32. 

  4. Fringer, O.B., S.W. Armfield and R. L. Street., 2005. Reducing numerical diffusion in interfacial gravity wave simulations. International Journal for Numerical Methods in Fluids, 49: 301-329. 

  5. GitHub, Inc., 2018, GitHub, Retrieved from https://github.com/ 

  6. Hamrick, J.M., 1992. A three-dimensional environmental fluid dynamics computer code : Theoretical and computational aspects, The College of William and Mary, Virginia Institute of Marine Science, Special Report 317, VA. pp. 1-63. 

  7. JuliaLang., 2018a. Julia 1.0 Documentation, Retrieved from https://docs.julialang.org/en/v1/. 

  8. JuliaLang., 2018b. The Julia Language, Retrieved from https://github.com/JuliaLang/julia. 

  9. Kampf, J., 2009. Ocean Modelling for Beginners (using open-source software), Springer, p. 59. 

  10. Kampf, J., 2010. Advanced Ocean Modelling (using open-source software), Springer. 

  11. Kochergin, V. P., 1987. Three-dimensional prognostic models. In: Heaps, N. S. (ed.), Three- Dimensional Coastal Ocean Models, Coastal Estuarine Science Series, vol. 4, Union, American Geophysical Washington, DC, pp. 201-208. 

  12. Lattner, C., 2002. LLVM: An Infrastructure for Mulit-Stage Optimization, Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 

  13. MathWorks, 2018. MATLAB, Retrieved from http://www.mathworks.com/. 

  14. McCarthy, J., 1960. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, Communications of the ACM, April, 3(4): 184-195. 

  15. OSU Tidal Data Inversion, 2018. TPX09-ATLAS, Retrieved from http://volkov.oce.orst.edu/tides/tpxo9_atlas.html. 

  16. Poisson, S.-D., 1813. Remarques sur une equation qui se presente dans a theorie des attractions des spheroides, Nouvelle Bulletin de la Societe Philomatique, 3: 388-392. 

  17. Python Software Foundation, 2018. Python, Retrieved from https://www.python.org/. 

  18. Smagorinsky, J., 1963. General circulation experiments with the primitive equations - I. The basic experiment. Mon. Weather Rev., 91: 99-165. 

  19. The R Foundation, 2018. R, Retrieved from https://www.r-project.org/. 

  20. Vaisala, V., 1925. Uber die Wirkung der Windschwankungen aufdie Pilotbeobachtungen. Soc. Sci. Fenn. Commentat. Phys.-Math., 2(19): 1-46. 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로