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

祝大家科研顺利~

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐