정보
-
업무명 : 쉘 스크립트 (Shell Script)에서 명령 줄 입력 파라메타 설정 및 NCL 실행
-
작성자 : 이상호
-
작성일 : 2020-12-04
-
설 명 :
-
수정이력 :
내용
[개요]
-
안녕하세요? 기상 연구 및 웹 개발을 담당하고 있는 해솔입니다.
-
NCL (NCAR Command Language)은 미국의 NCAR (National Center for Atmospheric Research)에서 개발된 언어로서 지구과학/대기과학 분야에서 특화되었습니다. 이는 다양한 분야에서 널리 사용되는 Matlab과 비교할 때 라이브러리를 통해 쉽게 계산할 수 있습니다.
-
특히 예전에 자주 사용되는 소프트웨어인 GrADS는 간단한 인터페이스로 초보자도 빨리 익힐 수 있으나 소프트웨어의 유연성이 떨어집니다.
-
NCL 명령 줄 입력 파라메타를 사용하면 NCL 변수를 설정하고 UNIX 명령 줄 또는 쉘 스크립트에서 간단한 NCL 코드를 실행할 수 있습니다.
-
오늘 포스팅에서는 쉘 스크립트 (Shell Script)에서 명령 줄 입력 파라메타 설정 및 NCL 실행 방법을 소개합니다.
-
추가로 온라인/오프라인 리눅스 환경에 따른 NCL 설치 방법을 소개한 링크를 보내드립니다.
[특징]
-
NCL을 통해 시각화하기 위해서 자료 처리 기술이 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어
[기능]
-
Shell Script (bash) 수행
-
Shell Script (csh) 수행
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
입력 자료를 동일 디렉터리에 위치
-
소스 코드를 실행
-
결과 확인
[사용 OS]
-
Linux (CentOS v7.3)
-
VMware Workstation Pro v15.5
[사용 언어]
-
NCL v6.6.2
소스 코드
-
작업 환경의 경우 주 프로그램은 inParam.csh 및 inParam.sh로 구성되어 있습니다.
-
소스 코드는 단계별로 수행하며 상세 설명은 다음과 같습니다.
-
1 단계의 경우 입력 파라메타 출력을 위한 임시 NCL 소스 코드 생성합니다.
-
2 단계는 명령줄에서 NCL를 실행 및 임시 소스 코드를 삭제합니다.
-
3 단계의 경우 메인 쉘 스크립트 (Shell Script)를 수행합니다.
-
[명세]
Shell Script (bash)
-
[1 단계] NCL 소스 코드 생성
-
입력 파라메타로서 연도 (year), 월 (month), 제목 (title)를 출력
-
#!/bin/bash
cat > inParam.ncl << EOF
print("year : " + year)
print("month : " + month)
print("title : " + title)
EOF
-
[2 단계] NCL 실행 및 임시 소스 코드 삭제
-
ncl inParam.ncl 명령어에서 앞서 설정한 파라메타를 입력 및 실행합니다.
-
rm 명령어를 통해 임시 소스 코드는 삭제합니다.
-
ncl year=2020 month=12 'title="Run Shell bash"' inParam.ncl
rm -f inParam.ncl
-
[3 단계] 메인 쉘 스크립트 (Shell Script) 수행
-
bash inParam.sh 명령어를 통해 수행합니다.
-
Shell Script (csh)
-
[1 단계] NCL 소스 코드 생성
-
입력 파라메타로서 연도 (year), 월 (month), 제목 (title)를 출력
-
#!/bin/csh
cat > inParam.ncl << EOF
print("year : " + year)
print("month : " + month)
print("title : " + title)
EOF
-
[2 단계] NCL 실행 및 임시 소스 코드 삭제
-
ncl inParam.ncl 명령어에서 앞서 설정한 파라메타를 입력 및 실행합니다.
-
rm 명령어를 통해 임시 소스 코드는 삭제합니다.
-
ncl year=2020 month=12 'title="Run Shell csh"' inParam.ncl
rm -f inParam.ncl
-
[3 단계] 메인 쉘 스크립트 (Shell Script) 수행
-
csh inParam.csh 명령어를 통해 수행합니다.
-
[전체]
-
inParam.sh
#!/bin/bash
cat > inParam.ncl << EOF
print("year : " + year)
print("month : " + month)
print("title : " + title)
EOF
ncl year=2020 month=12 'title="Run Shell bash"' inParam.ncl
rm -f inParam.ncl
-
inParam.csh
#!/bin/csh
cat > inParam.ncl << EOF
print("year : " + year)
print("month : " + month)
print("title : " + title)
EOF
ncl year=2020 month=12 'title="Run Shell csh"' inParam.ncl
rm -f inParam.ncl
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
'프로그래밍 언어 > NCL' 카테고리의 다른 글
[NCL, ShellScript] 텍스트 (TXT) 형식인 날짜별 기온 자료를 이용한 시각화 및 자동화 수행 (0) | 2021.01.02 |
---|---|
[NCL] 텍스트 (TXT) 형식인 기온 자료를 이용한 시각화 (0) | 2020.12.03 |
[NCL] 전지구 기온 자료를 이용한 가시화 : 기본 구조 및 세부 내용 (0) | 2020.02.28 |
[NCL] NetCDF 형식 및 NCL 변수 구조 (0) | 2020.02.27 |
[NCL] 대화식 및 스크립트 모드 소개 (0) | 2020.01.21 |
최근댓글