问题标签 [python-iris]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

python-2.7 - 重新网格化?CRU Python Iris 中观察到的数据和 CORDEX 数据

我正在尝试将来自 CORDEX 的模拟气候模型数据与来自 CRU 4.00 的观测数据进行比较。我在运行 iris 的 Python 中执行此操作。我已经设法让我所有的气候模型运行起来,但观察到的数据不会。我怀疑这是因为模型数据位于具有 x/y 轴和 0.44 度分辨率的旋转极网格中,而观察到的数据位于线性网格和 0.5 度分辨率上。

为了使它们具有可比性,我认为我需要重新设置它们,但我对如何做到这一点有点困惑,而且 iris 用户指南让我更加困惑......我对此比较陌生!

这是创建显示一个模型输出和 CRU 数据的折线图的简化代码:

这是我得到的错误:

谢谢!

0 投票
2 回答
305 浏览

python - Python iris NetCDF 时间出错了

昨天和今天之间似乎出了点问题。我想知道您是否可以提供帮助?这都是使用 iris 运行 Python。

基本上当我昨天运行我的代码时,我在这里得到了第一个图表,但今天我得到了第二个: 在此处输入图像描述 在此处输入图像描述

如果我只运行其中一个 CORDEX 模型(蓝线)和一个观察到的数据(黑色),您可以看到它们都运行,但 cordex 模型似乎随着时间的推移发生了一些有趣的事情。 在此处输入图像描述 在此处输入图像描述

所以我打印了每个我得到的 CORDEX 模型的时间坐标

我为观察到的数据得到了这个:

所以我有点困惑为什么它昨天有效但今天无效。你觉得你能帮上忙吗?

这是我正在运行的代码的简化版本

谢谢!埃里卡

0 投票
1 回答
817 浏览

python - Python Iris 设置 X 轴限制和刻度

我正在沿 x 轴创建带有年份或月份的折线图。

以下是月线图的简化代码:

这会产生一个如下所示的图:在此处输入图像描述

如何更改刻度线以显示所有月份名称?我还希望图表在 12 月完成(之后没有空格)。

同样,对于年度折线图,以下是简化代码:

这产生了这个图: 在此处输入图像描述

如您所见,我将数据从 1989 年限制到 2008 年,但轴从 1985 年到 2010 年,我怎样才能使这个更紧密?

谢谢!

0 投票
3 回答
551 浏览

python - Python Matplotlib 两个 NetCDF 数据集之间的差异

我正在尝试绘制一组地理区域内气候模拟数据和观测数据之间的差异。

要创建仅气候模拟的地图,我正在使用此代码

我该如何修改它以区分两个数据集?我试过这段代码:

但是,这给了我以下错误:

我很确定这不会那么简单,但我不知道如何解决它。有任何想法吗?蒂亚!

0 投票
1 回答
932 浏览

python - plt.fill_between 在 python 中不起作用

我在 python 中使用以下代码(iris、numpy 和 matplotlib)(其中 CCCma、CRU 和 UDel 都是预定义的多维数据集):

这创建了这个漂亮的图表 在此处输入图像描述

我想做的是填充两个观察到的数据集之间的区域(阴影)。我试图添加此代码:

但是当我这样做时,没有添加填充,图例消失了,并且出现了这个错误:

任何想法如何解决这一问题?

0 投票
1 回答
502 浏览

python - Python Iris 绘制平均 NetCDF 数据

我正在尝试绘制一些 NetCDF 文件的输出以及所有这些文件的平均值。我已经成功地绘制了 NetCDF 文件本身,如下所示(其中 CCCmaYR_mean、CLMcomYR_mean、DMIYR_mean、KNMIYR_mean、MPIYR_mean、SMHIYR_mean、CRUYR_mean 和 UDelYR_mean 都是预定义的 NetCDF 文件)

这给了我下图: 在此处输入图像描述

为了创建平均值,我添加了以下代码:

然后在上面显示的其他 qplot.plot 代码中包含以下内容。

这给了我以下错误:

我也尝试如下定义AverageX:

这给出了这个错误:

我确定我在做一些非常愚蠢的事情,但是有人可以告诉我它是什么!?

0 投票
2 回答
1218 浏览

python-iris - 将立方体变成数据点列表和 x、y 和 z 列表

这有点远,但我想在自己写这篇文章之前先在这里问一下。

我有一个带有 lon、lat 和 height 坐标的 3D 数据立方体。我想要所有点的数据的 4 个 1D 向量,经度、纬度、高度和数据。这样我就可以将其作为包含位置的点列表写入 ASCII 文件。通过重塑对数据执行此操作很容易,但更棘手的部分是将坐标转换为正确的向量。

有没有人已经这样做并有一些提示?

0 投票
1 回答
1939 浏览

python-2.7 - Python Matplotlib 创建自定义色标

我根据 NetCDF 文件中的降水数据创建了一个地区降水水平的地图。我想添加一个自定义比例,如果降水量小于 800 毫米,它将是一种颜色,800-1000 毫米是另一种颜色,等等。类似于此处找到的地图:http://www.metmalawi.com/climate/climate。 php

目前我正在使用渐变比例,但它没有显示我需要的细节。这是目前绘图的代码(其中“平均”是我已经格式化的数据)。

有谁知道我该怎么做?

谢谢!

0 投票
2 回答
1536 浏览

python-2.7 - python iris中的时间变量单位“day as %Y%m%d.%f”

0 投票
2 回答
7490 浏览

python - Python:使用多边形在给定的二维网格上创建蒙版

我有一些多边形(加拿大省份),使用 读取GeoPandas,并希望使用这些创建一个掩码,以应用于二维纬度-经度网格上的网格数据(使用从netcdf文件读取iris)。最终目标是只保留给定省份的数据,其余数据被屏蔽掉。因此,对于省内的网格框,掩码将为 1,而对于省外的网格框,掩码将为 0 或 NaN。


可以从此处的 shapefile 获取多边形: https ://www.dropbox.com/s/o5elu01fetwnobx/CAN_adm1.shp?dl=0

我使用的 netcdf 文件可以在这里下载: https ://www.dropbox.com/s/kxb2v2rq17m7lp7/t2m.20090815.nc?dl=0


我想这里有两种方法,但我都在苦苦挣扎:

1)使用多边形在经纬度网格上创建一个掩码,以便可以将其应用于python之外的大量数据文件(首选)

2)使用多边形对已读入的数据进行屏蔽,只提取感兴趣省内的数据,进行交互处理。

到目前为止我的代码:

非常感谢任何帮助或建议。


更新:按照下面@DPeterK 的出色解决方案,我的原始数据可以被屏蔽,给出以下内容:

使用加拿大各省的 shapefile 掩码的 netcdf 文件中的温度数据