정보
-
업무명 : 파이썬 라디오 미터 및 라디오 존데 관측 자료를 이용한 고도별 온/습도 등고선 가시화
-
작성자 : 박진만
-
작성일 : 2019-09-07
-
설 명 :
-
수정이력 :
내용
[특징]
-
라디오 미터와 라디오 존데 자료를 이용하여 고도별로 온/습도 프로파일을 만들어 그리는 프로그램
[기능]
-
고도별 온/습도 프로파일에 대한 등고선 (contour) 시계열
[활용 자료]
-
matplotlib, numpy, pandas 등 각종 라이브러리
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
입력자료를 위치에 넣은 후 해당 소스코드 실행
[사용 OS]
-
Windows 10
[사용 언어]
-
Python 3.7
소스 코드
[코드 블럭]
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import os
import locale
# import moment
from datetime import datetime
from dfply import *
from matplotlib.dates import DateFormatter
import numpy as np
from scipy.interpolate import griddata
from pprint import pprint
import matplotlib.dates as md
import matplotlib.ticker as tkr
#import matplotlib.colors as mc
os.chdir("D:/ARTS/result/")
list = ["201704","201705","201706","201707","201708","201709","201710","201711","201712","201801",
"201802","201803","201804","201805","201806","201807","201808"]
#list = ["201704"]
# "","julianday","time","condition","Radiometer_TEMP","Radiometer_ABS_H","Radiometer_RH","sondeJulianday","releaseTime","sondeTemp","sondeRH","TempDiff","RHDiff"
for i in list:
data = pd.read_csv(
"sonde_rediometer_interpolation_"+i+".csv"
, sep=","
)
data["sDateTime"] = pd.to_datetime(data["time"], format='%Y-%m-%d %H:%M:%S')
dataL1 = (
data >>
mutate(
year = X.sDateTime.dt.strftime("%Y")
, month = X.sDateTime.dt.strftime("%m")
, day = X.sDateTime.dt.strftime("%d")
, hour = X.sDateTime.dt.strftime("%H")
, minute = X.sDateTime.dt.strftime("%M")
, second = X.sDateTime.dt.strftime("%S")
, date = X.sDateTime.dt.strftime("%Y-%m-%d")
) >>
arrange(X.condition, X.time)
)
#print(dataL1)
print(dataL1.describe())
# define plot size in inches (width, height) & resolution(DPI)
# plt.figure(figsize=(12, 10))
fig, ax = plt.subplots(figsize=(12, 10))
# style
plt.style.use('seaborn-darkgrid')
# define font size
plt.rc("font", size=22)
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams["font.weight"] = "bold"
plt.rcParams['axes.labelsize'] = 22
plt.rcParams['xtick.labelsize'] = 22
plt.rcParams['ytick.labelsize'] = 22
plt.rcParams["axes.labelweight"] = "bold"
plt.rcParams["axes.titleweight"] = "bold"
x = dataL1.julianday.values
y = dataL1.condition.values
z = dataL1.sondeTemp.values
xVal = np.unique(dataL1["julianday"].to_numpy())
yVal = np.unique(dataL1["condition"].to_numpy())
zVal = z.reshape(len(yVal), len(xVal))
print(xVal.shape)
print(yVal.shape)
print(zVal.shape)
tick = np.unique(dataL1["julianday"].to_numpy())
tick1 = np.int32(tick)
tick2 = np.unique(tick1)
print(tick2)
#RH
#v = np.linspace(-1, 102, 100, endpoint=False)
#TEMP
v = np.linspace(-60, 42, 100, endpoint=False)
#DIFF
#cc = plt.contour(xVal, yVal,zVal,v1, linewidths=1,cmap=plt.cm.get_cmap('coolwarm'))
#plt.contourf(xVal, yVal, zVal, v, cmap=plt.cm.get_cmap('jet'),fmt = '',vmin = -1, vmax = 102)
#plt.clabel(cc, inline=True, fontsize=12, fmt ='%2i', colors='k',inline_spacing=3.0)
#RH
#plt.contourf(xVal, yVal, zVal, v, cmap=plt.cm.get_cmap('jet'),fmt = '',vmin = -1, vmax = 102)
#TEMP
plt.contourf(xVal, yVal, zVal, v, cmap=plt.cm.get_cmap('jet'),fmt = '',vmin = -60, vmax = 42)
if(i == "201801"):
plt.xticks(np.arange(1, 32,1.0), size = 14, rotation = 90)
plt.xlim(1,32)
else:
plt.xticks(np.arange(min(tick2), max(tick2)+1,1.0), size = 14, rotation = 90)
# RH
#plt.colorbar(ticks=np.linspace(0,100,11))
# TEMP
plt.colorbar(ticks=np.linspace(-60,40,11))
plt.title("TEMP(RADIOSONDE)")
plt.xlabel("Julianday(" + i[0:4] + "." + i[4:6] + ")")
plt.ylabel("Altitude (m)")
plt.savefig("D:/ARTS/result/TEMP_RH/TEMP(RADIOSONDE)_" + i + ".png")
ax.set_label(np.unique(dataL1["date"].to_numpy()))
[Github]
결과
-
2017년 04월 라디오 존데의 온도 프로파일 자료를 이용한 등고선 시계열
-
2017년 04월 라디오 미터의 온도 프로파일 자료를 이용한 등고선 시계열
-
2017년 04월 라디오 존데의 습도 프로파일 자료를 이용한 등고선 시계열
-
2017년 04월 라디오 미터의 습도 프로파일 자료를 이용한 등고선 시계열
참고문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
블로그에 대한 궁금하신 점을 문의하시면 자세히 답변드리겠습니다.
E. sangho.lee.1990@gmail.com & saimang0804@gmail.com
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 파이썬 Grib 및 Grb2 형식인 수치예측모델 (ECMWF) 자료를 이용한 가시화 (0) | 2019.10.23 |
---|---|
[Python] 파이썬 바이너리 형식인 히마와리 8호 (Himawari-8/AHI) 기상 위성 자료를 이용한 가시화 (0) | 2019.10.22 |
[Python] 파이썬 라디오미터 밝기온도 자료를 이용한 시계열 그래프 (0) | 2019.09.07 |
[Python] 파이썬 과학 기술 계산 및 처리에 유용한 패키지 소개 (0) | 2019.09.05 |
[Python] 파이썬 바이너리 (Binary) 형식인 천리안위성 1A호 (COMS/MI) 기상 위성 자료를 이용한 가시화 (0) | 2019.09.03 |
최근댓글