三探ECMWF(+NOAA)——ECMWF3.2
一、ECMWF的数据
from netCDF4 import Dataset
from netCDF4 import num2date
nc_obj = Dataset ( "12.5.nc" )
#取出时间
time=nc_obj['time'][:]
#将时间转化为人类可读时间 datetime.datetime
time1=num2date(time,units=nc_obj['time'].units)
#经度 128.5 12
longitude=nc_obj['longitude'][:]
print(longitude)
[127. 127.125 127.25 127.375 127.5 127.625 127.75 127.875 128.128.125 128.25 128.375 128.5 128.625 128.75 128.875 129. ]
#纬度 45.5 4
latitude=nc_obj['latitude'][:]
print(latitude)
[46. 45.875 45.75 45.625 45.5 45.375 45.25 45.125 45. 44.87544.75 44.625 44.5 44.375 44.25 44.125 44. ]
#取出变量blh 10 metre V wind component(10米V风分量)
v10=nc_obj['v10'][:]
#取出北纬45.5东经128.5的v10数值
a = [0]*124
for i in range(124):a[i]=nc_obj.variables['v10'][i][4][12]
#取出变量10 metre U wind component,(10米U风分量)
u10=nc_obj['u10'][:]
#取出北纬45.5东经128.5的u10数值
b = [0]*124
for i in range(124):b[i]=nc_obj.variables['u10'][i][4][12]
#对v10和u10平方和开平方
c = [0]*124
for i in range(124):c[i]=(a[i]**2+b[i]**2)**0.5
import matplotlib.pyplot as plt
import pandas as pd
plt.rc('font', family='SimHei', size=15) #绘图中的中文显示问题,图表字体为SimHei,字号为15
#plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.figure(figsize=(30,8))
plt.title('ECMWF风速与时间的函数') #有标题(风速与风向的函数)
plt.xlabel('时间') #横坐标的标题
plt.ylabel('风速(m/s)') #纵坐标的标题
plt.grid(color='#95a5a6',linestyle='--',linewidth=3,axis='both',alpha=0.4) #设置网格
plt.plot(time1,c, 'ro',time1,c, 'r')
plt.xticks(pd.date_range('2019-01-01','2019-01-31'))
# plt.xticks(rotation='vertical')
# plt.xticks(rotation=30)
plt.gcf().autofmt_xdate()
plt.savefig('ECMWF.png') #保存图片文件命名为3实测与设计功率曲线对比.png
plt.show()
二、NOAA的数据(梁晨)
from datetime import datetime
import pandas as pd
noaa=pd.read_csv("C:\\Users\\zzh\\Desktop\\ECMWF\\201901.CSV")
201901.CSV该数据存在问题,在用pandas读进来后,USAF变成行号,其他依次往前挪了一列
#取出时间
time2=noaa['WBAN']
# 201901041500,
# 每一个时间如上所示,为2019-01-04,15:00
# 我把分钟数截断,因为所有数据分钟数都是00
new_time=[]
for i in time2:# 201901041500new_time.append((str.split(str(i)[:10]))[0])
new_time2 =[]
for i in new_time:# 201901041500new_time2.append(datetime.strptime(i,'%Y%m%d%H'))
# 隔行选取数据
new_time3 =[]
for i in range(0,247,2):new_time3 .append(new_time2[i])
#取出数据,因为数据串列,风速命名为DIR
DIR=noaa['DIR']
# print(DIR)
#将英里每小时转化为米每秒
# 1英里每小时(mile/h)=0.44704米每秒(m/s)
spd=[]
for i in DIR:spd.append(i*0.44704)
# print(spd)
# 隔行选取数据
spd2 =[]
for i in range(0,247,2):spd2 .append(spd[i])
plt.figure(figsize=(30,8))
plt.title('NOAA风速与时间的函数') #有标题(风速与风向的函数)
plt.xlabel('时间') #横坐标的标题
plt.ylabel('风速(m/s)') #纵坐标的标题
plt.grid(color='#95a5a6',linestyle='--',linewidth=3,axis='both',alpha=0.4) #设置网格
plt.plot(new_time3,spd2, 'go',new_time3,spd2, 'g')
plt.xticks(pd.date_range('2019-01-01','2019-01-31'))
# plt.xticks(rotation='vertical')
# plt.xticks(rotation=30)
plt.gcf().autofmt_xdate()
plt.savefig('NOAA.png') #保存图片文件命名为3实测与设计功率曲线对比.png
plt.show()
三、ECMWF和NOAA对比图
plt.figure(figsize=(30,8))
plt.title('风速与时间的函数') #有标题(风速与风向的函数)
plt.xlabel('时间') #横坐标的标题
plt.ylabel('g风速(m/s)') #纵坐标的标题
plt.grid(color='#95a5a6',linestyle='--',linewidth=3,axis='both',alpha=0.4) #设置网格
plt.plot(time1,c, 'ro',time1,c, 'r',label='ECMWF')#ECMWF
plt.plot(new_time3,spd2, 'go',new_time3,spd2, 'g',label='NOAA')#NOAA
plt.xticks(pd.date_range('2019-01-01','2019-01-31'))
# plt.xticks(rotation='vertical')
# plt.xticks(rotation=30)
plt.gcf().autofmt_xdate()
plt.legend()
plt.savefig('ECMWF和NOAA.png') #保存图片文件命名为3实测与设计功率曲线对比.png
plt.show()
三探ECMWF(+NOAA)——ECMWF3.2相关推荐
- 四站气象对比(ECMWF+NOAA+中国气象网+GFS)——大气数据分析研究
一.ECMWF(方正附近,46,128.75,张志浩) from netCDF4 import Dataset from netCDF4 import num2date nc_obj = Datase ...
- rtthread工业使用_RT-Thread三探--LCD驱动移植(使用GUI Engine)
既网络之后又一个比较重要的功能--GUI 对于RT-Thread使用的GUI我还没有什么概念,本文只是针对LCD驱动部分的移植,并使用GUI运行本身提供的demo样例. 当然还是和ETH一样,在STM ...
- 三探·模块拼装思想(静态链接)
程序设计的模块化是程序员一直追求的目标,因为当一个系统非常复杂的时候,我们就不得不把一个复杂的系统逐步分割成晓得系统以达到各个突破的目的.一个复杂软件的开发过程也如此:首先把每个源代码模块独立地编译, ...
- 三探云原生全景图,这次聊聊运行时层
在<俯瞰云原生,这便是供应层>我们介绍了云原生全景图的最底层:供应层,本文将带大家了解运行时层,这一层包含了容器在云原生环境中运行所需的一切. 作者 | Catherine Paganin ...
- 三探String类型
最近看了李天平老师的<.net深入体验与实战精要>,里面提到了String类型的一些东西,我一开始是看不明的,但是后面通过与李老师 通了email之后,豁然开朗.下面就再一次写写有关Str ...
- 再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类
上次我对C#类与结构体做了一次速度评测(http://blog.csdn.net/zyl910/article/details/6788417).经过一段时间思索,发现还可以进一步探讨-- 第一.栈变 ...
- [乡土民间故事_徐苟三传奇]第四四回_赵员外苕吃假香肠
进了腊月,赵员外家忙得厉害,请徐苟三去帮月工,讲好条件,一件事不会做就扣十天的工钱.苟三心里想:你有七乖,我有八巧,你有歪理,我会瞎搞,到时不光不输,还要为前几年的月工哥们出口气,就满口答应了. 进门 ...
- 游戏技术探讨:LOL新版客户端LCU架构探析
在做LOL竞技场项目(项目总结)的时候,发现WEB页面可以直接调用客户端里面的接口和数据,这使我很好奇,决心花点时间再研究下这个实现的大致原理,拓展一下思路和知识面,也为后续这种内嵌客户端的项目开发积 ...
- C#类与结构体究竟谁快——各种函数调用模式速度评测
以前我一直有个疑惑--在C#中,究竟是类(class)比较快,还是结构体(struct)比较快? 当时没有深究. 最近我遇到一个难题,需要将一些运算大的指针操作代码给封装一下.原先为了性能,这些代码是 ...
最新文章
- 机器学习基础-支持向量机 SVM-17
- FPGA设计者的5项基本功
- 使用Jenkins部署.Net Core遇到的几个坑
- 比__autoload 更灵活的 spl_autoload_register 用法
- weblogic启动失败案例(root启动引起的权限问题)
- 软考初级——操作系统
- Mysql CMAKE编译参数详解
- 树莓派7寸触屏,略贵
- [雪峰磁针石博客]软件测试专家工具包2性能测试
- usb通讯——读《圈圈教你玩usb》
- MacBook Pro(13 英寸,2011 年末)A1278 官方最高支持macOS High Sierra,使用macOS Catalina Patcher成功安装macOS Catalina
- 解决Microsoft Store 下载报错(错误 0x800706D9)
- CentOS 7 - Securing OpenSSH(二)
- 机器学习十大算法实现python代码汇总
- c++:过滤多余的空格
- android x86 mip,mip-appdl
- java wildcard_java泛型 wildcard
- 《图解HTTP》摘录
- 微服务 杜家豪_将“厕所革命”进行到底
- 江苏计算机二级选择题知识点,江苏省计算机二级考试试题及答案
热门文章
- 140227项目开发及上线过程遇到的10个问题(重点: FCK过滤替换)
- 软通动力彭强:以工业互联网全栈服务助推工业企业数字化转型
- Docker搭建Elasticsearch方法及启动后服务自动关闭的问题
- 不能换行 俄语 前端h5_HTML5 Canvas fillText填充文字自动换行(支持中英文混合)...
- 华云数据参与由信标委归口的4项云计算国家标准立项工作
- 用计算机如何换成音乐,win10电脑中怎么将视频转换成音频mp3格式
- 货车刹车失灵坠入百米深谷车成碎片乘客幸存
- 5款精选阿里云大数据课程,9.9元助你踏出大数据行业入门第一步
- QQTIM首页视差滚动效果案例
- 飞桨常规赛:PALM眼底彩照中黄斑中央凹定位-9月第1名方案