[GrADS, ShellScript] 그라즈 Grib 형식인 ECMWF 모델 결과를 이용한 가시화

 정보

  • 업무명    : 그라즈 Grib 형식인 ECMWF 모델 결과를 이용한 가시화

  • 작성자    : 이상호

  • 작성일    : 2019-09-07

  • 설   명     :

  • 수정이력 :

 

 내용

[특징]

  • ECMWF 모델 결과를 이해하기 위해 가시화 도구가 필요하며 이 프로그램은 이러한 목적을 달성하기 위해 고안된 소프트웨어

 

[기능]

  • grib 자료를 다른 형식으로 변환

    • [방법 1] wgrib 배치 파일을 이용하여 grib → ctl 변환

    • [방법 2] ncl 라이브러리 이용하여 grib → NetCDF 변환

  • ctl 또는 NetCDF 형식으로 가시화

 

[활용 자료]

  • 자료 : ECMWF 모델에서 지표면 온도

  • 기간 : 2016년 06월

 

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

  • 없음

 

[사용법]

  • GrADS 가시화에 필요한 라이브러리를 동일 디렉터리 위치

    • xcbar.gs (제공처 :  http://kodama.fubuki.info/wiki/wiki.cgi/GrADS/script?lang=jp)

    • worldmap (제공처 :  ftp://cola.gmu.edu/grads/boundaries/worldmap)

  • grib 자료를 ctl로 변환

  • [방법 1] wgrib 배치 파일을 이용하여 grib → ctl 변환

  • [1 단계] grib2ctl.pl 소스 코드 다운로드

wget "ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib.scripts/grib2ctl.pl"

 

  • [2 단계] wgib.c 소스 코드 다운로드
wget "ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib/wgrib.c"

 

  • [3 단계] wgrib.c를 이용하여 컴파일

gcc wgrib.c -o wgrib

 

  • [4 단계] wgrib 및 GrADS 환경변수 설정 및 권한 부여

open grib2ctl.pl
$wgrib=’wgrib’
$wgrib=’/usr/local/bin/wgrib
$pdef_dir=’/usr/local/lib/grads
chmod 755 grib2ctl.pl

 

  • [5 단계] 분석장 및 예측장에 따라 ctl 변환

  • 분석장

grib2ctl.pl grib_file > grib_file.ctl
gribmap -i grib_file.ctl -0

 

  • 예측장

grib2ctl.pl -verf grib_file > grib_file.ctl
gribmap -i grib_file.ctl

 

  • [방법 2] ncl 라이브러리 이용하여 grib → NetCDF 변환

ncl_convert2nc grib_file > input.nc

 

  • 소스 코드를 실행(csh Visualization_Using_Grib_Form_of_ECMEF_Model_Result.csh)

  • 가시화 결과를 확인

 

[사용 OS]

  • Linux

 

[사용 언어]

  • GrADS

  • ShellScript (csh)

 

 소스 코드

[명세]

#!/bin/csh

#===========================================
#     Method 1 : grib -> ctl (recommend !)
#============================================
# Reference : https://tuxcoder.wordpress.com/2011/04/11/how-to-install-grib2ctl-pl-and-wgrib-in-linux/
# wget "ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib.scripts/grib2ctl.pl"
# wget "ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib/wgrib.c"
# gcc wgrib.c -o wgrib

# open grib2ctl.pl
# $wgrib=’wgrib’
# $wgrib=’/usr/local/bin/wgrib
# $pdef_dir=’/usr/local/lib/grads
# chmod 755 grib2ctl.pl

# For analyses: 
# grib2ctl.pl grib_file > grib_file.ctl
# gribmap -i grib_file.ctl -0
# grads
# ga-> open grib_file.ctl


# For forecasts:
# grib2ctl.pl -verf grib_file > grib_file.ctl
# gribmap -i grib_file.ctl
# grads
# ga-> open grib_file.ctl

#===========================================
#     Method 2
#============================================
# ncl_convert2nc [input.*] > input.nc

foreach fn (`seq 0 5`)

cat >! 1.bat << EOF
reinit
xopen grib_file.ctl
set display color white
set mpdset worldmap
set lon 0 360
set lat -90 90
set xlint 60
set ylint 30
set font ${fn}
*set xlab %0.0f\`3.\`n
*set ylab %0.0f\`3.\`n
set parea 1 10.5 0.5 8.5
set xlopts 1 6 0.18
set ylopts 1 6 0.18
set t 1
set gxout shaded
set grads off
set grid off
color 200 310 1 -kind rainbow
d no2tsfc

set gxout contour
set clopts 1 6 0.125
set cint 20
d no2dsfc

xcbar 1 10.5 0.4 0.65 -fwidth 0.18 -fheight 0.18 -edge circle -fstep 10 -line off

draw title ERA_interim-sfc-201606\
set string 1 tc
set strsiz 0.18 0.18
draw string 5.5 1.05  Surface  2  Meter  Temperature  [K]

gxprint 1.png
quit

EOF

grads -blc "exec 1.bat"

mv -f 1.png OUTPUT/${fn}.png
#rm -f 1.bat
#display 1.png

end

 

[GitHub Gist]

 

 결과

  • GrADS에 필요한 worldmap 가시화

 

그림. GrADS에 필요한 worldmap 가시화.
 
 
  • ECMWF 모델 결과를 이용하여 지표면 온도 가시화

그림. ECMWF 모델 결과를 이용하여 지표면 온도 가시화.
 

 참고문헌

 

スクリプト集

以下のスクリプトのライセンスはGPLです。詳細はGPLの全文を参照して頂くとして、特に重要な点は、 スクリプトを使うことで生じるいかなるトラブルも、作者は責任を負わない。 スクリプトをそのまま、もしくは改変を加えて新たに配布することができる。その際はGPLに従う必要がある。 です。もちろん、本スクリプトで作成した図を論文・発表等で使用する場合は特に許諾・謝辞等は必要ありません。 なお、リリース版よりもマニュアルを先に更新しているため、一部でずれが生じる場合があります。マニュアル通りのスクリプトが欲しい場合は

kodama.fubuki.info

 

How to install grib2ctl.pl and wgrib in linux

Dear All, Now we are going to see how to install wgrib and grib2ctl in our linux machine. step 1: First of we need to install GRADS From the above link we can get the source. In ubuntu $ sudo apt-g…

tuxcoder.wordpress.com

 

 문의사항

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

  • sangho.lee.1990@gmail.com

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

  • saimang0804@gmail.com