[python]서울의 여름은 얼마나 길어졌을까?: 3. 계절 길이 시각화, 누적막대그래프
·
대기과학/프로그래밍
- 개요오늘은 누적막대그래프를 그려보겠습니다.저번과 마찬가지로 기후정보포털에 있는 그림을 따라그리겠습니다. - 데이터 처리기후정보포털 그림의 특징을 확인하고 무엇을 계산할지 고민합시다.1. 왼쪽부터 봄, 여름, 가을, 겨울의 길이인 누적막대그래프2. 10년당 누적막대그래프 하나3. 계절시작일을 글자로 표기 먼저 데이터를 읽고, 전처리하는 코드입니다.첫 포스트에서는 MM-DD 형식의 날짜를 pd.to_datetime()에 넣을 때 2000년으로 지정하였는데 이걸 2001년으로 바꾸었습니다.2000년에는 2월 29일까지 있어서 만약 봄의 시작일이 2월 29일 전이라면 봄의 길이가 하루 길어집니다.제 분석에서 그런 일은 없었지만 미래기후를 분석할 때는 지구온난화로 봄의 시작일이 빨라지므로 그런 일이 생길 수 ..
[python]서울의 여름은 얼마나 길어졌을까?: 2. 계절 길이 시각화, 도넛 차트(파이 차트)
·
대기과학/프로그래밍
- 개요저번에 구한 계절 길이를 도넛차트로 시각화합니다.- 데이터 전처리기후정보포털에서는 30년 단위로 최근, 과거기간 데이터를 시각화합니다.저는 1995년부터 2014년을 최근, 1915년부터 1944년을 과거기간으로 설정했습니다.이전 포스트에서는 10년 단위로 계산을 했으므로 코드를 살짝 수정해야합니다.import pandas as pdfn = r'D:\bus2\ta_20250607132536.csv'df = pd.read_csv(fn, skiprows=7, encoding='cp949')df['날짜'] = df['날짜'].str.replace('\t', '', regex=False)df['날짜'] = pd.to_datetime(df['날짜'])df['YYYY'] = df['날짜'].dt.yeardf..
[python]서울의 여름은 얼마나 길어졌을까?: 1. 계절 길이 계산 코드
·
대기과학/프로그래밍
- 개요유투브에서 여름이 길어지고, 겨울이 짧아졌다는 영상을 보았습니다(영상 링크). 지구온난화가 일어나니까 여름이 길어지는 것은 당연하지만 계절길이를 실제로 계산하고 시각화해보고자 합니다. - 계절의 정의영상에서 나온 기상청 자료는 기후정보포털의 계절길이 웹페이지 자료입니다.일단, 중요한 점을 짚어보겠습니다.1. 5도 기준으로 봄과 겨울의 시작일을 정하고, 20도를 기준으로 여름, 가을의 시작일을 정의표 아래에 *을 보면2. 최소 10년 이상의 기간의 일평균기온을 날짜별로 평균3. 9일 이동평균4. 웹페이지에 들어가서 보면 6개 지역의 평균 기온을 쓰지만 저는 서울 ASOS 47108 평균기온 자료만 씁니다. - 데이터 전처리1. 데이터 다운로드서울 ASOS 47108 자료 다운로드에 대한 글은 이전에..
기상청 ASOS 일단위(daily) 기온, 강수량 자료를 가장 쉽고 빠르게 다운로드 하는 방법
·
대기과학/칼럼
- 개요기상청 ASOS 관측소 자료를 다운로드 받는 정석적인 방법은1. 기상자료개방포털 데이터 탭의 기상관측의 -지상 메뉴 이용2. 기상청 API 허브 이용 이렇게 2가지 입니다. 기상자료개방포털의 데이터 탭에서 일단위 자료를 다운로드 받으려면 최대기간이 10년이므로 장기간 자료를 다운로드하려면 작업을 여러 번 반복 해야하죠.기상청 API 허브 이용의 경우 코드를 작성하는 것이 번거롭습니다 (기상청 API 허브 기반 ASOS 시간(hourly) 자료 다운로드 하는 글 링크) . 만약 받고 싶은 자료가 ASOS 관측소의 일단위(daily) 자료이며,원하는 변수가 1. 평균기온, 2. 최저기온, 3. 최고기온, 4.강수량이라면 훨씬 쉽고 빠른 방법이 있습니다. - 기상청 기상자료개방포털의 기후통계분석 탭 이..
Baroclinic development(경압발달) 이해하기: 2. 대기의 파동은 보강간섭으로 발달한다.
·
대기과학/개념
- 개요저번 포스트 내용을 복습합시다.대기에서는 연직방향, 수평방향으로 파동이 생길 수 있습니다.여기서 파동이 어떤 이유로 생기는지는 다루지 않았다는 것을 명심해야 합니다.저는 공기덩어리가 갑자기 움직이게 되었다 이런 식으로 표현했지 원인에 대해서는 말하지 않았거든요. 제가 이 부분을 처음 공부할 때는 파동의 생성, 발달, 소멸처럼 단계별로 왜 설명을 안해주나라는 의문을 품었었는데5판의 챕터 이름을 보면 baroclinc "development "로 애초에 이름부터가 "발달"을 공부하는 챕터입니다. 그럼 baoclinic이란 단어는 일단 무시하고, 이번 시간에는 대기의 파동이 어떻게 발달하는 건지 알아봅시다. - 일기도에서 대기의 파동을 확인하기기상청의 지상일기도를 보고 대기의 파동을 x-y 그래프로 그..
Baroclinic development(경압발달) 이해하기: 1. 파동(wave)부터 이해하자
·
대기과학/개념
- 이번 시리즈의 개요: Baroclinic development(경압발달) 이해하기대기과학을 전공하면 3~4학년 즈음에 대기역학이란 전공을 공부합니다.대기역학을 공부할 때 가장 난해했던 개념은 Baroclinc instability(경압불안정)였습니다. 참고로  대기역학 홀튼책 4판 기준으로 챕터 6~8, 5판으론 챕터5~7에 해당하는 내용 같고,4판에서는 챕터 8 제목에 baroclinic instability라는 단어가 있었는데 5판 챕터 7에서는 baroclinic development로 바뀌었습니다.4판 챕터 8을 이해하려면 챕터 6, 7을, 5판 챕터 7을 이해하려면 챕터 5, 6을 이해하고 있어야 합니다. 이 챕터에서는 여러 지배방정식이 나와서 혼란한 와중에 갑자기 이런저런 가정을 하고 파동..
[python] 스마트서울 도시데이터 센서(S-DoT)로 보는 집중호우 발생시 온도장: 2. 온도장 확인 및 레이더 에코와 비교
·
대기과학/프로그래밍
- 개요저번 포스트에서는 S-DoT 자료를 전처리하고 간단히 그림을 그려보았습니다.2024년 8월 13일에 내린 집중호우는 서울 전역을 강타한 것이 아니라 특정 지역에만 내렸습니다.ASOS/AWS 관측소가 서울에 30개나 있지만 이 정도로는 국지성 호우의 영향을 보기 어렵습니다.하지만 서울에 1000개나 설치한 S-DoT이라면 국지성 호우의 영향을 확인할 수 있겠죠. 집중호우가 내린 곳은 온도가 급격히 떨어지기 때문에 레이더 에코의 위치와 S-DoT의 온도가 감소하는 위치가 거의 같을 겁니다.그러므로 2024년 8월 13일 시간별로 레이더 에코와 S-DoT 온도장을 확인해보겠습니다.우리는 변화를 봐야하기 때문에 정확히는 온도장을 그리는 것이 아니라 1시간 동안 변한 온도의 공간장을 그려야 합니다.만약 진..
[python] 스마트서울 도시데이터 센서(S-DoT)로 보는 집중호우 발생시 온도장: 1. 자료 전처리
·
대기과학/프로그래밍
- 개요한국에서 기상 관측 자료라 하면 보통 ASOS/AWS 기상 관측 자료를 말합니다.기상청뿐만 아니라 다른 기관이 설치한 ASOS/AWS 관측소의 수는 전국에 500개가 넘는데요.다른 나라와 비교해서 우리나라 정부가 정말 기상 관측소를 정말 촘촘히 설치한 겁니다.심지어 국가가 관리하기 때문에 관측품질도 좋죠.이렇게 촘촘히 설치했지만 서울에 설치되어있는 기상청 ASOS/AWS 관측소 숫자는 약 30개입니다.서울에 25개 행정구가 있으니 1구에 1개 정도 있는 셈이죠.  이외에도 2020년부터 서울에서는 IoT 센서가 설치되어 기상 변수가 측정되고 있습니다.서울 곳곳에 약 1000개의 IoT 센서가 설치되어 있고, 기상 변수 외에 다른 변수도 측정합니다. 기간은 2020년 4월부터 현재까지 시간은 1시간..
[python, html/css] 안개 속보 화면 만들기: 4. html 파일 만들기
·
대기과학/프로그래밍
- 개요지금까지 구한 텍스트, 그림으로 html 파일을 만들어봅시다.파이썬으로 html 파일을 직접 작성할 것이고, html/css의 기초는 알고 있으셔야 합니다. - html 파일 만들기파이썬 코드의 정보 중 총 3개가 html 파일로 전달되어야 합니다.1. 시간안개 속보의 2번째 줄을 보면 속보가 나온 시간이 있습니다.그림을 그린 시간보다 10분을 더해줘야 합니다. 2. 안개 현황 텍스트2번째 전 포스트에서 안개 현황에 넣을 텍스트를 만들었습니다.텍스트를 html에 넣기 좋게 태그를 입혀야합니다. 3. 시정 자료 그림저번 포스트에서 vis.png라는 이름으로 저장했습니다. 4. 배치전 아래와 같은 구조로 각 요소를 배치했습니다.점이 찍혀있으면 클래스 이름입니다(e.g., div .container >..