欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

TC气象数据下载包括NCEP的FNL(python脚本)、STI的Best_track、NOAA的SST

程序员文章站 2022-03-19 16:45:04
TC气象数据的下载,首先需要下载每一年的台风的最佳路径数据集,然后根据最佳路径数据集上的台风的时间点,经纬度去NCEP上的FNL数据查找对应时间点,经纬度的环境变量,最后海温的数据从NOAA上下载。1.NCEP的FNL资料下载NCEP/NCAR再分析数据集是由美国气象环境预报中心(NCEP)和美国国家大气研究中心(NCAR)联合制作的,他们采用了当今最先进的全球资料同化系统和完善的数据库,对各种来源(地面、船舶、无线电探空、测风气球、飞机、卫星等)的观测资料进行质量控制和同化处理,获得了一套完整的再分析...

TC气象数据的下载,首先需要下载每一年的台风的最佳路径数据集,然后根据最佳路径数据集上的台风的时间点,经纬度去NCEP上的FNL数据查找对应时间点,经纬度的环境变量,最后海温的数据从NOAA上下载。

1.NCEP的FNL资料下载

NCEP/NCAR再分析数据集是由美国气象环境预报中心(NCEP)和美国国家大气研究中心(NCAR)联合制作的,他们采用了当今最先进的全球资料同化系统和完善的数据库,对各种来源(地面、船舶、无线电探空、测风气球、飞机、卫星等)的观测资料进行质量控制和同化处理,获得了一套完整的再分析资料集,它不仅包含的要素多,范围广,而且延伸的时段长,是一个综合的数据集。
下载的话可以通过python脚本快速实现。但需要先注册一个邮箱账号,代码如下:

import sys, os

import requests

import datetime

def check_file_status(filepath, filesize):

    sys.stdout.write('\r')

    sys.stdout.flush()

    size = int(os.stat(filepath).st_size)

    percent_complete = (size/filesize)*100

    sys.stdout.write('%.3f %s' % (percent_complete, '% Completed'))

    sys.stdout.flush()

url = 'https://rda.ucar.edu/cgi-bin/login'

values = {'email' : '*****', 'passwd' : '******', 'action' : 'login'}

# Authenticate

ret = requests.post(url,data=values)

if ret.status_code != 200:

    print('Bad Authentication')

    print(ret.text)

    exit(1)

dspath = 'http://rda.ucar.edu/data/ds083.2/'

stime = datetime.datetime(2017,1,1)

etime = datetime.datetime(2019,12,31)

shour = ['_00','_06','_12','_18']

filelist=[]

while stime <= etime:

    for j in range(4):

        print ('grib2/'+stime.strftime('%Y')+'/'+stime.strftime('%Y.%m')+'/fnl_'

              +stime.strftime('%Y%m%d') + shour[j] + '_00.grib2')

        filelist.append('grib2/'+stime.strftime('%Y')+'/'+stime.strftime('%Y.%m')+'/fnl_'

              +stime.strftime('%Y%m%d') + shour[j] + '_00.grib2')

    stime = stime + datetime.timedelta(days=1)

for file in filelist:

    filename=dspath+file

    file_base = os.path.basename(file)

    print('Downloading',file_base)

    req = requests.get(filename, cookies = ret.cookies, allow_redirects=True, stream=True)

    filesize = int(req.headers['Content-length'])

    with open(file_base, 'wb') as outfile:

        chunk_size=1048576

        for chunk in req.iter_content(chunk_size=chunk_size):

            outfile.write(chunk)

            if chunk_size < filesize:

                check_file_status(file_base, filesize)

    check_file_status(file_base, filesize)

    print()

本代码需要修改的地方如下:
1.values:更改为自己注册的邮箱账号和密码即可
2.时间:可以直接选择需要下载数据的时间,通过stime和etime修改。
如果不想通过脚本下载,可以参考官方网站https://rda.ucar.edu/datasets/ds083.2/#!access
注:下载的数据为grib2文件,2007年之前为grib文件,2007年以后是grib2文件,如果想在Windows上处理grib2文件转为nc文件可以参考windows上python处理grib2文件

2.Best_track数据下载

中国台风所的最佳路径数据集的官方网站http://tcdata.typhoon.org.cn/zjljsjj_zlhq.html
数据按年份下载,选择你想要的年份,文件为txt文件。
文件数据说明如下:
TC气象数据下载包括NCEP的FNL(python脚本)、STI的Best_track、NOAA的SST![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827155751723.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDA1MjA1NQ==,size_16,color_FFFFFF,t_70#pic_center

3.NOAA下载SST数据

NOAA里面的最优插值OI SST逐月海温资料,加入了海冰数据和卫星数据。NOAA网站AVHRR卫星数据绘图(SST)。数据选用原因:它本身是已经被处理过的全球月平均数据,而且数据精度非常高,对于研究全球SST的气候态特征有较好的说服性。
下载的官方网站https://psl.noaa.gov/data/gridded/data.noaa.oisst.v2.html
TC气象数据下载包括NCEP的FNL(python脚本)、STI的Best_track、NOAA的SST下载的数据为nc文件,python读取nc文件见Windows上python读取nc文件第三节或者参考python处理nc文件的一些例子

本文地址:https://blog.csdn.net/weixin_44052055/article/details/108262388

相关标签: Python