오늘은 단위 다루기 마지막 온도 단위를 다뤄보겠습니다
이전 포스팅들에서는 길이나 시간과 같은 단위들을 다뤄봤습니다
이 단위들을 곱하거나 나누는 것만 가능했었죠??
그럼 이제 온도 단위를 생각해보겠습니다
5℃ x 10℃ = ??
위 식이 계산이 가능한가요??
보통 값을 곱할때 단위도 같이 곱해지기 때문에 위 식을 계산하면 ℃^2 이라는 단위가 나와야합니다
그런데 ℃^2 이런 단위가 있나요??
당연히 존재하지 않습니다
그럼 여기서 생각할 수 있는 것은 '온도 단위는 더하거나 빼는거만 가능하다' 라고 생각할 수 있습니다
이것들을 파이썬으로도 실행해보겠습니다
온도 단위는 크게 3가지가 있습니다
보통적으로 사용하는 ℃(도씨), si 단위계에 속하는 K(켈빈), 미국에서 자주 사용하는 ℉ 이렇게 3가지입니다
이번 포스팅에서 단위를 달아줄 때는 unit을 곱하는 방식으로 진행하겠습니다
#도씨 온도
d1 = 10 * units.degC
d2 = 5 * units.degC
#화씨 온도
d3 = 10 * units.degF
d4 = 5 * units.degF
#켈빈 온도
d5 = 10 * units.kelvin
d6 = 5 * units.kelvin
이렇게 만들 수 있습니다
그러면 d1에서 d2를 빼면 결과도 5 degC라고 나오겠죠??
확인해보겠습니다
조금 다르게 나오죠??
단위가 delta_degree_celsius라고 나옵니다
여기서부터 잘 이해하셔야 합니다
온도 단위가 저렇게 나오는 이유는 아래 켈빈 온도와 함께 설명을 드리겠습니다
섭씨, 화씨, 켈빈 모두 계산을 해보면
마지막 켈빈 온도 계산만 결과가 다릅니다
나머지는 delta_degree_Celsius 처럼 변화량으로 나오지만 켈빈 온도는 kelvin으로 출력이 됩니다
여기서 봐야할 것은 섭씨온도와 화씨온도 2가지와 켈빈온도의 차이점을 봐야합니다
섭씨온도와 화씨온도는 상대온도, 켈빈온도는 절대온도라고 부릅니다
절대온도의 정의는 이상 기체의 부피가 0이 되는 온도, 우주에서 이론적으로 도달 가능한 최저 온도 이렇게 정의됩니다
반면 상대온도는 물질의 특정 상태를 기준으로 하는 온도(기준과 척도에 따라 달라질 수 있다) 로 정의됩니다
둘의 차이가 이렇게만 보면 잘 안보이죠??
다르게 보면 절대온도는 0으로 정의할 수 있는 바닥이 있지만 상대온도는 없다고 할 수 있습니다
절대온도는 -273.15 아래로는 더 내려갈 수 없지만
섭씨온도는 -1000℃, -10000℃ 처럼 ℃를 가져다가 붙이는 대로 다 쓸 수 있습니다
길이와 함께 생각해봅시다
한 변의 길이가 12cm인 네모가 바닥에 있다고 생각해봅시다
보통 바탁부터 가장 위에까지 길이를 측정해서 12cm라고 말하죠?
기준점으로 정의 가능한 지점이 존재할 때 측정 가능한 단위들을 절대 단위라고 합니다
그래서 길이 단위를 units으로 만들고 더하거나 빼도 delta 처럼 변화량으로 나오지않는거죠
절대 온도도 -이론상이지만 273.15℃라는 바닥이 존재하기 때문에 절대 온도라고 부르는 겁니다
하지만 10℃라고 하면 기준이 있나요??
누군가는 기준점이 0℃일수도 있고 또 다른 누군가는 -10℃ 일수도 있습니다
0℃인 사람한테는 똑같이 10℃지만 -10℃인 사람한테는 20℃가 되겠죠??
이렇게 정하는 기준점에 따라 값이 달라지는 단위를 상대 단위라고 합니다
그렇기 때문에 10℃에서 5℃를 뺀 값이 delta_degree_celsius로 나오는 거죠
이해가 되셨나요??
그럼 저렇게 상대적인 단위는 변화량을 단위로 만들수도 있겠죠??
t7 = 10 * units.delta_degC
t8 = 5 * units.degF
위에 코드처럼 delta_degC 처럼 단위를 지정해주고 계산을 하면
이렇게 출력이 됩니다
단위가 다르더라도 변하기 전 단위로 자동으로 변환이 되어 변화량이 더 해집니다
중간에 절대온도와 상대온도 설명 때문에 생각보다 많이 길어졌네요..
다음 포스팅부터는 SkewT 그림을 그려보겠습니다!
긴 글 읽어주셔서 감사합니다!
'파이썬 > metpy' 카테고리의 다른 글
작업21: Metpy로 단열선도 그려보기 (SkewT) (0) | 2023.02.08 |
---|---|
작업19: Metpy로 단위 변환 해보기 (ito) (3) | 2023.01.11 |
작업18: Metpy로 단위 달아보기 (metpy.units) (2) | 2023.01.10 |