반응형

     정보

    • 업무명    : 대기복사학Ⅱ 과제물
    • 작성자    : 이상호
    • 작성일    : 2019.09.14
    • 설   명     :
    • 수정이력 :
      • 2023.01.05 소스코드 및 입력 파일 업로드

     

     내용

    [특징]

    • 대기복사학Ⅱ 과제물에 대한 이해를 돕기위해 작성

     

    [기능]

    • 오존/혼합 기체/수증기/레일라이 산란/에어로졸에 대한 파장별 투과율 가시화
    • 청천 영역에 대한 단파 복사 모델 개발

     

    [활용 자료]

    • 인터넷 검색

     

    [과제물 작성 요령]

    • 과제물 작성 계획 세우기
      • 과제물 작성을 위하여 계획 및 준비, 글쓰기, 제출과 같이 3 단계로 구성
      • 1 단계는 우선 계획 및 준비로서 공고 확인, 제출 기간 확인, 과제물 문제를 파악
      • 2단계의 경우 글쓰기로서 자료 검색 수집 및 개요 작성 그리고 본문 쓰기 및 수정
      • 끝으로 제출 마감일뿐만 아니라 파일 용량 검사 및 온라인시스템 제출

     

    • 과제물 문제 파악 요령
      • 과제물 문제에서 교수님의 지시사항을 정확히 간파하여 작성
      • 특히 제출 파일의 양식/용량 및 스타일 형식 그리고 작성 분량에 유의

     

    • 나만의 글쓰기 전략
      • 앞서 작성 계획에서와 같이 단계별로 수행이 필연
      • 추가로 각 과제물마다 한글 또는 워드 양식에서 각자만의 스타일을 바탕으로 글의 내용 작성
      • 또한 각종 인터넷 검색 및 도서를 참조하여 내용을 제시할 뿐만 아니라 그에 따른 판단의 근거에 대한 명확한 인용 및 출처가 정확하게 표시

     

    • 학술 검색을 위한 유용한 방법
      • 인터넷은 1950대에 컴퓨터의 개발과 더불어 너무 많은 정보의 바다에서 살고 있기 때문에 자신에게 필요한 정보 발굴 능력 요구 
      • 인터넷 검색이 익숙하지 않을 경우 네이버 검색을 추천하고 익숙하면 구글 검색이 유용
      • 그러나 일반적으로 네이버 또는 구글로 검색할 경우 다수의 블로그에서 중복되는 정보를 확인할 수 있고 이러한 정보들은 대부분 복사 붙여넣기로 인해 남용되고 있는 실정
      • 따라서 이 보다는 전 세계 검색엔진 2위를 차지한 Yahoo! JAPAN (https://www.yahoo.co.jp)에서 검색하여 구글 번역할 경우 원하는 정보를 쉽게 얻음
      • 연구 보고서 또는 SCI/SCIE 논문을 보기 위해서 대학교에서 저널을 구독하는 것이 일반적이나 모든 저널을 구독하기에는 상당한 경제적 부담이 되기 때문에 SCI-HUB (https://sci-hub.tw/)을통해 보는 것을 추천 

     

    [사용법]

    • 과제물 서식을 바탕으로 작성

     

    [사용 OS]

    • Windows 10

     

    [사용 언어]

    • Fortran 90
    • 파워포인트 2018

     

     과제물

    [태양 정보] 적위, 시간 길이, 일출 시간

    • 3종 적위 알고리즘 (E1: Spencer, E2: Perrin de Brichambaut, E3: Cooper)

     

    • 시간 길이

     

    • 일출 시간

     

    [태양광 스펙트럼] 파장별 복사조도

    • WRC, NASA 데이터를 이용한 파장별 복사조도

     

    • WRC, NASA 데이터를 이용한 파장별 복사조도 차이

     

    [오존/혼합 기체/수증기/레일라이 산란/에어로졸] 파장별 투과율

    • 오존

     

    • 혼합기체

     

    • 수증기

     

    • 레일라이 산란

     

    • 에어로졸

     

    [청천 영역] 수평면/법선면 일사량

    • 법선면 직달/산란/전천 일사량

     

    • 수평면 직달/산란/전천 일사량

     

    [소스 코드]

          integer :: i,jd,j,c
          real :: dn,le,rad1,rad2,rad3,rad4,ws,x,y,z1,z2,wsr,wss,lon,lon1
          real :: ws2,min2,sec2,min3,sec3,nd,za,rad5,rad6,rad7,yy,SS,EEo
          real :: sum1,xm,ym,dx,dy,p,differ,Isc,ram,sum2,f,k,sum3,rad8,rad9,rad10
          real :: rad11,rad12,rad13,rad14,lat2
          real :: m1,m2,m3,w3,m4,m5,BB,AA,wa,wb,vis
          real,dimension(12) :: ed
          real,dimension(31,12) :: Eo1,Eo2,S1,S2,S3,Et,min1,sec
          real,dimension(168,4) :: wrc
          real,dimension(714,2) :: nasa
          real,dimension(15,4) :: io
          real,dimension(12,19) :: aho
          real,dimension(4) :: b
          real,dimension(15) :: w
          real,dimension(64) :: ram1,k1,t1
          real,dimension(38) :: ram2,k2,t2
          real,dimension(72) :: ram3,k3,t3
          real,dimension(22) :: ram4,k4,t4
          real,dimension(168) :: Inn,Idm,Ida,Idr,In1,Pa,Q,Id,global,wa1,wa2,wa3,wa4,wa5,wa6
          
          data ed/31,28,31,30,31,30,31,31,30,31,30,31/
          data w/105,90,75,60,45,30,15,0,-15,-30,-45,-60,-75,-90,105/
          data b/80,173,264,356/
    
          real,parameter :: is=4921. , iisc=1367. , rad=3.141592/180.
          real,parameter :: rs=6.9598*(10.**5.) , bc=5.6697*(10.**-8.)
          real,parameter :: c1=3.7427*(10.**8.) , c2=1.4388*(10.**4.) , ro=149597890.
          real,parameter :: lat=10. , ls=135. , la=128.54 , lo=36.45 
          real,parameter :: lo1=-37.49 ! lo2=01.18
    
          y1(x)=c1/((x**5.)*(exp(c2/(x*5777.))-1.))
          y2(x)=c1/((x**5.)*(exp(c2/(x))-1.))
    
          open(1,file='WRC.txt')
          open(2,file='NASA.txt')
          open(3,file='O.txt')
          open(4,file='MG.txt')
          open(5,file='WV.txt')
          open(6,file='RL.txt')
          open(10,file='10.txt')
    
          jd=0
          le=int(la)+((la-int(la))/60.)*100.
          lon=int(lo)+((lo-int(lo))/60.)*100.
          lon1=int(lo1)+((lo1-int(lo1))/60.)*100.
          
          do i=1,12
          do j=1,ed(i)
       
          jd=jd+1
          dn=real(jd) 
          day=((2.*3.141592)*(dn-1.))/365. 
     
          Eo1(j,i)=1.000110+(0.034221*cos(day))+(0.001280*sin(day)) &       ! Eccentricity Correction Factor 
         &        +(0.000719*cos(2.*day))+(0.000077*sin(2.*day)) 
          Eo2(j,i)=1.+(0.033*cos((2.*3.141592*dn)/365.))                    ! Duffie and Beckman
    
          S1(j,i)=(0.006918-(0.399912*cos(day))+(0.070257*sin(day)) &       ! Spencer
         &          -(0.006758*cos(2.*day))+(0.000907*sin(2.*day)) &
         &          -(0.002697*cos(3.*day))+(0.00148*sin(3.*day))) &
         &          *(180./3.141592)
          S2(j,i)=asin(0.4*sin((360./365.)*(dn-82.)*(3.141592/180.))) &     ! Perrin de Brichambaut
         &         *(180./3.141592)
          S3(j,i)=23.45*(sin((360./365.)*(dn+284.)*(3.141592/180.)))        ! Cooper
         
          Et(j,i)=(0.000075+(0.001868*cos(day))-(0.032077*sin(day)) &       ! Equation of Time
         &         -(0.014615*cos(2.*day))-(0.04089*sin(2.*day)))* &
         &         ((24.*60.)/(2.*3.141592))
          min1(j,i)=4.*(ls-le)+Et(j,i)                                      ! Local Apparent Time
          sec(j,i)=((min1(j,i))-int(min1(j,i)))*60.                        
    
          rad5=rad*15.
          rad6=rad*S1(j,i)
          rad7=rad*lon
          za=acos((sin(rad6)*sin(rad7))+(cos(rad5)*cos(rad6)*cos(rad7)))*(1./rad)
          ws2=acos(-tan(rad7)*tan(rad6))*(1./rad)
    
          sr=12.-(ws2/15.)                                                  ! The Sunrise
          min2=(sr-int(sr))*60.
          sec2=(min2-int(min2))*60.
     
          nd=2.*(ws2/15.)                                                   ! The Day Length
          min3=(nd-int(nd))*60.
          sec3=(min3-int(min3))*60.
    
    !      write(*,*) jd,S1(j,i),za,ws2,sr,nd
          enddo
          enddo
          
          do j=0,90,5
          be=real(j)
    
          do i=0,360,10
          ga=real(i)
          ga=i-180.
          if(i.le.180.) ga=i-180.
        
          rad1=le*rad
          rad2=be*rad
          rad3=ga*rad
          rad4=S1(16,11)*rad  ! jd=320. S1(16,11)=-18.5599
    
          ws=acos(-tan(rad4)*tan(rad1))*(1./rad)
          x=(cos(rad1)/(sin(rad3)*tan(rad2)))+(sin(rad1)/tan(rad3))
          y=tan(rad4)*((sin(rad1)/(sin(rad3)*tan(rad2)))-(cos(rad1)/tan(rad3)))
          z1=acos(((x*-y)-sqrt((x**2.)-(y**2.)+1.))/((x**2.)+1.))*(1./rad)
          z2=acos(((x*-y)+sqrt((x**2.)-(y**2.)+1.))/((x**2.)+1.))*(1./rad)
          wsr=min(ws,z1)                                                    ! Wss,Wsr
          wss=-min(ws,z2)                                                   ! The Sunset Hour Angle
    !      write(*,'5f10.4') S1(16,11),be,ga,wsr,wss
          enddo
          enddo
     
          sum1=2.51
          do i=1,168
          dx=wrc(i+1,1)-wrc(i,1)
          dy=wrc(i+1,2)+wrc(i,2)
          xm=dx/2.
          ym=dy/2.
          p=(sum1/1371.202)*100.
          differ=((wrc(i,4)-p)/p)*100.                                      ! WRC-Book
    !      write(*,*) wrc(i,1),wrc(i,3),wrc(i,4),sum1,p
    !      write(*,*) wrc(i,1)*5777.,wrc(i,4)*(10.**-2.)
          sum1=sum1+((xm*ym)*2.)
          enddo
    
          sum3=0.
          do i=1,714
          dx=nasa(i+1,1)-nasa(i,1)
          yy=nasa(i,2)/dx
          sum3=sum3+nasa(i,2)
    !      write(*,*) nasa(i,1),yy,sum3
          enddo
    
          do k=0.01,2.0,0.01
          ram=real(k)
          isc=y1(ram)*((rs/ro)**2.)                                         ! Figure 3.5.1
    !      write(*,*) ram,isc                                                 Figure 3.5.2
          enddo
    
          sum2=0.
          do k=200.,100000.,200.
          sum2=sum2+(200.*y2(k))
          f=sum2/bc
    !      write(*,*) k,f                                                   ! Figure 2.3.2
          enddo
    
          do i=1,4
          do j=1,15
          dn=b(i)
          day=((2.*3.141592)*(dn-1.))/365. 
          EEo=1.000110+(0.034221*cos(day))+(0.001280*sin(day)) & 
         &        +(0.000719*cos(2.*day))+(0.000077*sin(2.*day)) 
          SS=(0.006918-(0.399912*cos(day))+(0.070257*sin(day)) & 
         &          -(0.006758*cos(2.*day))+(0.000907*sin(2.*day)) &
         &          -(0.002697*cos(3.*day))+(0.00148*sin(3.*day))) &
         &          *(180./3.141592)
          rad8=rad*w(j)
          rad9=rad*SS
          rad10=rad*lon1
          io(j,i)=is*(EEo*((sin(rad9)*sin(rad10))+(0.9972*(cos(rad9)*cos(rad10)*cos(rad8)))))  
          enddo                                                         
          enddo
    
          do i=1,15
    !      write(*,*) i+4,(io(i,j),j=1,4)                                   ! Figure 4.2.2
          enddo                                                             ! MELBOURNE , NAIROBI
    
          c=0
          do i=0,90,5
          c=c+1
          lat2=-real(i) 
          if(i==-90.) lat2=-89.9999
          jd=0
    
          do j=1,12
          sum=0.
          do k=1,ed(j)
       
          jd=jd+1
          dn=real(jd) 
          day=((2.*3.141592)*(dn-1.))/365. 
     
          EEo=1.000110+(0.034221*cos(day))+(0.001280*sin(day)) & 
         &        +(0.000719*cos(2.*day))+(0.000077*sin(2.*day)) 
         
    
          SS=(0.006918-(0.399912*cos(day))+(0.070257*sin(day)) & 
         &          -(0.006758*cos(2.*day))+(0.000907*sin(2.*day)) &
         &          -(0.002697*cos(3.*day))+(0.00148*sin(3.*day))) &
         &          *(180./3.141592)
     
          rad11=rad*SS
          rad12=rad*lat2
          ws=acos(-tan(rad12)*tan(rad11))*(1./rad)
          rad13=rad*ws
          rad14=-tan(rad12)*tan(rad11)
    
          ho=(24./3.141592)*is*EEo*cos(rad12)*cos(rad11)*(sin(rad13)-(rad13*cos(rad13)))
          if(i==0) ho=(24./3.141592)*is*EEo*cos(rad11)
          if(abs(rad14)>=1.) ho=(24./3.141592)*is*EEo*sin(rad12)*sin(rad11)*3.141592
          sum=sum+ho
          enddo
          aho(j,c)=(sum/ed(j))*(10.**-3.)                                   ! Figure 4.2.3 , Figure 4.2.4
          if(aho(j,c)<=0) aho(j,c)=0.                                       ! Table 4.2.2 , Table 4.2.2
          enddo
          enddo
    
          do i=1,168
          read(1,*) (wrc(i,j),j=1,4)                                        ! Figure 3.3.1
          enddo
     
          do i=1,714
          read(2,*) (nasa(i,j),j=1,2)                                       ! Figure 3.3.1
          enddo    
    
          m1=0.35
          do i=1,64
          read(3,*) ram1(i),k1(i) 
          t1(i)=exp(-k1(i)*m1)                                              ! Figure 6.12.1
          enddo
    
          m2=2.
          do i=1,38
          read(4,*) ram2(i),k2(i)
          t2(i)=exp(((-1.41*k2(i)*m2)/((1.+(118.93*k2(i)*m2))**0.45)))      ! Figure 6.13.1
          enddo
    
          m3=2.
          w3=1.
          do i=1,72
          read(5,*) ram3(i),k3(i)                                           ! Figure 6.13.2
          t3(i)=exp(((-0.2385*k3(i)*w3*m3)/((1.+20.07+(k3(i)*w3*m3))**0.45)))
          enddo
    
          m4=1.
          do i=1,22
          read(6,*) ram4(i),k4(i)
          t4(i)=exp(-0.008735*(ram4(i)**-4.08)*m4)                          ! Figure 6.4.1
          enddo
    
          m5=2.
          BB=0.1
          AA=1.3
          do i=1,168
          wa5(i)=exp(-BB*(wrc(i,1)**-AA)*m5)                                ! Figure 6.6.2
          enddo
    
          do i=5,500
          vis=real(i)
          wa6(i)=(0.55**AA)*(3.912/vis-0.01162)*((0.02472*(vis-5.))+1.132)  ! Figure 6.6.1
    !      write(10,*) vis,wa6(i)
          enddo
    
          do i=1,168
          wa=1.
          do j=1,64
          if(wrc(i,1)==ram1(j)) wa=wa*t1(j)
          enddo
          wa1(i)=wa
          enddo
    
          do i=1,168
          wa=1.
          do j=1,38
          if(wrc(i,1)==ram2(j)) wa=wa*t2(j)
          enddo
          wa2(i)=wa
          enddo
    
          do i=1,168
          wa=1.
          do j=1,72
          if(wrc(i,1)==ram3(j)) wa=wa*t3(j)
          enddo
          wa3(i)=wa
          enddo
    
          do i=1,168
          wa=1.
          do j=1,22
          if(wrc(i,1)==ram1(j)) wa=wa*t4(j)
          enddo
          wa4(i)=wa
          enddo
          
          do i=1,168
          wa=wa1(i)*wa2(i)*wa3(i)*wa4(i)*wa5(i)
          wb=wa1(i)*wa2(i)*wa3(i)
          Inn(i)=wa*wrc(i,2)
    !      write(10,*) wrc(i,1),Inn(i)                                      ! Figure 6.14.3
          In1(i)=Inn(i)*cos(0.*rad)
          Idr(i)=wrc(i,2)*cos(0.*rad)*wb*(0.5*(1.-wa4(i))*wa5(i))
          Ida(i)=wrc(i,2)*cos(0.*rad)*wb*(0.92*1.*(1.-wa5(i))*wa4(i))
          Pa(i)=wb*((0.5*(1.-wa4(i))*wa5(i))+((1.+0.92)*1.*(1.-wa5(i))*wa4(i)))
          Q(i)=(Idr(i)+Ida(i))+In1(i)
          Idm(i)=Q(i)*0.2*Pa(i)*(1./(1.-(0.2*Pa(i))))
          Id(i)=Idr(i)+Ida(i)+Idm(i)
          global(i)=In1(i)+Id(i)
    !      write(10,*) wrc(i,1),In1(i),Id(i),global(i)                      ! Figure 6.21.4
          enddo
    
          end

     

     관련 자료

    • 대기복사학 제출본

     

    • 소스 코드 및 입력 파일
     

    20230105_[대기환경과학과] 2014년 2학기 전선 대기복사학Ⅱ - Google Drive

    이 폴더에 파일이 없습니다.이 폴더에 파일을 추가하려면 로그인하세요.

    drive.google.com

     

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

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

    • sangho.lee.1990@gmail.com

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

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