[Gnuplot] 그누플롯 MODTRAN 복사 전달 모델을 이용한 일사량 (전천, 직달, 산란) 계산 및 지상 관측소와의 시계열 가시화

 정보

  • 업무명    : 그누플롯 MODTRAN 복사 전달 모델을 이용한 일사량 계산 및 지상 관측소와의 시계열 가시화

  • 작성자    : 이상호

  • 작성일    : 2020-04-14

  • 설   명    :

  • 수정이력 :

 

 내용

[개요]

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

  • 오늘 포스팅에서는 MODTRAN 복사 전달 모델을 이용한 일사량 계산 및 지상 관측소와의 시계열 가시화를 소개해 드리고자 합니다.

 

[특징]

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

 

[기능]

  • KLAPS 자료 전처리

  • MODTRAN 실행 스크립트

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

 

[활용 자료]

  • 자료 : 전천, 직달, 산란 일사계

  • 기간 : 2016년 02월 02일 06-18시 

  • 해상도 : 매 1분

  • 제공처 : 강릉원주대 생명대학 2호관 옥상 (복사 관측소)

 

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

  • 없음

 

[사용법]

  • 소스 코드를 참조

  • 가시화 결과를 확인

 

[사용 OS]

  • Linux (CentOS v7.3)

 

[사용 언어]

  • Gnuplot

  • ShellScript (csh)

 

 소스 코드

[명세]

  • KLAPS 자료 전처리

    • 단층 (지상) 및 다층 (고층) KLAPS 자료를 이용하여 복사 전달 모델의 입력 자료 생성


      real, dimension(22) :: gh, t, rh, wd, p2, p
      real, dimension(66505,16) :: sfc
       
      data p/1100,1050,1000,950,900,850,800,750, &
             700, 650,600,550,500,450,400,350, &
             300,250,200,150,100,50/

        
      open(10,file='OUTPUT/20160202_0000.prs',status='old')
      open(11,file='OUTPUT/20160202_0000.sfc',status='old')
      open(21,file='20160202_0000.out')

      do i=1, 66505
        read(11,*) sfc(i,1:13)

        if(i==32362) then
           write(21,'(5f10.4)') sfc(i,1:2) 
           write(21, '(10x,3f10.4,20x,a)') 1013.25, sfc(i,4:5), 'AAH'
        endif

      enddo

      do i=1,22
         read(10,*) gh(i), p2(i), t(i), rh(i), wd(i)
         write(21, '(10x,3f10.4,20x,a)') p(i), t(i), rh(i),'AAH'
      enddo

      end

 

  • MODTRAN 실행 스크립트

MM  8    3    2    1    3    3    3    3    3    3    1    1    -1    294 0.11
TTT8  0   390.0000                      3F T F
01_2013
 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00                              !CARD 1A5
 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00               !CARD 1A6
  0   0   0  0 3    0    0    0                             
21   0    0    TEST
           1017.3600  274.7280   37.2800                    AAH
           1000.0000  278.0719   38.3153                    AAH
            950.0000  274.6216   38.3153                    AAH
            900.0000  271.0506   41.1161                    AAH
            850.0000  267.5207   44.3495                    AAH
            800.0000  265.1442   30.1252                    AAH
            750.0000  263.4588   14.5393                    AAH
            700.0000  260.5578   14.2476                    AAH
            650.0000  258.1466   10.6969                    AAH
            600.0000  255.3530    8.4196                    AAH
            550.0000  252.0240    7.2479                    AAH
            500.0000  247.8603    7.2811                    AAH
            450.0000  242.8685    8.1334                    AAH
            400.0000  237.2857    9.2712                    AAH
            350.0000  231.9102    8.7782                    AAH
            300.0000  229.0442    8.2131                    AAH
            250.0000  227.6324    9.6099                    AAH
            200.0000  226.5089    7.6431                    AAH
            150.0000  224.2443    5.1060                    AAH
            100.0000  220.5017    3.2894                    AAH
             50.0000  214.6169    4.2242                    AAH
0.       
2         33                                                                    ! CARD 3A1
          64.67047                                                              ! CARD 3A2
0.285     2.8       0.2       0.02      RM        M1    T   
0

 

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

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

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

gnuplot << EOF
set terminal post  enhanced color font "Time-Roman, 18" 
set output "1.png"
set grid
#set xdata time
#set timefmt "%H:%M"
#set format x "%H:%M"
set xlabel "hour  [Time]"
set title "Use  of  KLAPS  Atmospheric  Profiles  as  Input  for  MODTRAN" 
set ylabel "Global,  Direct,  Diffuse  Solar  Radiation  [Wm^{-2}]" 
plot [06:18] [0:700] "Mod_CMP21.dat" u 1:2 t "Direct (Model)" w l lw 2,\
      "Mod_CMP21.dat" u 1:3 t "Diffuse (Model)" w l lw 2 ,\
      "Mod_CMP21.dat" u 1:4 t "Global (Model)" w l  lw 2,\
      "Mod_CMP21.dat" u 1:5 t "Direct (CMP21)" w l  lw 2 ,\
      "Mod_CMP21.dat" u 1:6 t "Diffuse (CMP21)" w l  lw 2,\
      "Mod_CMP21.dat" u 1:7 t "Global (CMP21)" w l lw 2  
EOF
mogrify -rotate 90 -flatten  -background white 1.png
display 1.png

 

 

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

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

  • sangho.lee.1990@gmail.com

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

  • saimang0804@gmail.com