반응형

     정보

    • 업무명    : 그누플롯 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종 기체 (수증기, 이산화탄소, 오존)

     

    • [중적외선] 수증기

     

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

     

    • [중적외선] 오존

     

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

     

    • [원적외선] 수증기

     

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

     

    • [원적외선] 오존

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

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

    • sangho.lee.1990@gmail.com

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

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