반응형

     정보

    • 업무명    : 오프라인 리눅스 (Linux) 환경에서 kwgrib2 설치

    • 작성자    : 이상호

    • 작성일    : 2020-07-02

    • 설   명    :

    • 수정이력 :

     

     내용

    [개요]

    • 안녕하세요? 기상 연구 및 웹 개발을 담당하고 있는 해솔입니다.

    • 대한민국 기상청의 주요모델자료는 GRIB2 데이터 형식으로 보전 및 제공되고 있다. GRIB2는 자료의 종류, 정보 등이 담기며 일반적인 압축파일과 유사하게 패키지화되어 있는 형태이다.

    • *.zip 형태의 압축파일 안에 담긴 파일들을 추출하려면 압축 해제 프로그램을 이용한 압축해제 과정이 필요하다. 이와 유사하게 GRIB2 형식의 데이터도 일반적으로 많이 사용되는 ASCII 코드나 이진 파일로 변환해주는 프로그램이 필요하다.

    • GRIB2 파일을 압축해제 해주는 프로그램은 매우 다양하며 그 중 대표적으로 wgrib2 혹은 gribapi가 주로 사용되고 있다. wgrib2는 미국에서 개발된 소프트웨어로서 미국의 현업 및 연구기관에서 생산되는 변수들을 추출하는데 사용되고 있다.

    • GRIB 파일 내에 새로운 변수 혹은 새로운 연직 정보가 추가될 경우 wgrib2의 수정이 필요하며 이에 따라 기상청에서는 새롭게 수정된 kwgrib2를 사용하고 있다.

    • 이 프로그램은 기상청 국가기상슈퍼컴퓨터센터 홈페이지에서 소스를 제공하고 있으며 사용자들은 원본소스를 제공 받아 리눅스 컴퓨터에 설치하여 사용하여야 한다.

    • 오늘 포스팅에서는 오프라인 리눅스 (Linux) 환경에서 kwgrib2 설치를 소개해 드리고자 합니다.

     

     

    [특징]

    • 대한민국 기상청의 수치 자료를 처리하기 위해 필요하며 이 프로그램은 이러한 목적을 달성하기 위해서 고안된 소프트웨어

     

    [기능]

    • kwgrib2 설치

     

    [활용 자료]

    • 통합본

    kwgrib2.zip
    5.70MB
    kwgrib2.z01
    10.00MB
    kwgrib2.z02
    10.00MB

     

    [자료 처리 방안 및 활용 분석 기법]

    • 없음

     

    [사용법]

    • 오프라인 리눅스 환경 구축

    • 설치 결과 확인

     

    [사용 OS]

    • Linux (CentOS v7.3)

    • VMware Workstation Pro v15.5

     

    [사용 언어]

    • Shell Script (Bash)

     

     설치

    [오프라인 환경]

    • 온라인 (인터넷 가능)과 달리 직접 패키지 다운로드하여 컴파일 및 실행해야 합니다.

    • [1 단계] kwgrib2 업로드 및 압축 해제

      • 해당 디렉터리 (/SYSTEM/LINUX/kwgrib2)를 생성하고 kwgrib2.tar 파일을 업로드합니다.

      • tar -xvf kwgrib2.tar를 통해 압축 해제합니다.

    [root linux@/SYSTEM/LINUX/kwgrib2]# pwd
    /SYSTEM/LINUX/kwgrib2
    [root linux@/SYSTEM/LINUX/kwgrib2]# ls
    kwgrib2.tar

     

    [root linux@/SYSTEM/LINUX/kwgrib2]# tar -xvf kwgrib2.tar 
    kwgrib2/
    kwgrib2/jasper-1.900.1.tar.gz
    kwgrib2/README.icc
    kwgrib2/README.Mac
    kwgrib2/libpng-1.2.44.tar.gz
    kwgrib2/tar_all
    kwgrib2/INSTALLING
    kwgrib2/zlib-1.2.5.tar.gz
    kwgrib2/README.ipolates
    kwgrib2/README.gcc
    kwgrib2/README.gctpc
    kwgrib2/netcdf.tar.gz
    kwgrib2/README
    kwgrib2/README.pgi
    kwgrib2/README.EUMETSAT
    kwgrib2/Developement.doc
    kwgrib2/gctpc/
    kwgrib2/gctpc/doc/
    kwgrib2/gctpc/doc/appendixC.txt
    kwgrib2/gctpc/doc/inv_init.ps
    kwgrib2/gctpc/doc/appendixB.txt
    kwgrib2/gctpc/doc/error_codes.txt
    kwgrib2/gctpc/doc/overview.ps
    kwgrib2/gctpc/doc/xxxinv.ps
    kwgrib2/gctpc/doc/gctp.ps
    kwgrib2/gctpc/doc/README
    kwgrib2/gctpc/doc/for_init.ps
    kwgrib2/gctpc/doc/reference.txt
    kwgrib2/gctpc/doc/xxxfor.ps
    kwgrib2/gctpc/doc/appendixA.txt
    kwgrib2/gctpc/source/
    kwgrib2/gctpc/source/nad83sp
    kwgrib2/gctpc/source/sterfor.c
    kwgrib2/gctpc/source/obleqinv.c
    kwgrib2/gctpc/source/robfor.c
    kwgrib2/gctpc/source/cproj.h
    kwgrib2/gctpc/source/somfor.c
    kwgrib2/gctpc/source/nad1927.dat
    kwgrib2/gctpc/source/goodfor.c
    kwgrib2/gctpc/source/alconinv.c
    kwgrib2/gctpc/source/lamazfor.c
    kwgrib2/gctpc/source/equiinv.c
    kwgrib2/gctpc/source/polyinv.c
    kwgrib2/gctpc/source/sphdz.c
    kwgrib2/gctpc/source/lamazinv.c
    kwgrib2/gctpc/source/sininv.c
    kwgrib2/gctpc/source/stplninv.c
    kwgrib2/gctpc/source/lamccinv.c
    kwgrib2/gctpc/source/azimfor.c
    kwgrib2/gctpc/source/nad27sp
    kwgrib2/gctpc/source/orthinv.c
    kwgrib2/gctpc/source/stplnfor.c
    kwgrib2/gctpc/source/wivfor.c
    kwgrib2/gctpc/source/hamfor.c
    kwgrib2/gctpc/source/orthfor.c
    kwgrib2/gctpc/source/millfor.c
    kwgrib2/gctpc/source/obleqfor.c
    kwgrib2/gctpc/source/polyfor.c
    kwgrib2/gctpc/source/wviifor.c
    kwgrib2/gctpc/source/millinv.c
    kwgrib2/gctpc/source/sominv.c
    kwgrib2/gctpc/source/inv_init.c
    kwgrib2/gctpc/source/alberfor.c
    kwgrib2/gctpc/source/Makefile
    kwgrib2/gctpc/source/README
    kwgrib2/gctpc/source/br_gctp.c
    kwgrib2/gctpc/source/alberinv.c
    kwgrib2/gctpc/source/tminv.c
    kwgrib2/gctpc/source/cproj.c
    kwgrib2/gctpc/source/tmfor.c
    kwgrib2/gctpc/source/untfz.c
    kwgrib2/gctpc/source/haminv.c
    kwgrib2/gctpc/source/gnominv.c
    kwgrib2/gctpc/source/for_init.c
    kwgrib2/gctpc/source/psfor.c
    kwgrib2/gctpc/source/sterinv.c
    kwgrib2/gctpc/source/merinv.c
    kwgrib2/gctpc/source/utmfor.c
    kwgrib2/gctpc/source/alconfor.c
    kwgrib2/gctpc/source/molwinv.c
    kwgrib2/gctpc/source/omerinv.c
    kwgrib2/gctpc/source/makefile.gctpc
    kwgrib2/gctpc/source/gvnspinv.c
    kwgrib2/gctpc/source/equifor.c
    kwgrib2/gctpc/source/make.com
    kwgrib2/gctpc/source/paksz.c
    kwgrib2/gctpc/source/sinfor.c
    kwgrib2/gctpc/source/vandgfor.c
    kwgrib2/gctpc/source/report.c
    kwgrib2/gctpc/source/molwfor.c
    kwgrib2/gctpc/source/goodinv.c
    kwgrib2/gctpc/source/wviiinv.c
    kwgrib2/gctpc/source/vandginv.c
    kwgrib2/gctpc/source/robinv.c
    kwgrib2/gctpc/source/nad1983.dat
    kwgrib2/gctpc/source/merfor.c
    kwgrib2/gctpc/source/psinv.c
    kwgrib2/gctpc/source/spload.f
    kwgrib2/gctpc/source/wivinv.c
    kwgrib2/gctpc/source/omerfor.c
    kwgrib2/gctpc/source/aziminv.c
    kwgrib2/gctpc/source/proj.h
    kwgrib2/gctpc/source/gnomfor.c
    kwgrib2/gctpc/source/eqconinv.c
    kwgrib2/gctpc/source/imolwinv.c
    kwgrib2/gctpc/source/gvnspfor.c
    kwgrib2/gctpc/source/eqconfor.c
    kwgrib2/gctpc/source/lamccfor.c
    kwgrib2/gctpc/source/gctp.c
    kwgrib2/gctpc/source/imolwfor.c
    kwgrib2/gctpc/source/utminv.c
    kwgrib2/gctpc/test/
    kwgrib2/gctpc/test/proj/
    kwgrib2/gctpc/test/proj/ps/
    kwgrib2/gctpc/test/proj/ps/parm6e
    kwgrib2/gctpc/test/proj/ps/ps_test
    kwgrib2/gctpc/test/proj/ps/data6c
    kwgrib2/gctpc/test/proj/ps/parm6d
    kwgrib2/gctpc/test/proj/ps/data6b
    kwgrib2/gctpc/test/proj/ps/data6d
    kwgrib2/gctpc/test/proj/ps/parm6a
    kwgrib2/gctpc/test/proj/ps/parm6b
    kwgrib2/gctpc/test/proj/ps/data6a
    kwgrib2/gctpc/test/proj/ps/parm6
    kwgrib2/gctpc/test/proj/ps/data6
    kwgrib2/gctpc/test/proj/ps/parm6c
    kwgrib2/gctpc/test/proj/ps/data6e
    kwgrib2/gctpc/test/proj/wagiv/
    kwgrib2/gctpc/test/proj/wagiv/data28a
    kwgrib2/gctpc/test/proj/wagiv/data28
    kwgrib2/gctpc/test/proj/wagiv/parm28a
    kwgrib2/gctpc/test/proj/wagiv/data28b
    kwgrib2/gctpc/test/proj/wagiv/wagiv_test
    kwgrib2/gctpc/test/proj/wagiv/parm28
    kwgrib2/gctpc/test/proj/wagiv/parm28b
    kwgrib2/gctpc/test/proj/wagiv/data28c
    kwgrib2/gctpc/test/proj/wagiv/parm28c
    kwgrib2/gctpc/test/proj/polyc/
    kwgrib2/gctpc/test/proj/polyc/data7a
    kwgrib2/gctpc/test/proj/polyc/polyc_test
    kwgrib2/gctpc/test/proj/polyc/parm7d
    kwgrib2/gctpc/test/proj/polyc/data7d
    kwgrib2/gctpc/test/proj/polyc/parm7c
    kwgrib2/gctpc/test/proj/polyc/data7b
    kwgrib2/gctpc/test/proj/polyc/data7c
    kwgrib2/gctpc/test/proj/polyc/parm7a
    kwgrib2/gctpc/test/proj/polyc/parm7b
    kwgrib2/gctpc/test/proj/wagvii/
    kwgrib2/gctpc/test/proj/wagvii/data29
    kwgrib2/gctpc/test/proj/wagvii/parm29
    kwgrib2/gctpc/test/proj/wagvii/parm29a
    kwgrib2/gctpc/test/proj/wagvii/parm29b
    kwgrib2/gctpc/test/proj/wagvii/wagvii_test
    kwgrib2/gctpc/test/proj/wagvii/data29b
    kwgrib2/gctpc/test/proj/wagvii/data29c
    kwgrib2/gctpc/test/proj/wagvii/parm29c
    kwgrib2/gctpc/test/proj/wagvii/data29a
    kwgrib2/gctpc/test/proj/azmeqd/
    kwgrib2/gctpc/test/proj/azmeqd/data12b
    kwgrib2/gctpc/test/proj/azmeqd/parm12a
    kwgrib2/gctpc/test/proj/azmeqd/data12a
    kwgrib2/gctpc/test/proj/azmeqd/parm12b
    kwgrib2/gctpc/test/proj/azmeqd/data12
    kwgrib2/gctpc/test/proj/azmeqd/azmeqd_test
    kwgrib2/gctpc/test/proj/azmeqd/parm12c
    kwgrib2/gctpc/test/proj/azmeqd/data12c
    kwgrib2/gctpc/test/proj/azmeqd/parm12
    kwgrib2/gctpc/test/proj/lamcc/
    kwgrib2/gctpc/test/proj/lamcc/parm4c
    kwgrib2/gctpc/test/proj/lamcc/parm4b
    kwgrib2/gctpc/test/proj/lamcc/data4a
    kwgrib2/gctpc/test/proj/lamcc/data4
    kwgrib2/gctpc/test/proj/lamcc/README
    kwgrib2/gctpc/test/proj/lamcc/data4b
    kwgrib2/gctpc/test/proj/lamcc/lamcc_test
    kwgrib2/gctpc/test/proj/lamcc/parm4
    kwgrib2/gctpc/test/proj/lamcc/parm4a
    kwgrib2/gctpc/test/proj/lamcc/data4c
    kwgrib2/gctpc/test/proj/snsoid/
    kwgrib2/gctpc/test/proj/snsoid/parm16c
    kwgrib2/gctpc/test/proj/snsoid/data16d
    kwgrib2/gctpc/test/proj/snsoid/data16
    kwgrib2/gctpc/test/proj/snsoid/parm16
    kwgrib2/gctpc/test/proj/snsoid/parm16a
    kwgrib2/gctpc/test/proj/snsoid/data16a
    kwgrib2/gctpc/test/proj/snsoid/snsoid_test
    kwgrib2/gctpc/test/proj/snsoid/parm16d
    kwgrib2/gctpc/test/proj/snsoid/data16c
    kwgrib2/gctpc/test/proj/stereo/
    kwgrib2/gctpc/test/proj/stereo/parm10
    kwgrib2/gctpc/test/proj/stereo/data10
    kwgrib2/gctpc/test/proj/stereo/parm10a
    kwgrib2/gctpc/test/proj/stereo/stereo_test
    kwgrib2/gctpc/test/proj/stereo/data10b
    kwgrib2/gctpc/test/proj/stereo/parm10b
    kwgrib2/gctpc/test/proj/stereo/data10a
    kwgrib2/gctpc/test/proj/hammer/
    kwgrib2/gctpc/test/proj/hammer/data27b
    kwgrib2/gctpc/test/proj/hammer/parm27a
    kwgrib2/gctpc/test/proj/hammer/parm27b
    kwgrib2/gctpc/test/proj/hammer/hammer_test
    kwgrib2/gctpc/test/proj/hammer/data27a
    kwgrib2/gctpc/test/proj/som/
    kwgrib2/gctpc/test/proj/som/parm22a
    kwgrib2/gctpc/test/proj/som/parm22
    kwgrib2/gctpc/test/proj/som/som_test
    kwgrib2/gctpc/test/proj/som/parm22d
    kwgrib2/gctpc/test/proj/som/data22a
    kwgrib2/gctpc/test/proj/som/data22d
    kwgrib2/gctpc/test/proj/som/data22
    kwgrib2/gctpc/test/proj/som/README
    kwgrib2/gctpc/test/proj/som/parm22e
    kwgrib2/gctpc/test/proj/som/data22c
    kwgrib2/gctpc/test/proj/som/data22e
    kwgrib2/gctpc/test/proj/som/parm22c
    kwgrib2/gctpc/test/proj/lamaz/
    kwgrib2/gctpc/test/proj/lamaz/parm11b
    kwgrib2/gctpc/test/proj/lamaz/parm11a
    kwgrib2/gctpc/test/proj/lamaz/lamaz_test
    kwgrib2/gctpc/test/proj/lamaz/parm11c
    kwgrib2/gctpc/test/proj/lamaz/data11b
    kwgrib2/gctpc/test/proj/lamaz/parm11
    kwgrib2/gctpc/test/proj/lamaz/data11a
    kwgrib2/gctpc/test/proj/lamaz/README
    kwgrib2/gctpc/test/proj/lamaz/data11
    kwgrib2/gctpc/test/proj/lamaz/data11c
    kwgrib2/gctpc/test/proj/vgrint/
    kwgrib2/gctpc/test/proj/vgrint/data19c
    kwgrib2/gctpc/test/proj/vgrint/parm19c
    kwgrib2/gctpc/test/proj/vgrint/data19d
    kwgrib2/gctpc/test/proj/vgrint/vgrint_test
    kwgrib2/gctpc/test/proj/vgrint/parm19d
    kwgrib2/gctpc/test/proj/vgrint/data19
    kwgrib2/gctpc/test/proj/vgrint/parm19a
    kwgrib2/gctpc/test/proj/vgrint/data19b
    kwgrib2/gctpc/test/proj/vgrint/data19a
    kwgrib2/gctpc/test/proj/vgrint/parm19b
    kwgrib2/gctpc/test/proj/vgrint/parm19
    kwgrib2/gctpc/test/proj/robin/
    kwgrib2/gctpc/test/proj/robin/parm21d
    kwgrib2/gctpc/test/proj/robin/data21a
    kwgrib2/gctpc/test/proj/robin/data21d
    kwgrib2/gctpc/test/proj/robin/robin_test
    kwgrib2/gctpc/test/proj/robin/README
    kwgrib2/gctpc/test/proj/robin/data21c
    kwgrib2/gctpc/test/proj/robin/parm21a
    kwgrib2/gctpc/test/proj/robin/data21
    kwgrib2/gctpc/test/proj/robin/parm21
    kwgrib2/gctpc/test/proj/robin/data21b
    kwgrib2/gctpc/test/proj/robin/parm21c
    kwgrib2/gctpc/test/proj/robin/parm21b
    kwgrib2/gctpc/test/proj/mercat/
    kwgrib2/gctpc/test/proj/mercat/parm5a
    kwgrib2/gctpc/test/proj/mercat/parm5c
    kwgrib2/gctpc/test/proj/mercat/mercat_test
    kwgrib2/gctpc/test/proj/mercat/data5a
    kwgrib2/gctpc/test/proj/mercat/parm5b
    kwgrib2/gctpc/test/proj/mercat/data5c
    kwgrib2/gctpc/test/proj/mercat/parm5
    kwgrib2/gctpc/test/proj/mercat/data5b
    kwgrib2/gctpc/test/proj/mercat/data5
    kwgrib2/gctpc/test/proj/moll/
    kwgrib2/gctpc/test/proj/moll/parm25b
    kwgrib2/gctpc/test/proj/moll/data25c
    kwgrib2/gctpc/test/proj/moll/data25b
    kwgrib2/gctpc/test/proj/moll/parm25c
    kwgrib2/gctpc/test/proj/moll/moll_test
    kwgrib2/gctpc/test/proj/moll/data25a
    kwgrib2/gctpc/test/proj/moll/parm25a
    kwgrib2/gctpc/test/proj/eqrect/
    kwgrib2/gctpc/test/proj/eqrect/parm17
    kwgrib2/gctpc/test/proj/eqrect/data17a
    kwgrib2/gctpc/test/proj/eqrect/parm17d
    kwgrib2/gctpc/test/proj/eqrect/parm17a
    kwgrib2/gctpc/test/proj/eqrect/data17c
    kwgrib2/gctpc/test/proj/eqrect/data17d
    kwgrib2/gctpc/test/proj/eqrect/parm17b
    kwgrib2/gctpc/test/proj/eqrect/parm17c
    kwgrib2/gctpc/test/proj/eqrect/eqrect_test
    kwgrib2/gctpc/test/proj/eqrect/data17b
    kwgrib2/gctpc/test/proj/eqrect/data17
    kwgrib2/gctpc/test/proj/imoll/
    kwgrib2/gctpc/test/proj/imoll/parm26a
    kwgrib2/gctpc/test/proj/imoll/data26c
    kwgrib2/gctpc/test/proj/imoll/data26a
    kwgrib2/gctpc/test/proj/imoll/imoll_test
    kwgrib2/gctpc/test/proj/imoll/parm26b
    kwgrib2/gctpc/test/proj/imoll/data26b
    kwgrib2/gctpc/test/proj/imoll/parm26c
    kwgrib2/gctpc/test/proj/albers/
    kwgrib2/gctpc/test/proj/albers/parm3
    kwgrib2/gctpc/test/proj/albers/albers_test
    kwgrib2/gctpc/test/proj/albers/data3
    kwgrib2/gctpc/test/proj/albers/data3a
    kwgrib2/gctpc/test/proj/albers/parm3a
    kwgrib2/gctpc/test/proj/albers/data3b
    kwgrib2/gctpc/test/proj/albers/parm3b
    kwgrib2/gctpc/test/proj/hom/
    kwgrib2/gctpc/test/proj/hom/parm20b
    kwgrib2/gctpc/test/proj/hom/hom_test
    kwgrib2/gctpc/test/proj/hom/data20
    kwgrib2/gctpc/test/proj/hom/data20b
    kwgrib2/gctpc/test/proj/hom/data20d
    kwgrib2/gctpc/test/proj/hom/parm20
    kwgrib2/gctpc/test/proj/hom/data20c
    kwgrib2/gctpc/test/proj/hom/parm20d
    kwgrib2/gctpc/test/proj/hom/parm20a
    kwgrib2/gctpc/test/proj/hom/parm20c
    kwgrib2/gctpc/test/proj/hom/data20a
    kwgrib2/gctpc/test/proj/Proj.name
    kwgrib2/gctpc/test/proj/equidc/
    kwgrib2/gctpc/test/proj/equidc/parm8c
    kwgrib2/gctpc/test/proj/equidc/parm8d
    kwgrib2/gctpc/test/proj/equidc/equidc_test
    kwgrib2/gctpc/test/proj/equidc/parm8b
    kwgrib2/gctpc/test/proj/equidc/parm8
    kwgrib2/gctpc/test/proj/equidc/data8b
    kwgrib2/gctpc/test/proj/equidc/data8c
    kwgrib2/gctpc/test/proj/equidc/data8
    kwgrib2/gctpc/test/proj/equidc/data8d
    kwgrib2/gctpc/test/proj/good/
    kwgrib2/gctpc/test/proj/good/data24c
    kwgrib2/gctpc/test/proj/good/data24a
    kwgrib2/gctpc/test/proj/good/good_test
    kwgrib2/gctpc/test/proj/good/parm24b
    kwgrib2/gctpc/test/proj/good/parm24a
    kwgrib2/gctpc/test/proj/good/parm24c
    kwgrib2/gctpc/test/proj/good/data24b
    kwgrib2/gctpc/test/proj/utm/
    kwgrib2/gctpc/test/proj/utm/parm1n13
    kwgrib2/gctpc/test/proj/utm/utm_test
    kwgrib2/gctpc/test/proj/utm/data1n13
    kwgrib2/gctpc/test/proj/utm/data1p13
    kwgrib2/gctpc/test/proj/utm/README
    kwgrib2/gctpc/test/proj/utm/data1p31
    kwgrib2/gctpc/test/proj/utm/parm1p31
    kwgrib2/gctpc/test/proj/utm/parm1p13
    kwgrib2/gctpc/test/proj/utm/data1n31
    kwgrib2/gctpc/test/proj/utm/parm1n31
    kwgrib2/gctpc/test/proj/miller/
    kwgrib2/gctpc/test/proj/miller/parm18b
    kwgrib2/gctpc/test/proj/miller/data18b
    kwgrib2/gctpc/test/proj/miller/parm18d
    kwgrib2/gctpc/test/proj/miller/parm18a
    kwgrib2/gctpc/test/proj/miller/data18c
    kwgrib2/gctpc/test/proj/miller/parm18
    kwgrib2/gctpc/test/proj/miller/data18
    kwgrib2/gctpc/test/proj/miller/data18d
    kwgrib2/gctpc/test/proj/miller/data19a
    kwgrib2/gctpc/test/proj/miller/miller_test
    kwgrib2/gctpc/test/proj/miller/parm18c
    kwgrib2/gctpc/test/proj/ortho/
    kwgrib2/gctpc/test/proj/ortho/parm14b
    kwgrib2/gctpc/test/proj/ortho/parm14d
    kwgrib2/gctpc/test/proj/ortho/data14a
    kwgrib2/gctpc/test/proj/ortho/ortho_test
    kwgrib2/gctpc/test/proj/ortho/parm14c
    kwgrib2/gctpc/test/proj/ortho/README
    kwgrib2/gctpc/test/proj/ortho/parm14
    kwgrib2/gctpc/test/proj/ortho/data14d
    kwgrib2/gctpc/test/proj/ortho/data14b
    kwgrib2/gctpc/test/proj/ortho/data14
    kwgrib2/gctpc/test/proj/ortho/data14c
    kwgrib2/gctpc/test/proj/ortho/parm14a
    kwgrib2/gctpc/test/proj/gnomon/
    kwgrib2/gctpc/test/proj/gnomon/parm13b
    kwgrib2/gctpc/test/proj/gnomon/parm13c
    kwgrib2/gctpc/test/proj/gnomon/data13d
    kwgrib2/gctpc/test/proj/gnomon/parm13d
    kwgrib2/gctpc/test/proj/gnomon/data13a
    kwgrib2/gctpc/test/proj/gnomon/data13c
    kwgrib2/gctpc/test/proj/gnomon/parm13
    kwgrib2/gctpc/test/proj/gnomon/gnomon_test
    kwgrib2/gctpc/test/proj/gnomon/parm13a
    kwgrib2/gctpc/test/proj/gnomon/data13
    kwgrib2/gctpc/test/proj/gnomon/data13b
    kwgrib2/gctpc/test/proj/alaska/
    kwgrib2/gctpc/test/proj/alaska/parm23a
    kwgrib2/gctpc/test/proj/alaska/parm23b
    kwgrib2/gctpc/test/proj/alaska/data23a
    kwgrib2/gctpc/test/proj/alaska/parm23
    kwgrib2/gctpc/test/proj/alaska/alaska_test
    kwgrib2/gctpc/test/proj/alaska/data23b
    kwgrib2/gctpc/test/proj/alaska/data23
    kwgrib2/gctpc/test/proj/gvnsp/
    kwgrib2/gctpc/test/proj/gvnsp/parm15a
    kwgrib2/gctpc/test/proj/gvnsp/data15d
    kwgrib2/gctpc/test/proj/gvnsp/parm15c
    kwgrib2/gctpc/test/proj/gvnsp/data15b
    kwgrib2/gctpc/test/proj/gvnsp/gvnsp_test
    kwgrib2/gctpc/test/proj/gvnsp/parm15
    kwgrib2/gctpc/test/proj/gvnsp/data15
    kwgrib2/gctpc/test/proj/gvnsp/parm15b
    kwgrib2/gctpc/test/proj/gvnsp/data15c
    kwgrib2/gctpc/test/proj/gvnsp/parm15d
    kwgrib2/gctpc/test/proj/gvnsp/data15a
    kwgrib2/gctpc/test/proj/obleqa/
    kwgrib2/gctpc/test/proj/obleqa/data30a
    kwgrib2/gctpc/test/proj/obleqa/parm30b
    kwgrib2/gctpc/test/proj/obleqa/parm30a
    kwgrib2/gctpc/test/proj/obleqa/parm30c
    kwgrib2/gctpc/test/proj/obleqa/data30b
    kwgrib2/gctpc/test/proj/obleqa/data30c
    kwgrib2/gctpc/test/proj/obleqa/obleqa_test
    kwgrib2/gctpc/test/proj/spcs/
    kwgrib2/gctpc/test/proj/spcs/parm21703
    kwgrib2/gctpc/test/proj/spcs/data1703
    kwgrib2/gctpc/test/proj/spcs/data5001
    kwgrib2/gctpc/test/proj/spcs/data0101
    kwgrib2/gctpc/test/proj/spcs/parm21301
    kwgrib2/gctpc/test/proj/spcs/data4400
    kwgrib2/gctpc/test/proj/spcs/parm20503
    kwgrib2/gctpc/test/proj/spcs/parm22701
    kwgrib2/gctpc/test/proj/spcs/data3003
    kwgrib2/gctpc/test/proj/spcs/parm22900
    kwgrib2/gctpc/test/proj/spcs/data4803
    kwgrib2/gctpc/test/proj/spcs/parm25001
    kwgrib2/gctpc/test/proj/spcs/data3601
    kwgrib2/gctpc/test/proj/spcs/data0503
    kwgrib2/gctpc/test/proj/spcs/parm23800
    kwgrib2/gctpc/test/proj/spcs/data1301
    kwgrib2/gctpc/test/proj/spcs/parm23003
    kwgrib2/gctpc/test/proj/spcs/README
    kwgrib2/gctpc/test/proj/spcs/data3800
    kwgrib2/gctpc/test/proj/spcs/parm23601
    kwgrib2/gctpc/test/proj/spcs/spcs_test
    kwgrib2/gctpc/test/proj/spcs/parm20101
    kwgrib2/gctpc/test/proj/spcs/parm25104
    kwgrib2/gctpc/test/proj/spcs/data2900
    kwgrib2/gctpc/test/proj/spcs/parm25009
    kwgrib2/gctpc/test/proj/spcs/data4002
    kwgrib2/gctpc/test/proj/spcs/parm22201
    kwgrib2/gctpc/test/proj/spcs/parm24400
    kwgrib2/gctpc/test/proj/spcs/data5104
    kwgrib2/gctpc/test/proj/spcs/parm25400
    kwgrib2/gctpc/test/proj/spcs/data2701
    kwgrib2/gctpc/test/proj/spcs/data5009
    kwgrib2/gctpc/test/proj/spcs/data5400
    kwgrib2/gctpc/test/proj/spcs/data2201
    kwgrib2/gctpc/test/proj/spcs/parm24803
    kwgrib2/gctpc/test/proj/spcs/parm24002
    kwgrib2/gctpc/test/proj/tm/
    kwgrib2/gctpc/test/proj/tm/data9e
    kwgrib2/gctpc/test/proj/tm/parm9
    kwgrib2/gctpc/test/proj/tm/data9
    kwgrib2/gctpc/test/proj/tm/parm9b
    kwgrib2/gctpc/test/proj/tm/data9a
    kwgrib2/gctpc/test/proj/tm/parm9a
    kwgrib2/gctpc/test/proj/tm/data9b
    kwgrib2/gctpc/test/proj/tm/parm9e
    kwgrib2/gctpc/test/proj/tm/parm9c
    kwgrib2/gctpc/test/proj/tm/tm_test
    kwgrib2/gctpc/test/proj/tm/parm9d
    kwgrib2/gctpc/test/proj/tm/data9d
    kwgrib2/gctpc/test/proj/tm/data9c
    kwgrib2/gctpc/test/README
    kwgrib2/gctpc/test/test_proj/
    kwgrib2/gctpc/test/test_proj/testproj.c
    kwgrib2/gctpc/test/test_proj/Makefile
    kwgrib2/gctpc/README
    kwgrib2/gctpc/announce.txt
    kwgrib2/wgrib2/
    kwgrib2/wgrib2/CodeTable_3.11.dat
    kwgrib2/wgrib2/gribtab.c
    kwgrib2/wgrib2/fnlist.c
    kwgrib2/wgrib2/help.c
    kwgrib2/wgrib2/CodeTable.c
    kwgrib2/wgrib2/Mysql.c
    kwgrib2/wgrib2/cname.c
    kwgrib2/wgrib2/CodeTable_3.8.dat
    kwgrib2/wgrib2/CodeTable_4.5_kma.dat
    kwgrib2/wgrib2/parse_loop.c
    kwgrib2/wgrib2/wgrib2.c
    kwgrib2/wgrib2/jma_msm_g2nc.table
    kwgrib2/wgrib2/Grid_def.c
    kwgrib2/wgrib2/UDF.c
    kwgrib2/wgrib2/addtime.c
    kwgrib2/wgrib2/Fix_CFSv2_fcst.c
    kwgrib2/wgrib2/geo.c
    kwgrib2/wgrib2/Inv.c
    kwgrib2/wgrib2/rd_grib2_msg.c
    kwgrib2/wgrib2/Grib_out_irr.c
    kwgrib2/wgrib2/Netcdf_sup.c
    kwgrib2/wgrib2/LICENSE-wgrib2
    kwgrib2/wgrib2/Fix_ncep.c
    kwgrib2/wgrib2/unpk_complex.c
    kwgrib2/wgrib2/crc32.c
    kwgrib2/wgrib2/Sec0.c
    kwgrib2/wgrib2/intpower.c
    kwgrib2/wgrib2/ncep_grids.c
    kwgrib2/wgrib2/Sec3.c
    kwgrib2/wgrib2/Fix_ncep_4.c
    kwgrib2/wgrib2/CodeTable_4.11.dat
    kwgrib2/wgrib2/swap_buffer.c
    kwgrib2/wgrib2/Set_val.c
    kwgrib2/wgrib2/Dump.c
    kwgrib2/wgrib2/Csv.c
    kwgrib2/wgrib2/makefile_local.1
    kwgrib2/wgrib2/CodeTable_4.5_ncep.dat
    kwgrib2/wgrib2/CodeTable_4.235.dat
    kwgrib2/wgrib2/seekgrib2.c
    kwgrib2/wgrib2/ffopen.c
    kwgrib2/wgrib2/unpk_0.c
    kwgrib2/wgrib2/CodeTable_4.9_need_to_edit.dat
    kwgrib2/wgrib2/misc_gribtab.dat
    kwgrib2/wgrib2/space_view2ij.c
    kwgrib2/wgrib2/For.c
    kwgrib2/wgrib2/Spectral_bands.c
    kwgrib2/wgrib2/LICENSE-netcdf
    kwgrib2/wgrib2/hacking.txt
    kwgrib2/wgrib2/sec3_grids.c
    kwgrib2/wgrib2/Range.c
    kwgrib2/wgrib2/If_rec.c
    kwgrib2/wgrib2/reading_grib.txt
    kwgrib2/wgrib2/fnlist.h
    kwgrib2/wgrib2/CodeTable_5.1.dat
    kwgrib2/wgrib2/Mod_grib.c
    kwgrib2/wgrib2/Config.c
    kwgrib2/wgrib2/grb2.h
    kwgrib2/wgrib2/Prob.c
    kwgrib2/wgrib2/Fcst_ave.c
    kwgrib2/wgrib2/wgrib2.h
    kwgrib2/wgrib2/LICENSE-jasper
    kwgrib2/wgrib2/makefile_local.3
    kwgrib2/wgrib2/CodeTable_4.0.dat
    kwgrib2/wgrib2/missing.c
    kwgrib2/wgrib2/interactive.txt
    kwgrib2/wgrib2/units.c
    kwgrib2/wgrib2/copy.c
    kwgrib2/wgrib2/Waves.c
    kwgrib2/wgrib2/Set_ts_dates.c
    kwgrib2/wgrib2/API
    kwgrib2/wgrib2/unpk.c
    kwgrib2/wgrib2/Import.c
    kwgrib2/wgrib2/File.c
    kwgrib2/wgrib2/CodeTable_0.0.dat
    kwgrib2/wgrib2/development.txt
    kwgrib2/wgrib2/FlagTable.c
    kwgrib2/wgrib2/Introduction.txt
    kwgrib2/wgrib2/prod_def_temp_size.c
    kwgrib2/wgrib2/Latlon.c
    kwgrib2/wgrib2/NCEP_local_levels_test.h
    kwgrib2/wgrib2/Unix_time.c
    kwgrib2/wgrib2/ieee2flt.c
    kwgrib2/wgrib2/Code_Values.c
    kwgrib2/wgrib2/differences.txt
    kwgrib2/wgrib2/ieee2flt_nan.c
    kwgrib2/wgrib2/space_view.c
    kwgrib2/wgrib2/CodeTable_1.4.dat
    kwgrib2/wgrib2/Inv_no.c
    kwgrib2/wgrib2/CodeTable_4.212.dat
    kwgrib2/wgrib2/unpk_run_length.c
    kwgrib2/wgrib2/CodeTable_3.1.dat
    kwgrib2/wgrib2/Bbox.c
    kwgrib2/wgrib2/UDF.txt
    kwgrib2/wgrib2/Alias.c
    kwgrib2/wgrib2/VerfTime.c
    kwgrib2/wgrib2/simple_pk.c
    kwgrib2/wgrib2/Tigge.c
    kwgrib2/wgrib2/gctpc.txt
    kwgrib2/wgrib2/function.sh
    kwgrib2/wgrib2/Match.c
    kwgrib2/wgrib2/Checksum.c
    kwgrib2/wgrib2/wgrib2nc.h
    kwgrib2/wgrib2/Set_pdt.c
    kwgrib2/wgrib2/New_grid.c
    kwgrib2/wgrib2/NCEP_norm.c
    kwgrib2/wgrib2/CodeTable_3.2.dat
    kwgrib2/wgrib2/Changes_netcdf
    kwgrib2/wgrib2/Set_byte.c
    kwgrib2/wgrib2/CodeTable_4.91.dat
    kwgrib2/wgrib2/Cress_lola.c
    kwgrib2/wgrib2/LICENSE-libpng
    kwgrib2/wgrib2/WxText.c
    kwgrib2/wgrib2/makefile_local.2
    kwgrib2/wgrib2/test_sec.c
    kwgrib2/wgrib2/int8.c
    kwgrib2/wgrib2/Scan.c
    kwgrib2/wgrib2/Precision.c
    kwgrib2/wgrib2/README
    kwgrib2/wgrib2/Set_sec_size.c
    kwgrib2/wgrib2/Misc.c
    kwgrib2/wgrib2/Earth.c
    kwgrib2/wgrib2/Sec4.c
    kwgrib2/wgrib2/gctpc_ll2xy.c
    kwgrib2/wgrib2/complex_pk.c
    kwgrib2/wgrib2/LICENSE-hdf
    kwgrib2/wgrib2/Undefine.c
    kwgrib2/wgrib2/CodeTable_3.21.dat
    kwgrib2/wgrib2/Set_ensm_derived_fcst.c
    kwgrib2/wgrib2/CodeTable_4.5_ncep_exit.dat
    kwgrib2/wgrib2/CodeTable_5.0.dat
    kwgrib2/wgrib2/bitstream.c
    kwgrib2/wgrib2/tigge_gribtab.dat
    kwgrib2/wgrib2/CodeTable_4.9.dat
    kwgrib2/wgrib2/makefile_local
    kwgrib2/wgrib2/CodeTable_4.230.dat
    kwgrib2/wgrib2/Macro.c
    kwgrib2/wgrib2/Sec5.c
    kwgrib2/wgrib2/CodeTable_4.4.dat
    kwgrib2/wgrib2/Level.c
    kwgrib2/wgrib2/jpeg_pk.c
    kwgrib2/wgrib2/NEW_types
    kwgrib2/wgrib2/makefile
    kwgrib2/wgrib2/RPN.c
    kwgrib2/wgrib2/Wind_speed.c
    kwgrib2/wgrib2/output.txt
    kwgrib2/wgrib2/Irr_grids.c
    kwgrib2/wgrib2/NCEP_uv.c
    kwgrib2/wgrib2/CodeTable_4.222.dat
    kwgrib2/wgrib2/mysql_speed_readme.txt
    kwgrib2/wgrib2/ncep_tableC.dat
    kwgrib2/wgrib2/save_string.c
    kwgrib2/wgrib2/Limit.c
    kwgrib2/wgrib2/LICENSE-zlib
    kwgrib2/wgrib2/wrtieee.c
    kwgrib2/wgrib2/CodeTable_1.3.dat
    kwgrib2/wgrib2/Ensemble.c
    kwgrib2/wgrib2/Ave_test.c
    kwgrib2/wgrib2/notes.txt
    kwgrib2/wgrib2/CodeTable_6.0.dat
    kwgrib2/wgrib2/CodeTable_4.233.dat
    kwgrib2/wgrib2/CodeTable4_4.h
    kwgrib2/wgrib2/lat.txt
    kwgrib2/wgrib2/gribtab.dat
    kwgrib2/wgrib2/ExtName.c
    kwgrib2/wgrib2/Aerosol.c
    kwgrib2/wgrib2/fatal_error.c
    kwgrib2/wgrib2/CodeTable_1.2.dat
    kwgrib2/wgrib2/CodeTable_4.10_need_to_edit.dat
    kwgrib2/wgrib2/Changes
    kwgrib2/wgrib2/CodeTable_3.15.dat
    kwgrib2/wgrib2/Wrt_grib.c
    kwgrib2/wgrib2/NDFD_gribtab.dat
    kwgrib2/wgrib2/Data.c
    kwgrib2/wgrib2/Summary.c
    kwgrib2/wgrib2/Netcdf.c
    kwgrib2/wgrib2/Sec_len.c
    kwgrib2/wgrib2/SpatialProcessing.c
    kwgrib2/wgrib2/Small_grib.c
    kwgrib2/wgrib2/Set_ens_num.c
    kwgrib2/wgrib2/update_gribtable.txt
    kwgrib2/wgrib2/Mysql_dump.c
    kwgrib2/wgrib2/Gctpc.c
    kwgrib2/wgrib2/Lola.c
    kwgrib2/wgrib2/Grib.c
    kwgrib2/wgrib2/Help.c
    kwgrib2/wgrib2/subtime.c
    kwgrib2/wgrib2/config.h
    kwgrib2/wgrib2/code_table0.dat
    kwgrib2/wgrib2/Sec6.c
    kwgrib2/wgrib2/CodeTable_4.15.dat
    kwgrib2/wgrib2/gribtab
    kwgrib2/wgrib2/makefile.1
    kwgrib2/wgrib2/CodeTable_4.3.dat
    kwgrib2/wgrib2/Merge.c
    kwgrib2/wgrib2/Tosubmsg.c
    kwgrib2/wgrib2/rdieee_file.c
    kwgrib2/wgrib2/Fix_ncep_3.c
    kwgrib2/wgrib2/Grads.c
    kwgrib2/wgrib2/CodeTable_4.10.dat
    kwgrib2/wgrib2/lat2ij.c
    kwgrib2/wgrib2/AAIG.c
    kwgrib2/wgrib2/new_grid.txt
    kwgrib2/wgrib2/LICENSE-g2clib
    kwgrib2/wgrib2/flt2ieee.c
    kwgrib2/wgrib2/Cyclic.c
    kwgrib2/wgrib2/Mysql_speed.c
    kwgrib2/wgrib2/fnlist
    kwgrib2/wgrib2/CodeTable_4.208.dat
    kwgrib2/wgrib2/ieee_pk.c
    kwgrib2/wgrib2/Flush.c
    kwgrib2/wgrib2/Satellite.c
    kwgrib2/wgrib2/Sec1.c
    kwgrib2/wgrib2/flt2ieee_nan.c
    kwgrib2/wgrib2/mk_kgds.c
    kwgrib2/gctpc20.tar.Z
    kwgrib2/README.mysql
    kwgrib2/makefile
    kwgrib2/README.ncep
    kwgrib2/makefile.gctpc
    kwgrib2/README.openmp
    kwgrib2/README.netcdf4
    kwgrib2/README.open64
    kwgrib2/aux_progs/
    kwgrib2/aux_progs/gmerge.make
    kwgrib2/aux_progs/gmerge.c
    kwgrib2/aux_progs/uint8.c
    kwgrib2/aux_progs/grb2.h
    kwgrib2/aux_progs/smallest_grib2.make
    kwgrib2/aux_progs/README
    kwgrib2/aux_progs/smallest_4.make
    kwgrib2/aux_progs/smallest_grib2.c
    kwgrib2/aux_progs/smallest_4.c
    kwgrib2/g2clib-1.2.1/
    kwgrib2/g2clib-1.2.1/g2_addgrid.c
    kwgrib2/g2clib-1.2.1/mkieee.c
    kwgrib2/g2clib-1.2.1/g2_info.c
    kwgrib2/g2clib-1.2.1/jpcpack.c
    kwgrib2/g2clib-1.2.1/g2_addlocal.c
    kwgrib2/g2clib-1.2.1/simunpack.c
    kwgrib2/g2clib-1.2.1/dec_png.c
    kwgrib2/g2clib-1.2.1/specpack.c
    kwgrib2/g2clib-1.2.1/gbits.c
    kwgrib2/g2clib-1.2.1/g2_gribend.c
    kwgrib2/g2clib-1.2.1/getdim.c
    kwgrib2/g2clib-1.2.1/pdstemplates.h
    kwgrib2/g2clib-1.2.1/g2_getfld.c
    kwgrib2/g2clib-1.2.1/g2_create.c
    kwgrib2/g2clib-1.2.1/gridtemplates.h
    kwgrib2/g2clib-1.2.1/g2_unpack1.c
    kwgrib2/g2clib-1.2.1/g2_unpack7.c
    kwgrib2/g2clib-1.2.1/gridtemplates.c
    kwgrib2/g2clib-1.2.1/g2_unpack4.c
    kwgrib2/g2clib-1.2.1/jpcunpack.c
    kwgrib2/g2clib-1.2.1/seekgb.c
    kwgrib2/g2clib-1.2.1/drstemplates.c
    kwgrib2/g2clib-1.2.1/g2_unpack6.c
    kwgrib2/g2clib-1.2.1/enc_png.c
    kwgrib2/g2clib-1.2.1/pdstemplates.c
    kwgrib2/g2clib-1.2.1/misspack.c
    kwgrib2/g2clib-1.2.1/g2_addfield.c
    kwgrib2/g2clib-1.2.1/drstemplates.h
    kwgrib2/g2clib-1.2.1/g2_unpack3.c
    kwgrib2/g2clib-1.2.1/rdieee.c
    kwgrib2/g2clib-1.2.1/reduce.c
    kwgrib2/g2clib-1.2.1/pack_gp.c
    kwgrib2/g2clib-1.2.1/int_power.c
    kwgrib2/g2clib-1.2.1/makefile
    kwgrib2/g2clib-1.2.1/pngunpack.c
    kwgrib2/g2clib-1.2.1/g2_unpack5.c
    kwgrib2/g2clib-1.2.1/dec_jpeg2000.c
    kwgrib2/g2clib-1.2.1/g2_miss.c
    kwgrib2/g2clib-1.2.1/compack.c
    kwgrib2/g2clib-1.2.1/pngpack.c
    kwgrib2/g2clib-1.2.1/specunpack.c
    kwgrib2/g2clib-1.2.1/grib2.h
    kwgrib2/g2clib-1.2.1/comunpack.c
    kwgrib2/g2clib-1.2.1/g2_unpack2.c
    kwgrib2/g2clib-1.2.1/simpack.c
    kwgrib2/g2clib-1.2.1/getpoly.c
    kwgrib2/g2clib-1.2.1/enc_jpeg2000.c
    kwgrib2/g2clib-1.2.1/g2_free.c
    kwgrib2/g2clib-1.2.1/cmplxpack.c
    kwgrib2/proj.h
    kwgrib2/iplib.2012/
    kwgrib2/iplib.2012/polfixv.f
    kwgrib2/iplib.2012/ijkgds.f
    kwgrib2/iplib.2012/movect.f
    kwgrib2/iplib.2012/makgds.f
    kwgrib2/iplib.2012/readme
    kwgrib2/iplib.2012/gdswzd01.f
    kwgrib2/iplib.2012/polates1.f
    kwgrib2/iplib.2012/polatev3.f
    kwgrib2/iplib.2012/ijkgds0.f
    kwgrib2/iplib.2012/gausslat.f
    kwgrib2/iplib.2012/ipspaste.f
    kwgrib2/iplib.2012/polfixs.f
    kwgrib2/iplib.2012/gdswzdca.f
    kwgrib2/iplib.2012/ipxetas.f
    kwgrib2/iplib.2012/ipxwafs2.f
    kwgrib2/iplib.2012/polates0.f
    kwgrib2/iplib.2012/polatev2.f
    kwgrib2/iplib.2012/gdswiz05.f
    kwgrib2/iplib.2012/gdswzd03.f
    kwgrib2/iplib.2012/gdswizc9.f
    kwgrib2/iplib.2012/ijkgds1.f
    kwgrib2/iplib.2012/ipxwafs.f
    kwgrib2/iplib.2012/gdswiz03.f
    kwgrib2/iplib.2012/polates4.f
    kwgrib2/iplib.2012/polates6.f
    kwgrib2/iplib.2012/ipxwafs3.f
    kwgrib2/iplib.2012/polatev4.f
    kwgrib2/iplib.2012/polatev1.f
    kwgrib2/iplib.2012/gdswzd00.f
    kwgrib2/iplib.2012/polateg4.f
    kwgrib2/iplib.2012/gdswzd05.f
    kwgrib2/iplib.2012/makefile
    kwgrib2/iplib.2012/gdswzdcb.f
    kwgrib2/iplib.2012/gdsawt.f
    kwgrib2/iplib.2012/gdswizcb.f
    kwgrib2/iplib.2012/gdswiz.f
    kwgrib2/iplib.2012/gdswizcd.f
    kwgrib2/iplib.2012/gdswzd04.f
    kwgrib2/iplib.2012/gcdist.f
    kwgrib2/iplib.2012/splat.f
    kwgrib2/iplib.2012/gdswiz00.f
    kwgrib2/iplib.2012/polates3.f
    kwgrib2/iplib.2012/ipolatev.f
    kwgrib2/iplib.2012/gdswiz04.f
    kwgrib2/iplib.2012/polatev6.f
    kwgrib2/iplib.2012/gdswiz01.f
    kwgrib2/iplib.2012/gdswzdc9.f
    kwgrib2/iplib.2012/gdswizca.f
    kwgrib2/iplib.2012/ipolates.f
    kwgrib2/iplib.2012/ipsector.f
    kwgrib2/iplib.2012/polateg1.f
    kwgrib2/iplib.2012/polates2.f
    kwgrib2/iplib.2012/polateg0.f
    kwgrib2/iplib.2012/polatev0.f
    kwgrib2/iplib.2012/ipmerge2.f
    kwgrib2/iplib.2012/gdswzdcd.f
    kwgrib2/iplib.2012/gdswzd.f

     

    • [2 단계] 컴파일

      • /SYSTEM/LINUX/kwgrib2/kwgrib2 경로에서 신규 디렉터리 생성 (mkdir bin)

      • 컴파일 하기 앞서 vi makefile에서 설치 경로를 설정합니다.

      • 단축키 (shift + w + :)를 통해 /prog를 검색합니다.

      • 실행파일 생성 위치 (bindir)의 경우 /SYSTEM/LINUX/kwgrib2/kwgrib2/bin이고 실행 파일 이름 정의 (prog)에서는 기본값 (Default 값)으로 설정합니다 (91-92행 참조).

      • make를 통해 컴파일 합니다.

     

    • 실행 파일 이름 정의 (prog) 정보

     

    # often enviroment variable FC=fortran compiler, if not, define it here
    # FC=gfortran
    # bindir=${cwd}
    bindir=/SYSTEM/LINUX/kwgrib2/kwgrib2/bin
    prog=${bindir}/kwgrib2
    
    # ...
    # 중략
    # ...
    
    make[1]: Leaving directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/wgrib2'
    cd aux_progs && make -f gmerge.make
    make[1]: Entering directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/aux_progs'
    cc  -o gmerge gmerge.c uint8.c
    make[1]: Leaving directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/aux_progs'
    cd aux_progs && make -f smallest_grib2.make
    make[1]: Entering directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/aux_progs'
    cc  -o smallest_grib2 smallest_grib2.c uint8.c
    make[1]: Leaving directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/aux_progs'
    cd aux_progs && make -f smallest_4.make
    make[1]: Entering directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/aux_progs'
    cc  -o smallest_4 smallest_4.c uint8.c
    make[1]: Leaving directory `/SYSTEM/LINUX/kwgrib2/kwgrib2/aux_progs'

     

    [root linux@/SYSTEM/LINUX/kwgrib2/kwgrib2]# make

     

    • [3 단계] 환경 변수 설정

      • 프롬프트에서 which kwgrib2를 입력해도 확인할 수 없습니다.

      • 이는 리눅스 환경에서 kwgrib2 설치 디렉터리를 찾을 수 없기 때문입니다.

      • 따라서 vi ~/.bashrc에서 KWGRIB2 환경 변수를 입력해야 합니다.

      • source ~/.bashrc를 통해 재 실행합니다.

      • 프롬프트에서 kwgrib2 확인

     

    [root linux@/SYSTEM/LINUX/kwgrib2]# vi ~/.bashrc
    
    #==========================================
    #  Configure
    #==========================================
    # GrADS v2.1.1
    export GRADS=/usr/local/grads-2.1.1.b0
    
    # GrADS v2.2.0
    # export GRADS=/usr/local/bin/grads/grads-2.2.0
    
    export KWGRIB2=/SYSTEM/LINUX/kwgrib2/kwgrib2
    
    arrRootConfig=($GRADS $KWGRIB2)
    
    for i in ${arrRootConfig[*]}; do
       if [ ! -z $i ]; then
          if [ -d $i/bin ]; then PATH=$i/bin:$PATH ; fi
          if [ -d $i/lib ]; then LD_LIBRARY_PATH=$i/lib:$LD_LIBRARY_PATH ; fi
          if [ -d $i/sbin -a `id -u` = 0 ]; then PATH=$i/sbin:$PATH ; fi
          if [ -d $i/man ]; then MANPATH=$MANPATH:$i/man ; fi
          if [ -d $i/config ]; then PATH=$i/config:$PATH ; fi
       fi
    done

     

    [root linux@/SYSTEM/LINUX/kwgrib2/kwgrib2]# kwgrib2
    
    wgrib2 v0.1.9.6a 5/2012 Wesley Ebisuzaki, Reinoud Bokhorst, Jaakko Hyvätti, Kristian Nilssen, Karl Pfeiffer, Pablo Romero, Manfred Schwarb, Arlindo da Silva, Niklas Sondell, Sergey Varlamov
     -0xSec           inv  X      Hex dump of section X (0..8)
     -aerosol_size    inv         optical properties of an aerosol
     -aerosol_wavelength inv         optical properties of an aerosol
     -bitmap          inv         bitmap mode
     -center          inv         center
     -checksum        inv  X      CRC checksum of section X (0..8), whole message (X = -1/message) or (X=data)
     -disc            inv         discipline (code table 0.0)
     -domain          inv         find rectangular domain for g2ctl/GrADS plots
     -end_ft          inv         verf time = reference_time + forecast_time + stat. proc time (YYYYMMDDHH) (same as -vt)
     -end_FT          inv         verf time = reference_time + forecast_time + stat. proc time (YYYYMMDDHHMMSS) (same as -VT)
     -ens             inv         ensemble information
     -ext_name        inv         extended name, var+qualifiers
     -ftime           inv         forecast time
     -full_name       inv         extended name, var+qualifiers
     -gctpc           inv  X       X=0,1 use gctpc library (testing)
     -get_byte        inv  X Y Z  get bytes in Section X, location Y (1..N), number of bytes Z (decimal format)
     -get_hex         inv  X Y Z  get bytes in Section X, location Y (1..N), number of bytes Z (bytes in hexadecimal format)
     -get_int         inv  X Y Z  get 4-byte ints in Section X, location Y (byte), number of ints Z
     -grid            inv         grid definition
     -ij              inv  X Y    value of field at grid(X,Y) X=1,..,nx Y=1,..,ny (WxText enabled)
     -ijlat           inv  X Y    lat,lon and grid value at grid(X,Y) X=1,..,nx Y=1,..,ny (WxText enabled)
     -ilat            inv  X      lat,lon and grid value at Xth grid point, X=1,..,npnts (WxText enabled)
     -lev             inv         level (code table 4.5)
     -ll2i            inv  X Y    x=lon y=lat, converts to (i)
     -ll2ij           inv  X Y    x=lon y=lat, converts lon-lat (i,j)
     -lon             inv  X Y    value at grid point nearest lon=X lat=Y (WxText enabled)
     -match_inv       inv         inventory used by -match, -not, -if and -not_if
     -max             inv         print maximum value
     -min             inv         print minimum value
     -misc            inv         variable name qualifiers like chemical, ensemble, probability, etc
     -MM              inv         reference time MM
     -n               inv         prints out inventory number
     -N_ens           inv         number of ensemble members
     -nl              inv         inserts new line into inventory
     -nlons           inv         number of longitudes for each latitude
     -nl_out          inv  X      write new line in file X
     -npts            inv         number of grid points
     -nxny            inv         nx and ny of grid
     -packing         inv         shows the packing mode (use -v for more details)
     -print           inv  X      inserts string into inventory
     -prob            inv         probability information
     -process         inv         Process (code table 4.3)
     -processid       inv         process id (locally defined)
     -range           inv         print out location of record in bytes, 0 = first byte
     -RT              inv         type of reference Time
     -s               inv         simple inventory
     -S               inv         simple inventory with minutes and seconds (subject to change)
     -scale           inv         scale for packing
     -scaling         inv         scaling for packing (old format)
     -scan            inv         scan order of grid
     -Sec0            inv         contents of section0
     -Sec3            inv         contents of section 3 (Grid Definition Section)
     -Sec4            inv         Sec 4 values (Product definition section)
     -Sec5            inv         Sec 5 values (Data representation section)
     -Sec6            inv         show bit-map section
     -Sec_len         inv         length of various grib sections
     -spatial_proc    inv         show spacial processing, pdt=4.15
     -spectral        inv         show spectral bands
     -spectral_bands  inv         spectral bands for satellite, pdt=4.31
     -start_ft        inv         verf time = reference_time + forecast_time (YYYYMMDDHH) : no stat. proc time
     -start_FT        inv         verf time = reference_time + forecast_time (YYYYMMDDHHMMSS) - no stat. proc time
     -stats           inv         statistical summary of data values
     -subcenter       inv         subcenter
     -t               inv         reference time YYYYMMDDHH, -v2 for alt format
     -T               inv         reference time YYYYMMDDHHMMSS
     -table           inv         parameter table
     -unix_time       inv         print unix timestamp for rt & vt
     -V               inv         diagnostic output
     -var             inv         short variable name
     -varX            inv         raw variable name - discipline mastertab localtab center parmcat parmnum
     -vector_dir      inv         grid or earth relative winds
     -verf            inv         simple inventory using verification time
     -vt              inv         verf time = reference_time + forecast_time, -v2 for alt format
     -VT              inv         verf time = reference_time + forecast_time (YYYYMMDDHHMMSS)
     -wave_partition  inv         ocean surface wave partition (pdt=52)
     -YY              inv         reference time YYYY
     -s_out           inv> X      simple inventory written to X
     -big_endian      misc        sets ieee output to big endian (default is big endian)
     -colon           misc X      replace item deliminator (:) with X
     -config          misc        shows the configuration
     -count           misc        prints number of fields
     -end             misc        stop after first (sub)message (save time)
     -fix_CFSv2_fcst  misc X Y Z  fixes CFSv2 monthly fcst X=daily or 00/06/12/18 Y=pert no. Z=number ens fcsts v1.0
     -fix_ncep        misc        fix ncep PDT=8 headers produced by cnvgrib
     -grid_changes    misc        prints number of grid changes
     -grid_def        misc        read lon and lat data from grib file -- experimental
     -h               misc        help, shows common options
     -header          misc        f77 header or nx-ny header in text output (default)
     -help            misc X      help [search string|all], -help all, shows all options
     -if              misc X      if X (POSIX regular expression) matches, conditional execution up to next output/fi
     -if_n            misc X      if (inv numbers in range), X=(start:end:step)
     -if_rec          misc X      if (record numbers in range), X=(start:end:step)
     -if_reg          misc X      if rpn registers defined, X = A, A:B, A:B:C, etc A = register number
     -ijundefine      misc X Y Z  sets grid point values to undefined X=(in-box|out-box) Y=ix0:ix1 Z=iy0:iy1 ix=(1..nx) iy=(1..ny)
     -import_bin      misc X      read binary file (X) for data
     -import_ieee     misc X      read ieee file (X) for data
     -import_text     misc X      read text file (X) for data
     -inv             misc X      write inventory to X
     -limit           misc X      stops after X fields decoded
     -little_endian   misc        sets ieee output to little endian (default is big endian)
     -new_grid_interpolation misc X      new_grid interpolation X=bilinear,bicubic,neighbor,budget
     -new_grid_ipopt  misc X      new_grid ipopt values X=i1:i2..:iN N <= 20
     -new_grid_vectors misc X      change fields to vector interpolate: X=none,default,UGRD:VGRD
     -new_grid_winds  misc X      new_grid wind orientation: X = grid, earth (N/S, default) -- alpha
     -no_header       misc        no f77 header or nx-ny header in text output
     -not_if          misc X      if not X (regular expression) matches, conditional execution until next output/fi
     -rpn             misc X      reverse polish notation calculator (beta)
     -set             misc X Y    set X = Y, X=local_table,etc (help: -set help help)
     -set_ave         misc X      set ave/acc .. only on pdt=4.0 only anl/fcst
     -set_bin_prec    misc X      X set number of binary bits for grib_out packing
     -set_byte        misc X Y Z  set bytes in Section X, location Y (1..N), bytes Z (a|a:b:c)
     -set_date        misc X      changes date code .. keep old date code if not specified completely
     -set_ensm_derived_fcst misc X Y    convert PDT 0,1,2 -> 2, 8,11,12 -> 12, X=code table 4.7 Y=num ens members
     -set_ens_num     misc X Y Z  convert PDT 0,1 -> 1, 8,11 -> 11, X=code table 4.6 Y=pert num Z=num ens members
     -set_ftime       misc X      set ftime .. only on pdt=4.0 only anl/fcst
     -set_grib_max_bits misc X      sets scaling so number of bits does not exceed N in (new) grib output
     -set_grib_type   misc X      set grib type = jpeg, simple, ieee, complex(1|2|3), same
     -set_hex         misc X Y Z  set bytes in Section X, location Y (1..N), bytes Z (a|a:b:c) in hexadecimal
     -set_ijval       misc X Y Z  sets grid point value X=ix Y=iy Z=val
     -set_int         misc X Y Z  set 4-byte ints in Section X, location Y (1..N), signed integers Z (a|a:b:c)
     -set_lev         misc X      changes level code .. not complete
     -set_metadata    misc X      read meta-data for grib writing from file X
     -set_pdt         misc X      makes new (clean) pdt, X=PDT_number or X=PDT_number:size of PDT in octets
     -set_scaling     misc X Y    set decimal scaling=X binary scaling=Y for grib_out packing
     -set_sec_size    misc X Y    resizes section , X=section number, Y=size in octets, DANGEROUS
     -set_ts_dates    misc X Y Z  changes date code for time series X=YYYYMMDDHH(mmss) Y=dtime Z=block size
     -set_var         misc X      changes variable name
     -submsg          misc X      process submessage X (0=process all messages)
     -sys             misc X      run system/shell command, X=shell command
     -text_col        misc X      number of columns on text output
     -text_fmt        misc X      format for text output (C)
     -udf             misc X Y    run UDF, X=program+optional_args, Y=return file
     -udf_arg         misc X Y    add grib-data to UDF argument file, X=file Y=name
     -undefine        misc X Y Z  sets grid point values to undefined X=(in-box|out-box) Y=lon0:lon1 Z=lat0:lat1
     -undefine_val    misc X      grid point set to undefined if X=val or X=low:high
     -v               misc        verbose (v=1)
     -v0              misc        not verbose (v=0)
     -v2              misc        really verbose (v=2)
     -version         misc        print version
     -AAIG            out         writes Ascii ArcInfo Grid file, lat-lon grid only (alpha)
     -ave             out  X Y    average X=time step, Y=output grib file needs file is special order
     -bin             out  X      write binary data to X
     -cress_lola      out  X..Z,A lon-lat grid values X=lon0:nlon:dlon Y=lat0:nlat:dlat Z=file A=radius1:radius2:..:radiusN
     -csv             out  X      make comma separated file, X=file (WxText enabled)
     -fcst_ave        out  X Y    average X=time step, Y=output grib file needs file is special order
     -fi              out         null output operation
     -grib            out  X      writes GRIB record (one submessage) to X
     -GRIB            out  X      writes entire GRIB record (all submessages)
     -grib_ieee       out  X      writes data[] to X.grb, X.head, X.tail, and X.h
     -grib_out        out  X      writes decoded/modified data in grib-2 format to file X
     -grib_out_irr    out  X Y    writes irregular grid grib X=(all|defined) Y=(output file)
     -ieee            out  X      write (default:big-endian) IEEE data to X
     -ijbox           out  X..Z,A grid values in bounding box X=i1:i2[:di] Y=j1:j2[:dj] Z=file A=[bin|text|spread]
     -ijsmall_grib    out  X Y Z  make small domain grib file X=ix0:ix1 Y=iy0:iy1 Z=file (beta)
     -irr_grid        out  X Y Z  make irregular grid, nearest neighbor, X=lon-lat list Y=radius (km) Z=output grib file
     -lola            out  X..Z,A lon-lat grid values X=lon0:nlon:dlon Y=lat0:nlat:dlat Z=file A=[bin|text|spread|grib]
     -merge_fcst      out  X Y    normalize NCEP-type ave/acc X=number Y=output grib file
     -mysql           out  5 args H=[host] U=[user] P=[password] D=[db] T=[table] (alpha)
     -mysql_dump      out  7 args H=[host] U=[user] P=[password] D=[db] T=[table] W=[western_lons:0|1] PV=[remove unlikely:0|1]
     -mysql_speed     out  7 args H=[host] U=[user] P=[password] D=[db] T=[table] W=[western_lons:0|1] PV=[remove unlikely:0|1]
     -ncep_norm       out  X      normalize NCEP-type ave/acc X=output grib file
     -ncep_uv         out  X      combine U and V fields into one message like NCEP operations
     -netcdf          out  X      write netcdf data to X
     -new_grid        out  X..Z,A bilinear interpolate: X=projection Y=x0:nx:dx Z=y0:ny:dy A=grib_file alpha
     -small_grib      out  X Y Z  make small domain grib file X=lonW:lonE Y=latS:latN Z=file (beta)
     -spread          out  X      write text - spread sheet format into X (WxText enabled)
     -text            out  X      write text data into X
     -tosubmsg        out  X      convert GRIB message to submessage and write to file X
     -wind_speed      out  X      calculate wind speed, X = output gribfile (U then V in datafile)
     -append          init        append mode, write to existing output files
     -crlf            init        make the end of the inventory a crlf (windows) instead of newline (unix)
     -d               init X      dump message X (n or n.m), only 1 -d allowed
     -fix_ncep_2      init        ncep bug fix 2, probability observation < -ve number
     -fix_ncep_3      init        sets flag to fix ncep bug 3 (constant fields)
     -fix_ncep_4      init        fixes NCEP grib2 files where DX and DY are undefined
     -for             init X      process record numbers in range, X=(start:end:step), only one -for allowed
     -for_n           init X      process inv numbers in range, X=(start:end:step), only one -for allowed
     -g2clib          init X      X=0/1 use g2clib for decoding grib
     -i               init        read Inventory from stdin
     -match           init X      process data that matches X (POSIX regular expression)
     -nc3             init        use netcdf3 (classic)
     -nc4             init        use netcdf4 (compressed, controlled endianness etc)
     -nc_grads        init        require netcdf file to be grads v1.9b4 compatible (fixed time step only)
     -nc_nlev         init X      netcdf, X = max LEV dimension for {TIME,LEV,LAT,LON} data
     -nc_pack         init X      pack/check limits of all NEW input variables, X=min:max[:byte|short|float]
     -nc_table        init X      X is conversion_to_netcdf_table file name
     -nc_time         init X      netcdf, [[-]yyyymmddhhnnss]:[dt{s[ec]|m[in]|h[our]|d[ay]}], [-] is for time alignment only
     -no_append       init        not append mode, write to new output files (default)
     -no_nc_grads     init        netcdf file may be not grads v1.9b4 compatible, variable time step
     -no_nc_pack      init        no packing in netcdf for NEW variables
     -no_nc_table     init        disable previously defined conversion_to_netcdf_table
     -no_nc_time      init        netcdf, disable previously defined initial or relative date and time step
     -not             init X      process data that does not match X (POSIX regular expression)
     -one_line        init        puts all on one line (makes into inventory format)
     -order           init X      decoded data in X (raw|we:sn|we:ns) order, we:sn is default
     -set_ext_name    init X      X=0/1 extended name on/off
     -set_regex       init X      set regex mode X = 0:extended regex (default) 1:pattern 2:extended regex & quote metacharacters
     -tigge           init        use modified-TIGGE grib table

      

     관련 자료

    • 국가기상슈퍼컴퓨터 산출자료 공개 서비스 활용가이드

    국가기상슈퍼컴퓨터_산출자료_공개_서비스_활용가이드_v2.pdf
    1.35MB

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기