|
| bool | savefig = True |
| |
| str | dir_out = "./fig/" |
| |
| bool | by_target_pos = True |
| |
| float | lon0 = 139.7671248 |
| |
| float | lat0 = 35.6812362 |
| |
| bool | by_target_name = not by_target_pos |
| |
| str | tname = "潮岬" |
| |
| int | year = 2007 |
| |
| int | month = 7 |
| |
| int | day = 15 |
| |
| int | hour = 9 |
| |
| | jstdatetime = datetime.datetime(year,month,day,hour) |
| |
| | utcdatetime = jstdatetime-datetime.timedelta(hours=9) |
| |
| str | datatype0 = "hourly" |
| |
| dict | varnamedic = {"気圧(hPa)":"PRES (hPa)", "ジオポテンシャル 高度(m)" : "Z (m)" , "気温(℃)":"TEMP (℃)", "相対湿度(%)":"RH (%)", "風速(m/s)":"WSPD (m/s)","風向(°)":"WDIR (°)"} |
| |
| str | url = "https://www.data.jma.go.jp/obd/stats/etrn/upper/select/prefecture.php?year=&month=&day=&hour=&atm=&point=" |
| |
| | html = urllib.request.urlopen(url) |
| |
| | soup = BeautifulSoup(html, 'html.parser') |
| |
| | elements = soup.find_all('area') |
| |
| list | station_etc_list = [] |
| |
| list | station_list = [] |
| |
| list | station_link_list = [] |
| |
| list | station_lat_list = [float(etc.split("javascript:viewPoint(")[1].split(",")[3][1:-1]) + float(etc.split("javascript:viewPoint(")[1].split(",")[4][1:-1])/60 for etc in station_etc_list] |
| |
| list | station_lon_list = [float(etc.split("javascript:viewPoint(")[1].split(",")[5][1:-1]) + float(etc.split("javascript:viewPoint(")[1].split(",")[6][1:-1])/60 for etc in station_etc_list] |
| |
| | lat = np.array(station_lat_list) |
| |
| | lon = np.array(station_lon_list) |
| |
| | dist = ll2dist(lat0,lon0,lat,lon) |
| |
| | argmin_dist = np.argmin(dist) |
| |
| | station_index = argmin_dist |
| |
| list | station = station_list[station_index] |
| |
| list | station_link = station_link_list[station_index] |
| |
| list | lon_target = station_lon_list[station_index] |
| |
| list | lat_target = station_lat_list[station_index] |
| |
| str | datatype = datatype0 + "_usp.php?" |
| |
| | fig |
| |
| | ax |
| |
| | figsize |
| |
| | s |
| |
| | table = pd.read_html(url) |
| |
| | df = table[1] |
| |
| | collist = df.columns |
| |
| list | varlist = [] |
| |
| | var = df[col].values |
| |
| list | pres = varlist[0] |
| |
| list | z = varlist[1] |
| |
| | time_target = jstdatetime.strftime("%Y-%m-%d %H hrs") |
| |
| | marker |
| |
| str | flabel = f"Sonde_{varnamedic[col].split(' ')[0]}_{time_target.replace(' ','_')}_lon{lon_target}_lat{lat_target}_{station}" |
| |
ゾンデデータ取得・描画
指定した水平地点の近くのゾンデデータを取得し鉛直プロファイルを描画
- Author
- Tomoro Yanase, Team SCALE
- Note