반응형

     정보

    • 업무명    : 그누플롯 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
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기