JTWC的官网还是上不了,但是IBTrACS的数据下载还是没有问题的,本文就跟大家交流一下如何从IBTrACS中提取特定机构和特定条件的热带气旋最佳路径数据。
IBTrACS下载地址https://www.ncei.noaa.gov/products/international-best-track-archive?name=ib-v4-access
为了使用方便,用了函数封装,可以针对自己需要的条件修改
import pandas as pd
# 从ibtracs数据中筛选某个机构的最佳路径数据
def IBTrACS_Select_TS(AGENCY='USA'):
data = pd.read_csv('ibtracs.WP.list.v04r00.csv',low_memory=False) #文件路径自己改
# 选取WP(Western North Pacific)的数据中TS(Tropical),NR(Not Reported),MX(Mixed)的数据(只考虑热带气旋)
data=data[[ i in ['TS','NR','MX'] for i in data['NATURE']]]
# print(data.shape)
# 只留下需要的机构数据columns
data=data[list(filter(None,[i*(i in ['SID','SEASON','NUMBER','NAME','ISO_TIME'] or AGENCY in i) for i in data.columns]))]
# print(data.shape)
# 选取时间是6,12,18,00的数据(统一数据间隔,方便后续计算)
data=data[[i.split(' ')[1].split(':')[0] in ['00','06','12','18'] for i in data['ISO_TIME']]]
# print(data.shape)
# 提取需要的年份,以1980-2020年为例
data=data[[ i in [str(i) for i in range(1980,2021)] for i in data['SEASON']]]
# print(data.shape)
# 选取Wind不为空的数据
data=data[[i != ' ' for i in data[AGENCY+'_WIND']]]
# print(data.shape)
# 去掉数据太少的columns
data=data[list(filter(None,[k*(pd.Series([i != ' ' for i in data[k]]).sum()>100) for k in data.columns]))]
# print(data.shape)
# print(data.columns)
return data
调用函数即可。
JTWC_data=IBTrACS_Select_TS(AGENCY='USA')
CMA_data=IBTrACS_Select_TS(AGENCY='CMA')
JMA_data=IBTrACS_Select_TS(AGENCY='TOKYO')
试着筛选了美国(JTWC)、中国(CMA)和日本(TOKYO)的数据,都没有问题。
因为观测方法和准入标准等不同,数据量会有差别。
本文部分思路参考了JTWC数据下载及处理_小朱小朱绝不认输的博客-CSDN博客_jtwc
祝大家科研顺利~