![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Iris
L.???..
这个作者很懒,什么都没留下…
展开
-
cube数据画柱状图
Iris中居然没有柱状图的例子,也是奇了。网上查画柱状图基本是以列表形式列出所有元素再画图,这对有三个、四个坐标的cube数据太不友好了,尤其是cube有时包含几十个,甚至几百个数据,无法一一列出,参考了matplotlib网站的例子,将cube数据画柱状图的例子补上。import irisimport iris as ipltimport matplotlibe as mplimport matplotlib.pyplot as pltfrom matplotlib.ticker import原创 2020-06-03 02:10:14 · 194 阅读 · 0 评论 -
用iris选取某些月或者某些天数据
模式资料有时几十年打包在一起,如果需要挑出某些月份或者某些日期数据做分析,可以用iris命令取出,比找时间戳再选择日期简单。import iriscube=iris.load_cube('/文件路径/test.nc')# 选择5、6、7、8月数据,如果只取一个月,需去掉中括号sub_cube=cube.extract(iris.Constraint(time=lambda cell:cell.point.month in [5,6,7,8]))# 选择每个月的20日、21日、22日sub_cu原创 2020-06-02 04:33:59 · 226 阅读 · 0 评论 -
含有多个变量的cube合成
有时cube包含多个变量,无法用iris.load_cube加载和slice命令切片再append。可以用iris中的equalise_attributes来代替append命令再合成一个cube。from iris.experimental.equalise_cubes import equalise_attributescube=iris.load('/路径/通用文件名')equalise_attributes(cube)cube=cube.concatenate_cube()注意:需合成原创 2020-05-25 02:31:21 · 168 阅读 · 0 评论 -
利用points计算有效时间
模式cube中包含四个坐标:forecast_reference_time、forecast_period、latitude、longitude,有效时间valid time需要利用forecast_reference_time 和 forecast_period 进行计算。import iris.......# 计算valid time的pointsnewpoints=cube.coord('forecast_reference_time').points+int(period)# 加入时间原创 2020-05-15 03:45:41 · 224 阅读 · 0 评论 -
iris选取特定高度
有些物理量包含多个高度场,若想选取特定高度进行分析计算,用constraint命令。import iris#以选取850hPa数据为例cube_850=cube.extract(iris.Constraint(pressure=850))注:本例中cube高度坐标名为pressure,但是有些数据如ERA5高度坐标名为pressure_level,需要先查看坐标名再取值。...原创 2020-05-15 02:24:35 · 128 阅读 · 0 评论 -
iris根据经纬度选取特定区域
根据经纬度获取特定区域形成新的cube:例如:import iris# Extract the areace=iris.coords.CoordExtent('latitude',10.0,55.0)ce1=iris.coords.CoordExtent('longitude',80.0,140.0)cube=cube.intersection(ce,ce1)原创 2020-05-15 02:17:51 · 297 阅读 · 0 评论 -
iris升级和降级cube坐标
有时需要改变cube的主副坐标以便于下一步计算,先降级主坐标再升级副坐标。import irisiris.util.demote_dim_coord_to_aux_coord(cube,'time')iris.util.promote_aux_coord_to_dim_coord(cube,'new_time')翻译 2020-05-15 02:07:18 · 179 阅读 · 0 评论 -
Duplicate cube的问题
使用iris的merge命令时,有时会出现由于两个或多个cube的坐标完全一样,Python无法区别,因此会认为是同一个cube重复append而无法合并的问题。这时需要在append之后给每个cube加一个index再合并。import iris......all_cubes.append(cube)cube_list=iris.cube.CubeList(all_cubes)for index,cube in enumerate(cube_list): cube.add_aux_coord(原创 2020-05-15 00:36:03 · 117 阅读 · 0 评论 -
Iris开坑(slices和merge)
Iris 开坑 (slices 和 merge)Iris 可用于分析和可视化地球科学数据,功能强大。而我仅仅是因为总是记不住命令,需要写下来方便查找。新手新手新手!先说说我最常用的slice命令。cube 不同于array和list,包括多维坐标,一般包含时间、经度、纬度或其他坐标(模式数据常包含forecast reference time 和 forecast period),slice命令能将加载的多个cube文件根据不同的坐标进行‘切片’处理,slice后的subcubes方便挑选需要的数原创 2020-05-14 01:53:52 · 290 阅读 · 0 评论