반응형

     정보

    • 업무명    : 쉘 스크립트 (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] 온라인/오프라인 리눅스 (Linux) 환경에 따른 NCL 설치 방법

     정보 업무명  : 온라인/오프라인 리눅스 (Linux) 환경에 따른 NCL 설치 방법 작성자  : 이상호 작성일  : 2020-01-15 설  명 : 수정이력 :  내용 [개요] 안녕하세요? 웹 개발 및 연구 개발을 담당하고

    shlee1990.tistory.com

     

     

    [특징]

    • 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
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기