下载指定时间段NCEP-R1数据

这篇文章一开始写在2019年6月19日,今天(勉强)实现当时扑街了的python做法,修整一下补个档!

文件存放在GitHub:仓库地址戳我


Bash脚本实现

os模块相关:链接

os模块下的基本文件查询等:链接

wget的用法:linux wget 命令用法详解(附实例说明)

NCEP/NCAR Reanalysis 1:按pressure分层

Shell中判断文件,目录是否存在


好的以上内容都是为了写一个【自动下载数据】的脚本

脚本主要功能是下载指定时间段、指定变量数据,并按变量分类存放

仅下载指定时间主要是为了方便使用cdo

(所以也可以在脚本最后直接加上cdo指令)

脚本主要问题是不会检测已存在的文件下载是否完整。脚本运行期间文件的完整性会由wget的断点续传保证,但如果脚本运行中断,下一次运行前需要手动检查上次的最后一个文件是否被完整下载,若没有完整下好,建议删掉最后一个文件后再重新运行脚本。

当然我是把它提交到服务器后台去运行,不需要担心这种情况了哈哈哈哈哈哈

脚本如下!

00_download_ncep1.sh


Python脚本实现(2020 update)

因为NCEP这个数据是存储在一个ftp服务器上的,所以使用了ftplib来做这个下载。

服务器是匿名登陆的,主要目的也是实现只下载指定期间的数据并按变量存放。但是对于偶尔也会出现的“同一个目录下放了同一种变量的两种数据”的情况,暂时还没有考虑,也暂时不会检查文件是否已经存在or是否完整。另外还想过要增加进度条,目前还没整明白怎么搞。

参考文档:

没参考得上的文档:

00_download_ncep1.py

本来是想传代码上来的,但是还没搞明白怎么用highlight.js做高亮,万一高亮太丑那还不如不高亮了哈哈哈哈哈!等搞明白再来更新!