728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

출처: 식품의약품 안전평가원, “자외선 차단제 바로알고 올바르게 사용하세요"리플렛

728x90
반응형
728x90
반응형

1. 온도와 열을 구분하여 설명하시오.

온도는 어떤 것이 얼마나 뜨겁고 차가운지를 우리에게 알려주는 양이다. 반면에 열은 그들 사이의 온도 차이로 인해 한 물체에서 다른 물체로 전달되는 과정에서 발생하는 에너지이다.

 

2. 공기 분기의 평균 속도는 기온과 어떻게 관련 있는가? 
공기나 다른 물질의 온도는 원자와 분자의 평균 속도를 측정하는 것으로, 더 높은 온도는 더 빠른 평균 속도에 해당한다.

 

3. 지구 대기 중에서 열은 (a) 전도, (b) 대류, (c) 복사에 의해서 어떻게 전달되는가?
  (a) 전도: 물질 내에서 분자에서 분자로 열이 전달되는 것.

  (b) 대류: 액체 및 기체에서의 질량 이동에 의한 열 전달.

  (c) 복사: 한 물체에서 다른 물체로의 열 전달은 그들 사이의 공간이 반드시 가열될 필요가 없다.

 

4. 잠열이란 무엇인가?  어떻게 잠열이 중요한 대기 에너지 원천인가? 
   물과 같은 물질을 한 상태에서 다른 상태로 바꾸는 데 필요한 열에너지를 잠열이라고 한다.  수증기가 구름으로 응축될 때, 잠열은 대기 중으로 방출된다.  이것은 뇌우나 허리케인과 같은 폭풍우에서 엄청난 양의 열을 제공한다.

 

5. 켈빈 온도 와 섭씨 온도의 차이는?
   켈빈 눈금의 각도는 섭씨 1도와 정확히 같은 크기이며, 0 K의 온도는 -273°C와 같다. 섭씨 273도를 더하면 °C에서 K로 변환할 수 있다.

 

 

7.물체의 온도는 그 물체가 방출하는 복사량에 어떻게 영향을 미치는가? 
  물체의 온도는 물체가 방출하는 방사선의 파장에 직접적인 영향을 미치며, 물체의 온도가 높을수록 방출되는 방사선의 파장은 짧아진다. 마찬가지로, 물체의 온도가 증가함에 따라, 방사선의 피크 방출은 더 짧은 파장으로 이동한다. 이러한 온도와 파장의 관계는 독일의 물리학자 빌헬름 빈 (1864–1928)의 이름을 따서 빈의 법칙* (또는 빈의 변위 법칙)이라고 불린다. 또한 온도가 높은 물체는 온도가 낮은 물체보다 높은 속도 또는 강도로 방사선을 방출한다. 따라서, 물체의 온도가 증가함에 따라 매초 더 많은 총 방사선이 방출된다. 이 온도와 방출된 방사선 사이의 관계는 요제프 스테판 (1835–1893)과 루트비히 볼츠만 (1844–1906)의 이름을 따서 스테판-볼츠만 법칙*으로 알려져 있다.

 

728x90
반응형
728x90
반응형

리뷰 Q&A


1. 태양으로부터의 복사 에너지.

2. 지구의 첫 대기(약 46억 년 전)는 수소와 헬륨, 그리고 메탄과 암모니아와 같은 수소 화합물일 가능성이 높다. 두 번째, 더 밀도가 높은 대기는 뜨거운 내부 안에 있는 녹은 암석의 가스가 화산과 증기 분출구를 통해 빠져나가면서 점차 지구를 감싸고 있었다. 우리는 화산이 오늘날과 같은 가스를 내뿜었다고 가정한다: 대부분 수증기 (약 80 퍼센트), 이산화탄소 (약 10 퍼센트), 그리고 몇 퍼센트까지 질소를 내뿜는다. 수백만 년이 흐르면서 뜨거운 내부(배기 가스)에서 끊임없이 분출되는 가스는 구름으로 형성된 수증기를 풍부하게 공급했다. 비는 수천 년 동안 지구에 내렸다. 많은 양의 이산화탄소가 바다에 용해되었다. 대기는 점차 질소(N2)가 풍부해졌다. 오늘날 대기에서 두 번째로 풍부한 가스인 산소(O2)는 태양에서 나오는 에너지 넘치는 광선이 수증기(H2O)를 수소와 산소로 분해하는 과정에서 극도로 느린 농도의 증가를 시작했을 것이다. 수소는 더 가벼웠을 것이고, 산소가 대기에 남아 있는 동안 우주로 올라갔을 것이다. 식물이 진화한 후, 대기 중 산소 함량은 더 빠르게 증가하여, 아마도 약 수억 년 전에 현재의 구성에 도달했을 것이다. 오늘날의 대기는 대부분 78%를 차지하는 질소 분자와 건조 공기의 21%를 차지하는 산소 분자로 이루어져 있으며, 아르곤, 네온, 헬륨, 수소, 크세논은 나머지 1%를 차지한다. 만약 후자의 가스가 제거된다면, 질소와 산소의 비율은 약 80 km (또는 50 mi)의 고도까지 상당히 일정하게 유지된다.

3. 질소, 산소, 아르곤, 수증기

4. 수증기.

5. 오존과 산소는 태양의 해로운 자외선을 걸러내고, 온실가스는 지구를 따뜻하게 유지하며, 대기는 마실 물과 숨을 쉴 산소를 제공한다.

6. 물은 강수량을 형성하고, 잠열을 방출하며, 온실 가스이다. 수증기는 지구의 열-에너지 균형에 매우 중요하다.

7. 이산화탄소는 식생 붕괴, 화산 폭발, 동물 생명의 호기, 그리고 화석 연료의 연소와 삼림 벌채를 통해 대기로 들어간다. 이산화탄소는 광합성, 화학적 풍화, 식물성 플랑크톤의 도움으로 지구 해양으로의 퇴적작용을 통해 제거된다. 화석 연료의 연소와 삼림 벌채로 인해 대기 중 이산화탄소의 양은 지난 100년 이상 동안 증가했다.

8. 흙, 먼지, 바닷물파도의 소금, 산불 연기, 화산재 입자와 가스, 오염물질.

9. 수증기와 이산화탄소.

 

 

 

 




학생 프로젝트


1. 학생들에게 일일 일기도와 일기 예보를 포함하여 1주일간 블로그나 일기를 쓰게 합니다. 학생들이 실제 날씨와 예측 날씨의 일치에 대해 각 요일에 대한 해설을 하도록 합니다.

2. 학생들에게 매일 날씨 관측, 특히 날씨의 중요한 변화를 기록하게 합니다. 학생들은 이 데이터를 표시하고 관측치를 사용하여 그래프에 주석을 달고, 수업에서 배운 개념을 테스트해 볼 수 있습니다. 학생들은 폭풍우가 몰아치는 날씨가 평균보다 낮은 표면 압력과 실제로 관련이 있는지 여부를 확인하려고 할 수 있습니다.

 

 

 

 

728x90
반응형
728x90
반응형

수리물리학 Boas

본 수업은 수리대기과학 전자 판서 내용을 그대로 upload 한 것입니다. 강의를 듣지 않고  판서 내용만으로 충분히 이해하고 학습하기에는 부족할 수 있습니다. 

전반부에 설명된 유체역학으로서의 대기과학을 이해하고 넘어가야 Boas 수리물리학의 각 장이 어떻게 대기과학(역학방정식)에 적용/응용되는지 이해할 수 있습니다. 

 

목차

유체역학 대기과학 

차원 

단위 (국제 단위 SI)

물리량의 유효숫자

질점운동

유체운동 (오일러리안, 라그랑지안 운동표현)

유체의 가속도

 

벡터 연산 (판서 일부 누락)

발산

회전

라플라시안

 

 

 

 

 

728x90
반응형
728x90
반응형

플럭스 (flux)

주어진 방향에서의 어떤 물리량의 플럭스는 그 방향에 수직인 단위면적 을 통해서 단위시간당 지나가는 물리량으로 정의.단위는 J s-1 m-2 또는 W m-2.
 

지표면 에너지 수지

ideally horizontally homogeneous 한 이상적인 지표면에서만 적용되는 에너지 평형 이론으로서 아래와 같이 표현된다.

 

 

또는

 좌변은 순복사 플럭스, 우변 첫째항 부터 현열, 잠열, 지중열 플럭스

실제 지표면

수평적으로 heterogeneous하고, 기울기도 가질 수 있다. 따라서,  실제상황에서는 접촉영역의 어떤 층(interfacial layer) 에서의 에너지 수지를 고려하는 것이 타당.
}이 층은 유한한 질량과 열용량을 가지고 에너지를 저장하거나 방출한다고 가정하고, 이 에너지의 변화를 에너지 수지로 생각한다. 이 경우 아래와 같이 1차원 에너지 수지 방정식으로 표현할 수 있다.
 
 
여기서∆H〗_s 은 층 내에서 단위 면적당 단위 시간당 에너지 저장량의 변화이고, ideal surface 에서의 수지 방정식과의 주된 차이다. 
∆H_s층 내에서 단위면적당 단위시간당 에너지 저장량의 변화
 
 
if ∆H_s  > 0 ,"플럭스 수렴,  층 가열"
if ∆H_s  < 0 , 플럭스 발산, 층 냉각
 

 

어떤 매체의 열용량이 z에 독립이면, 이 식은 에너지 저장률과 층의 가열률 (또는 냉각률) 사이의 관계식.
∆H_s 는 층으로 들어오는 에너지와 나가는 에너지의 차이로 설명할 수 도 있다.

보웬비 (Bowen ratio) 

위 지표면 에너지 수지 식에서 잠열에 대한 현열의 비를 보웬비로 정의하고, 아래와 같이 전개할 수 있다. 

각 지표면 특성에 따른 에너지 수지 

1. 광활한 수면 (큰 호수, 바다와 해양)

작은 보웬비 (B<<1)를 나타내므로 에너지 수지 식은 아래와 같이 근사된다.

물표면 온도의 일변화는 아래와 같은 이유로 작기 때문이다. 
  •     큰 열용량
  •     해양 밑 수면 밑의 두꺼운 혼합층
  •     수십 미터의 두께를 투과하는 태양 복사

따라서, 고온의 해양에서는 보웬비는 0에 가깝고, 저온의 설빙면에서는 보웬비가 상당히 크다. 

 

2. 건조한 나지

건조한 지표면이므로, Rn = H + HG 로 근사된다.

3. 습윤한 지표면

알베도 감소, 순복사 증가,  잠열 플럭스가 우세하고, 현열 플럭스는 감소하여 아래와 같은 근사를 보인다.

        RN ~ HL

오아시스효과 (Oasis effect):
습윤한 지표면 위로 건조한 공기가 이류하면서, 강한 증발이 습한 표면으로 부터 일어나고, 결국 잠열의 이동이 지면을 냉각시킨다. 따라서 잠열은 강한 ( + ) 플럭스, 현열은 약한 ( – ) 플럭스. 강수나 관개가 중단되고 토양이 마르면, 증발률(E) LE는 감소, 반면 현열 플럭스는 증가하게 되어, 보웬비는 증가한다.
 

4. 식생 캐노피

식생 캐노피 내에서 에너지 플럭스는 국지적인 공간에 따라 변함.

HS = 물리적인 에너지() 저장률  + 광합성에 따른 생화학적 열 저장률

HL  =  증발+증산(transpiration) 증발산(evapotranspiration)

 

식생의 성장을 고려하면, 에너지 평형은 복잡해 지는 이유

  1. Q*, H, LE모두가 canopy 내에서 변동하기 때문에 ∆HS 를  고려해 한다. 이 경우 Q, H, LE은 캐노피 top에서 측정된다.
  2. 에너지 저장율이 물리적 열 저장률과 생화학적 열 저장율로 나뉘기 때문이다. 생화학적 열 저장률은 수 시간 ~ 수일 의 시간 규모에서는 무시할 수 있다.
  3. 현열 플럭스는 증발 응결 뿐만 아니라 식물의 증산 작용에 의해서 많은 양이 발생한다. 증발과 증산의 결합을 evapotranspiration 이라고 하고, 캐노피 top에서 일정한 수증기 플럭스를 생성한다.

전나무 캐노피에서 관측된 에너지 수지의 .

HS 나무의 열용량과 캐노피 기온 측정으로 추정한다. 주간에는 HS 작지만, 야간에는 Q* 거의 동일한 크기. 동안 Q* 거의 같은 양의 H LE 나눠진다

5. 도시 캐노피

도시 캐노피는 건물, 거리, 나무 그리고 공원 등을 포함하는 다양한 거칠기 요소들이 포함됨.

또는

Qf: 도시에서 사용된 연료소비와 관련된 열 플럭스, 즉  인공열 플럭스 (Anthropogenic heat flux )

 

도시 폐열에 의한 기온 증가 및 거칠기 요소들에 의한 난류 발달로 인한 현열 플럭스의 증가.

불침투성 지표면에 의해 증발할 수 있는 지표수의 양 감소되어 잠열 플럭스가 감소됨.

따라서 큰 보웬비를 나타냄

 

관측 결과에 따르면, 도시와 교외지역의 Q*는 큰 차이가 나지 않는다. 그러나 Qf 가 추가되서면 더 큰 총 에너지 플럭스를 만들게 된다. 식에서 Qf를 직접 측정하는 것은 불가능하다왜냐하면 도시 캐노피 내에는 에너지 흡수요소와 지표면이 복잡하게 산재해 있기 때문이다일반적으로 Qf는 에너지 평형 방정식으로 부터 잔여항 residual로 결정(top-down 방식)하거나, 1인당 에너지 사용량과 인구밀도 자료를 바탕으로 추정한다 (bottom-up 방식).
주로 도시 내 상업 지구가 주요 인공열원이므로교외 주거 지역에서는 무시할 수 있다.도시는 주간에 알베도는 낮고 건물들로 인한 태양광흡수도는 높다따라서 기온이 증가고 canopy에 의해 난류가 강화됨으로, 사용가능한 에너지(폐열)의 많은 부분이 현열로 대기 중으로 들어간다또한 지표면이 불침투성이 크므로증발할 수 있는 수분량이 적어, LE가 상대적으로 작아 Bowen ratio는 크다.
도시의 에너지 수지에서 상대적으로 중요한 것은 Qf/Q* 비율인데,  LA에서 연평균 값은 ~0.2 , 모스크바에서는 ~3.0 이고, 보통 ~0.35 이다. 
728x90
반응형
728x90
반응형

순환구조의 종류

1. DO (횟수 제어 순환구조)

    (구조명 : ) do [var = 초기값, 끝값, (증분)]

                          실행문

                      end do

do 이후 [ ] 내용이 없는 구조도 가능

 

2. DO WHILE (조건적 순환구조)

    (구조명 : )  do while (조건)

                           실행문

                      end do 

 

 

 

(예제)

f(x) = x^3 + 4x^2 - 10 = 0 근을 bisection method (이분법) 로 계산하는 프로그램
이분법 계산과정


1) 입력한 양 끝단점  a,b의 함수 f(a), f(b)의 부호가 같으면 a,b 사이에 근이 없다. 
2) f(a), f(b)의 부호가 다르면 a, b, 사이에 근이 존재
3) 근이 있는 경우, 중앙점 p를 계산하고 함수 f(p)를 계산한다. 
4) f(a)와f(p)의 부호가 같으면, 근은 p와 b사이에 존재하므로 p를 a라 놓고 다시 계산
5) f(a)와f(p)의 부호가 다르면, 근은 p와 a사이에 존재하므로 p를 b라 놓고 다시 계산
6) 근이 있는 점들의 간격이 허용치보다 작으면 계산은 종료
7) 반복횟구가 허용치를 넘어도 계산 종료
8) 함수 f(p)가 0에 가까우면 p가 근이 되므로 계산 종료. 

    
    program mainprocedure
    implicit none
    integer :: i, maxit    ! 4바이트 정수형 선언
    real(kind=16) :: a, b, x, p, fa, fb, fp, tol, f    ! 16바이트 실수형 선언

    f(x) = ( x + 4 ) * x * x - 10       !   문함수로서 프로시저 내에서의 한줄 함수식을 표현
10  print *, ' type a and b : '
    read *, a, b
!! 이하 이분법 계산과정    
    if ( a > b ) then 
        x = a
        a = b
        b = x
    end if
    fa = f(a)
    fb = f(b)
    if ( fa * fb > 0.0 ) then 
        print *, 'f(a) and f(b) have same signs ! ' 
        goto 10
    else
        print *, ' Input tolerance '
        read *, tol
        print *, ' Input maximum number of iterations ' 
        read *, maxit
    end if


loop : do i = 1, maxit         ! 구조명 loop 인 순환구조 시작. 다중 구조의 경우, 구조명으로 분리하는게 편리
        p = a + ( b - a ) /2 
        fp = f(p)

outer : if(abs(fp) <= 1.0e-20 .or. (b-a)/2 < tol) then  ! 구조명 outer 인 순환구조 시작
            print *, ' Final results ' 
            print *, 'p, i, tol ', p, i, tol
            exit loop                ! 순환구조를 완전히 벗어나는 분기 명령어
        else
            print *, 'p, i, tol ', p, i, tol    
inner :     if (fa*fp > 0) then        ! 구조명 inner 인 순환구조 시작
                a = p         
                fa = fp    
            else        
                b = p         
                fb = p    
            end if inner        
        end if outer
end do loop    
pause
end program mainprocedure
728x90
반응형
728x90
반응형

Select Case 문 

program mainprocedure
    implicit none
    intrinsic modulo           
    ! modulo(a,b)는 a를 b로 나눌때 나머지를 계산하는 내장함수. 값이 0이면 a는 b의 배수임.
    integer :: year, month, days
    
10  print *, ' type year and month ? '    
    ! print * 은 표준 출력장치(화면)을 사용할 경우. write(*,*)와 같은 의미
    if (year <= 0)   
    
    select case (month)
        case (4,6,9,11)
        days = 30
    case (2)
        if (modulo(year, 4) == 4) then 
            days = 29
        else 
            days = 28
        end if
    case default
        days = 31 
    end select
    
    print *, " The number of dasy in month : ", month, ' is ', days
    goto 10
end program mainprocedure

728x90
반응형
728x90
반응형

선택구조를 사용한 프로그램의 사용 예

  1. 간단한 IF 문 사용
  2. 블록 IF 문 사용

 

1. 간단한 IF문 사용

 

program mainprocedure
    implicit none
    integer :: month, days
10  print *, ' Tyep a month ?'   
    read *, month    ! 표준 입력장치(키보드)를 통해서 입력 받을 경우
    
    if(month ==1) days=31
    if(month ==2) days=29
    if(month ==3) days=31
    if(month ==4) days=30
    if(month ==5) days=31
    if(month ==6) days=30
    if(month ==7) days=31
    if(month ==8) days=31
    if(month ==9) days=30
    if(month ==10) days=31
    if(month ==11) days=30
    if(month ==12) days=31
    
    if (month < 1 .or. month > 12) stop    ! 해당하는 달이 존재하지 않으면 무조건 종료한다.
    print *, ' Month:days ', month, days
    goto 10   !! 결과 출력 후 무조건 goto 문에 의해 다음 자료를 입력받기 위해 문번호 10으로 분기한다. 
    
end program mainprocedure

 

 

 

2. 블록 IF문 사용  

앞의 코드를 아래와 같이 수정할 수 있다.

program mainprocedure
    implicit none
    integer :: month, days
10  print *, ' Tyep a month ?'
    read *, month
    
    if(month ==1) then ; days=31
    else if(month ==2) then ;  days=29
    else if(month ==3) then ; days=31
    else if(month ==4) then ;  days=30
    else if(month ==5) then ;  days=31
    else if(month ==6) then ;  days=30
    else if(month ==7) then ;  days=31
    else if(month ==8) then ;  days=31
    else if(month ==9) then ;  days=30
    else if(month ==10) then ;  days=31
    else if(month ==11) then ;  days=30
    else if(month ==12)  then ; days=31
    else ; stop
    endif
        
    print *, ' Month:days ', month, days
    goto 10
    
end program mainprocedure

 

 

 

728x90
반응형
728x90
반응형

! 프로시저를 사용한 프로그램의 예

! 각 프로시저의 프로그램 작성 순서는 아래와 같다. 

  • 프로시저의 시작문 (module, program, subroutine, function, block data)
  • 선언문(use 문, implicit none 문, 변수 선언문, ...)
  • 실행문 (표현식, 선택구조, 순환구조, ...)
  • 프로시저의 종료문 (end 문)

! 포트란 95는 1~132 칼럼 중 임의의 위치에 코딩할 수 있다.

! 한줄에 여러 명령문을 작성하려면, 각 명령문을 세미콜론(;)으로 구분한다. 

! 내부 프로시저는 반드시 상위 프로시저에서만 사용가능

! 외부 프로시저는 별도로 컴파일되는 독립 프로시저.  반드시 주프로시저 밖에서 작성함.    

! 프로시저 종료는 반드시 end 문 사용

! 각 프로시저에서 모듈을 호출할때는 use 문 사용하고, 프로시저 시작문 바로 다음 줄에 작성해야 함.

! 사용자가 변수 형과 속성을 정의하고 사용하겠다는 의미로 반드시 implicit none 문을 사용

! 변수선언은 변수형 :: 변수명들 로 표기한다. 이중 콜론(::)은 변수형과 변수명을 구분하는 용도

 

 

 

 

!모듈 프로시저 (반드시 주프로그램 앞에 위치해야)
    module variablegroup
    implicit none
    integer :: i, j
    real(kind=16) :: a, b
    end module variablegroup
    

 

! 주 프로시저 (모든  연산과정을 제어하는 기능)
    program mainprocedure
    use variablegroup
    implicit none
    integer :: k
    real(kind=16) :: c     
    i=1; j=2; a=3; b=4
    call internalprocedure(c)
    call externalprocedure(k)
    write(*, "(' a+b = ', f10.2)") c
    write(*, "(' +j=', i10)") k     
    contains  ! 이하 프로그램이 내부 프로시저임을 나타내는 명령어

 

       ! 내부 프로시저 (주 프로시저의 일부분에 해당하는 프로시저)
        subroutine internalprocedure(d)
        use variablegroup  !주 프로시저와 공유하므로 생략 가능
        implicit none           !주 프로시저와 공유하므로 생략 가능
        real(kind=16) :: d
        d=a+b
        end subroutine internalprocedure     
    end program mainprocedure

 

 

! 외부 프로시저
    subroutine externalprocedure(p)
    use variablegroup
    implicit none
    integer :: p
    p=i+j
    end subroutine externalprocedure

 

 

 

 

 

 

728x90
반응형
728x90
반응형

university of cambridge department of physics computational physics self-study guide 2 programming in fortran 95 dr. rachael padman michaelmas 2007 - Google 검색

 

university of cambridge department of physics computational physics self-study guide 2 programming in fortran 95 dr. rachael pad

University of Cambridge Department of Physics Computational Physics Self-study guide 2 Programming in Fortran 95 Dr. Rachael Padman Michaelmas 2007 Contents ...

www.google.co.kr

https://www.mrao.cam.ac.uk/~rachael/compphys/SelfStudyF95.pdf

 

 

https://www.tutorialspoint.com/fortran/index.htm

 

Fortran Tutorial

Fortran Tutorial Fortran was originally developed by a team at IBM in 1957 for scientific calculations. Later developments made it into a high level programming language. In this tutorial, we will learn the basic concepts of Fortran and its programming cod

www.tutorialspoint.com

Home - Fortran Programming Language (fortran-lang.org)

 

Home - Fortran Programming Language

Features High performance Fortran has been designed from the ground up for computationally intensive applications in science and engineering. Mature and battle-tested compilers and libraries allow you to write code that runs close to the metal, fast. Stati

fortran-lang.org

 

728x90
반응형

+ Recent posts