linux下下载fnl数据,使用python直接提取fnl再分析资料的气象因子数据
前期准备
1、python(我用的3.7.1,其他版本是一样的),需要的python的包:os;
需要的其他东西:wgrib2,下载地址(推荐IE浏览器):可以自行去选择对应的版本
我用的是windows,因此我下载的windows 64下面的。点进去里面东西很多,具体要下哪几个呢?
当然,还有个很简单的方法,你可以先下载这个wgrib2的exe应用程序,然后双击,他会提示你还差什么东西,根据他的提示你一个一个一个安装就可以了。按照他的提示我安装了5个dll文件。你们也可以直接安装这五个就够了。只要你下载了然后点进去不报错就说明成功了。
wgrib2应该怎么用?
进入python编译器里面,导入os包,然后第一步将工作目录调至wgrib2的文件夹里面。因为等会我们会用到他(wgrib2)。
下面的代码是使用这个的一个例子,我们可以看到通过这个程序指向我们的一个文件,执行的操作是-v,这个是将fnl文件里面的东西列条列出来。我把它复制到了文本框里面,就是下面这样:
os.system(r"wgrib2 H:\\fnl_chengdu\\test\\fnl_20170320_06_00.grib2 -v")1
wgrib2还有哪些功能比较好用(可能只是对于我)
通过上面的一个例子应该大家都能知道他的一个大概用法,对于我来说,因为我对于这个的话可能更需要的就是单个数据,因此我推荐的几个功能:
-d 可以定位到上面对应的序号,这里不能活成是层,但是可以当成层来理解。比如上面的1代表的是第一层是风速的一个分量,以此类推。
-csv 这个一看大家应该都知道是干嘛了,可以用它把数据提取到csv文件中。但是每个fnl数据里面包含的数据都是多种的,而我们往往只需要用到里面的一种或者几种数据,因此我们可以告诉他我们需要那一层,因此我们可以加上前面的-d,告诉他是那一层。如下:(后边的对应的是输出路径)
os.system(r"wgrib2 H:\\fnl_chengdu\\test\\fnl_20170320_06_00.grib2 -d 1 -csv H:1.csv")1
-text 输出成文本,其实与上面的csv类似的,但是也需要你指定层。不然数据量会超级大
-match 这个其实比较好用,比如我们要指定层,可以直接告诉他是多少层,用-d,但是也可以通过名字来匹配,比如:(但是注意,这里这里面TMP有很多层的,不同高度对应的都不一样,所以需要更详细点,加上:比如近地层的啊,2m的啊…)
os.system("wgrib2 H:\\fnl_chengdu\\test\\fnl_20170320_06_00.grib2 -match 'TMP' -csv H:1.csv")1
-netcdf 将他转为.nc文件,这时候他就是妥妥的层数据了。这个时候可以再使用python的netcdf包进行进一步的操作。
nc_obj=Dataset('H:\\biyelunwen\\TEM2.nc')
for i in nc_obj.variables.keys(): print(i)1
2
3
就能够得到如下结果,证明他的数据集有四个,一个经度数据,一个纬度数据,一个时间,一个大气顶层的温度数据。(经过尝试,你用wgrib2处理出来的nc文件都自带经纬度)
如何提取我们需要的气象因子出来(提取成nc文件)
import os
os.chdir("E:\\wgrib2")
dir_fnl="H:\\fnl_chengdu\\test\\"
all_file=os.listdir(dir_fnl)
list_name=["TMP","RH","U_wind","V_wind"]
list_floor=["238","239","241","242"]
out_filedir="E:\\气候因子_成都\\"
for file_i in all_file: file_split=os.path.splitext(file_i) if file_split[1] == '.grib2': for i in range(4): out_name1=file_split[0] out_name2=out_name1[4:12] postfix=list_name[i] out_name=postfix+out_name2+".nc" filefold_dir=out_filedir+postfix+"\\" print(filefold_dir) op_dir=dir_fnl+file_i+" -d "+str(int(list_floor[i]))+" -netcdf "\ +filefold_dir+out_name os.system(r"wgrib2 "+op_dir) print(filefold_dir+out_name+" has been done!")
print("All the process has been finished!")1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
此处我要提取四种气象因为,分别位list_name里面的几种。前面的操作是针对名字什么的,然后给他整合到一个语句,最后再使用os模块结合wgrib2进行处理即可。
文章来源: blog.csdn.net,作者:Lf zhang,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/zhanglingfeng1/article/details/113789121
linux下下载fnl数据,使用python直接提取fnl再分析资料的气象因子数据相关推荐
- 在Linux下下载RPM包
在Linux下下载RPM包,但是不安装 在工作中经常会遇到离线安装RPM包的情况,下面是下载RPM包的方法 # 使用yum下载RPM包 yum -y install --downloadonly &l ...
- linux下下载优酷等的视频
linux下下载优酷等的视频 2009年04月26日 星期日 14:31 火狐安装downthemall插件. 然后像平常一样寻找土豆或优酷的视频. 复制地址 打开 www.kisstudou.com ...
- python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...
python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07
- linux下下载fnl数据,python处理FNL数据的grib文件和nc文件(纬度存储的问题)
python处理FNL数据的grib文件和nc文件(纬度存储的问题) python处理FNL数据的grib文件和nc文件(纬度存储的问题) 在使用python处理FNL数据时,2007年及之前的数据存 ...
- 【Python 笔记】Linux 下源码编译安装 python
本文记录在 Linux 上源码编译安装 python 的过程. 文章目录 1. 源码编译安装说明 2. 安装 python2.7 3. 安装 python3.6 1. 源码编译安装说明 安装过程比我想 ...
- Linux下使用crontab命令以及Python脚本实现自动签到
转载:http://www.cnblogs.com/spxcds/p/5375192.html 关于这一部分, 我首先介绍下如何实现使用Python脚本实现签到功能其实,linux下有个命令叫做cur ...
- linux编译redis打包,linux下下载redis,并且编译
1:下载.解压.编译 $ wget http://download.redis.io/releases/redis-3.0.6.tar.gz $ tar xzf redis-3.0.6.tar.gz ...
- python pdfminer linux 版本下载_Python利器 PDFMiner python实现PDF转换TXT(附代码)
PDFMiner其特征有: 1.完全使用python编写.(适用于2.4或更新版本) 2.解析,分析,并转换成PDF文档. 3.PDF-1.7规范的支持.(几乎) 4.中日韩CJK语言和垂直书写脚本支 ...
- linux 访问共享内存,Linux下的共享内存(03)---通过指针访问共享内存中的数据...
环境:Vmware Workstation:CentOS-6.4-x86_64 说明: 1.将共享内存挂载至进程:void *shmat(int shmid, const void *shmadd ...
最新文章
- ES索引模板——就是在新建索引时候指定的正则匹配来设置mapping而已,对于自动扩容有用...
- IOS开发基础知识--碎片32
- ExtJs Ext.TaskMgr定时刷新数据源
- eclipse对maven项目进行打war包
- 【转】Thunderbird中配置签名
- AngularJS之watch
- 个人对响应式布局的理解
- 如何判断字符串已经被url编码_如何判断回文数?不要再将整数转为字符串来解决这个问题了...
- java 文件中查找指定的单词,查找指定文本文件中的单词数的Java程序
- 【guava】大数据量下的集合过滤—Bloom Filter
- 特征做得好,模型没烦恼
- tornado SQLAlchemy
- 如何在Mac电脑上更改地区或国家位置设定?
- 基于STM32的DMX512开发
- 基于RTMP的视频采集上报播放预警方案设计与实现
- 在线制作安卓手机主题
- 睡觉计算机主机在身旁好么,笔记本电脑的睡眠和休眠之间有什么区别
- Hot and cold pages
- 华哥倒酒(二分答案)
- php中的m方法的区别吗,php中的M方法