[Gnuplot] 그누플롯 MODTRAN 및 LBLRTM 복사 전달 모델을 이용한 투과율 가시화

 정보

  • 업무명    : 그누플롯 MODTRAN 및 LBLRTM 복사 전달 모델을 이용한 투과율 가시화

  • 작성자    : 이상호

  • 작성일    : 2020-04-14

  • 설   명    :

  • 수정이력 :

 

 내용

[개요]

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

  • 오늘 포스팅에서는 MODTRAN 및 LBLRTM 복사 전달 모델을 이용한 투과율 가시화를 소개해 드리고자 합니다.

 

[특징]

  • 복사 전달 모델을 이해하기 위해 가시화가 필요하며 이 프로그램은 이러한 목적을 달성하기 위해서 고안된 소프트웨어

 

[기능]

  • KLAPS 자료 전처리

  • MODTRAN 실행 스크립트

  • 그누플롯을 이용한 가시화

 

[활용 자료]

  • 없음

 

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

  • 없음

 

[사용법]

  • 소스 코드를 참조

  • 가시화 결과를 확인

 

[사용 OS]

  • Linux (CentOS v7.3)

 

[사용 언어]

  • Gnuplot

  • ShellScript (csh)

  • LBLRTM v12.7

  • MODTRAN v5.3.2

 

 소스 코드

[명세]

  • 중적외선 및 원적외선에 따른  MODTRAN 실행 스크립트

#!/bin/csh

rm -f TRANS

#foreach range (`seq 0 0.5 20`)

cat >! Run.tp5 << EOF
MM  0 1   0    0    0    0    0    0    0    0    1    1     -1  0.000   0.0000
TTT8  0   350.0000                      3F T F
01_2013
 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00                              !CARD 1A5
 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00               !CARD 1A6
  0   0  0   0 3    0    0    0             
1    0    0    TEST
           1013.0   296.0     0.0       0.0       6.424e-3  AADAD
0                             1.0
8.0       12.0      0.01      0.02      RM        M1    T   
0
EOF

#------- Radiance 
#0.285     2.8       0.2       0.02      RM        M1    T   

mod53


#echo $range > geo


#grep "AVERAGE TRANSMITTANCE" Run.tp6 > trans
#paste geo trans >> TRANS


#end

 

  • 중적외선 및 원적외선에 따른  LBLRTM 실행 스크립트

$     MIR, FIR Transmittance
 HI=1 F4=0 CN=0 AE=0 EM=1 SC=0 FI=0 PL=0 TS=0 AM=1 MG=0 LA=0 OD=0 XS=0   00   00
   2000.00   3333.00          
294.0           0.00       0.0       0.0      0.00       0.0       0.0    s
    0    1              0    3
0.0                           1.0
1    User Defined Atmospheric Profile    
0.0       1013.0    296.0          AA    DAD
5000.0    0.35      6.424
-1.
$ Transfer to ASCII plotting data
 HI=0 F4=0 CN=0 AE=0 EM=0 SC=0 FI=0 PL=1 TS=0 AM=0 MG=0 LA=0 MS=0 XS=0    0    0
# Plot title not used
 2000.0000 3333.0000    0.0200    0.2000    5    0   12    0     1.000 0  0    0
    0.0000    1.0000    0.0200    0.2000    4    0    1    0    0    0 0    3
-1.
%%%%%%

 

$     MIR, FIR Transmittance
 HI=1 F4=0 CN=0 AE=0 EM=1 SC=0 FI=0 PL=0 TS=0 AM=1 MG=0 LA=0 OD=0 XS=0   00   00
    830.00   1250.00          
294.0           0.00       0.0       0.0      0.00       0.0       0.0    s
    0    1              0    3
0.0                           1.0
1    User Defined Atmospheric Profile    
0.0       1013.0    296.0          AA    DAD
5000.0    0.35      6.424
-1.
$ Transfer to ASCII plotting data
 HI=0 F4=0 CN=0 AE=0 EM=0 SC=0 FI=0 PL=1 TS=0 AM=0 MG=0 LA=0 MS=0 XS=0    0    0
# Plot title not used
  830.0000 1250.0000    0.0200    0.2000    5    0   12    0     1.000 0  0    0
    0.0000    1.0000    0.0200    0.2000    4    0    1    0    0    0 0    3
-1.
%%%%%%

 

  • 그누플롯을 이용한 중적외선 및 원적외선 시계열 가시화

    • plot를 통해 각 컬럼별로 선 그래프

    • 또한 x축 및 y축은 각각 06-18시 및 0-700 Wm-2로 최대/최소값 설정

#!/bin/csh

set NUM1 = (1 3 5 7)
set NUM2 = (2 4 6 8)
set NUM3 = (2 3 4 5)
set Title = ( H_{2}O CO_{2} O_{3} All )
set Title2 = ( 5 350 300 '')
set Title3 = ( gm^{-^3} ppm DU '')

#foreach fn (`seq 2 1 4`)
foreach fn (`seq 1 1 1`)

gnuplot << EOF
set terminal post  enhanced color font "Time-Roman, 24" 
set size 1.2
set output "1.png"

set grid
set key left Left
set key reverse
set key spacing 1.20
set key font "Time-Roman, 20"
set key noopaque
set key at 3.75,0.2


set xlabel "Wavelength  [{/Symbol m}m]"
set title "${Title[$fn]} (${Title2[$fn]} ${Title3[$fn]})" 
set ylabel "Transmittance" 
plot [3:5] [0:1] "h2o_35.dat" u 2:4 t "LBL" w l lw 2.0 lc 4,\
                 "MIR_LBLRTM" u ${NUM1[$fn]}:${NUM2[$fn]} t "LBLRTM v12.7" w l lw 2.0 lc 2,\
      	         "MIR_MODTRAN" u ${NUM1[$fn]}:${NUM2[$fn]} t "MODTRAN v5.3.2" w l lw 2.0 lc 1
EOF
mogrify -rotate 90 -flatten  -background white 1.png
#display 1.png

#plot [3:5] [0:1] "h2o_35.dat" u 2:4 t "LBL" w l lw 2.0 lc 4,\
#plot [3:5] [0:1] "total_35.dat" u 1:${NUM3[$fn]} t "LBL" w l lw 2.0 lc 4,\

mv -f 1.png MIR_${fn}.png
end

 

#!/bin/csh

set NUM1 = (1 3 5 7)
set NUM2 = (2 4 6 8)
set NUM3 = (2 3 4 5)
set Title = ( H_{2}O CO_{2} O_{3} All )
set Title2 = ( 5 350 300 '')
set Title3 = ( gm^{-^3} ppm DU '')

foreach fn (`seq 1 1 4`)

gnuplot << EOF
set terminal post  enhanced color font "Time-Roman, 24" 
set size 1.2
set output "1.png"

set grid
set key left Left
set key reverse
set key spacing 1.20
set key font "Time-Roman, 20"
set key noopaque
set key at 10.5,0.2

set xlabel "Wavelength  [{/Symbol m}m]"
set title "${Title[$fn]} (${Title2[$fn]} ${Title3[$fn]})" 
set ylabel "Transmittance" 
plot [8:12] [0:1] "total_812.dat" u 1:${NUM3[$fn]} t "LBL" w l lw 2.0 lc 4,\
		  "FIR_LBLRTM" u ${NUM1[$fn]}:${NUM2[$fn]} t "LBLRTM v12.7" w l lw 2.0 lc 2,\
      	          "FIR_MODTRAN" u ${NUM1[$fn]}:${NUM2[$fn]} t "MODTRAN v5.3.2" w l lw 2.0 lc 1
EOF
mogrify -rotate 90 -flatten  -background white 1.png
#display 1.png

mv -f 1.png FIR_${fn}.png
end

 

  • [중적외선] 3종 기체 (수증기, 이산화탄소, 오존)

etc-image-0

 

  • [중적외선] 수증기

etc-image-1

 

  • [중적외선] 이산화탄소

etc-image-2

 

  • [중적외선] 오존

etc-image-3

 

  • [원적외선] 3종 기체 (수증기, 이산화탄소, 오존)

FIR_4.png

 

  • [원적외선] 수증기

etc-image-5

 

  • [원적외선] 이산화탄소

etc-image-6

 

  • [원적외선] 오존

etc-image-7

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

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

  • sangho.lee.1990@gmail.com

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

  • saimang0804@gmail.com