기온과, ‘상대습도’ 또는 ‘이슬점 온도’ 중 하나를 입력하세요. 열지수(체감온도)를 °C·°F·K로 계산하고, 미국 기상청의 4단계 위험도 기준과 습도와 체감온도의 관계를 나타낸 그래프도 보여 줍니다.
이 페이지에서 할 수 있는 것
- 기온과 상대습도만 넣으면 미국 기상청(NWS) 방식의 열지수(여름 체감온도의 지표)를 바로 알 수 있습니다
- 습도 대신 이슬점 온도로도 계산할 수 있습니다(이슬점 온도는 자동으로 상대습도로 환산됩니다)
- 결과는 °C·°F·K의 세 가지 단위로 표시되고, 미국 기상청의 4단계 위험도 기준도 확인할 수 있습니다
- ‘같은 기온이라도 습도가 높으면 체감온도가 얼마나 오르는지’를 그래프로 한눈에 알 수 있습니다
- 공식의 쉬운 해설과 Excel·Google 스프레드시트·Python에 복사해 쓸 수 있는 수식도 이 페이지에 모아 두었습니다
이 계산은 어디에 쓰일까요?
‘오늘은 33°C, 어제보다 1°C 낮으니 좀 낫겠지’ — 습도를 놓치면 이 판단은 거꾸로 될 수 있습니다. 기온 33°C, 습도 75%의 열지수는 약 46°C로, 미국 기상청의 4단계에서는 ‘위험(Danger)’에 해당합니다.
같은 기온이라도 습도에 따라 위험도가 크게 달라진다는 것을 숫자로 알아 두면 훈련 강도나 휴식을 ‘기온만’으로 판단하지 않게 됩니다. 다만 한국에서 야외 활동을 줄이거나 멈추는 판단은 기상청의 체감온도와 폭염특보(일 최고 체감온도 33°C 이상이 2일 이상 예상되면 폭염주의보, 35°C 이상이면 폭염경보)에 따르세요.
미국에서는 산업안전보건청(OSHA)이 야외 작업의 더위 대책 기준으로 열지수를 쓰고, 한국의 고용노동부도 폭염 작업의 기준을 기온이 아닌 기상청의 체감온도로 정하고 있습니다(체감온도 33°C 이상이면 2시간마다 20분 이상 휴식 등). 예를 들어 같은 기온 30°C라도 습도 50%라면 체감 약 31°C, 습도 80%라면 체감 약 38°C로, 습도만으로 7°C 가까이 차이가 납니다.
‘기온이 같아도 무더운 날은 작업 속도를 늦추고 휴식과 물을 늘린다’는 조정을 감각이 아니라 숫자를 근거로 할 수 있습니다.
건조한 내륙 도시의 40°C(습도 20%)는 열지수가 약 39°C, 무더운 도시의 33°C(습도 75%)는 약 46°C — 기온이 7°C 낮은 쪽이 체감으로는 훨씬 가혹한 역전이 일어납니다.
해외 일기예보나 앱에 나오는 ‘Heat Index’, ‘Feels like(체감온도)’가 바로 이 지표이므로, 의미를 알면 여행지의 옷차림이나 낮 시간 일정을 세우기 쉬워집니다.
실내 28°C, 습도 70%의 열지수는 약 31°C인데, 제습해서 습도를 40%까지 낮추면 약 28°C가 됩니다. 온도 설정을 바꾸지 않아도 습도만 낮추면 체감이 3°C 내려가는 셈입니다.
‘냉방 설정 온도를 낮춘다’ 말고 ‘습도를 낮춘다’는 선택지가 있다는 것을 숫자로 이해하면 전기요금과 쾌적함의 균형을 잡기 쉬워집니다.
기상 정보에 나오는 이슬점 온도는 공기 중 수증기의 양을 나타내는 값입니다. 예를 들어 기온 30°C일 때 이슬점 온도가 24°C라면 상대습도는 약 70%(꽤 무더움), 이슬점 온도가 15°C라면 약 40%(보송보송함)에 해당합니다.
‘이슬점 온도가 높은 날은 무덥다’는 관계를 알아 두면 습도 예보가 없어도 더위의 질을 미리 읽을 수 있습니다. 이 페이지의 계산기는 이슬점 온도로 입력하는 방법도 지원합니다.
공식과 그래프
용어·기호 해설
기호
| \(HI\) | 에이치아이 | 열지수(Heat Index)입니다. 기온과 습도로 구하는 체감온도의 지표로, 공식은 화씨(°F)로 계산합니다. 이 페이지의 계산기는 °C·K로도 자동으로 환산합니다. |
| \(T\) | 티 | 기온입니다. 간이식·회귀식에서는 화씨(°F), 이슬점 온도로 환산하는 식(Magnus 근사)에서는 섭씨(°C)를 쓴다는 점에 주의하세요. |
| \(RH\) | 알에이치 | 상대습도(Relative Humidity)입니다. 일기예보의 ‘습도’를 말하며, 0~100의 % 값을 그대로 식에 넣습니다(예: 습도 70% → 70). |
| \(T_d\) | 티 디 | 이슬점 온도(°C)입니다. 공기를 식혔을 때 물방울(결로)이 생기기 시작하는 온도로, 공기 중 수증기의 양을 나타냅니다. |
| \(c_0\)~\(c_8\) | 시 영~시 팔 | Rothfusz 회귀식의 계수 9개입니다. 데이터에 가장 잘 맞도록 통계적으로 정한 상수입니다. |
| \(\exp\) | 익스포넨셜 | 자연지수함수입니다. \(\exp(x)\)는 자연상수 \(e \fallingdotseq 2.718\)의 \(x\)제곱을 말합니다. Excel에서는 EXP 함수, Python에서는 math.exp로 계산할 수 있습니다. |
용어
| 열지수 | 기온과 습도를 조합해 ‘사람이 얼마나 덥게 느끼는지’를 온도의 꼴로 나타낸 지표(Heat Index)입니다. 1978년에 George Winterling이 고안했고, 미국 기상청(NWS)이 여름 더위의 주의 안내에 씁니다. 그늘·약한 바람의 조건을 가정한 지표로 풍속이나 햇볕은 고려하지 않습니다(직사광선 아래에서는 체감온도가 이 값보다 더 크게 오를 수 있다고 미국 기상청은 주의를 줍니다). 또한 원래 기온 80°F(약 26.7°C) 이상, 상대습도 40% 이상의 무더운 조건을 대상으로 만들어졌으므로, 그보다 선선하거나 건조한 조건의 값은 참고 정도로 보세요. |
| 폭염특보 | 한국 기상청이 발표하는 더위 특보입니다. 기상청의 일 최고 체감온도가 33°C 이상인 상태가 2일 이상 이어질 것으로 예상되면 폭염주의보, 35°C 이상이면 폭염경보를 발표하고, 더 심한 경우에는 폭염중대경보를 냅니다. 이때의 체감온도는 기상청의 여름철 체감온도 공식(습구온도를 쓰는 식)으로 구한 값으로, 이 페이지의 열지수와는 다른 값입니다. 한국에서 온열질환 예방을 판단할 때는 기상청의 체감온도와 폭염특보를 참고하세요. |
| 체감온도 | 온도계의 기온이 아니라 ‘사람이 실제로 느끼는 더위·추위’를 나타낸 온도입니다. 습도가 높으면 땀이 잘 증발하지 않아 몸에서 열이 빠져나가지 못하므로 같은 기온이라도 덥게 느낍니다. 열지수는 이 효과를 수식으로 만든 것입니다. 한국 기상청은 여름(5~9월)에는 습도를 반영한 여름철 체감온도, 겨울(10~4월)에는 바람을 반영한 겨울철 체감온도를 발표합니다. |
| 상대습도 | 그 기온에서 공기가 최대로 품을 수 있는 수증기의 양에 대해, 실제로 품은 수증기의 양이 몇 %인지를 나타낸 값입니다. 일기예보의 ‘습도’가 바로 이 상대습도입니다. |
| 이슬점 온도 | 공기를 점점 식혀 갈 때 수증기가 물방울로 바뀌기 시작하는(결로가 시작되는) 온도입니다. 공기 중 수증기의 양이 많을수록 높아지므로 무더위의 기준으로도 쓰입니다(이슬점 온도가 높은 날은 무더운 날입니다). |
| 포화 수증기압 | 그 온도에서 공기가 수증기를 최대로 품었을 때의 수증기 압력입니다. 온도가 높을수록 커집니다. 기상학에서는 상대습도를 ‘실제 수증기압 ÷ 포화 수증기압 × 100(%)’으로 정의하며, Magnus 근사식은 이 포화 수증기압을 온도로 간편하게 구하기 위한 식입니다. |
| 회귀식 | 많은 데이터에 가장 잘 맞도록 계수를 정한 식입니다. Rothfusz 회귀식은 체감온도의 이론 모델의 계산 결과를 기온과 습도의 식으로 근사한 것입니다. |
| 화씨(°F) | 미국에서 쓰는 온도 단위입니다. 물이 어는 온도가 32°F, 끓는 온도가 212°F입니다. 섭씨와의 환산은 °F = °C × 9/5 + 32입니다. |
| 켈빈(K) | 과학에서 쓰는 절대온도의 단위입니다. 섭씨에 273.15를 더한 값입니다(0°C = 273.15 K). |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 이해해 두면 좋은 내용을 정리했습니다.
| 문자와 식, 대입(중학교 1학년, 12~13세) |
|
| 비율·백분율(초등학교 6학년, 11~12세) |
|
| 온도의 단위(중학교 과학부터) |
|
| 제곱근(중학교 3학년, 14~15세) |
|
| 지수함수(고등학교 수학, 16~18세) |
|
Excel로 계산하는 방법
| 기온(°C) | 25 |
| 기온(°F) | =B1*9/5+32 |
| 상대습도(%) | 40 |
| 열지수(°F) | =0.5*(B2+61+(B2-68)*1.2+B3*0.094) |
| 열지수(°C) | =(B4-32)*5/9 |
| 기온(°C) | 30 |
| 기온(°F) | =B1*9/5+32 |
| 상대습도(%) | 70 |
| 열지수(°F) | =-42.379+2.04901523*B2+10.14333127*B3-0.22475541*B2*B3-0.00683783*B2^2-0.05481717*B3^2+0.00122874*B2^2*B3+0.00085282*B2*B3^2-0.00000199*B2^2*B3^2 |
| 열지수(°C) | =(B4-32)*5/9 |
| 기온(°C) | 30 |
| 이슬점 온도(°C) | 22 |
| 상대습도(%) | =100*EXP(17.625*B2/(243.04+B2))/EXP(17.625*B1/(243.04+B1)) |
첫 번째 표(간이식)는 기온과 간이식 값의 평균이 80°F 미만일 때(선선한 조건) 쓰는 식입니다. 예시 값(25°C, 40%)에서는 B4에 약 76.28(°F), B5에 약 24.6(°C)이 표시됩니다.
두 번째 표(회귀식)는 80°F 이상의 더운 조건용으로, 예시 값(30°C, 70%)에서는 B4에 약 95.07(°F), B5에 약 35.0(°C)이 표시됩니다. ※ 저습도(13% 미만)·고습도(85% 초과)의 끝쪽 조건 보정은 생략했습니다. 정확한 값은 이 페이지의 계산기나 Python 코드를 쓰세요.
세 번째 표는 이슬점 온도에서 상대습도로 환산하는 표로, 예시 값(기온 30°C, 이슬점 22°C)에서는 B3에 약 62.28(%)이 표시됩니다.
Google 스프레드시트로 계산하는 방법
| 기온(°C) | 25 |
| 기온(°F) | =B1*9/5+32 |
| 상대습도(%) | 40 |
| 열지수(°F) | =0.5*(B2+61+(B2-68)*1.2+B3*0.094) |
| 열지수(°C) | =(B4-32)*5/9 |
| 기온(°C) | 30 |
| 기온(°F) | =B1*9/5+32 |
| 상대습도(%) | 70 |
| 열지수(°F) | =-42.379+2.04901523*B2+10.14333127*B3-0.22475541*B2*B3-0.00683783*B2^2-0.05481717*B3^2+0.00122874*B2^2*B3+0.00085282*B2*B3^2-0.00000199*B2^2*B3^2 |
| 열지수(°C) | =(B4-32)*5/9 |
| 기온(°C) | 30 |
| 이슬점 온도(°C) | 22 |
| 상대습도(%) | =100*EXP(17.625*B2/(243.04+B2))/EXP(17.625*B1/(243.04+B1)) |
Python으로 계산하는 방법
import math
air_temperature_c = 30 # 기온(°C)
relative_humidity = 70 # 상대습도(%)
# 이슬점 온도로 계산할 때는 아래 두 줄의 주석(#)을 지운다(Magnus 근사로 상대습도로 환산)
# dew_point_c = 22 # 이슬점 온도(°C)
# relative_humidity = 100 * math.exp(17.625 * dew_point_c / (243.04 + dew_point_c)) / math.exp(17.625 * air_temperature_c / (243.04 + air_temperature_c))
t_f = air_temperature_c * 9 / 5 + 32 # 화씨(°F)로 환산
rh = relative_humidity
heat_index_f = 0.5 * (t_f + 61 + (t_f - 68) * 1.2 + rh * 0.094) # 간이식
if (t_f + heat_index_f) / 2 >= 80: # 평균이 80°F 이상이면 Rothfusz 회귀식으로 다시 계산
heat_index_f = (-42.379 + 2.04901523 * t_f + 10.14333127 * rh
- 0.22475541 * t_f * rh - 0.00683783 * t_f ** 2
- 0.05481717 * rh ** 2 + 0.00122874 * t_f ** 2 * rh
+ 0.00085282 * t_f * rh ** 2 - 0.00000199 * t_f ** 2 * rh ** 2)
if rh < 13 and 80 <= t_f <= 112: # 저습도 보정
heat_index_f -= (13 - rh) / 4 * math.sqrt((17 - abs(t_f - 95)) / 17)
elif rh > 85 and 80 <= t_f <= 87: # 고습도 보정
heat_index_f += (rh - 85) / 10 * (87 - t_f) / 5
heat_index_c = (heat_index_f - 32) * 5 / 9
heat_index_k = heat_index_c + 273.15
print(f"열지수: {heat_index_c:.1f} °C({heat_index_f:.1f} °F / {heat_index_k:.1f} K)")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
HI = 0.5 × (T + 61 + (T − 68) × 1.2 + RH × 0.094)
HI = 0.5 \left( T + 61 + (T - 68) \times 1.2 + RH \times 0.094 \right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mn>0.5</mn>
<mo>×</mo>
<mo>(</mo>
<mi>T</mi><mo>+</mo><mn>61</mn>
<mo>+</mo>
<mo>(</mo><mi>T</mi><mo>−</mo><mn>68</mn><mo>)</mo>
<mo>×</mo><mn>1.2</mn>
<mo>+</mo>
<mi>RH</mi><mo>×</mo><mn>0.094</mn>
<mo>)</mo>
</mrow>
</math>
HI = 0.5 (T + 61 + (T - 68) * 1.2 + RH * 0.094)
hi = 0.5*(t + 61 + (t - 68)*1.2 + rh*0.094)
HI := 0.5*(T + 61 + (T - 68)*1.2 + RH*0.094);
HI = 0.5*(T + 61 + (T - 68)*1.2 + RH*0.094);
HI = 0.5(T + 61 + (T - 68) × 1.2 + RH × 0.094)
HI = −42.379 + 2.04901523T + 10.14333127RH − 0.22475541T·RH − 0.00683783T² − 0.05481717RH² + 0.00122874T²·RH + 0.00085282T·RH² − 0.00000199T²·RH²
HI = -42.379 + 2.04901523\,T + 10.14333127\,RH - 0.22475541\,T \cdot RH - 0.00683783\,T^2 - 0.05481717\,RH^2 + 0.00122874\,T^2 RH + 0.00085282\,T\,RH^2 - 0.00000199\,T^2 RH^2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mo>−</mo><mn>42.379</mn>
<mo>+</mo><mn>2.04901523</mn><mi>T</mi>
<mo>+</mo><mn>10.14333127</mn><mi>RH</mi>
<mo>−</mo><mn>0.22475541</mn><mi>T</mi><mo>⋅</mo><mi>RH</mi>
<mo>−</mo><mn>0.00683783</mn><msup><mi>T</mi><mn>2</mn></msup>
<mo>−</mo><mn>0.05481717</mn><msup><mi>RH</mi><mn>2</mn></msup>
<mo>+</mo><mn>0.00122874</mn><msup><mi>T</mi><mn>2</mn></msup><mi>RH</mi>
<mo>+</mo><mn>0.00085282</mn><mi>T</mi><msup><mi>RH</mi><mn>2</mn></msup>
<mo>−</mo><mn>0.00000199</mn><msup><mi>T</mi><mn>2</mn></msup><msup><mi>RH</mi><mn>2</mn></msup>
</mrow>
</math>
HI = -42.379 + 2.04901523 T + 10.14333127 RH - 0.22475541 T RH - 0.00683783 T^2 - 0.05481717 RH^2 + 0.00122874 T^2 RH + 0.00085282 T RH^2 - 0.00000199 T^2 RH^2
hi = -42.379 + 2.04901523*t + 10.14333127*rh - 0.22475541*t*rh - 0.00683783*t^2 - 0.05481717*rh^2 + 0.00122874*t^2*rh + 0.00085282*t*rh^2 - 0.00000199*t^2*rh^2
HI := -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T^2 - 0.05481717*RH^2 + 0.00122874*T^2*RH + 0.00085282*T*RH^2 - 0.00000199*T^2*RH^2;
HI = -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T^2 - 0.05481717*RH^2 + 0.00122874*T^2*RH + 0.00085282*T*RH^2 - 0.00000199*T^2*RH^2;
HI = -42.379 + 2.04901523T + 10.14333127RH - 0.22475541T RH - 0.00683783T^2 - 0.05481717RH^2 + 0.00122874T^2 RH + 0.00085282T RH^2 - 0.00000199T^2 RH^2
RH = 100 × exp(17.625Td / (243.04 + Td)) ÷ exp(17.625T / (243.04 + T))
RH = 100 \times \dfrac{\exp\left(\dfrac{17.625\,T_d}{243.04 + T_d}\right)}{\exp\left(\dfrac{17.625\,T}{243.04 + T}\right)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>RH</mi>
<mo>=</mo>
<mn>100</mn>
<mo>×</mo>
<mfrac>
<mrow>
<mi>exp</mi>
<mo>(</mo>
<mfrac>
<mrow><mn>17.625</mn><msub><mi>T</mi><mi>d</mi></msub></mrow>
<mrow><mn>243.04</mn><mo>+</mo><msub><mi>T</mi><mi>d</mi></msub></mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mrow>
<mi>exp</mi>
<mo>(</mo>
<mfrac>
<mrow><mn>17.625</mn><mi>T</mi></mrow>
<mrow><mn>243.04</mn><mo>+</mo><mi>T</mi></mrow>
</mfrac>
<mo>)</mo>
</mrow>
</mfrac>
</mrow>
</math>
RH = 100 exp((17.625 T_d)/(243.04 + T_d)) / exp((17.625 T)/(243.04 + T))
rh = 100*Exp[17.625*td/(243.04 + td)]/Exp[17.625*t/(243.04 + t)]
RH := 100*exp(17.625*Td/(243.04 + Td))/exp(17.625*T/(243.04 + T));
RH = 100*exp(17.625*Td/(243.04 + Td))/exp(17.625*T/(243.04 + T));
RH = 100 exp(17.625T_d/(243.04 + T_d))/exp(17.625T/(243.04 + T))
ChatGPT 에게 물어서 계산하는 방법
당신은 기상 계산 도우미입니다. 다음 계산은 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답하세요(암산이나 추측으로 답하지 마세요). 기온 30°C, 상대습도 70%일 때의 열지수(미국 기상청 NWS 방식의 Heat Index)를 구하세요. 계산 절차: 1. 기온을 화씨로 환산한다(°F = °C × 9/5 + 32) 2. 간이식 HI = 0.5 × (T + 61 + (T − 68) × 1.2 + RH × 0.094)를 계산한다 3. 기온과 간이식 값의 평균이 80°F 이상이면 Rothfusz 회귀식 HI = -42.379 + 2.04901523T + 10.14333127RH - 0.22475541T·RH - 0.00683783T² - 0.05481717RH² + 0.00122874T²RH + 0.00085282T·RH² - 0.00000199T²RH² 로 다시 계산한다(RH < 13%이고 80~112°F이면 저습도 보정, RH > 85%이고 80~87°F이면 고습도 보정도 적용) 4. 결과를 °F와 °C 둘 다로 보여 준다 계산에 쓴 공식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다