정보
-
업무명 : 대화식 및 스크립트 모드 소개
-
작성자 : 이상호
-
작성일 : 2020-02-25
-
설 명 :
-
수정이력 :
내용
[개요]
-
안녕하세요? 웹 개발 및 연구 개발을 담당하고 있는 해솔입니다.
-
NCL (NCAR Command Language)은 미국의 NCAR (National Center for Atmospheric Research)에서 개발된 언어로서 지구과학/대기과학 분야에서 특화되었습니다. 이는 다양한 분야에서 널리 사용되는 Matlab과 비교할 때 라이브러리를 통해 쉽게 계산할 수 있습니다.
-
특히 예전에 자주 사용되는 소프트웨어인 GrADS는 간단한 인터페이스로 초보자도 빨리 익힐 수 있으나 소프트웨어의 유연성이 떨어집니다.
-
따라서 이러한 NCL를 사용하기 위해서 대화식 및 스크립트 모드에 대한 설명을 소개드리고자 합니다.
[특징]
-
NCL를 사용하기 위해서 대화식 및 스크립트 모드가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어
[기능]
-
대화식 모드
-
스크립트 모드
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
온라인 및 오프라인 환경 구축
-
각 환경에 따른 다운로드 및 설치
-
설치 결과 확인
[사용 OS]
-
Linux (CentOS v7.0)
-
VMware Workstation Pro v15.5
[사용 언어]
-
NCL v6.3.0
내용
[개요]
-
NCL은 타 소프트웨어 (Matlab, GrADS)와 같이 2가지 모드 (대화식, 스크립트)를 지원합니다.
-
리눅스 프롬프트 상에서 "ncl"을 입력하면 "대화식 모드"로 전환됩니다.
-
대화식 모드의 경우 사용자가 1줄씩 입력할 때마다 컴퓨터가 명령어를 실행합니다.
-
즉 대화식 모드의 각 줄마다 성공적으로 완료되었는지 모니터링을 할 수 있습니다.
-
그러나 소스 코드가 복잡할수록 많은 시간이 소요될 뿐만 아니라 수정하기 어렵습니다.
-
반면에 "스크립트 모드"에서는 모든 프로그램을 하나의 소스 파일로 작성하여 실행합니다. 또한 다양한 작업과 시각화를 수행하는데 사용됩니다.
[대화식 모드]
-
프롬프트 상에서 "ncl"을 입력하면 "대화식 모드"로 전환됩니다.
[스크립트 모드]
-
사용자가 쉽게 식별 할 수있도록 ".ncl" 확장자로 작성하는 것이 일반적입니다.
-
그러나 실제로 소프트웨어 확장자에는 제한이 없기 떄문에 사용자 요구에 따라 스크립트 파일의 이름을 임의로 변경할 수 있습니다.
-
ncl 스크립트의 기본 구조는 다음과 같습니다.
begin
arrVal = (/1.1, 1.3, 1.4, 1.9/)
arrVal@units = "m/s"
print(arrVal)
nSum = dim_sum_n_Wrap(arrVal, 0)
print(nSum)
print("Print Value Only:")
print(arrVal + "")
end
-
구조
-
ncl 스크립트는 "begin"과 "end" 사이에 작성된 모든 명령어를 수행합니다.
-
-
선언
-
명령어를 수행하기 앞서 사용된 함수의 라이브러리를 읽어야 합니다.
-
즉 "dim_sum_n_Wrap" 함수는 tributed.ncl에 포함되므로 미리 읽어야 합니다.
-
그러나 최근에는 미리 선언이 필요없이 해당 라이브러리의 함수를 사용할 수 있습니다.
-
-
주석
-
세미콜론 (;)은 주석 행으로서 ";" 행은 NCL에 의해 자동으로 무시됩니다.
-
즉 ";"를 기준으로 전자는 실행되고 후자는 무시됩니다.
-
-
변수 속성
-
arrVal는 4개의 값을 가진 float 벡터입니다. 또한 변수에 다양한 정보는 "여러 속성"으로 기록합니다.
-
예를 들면 "변수@속성"와 같이 변수에 대한 단위, 결측값 또는 통계 처리 (평균, 합계 등) 속성을 부여할 수 있습니다. 즉 arrVal의 단위는 "m/s"로 표시됩니다.
-
"arrVal" 변수가 출력되면 속성과 함께 모든 정보가 화면에 표시됩니다.
-
그러나 때때로 변수의 값만 알고 싶을 경우 (변수의 속성 및 기타 정보를 제거) 빈 문자열을 추가 할 수 있습니다.
-
즉 "print (aa + "")"는 NCL에서 해당 변수에 대한 정보를 표시하지 않습니다.
-
참고로 ncl 스크립트에서 대/소문자를 구별합니다. 예를 들면 aa, Aa, aA, AA는 4 가지 변수로 설정할 수 있습니다.
-
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
'프로그래밍 언어 > NCL' 카테고리의 다른 글
[NCL] 쉘 스크립트 (Shell Script)에서 명령 줄 입력 파라메타 설정 및 NCL 실행 (0) | 2020.12.03 |
---|---|
[NCL] 텍스트 (TXT) 형식인 기온 자료를 이용한 시각화 (0) | 2020.12.03 |
[NCL] 전지구 기온 자료를 이용한 가시화 : 기본 구조 및 세부 내용 (0) | 2020.02.28 |
[NCL] NetCDF 형식 및 NCL 변수 구조 (0) | 2020.02.27 |
[NCL] 온라인/오프라인 리눅스 (Linux) 환경에 따른 NCL 설치 방법 (0) | 2020.01.15 |
최근댓글