- 积分
- 2005
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-4-7
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近在做EOF分析,原始脚本是参考了——python做EOF并绘制前3个特征向量和时间序列http://bbs.06climate.com/forum.p ... 1&fromuid=69428(出处: 气象家园)
谢谢这位大佬的分享,学到了很多!
但我要处理的数据是四维(time,level,longitude,latitude)的风场,涉及到固定一个level的问题,而参考脚本是三维的,本是个小问题,但对于python的初学者(就是我),还不是很清楚。这里我把修改后的脚本附在这里,并加了一些必要的说明。
- import netCDF4
- import matplotlib.pyplot as plt
- import numpy as np
- from mpl_toolkits.basemap import Basemap
- from eofs.standard import Eof
- # read uwind
- nc_obj = netCDF4.Dataset('D:\\wind_u_v\\ERA\\v.mon.mean.1958.2016.nc', 'r')
- print(nc_obj.variables.keys())
- lon = nc_obj.variables['longitude'][:]
- lat = nc_obj.variables['latitude'][:]
- time = nc_obj.variables['time'][:]
- level = nc_obj.variables['level'][:]
- v = nc_obj.variables['v'][:, 2, :, :] # 重点就是这里啦,我要研究850hPa,而level = 850hPa是位于’level‘的第三个位置,所以index是2
- nc_obj.close()
- # 截取研究区域和时段u风数据
- lat_bounds = [-5, 30]
- lon_bounds = [100, 130]
- # latitude lower and upper index
复制代码
但其实现在mv-eof分析更有意义,而且地图处理的话也时兴用cartopy,所以下一步准备向这方面靠拢,做出来了再给大家分享。
这里附加一下mv-eof的官方说明网址。https://ajdawson.github.io/eofs/userguide/multivariate.html
|
|