问题标签 [cdo-climate]
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.
matlab - 如何计算每个网格单元的面积?
我有空气温度的网格数据,空间分辨率为 1.25 x 1.25 度(经度纬度)。数据覆盖北半球,第一纬度为90度。
我需要计算每个网格单元的面积,我的方法是从纬度带上计算。
另一种方法是直接从 netCDF 文件中读取每个网格单元的区域。这在 MATLAB 中可能吗?
这是我尝试过的代码;我不确定这是否正确。
r - 如何在 R 中分别合并 netcdf 文件?
我是 R 的用户,希望得到以下帮助:我有两个 netcdf 文件(每个尺寸为 30x30x365),还有一个为 30x30x366。这 3 个文件包含一年的每日数据,其中最后一个维度是指时间维度。我想分别组合它们,即我希望输出文件包含 30x30x1096。
注意:我看到了一个类似的问题,但输出结果是我不想要的平均值(即 30x30x3)。
r - 从 GRIB 文件中获取特定位置的数据
我想使用 R 从 ECMWF 提供的 GRIB 文件中提取特定位置的数据。
目前,我能够获取数据并将其导出到 .csv,但位置似乎错误。我正在尝试为爱尔兰南部(纬度/经度约 50/-8)购买它。
当我在 ArcGIS 中读取 GRIB 文件时,从 R 中提取的数据与在 GIS 中看到的数据不匹配,所以我认为我的坐标有问题。
cdo-climate - 如何使用 ncl、cdo 或 nco 及时分解累积的 netcdf 变量?
我有一个全年累积降水的 3D nc 变量 PP = (time, lat, lon),我想计算每日值。
我想在示例中做一些链接,但找不到任何示例。
我试图做一个循环,其中减法应该在 [index+1] 减去值 [index] 的值之间(如下所示)
但这种方式会产生错误。
我需要每天的值,并且只将累积的降水量作为输入信息,并认为这样的循环应该是最好的方法。
如何从变量中进行计算???
我正在合作,ncl
但如果你有cdo
或有nco
提议,欢迎他们。
python-3.x - 如何使用全年的小时数据计算每天的总降水量?
我有来自 ERA5 在特定年份的每一天的每小时数据。我想将该数据从每小时转换为每天。我知道做到这一点的漫长而艰难的方法,但我需要一些容易做到的东西。
哥白尼在这里有一个代码https://confluence.ecmwf.int/display/CKB/ERA5%3A+How+to+calculate+daily+total+precipitation,如果数据集只转换一天,它工作正常,但是在全年转换时,我遇到了问题。
下载 ERA5 数据集的链接可在https://cds.climate.copernicus.eu/cdsapp#!/home获得
按照此处的步骤使用哥白尼服务器
https://confluence.ecmwf.int/display/CKB/How+to+download+ERA5
此脚本仅下载 2 天(2017 年 1 月 1 日和 2 日)的 houly 数据: 下面的脚本将只创建一个 netCDF 文件一天我想要的是一个代码,它将遵循与上述数据相同的步骤,但假设我有一个包含一年数据的输入文件并将其转换为一年的每日数据。
结果应该是全年计算变量(如降水等)的每日值。
示例:假设我有一个全年的降水数据,每天 1 毫米/小时,我将有 2928 个全年的值。
我想要的是全年 24 毫米/天,非闰年只有 365 个值。
输入数据集示例:可以从此处下载数据的子集(2017 年 1 月 1 日和 2 日)https://www.dropbox.com/sh/0vdfn20p355st3i/AABKYO4do_raGHC34VnsXGPqa?dl=0。只需在此之后使用第二个脚本来检查代码。{全年代码>10GB,无法上传
提前致谢
python-3.x - 更改 netCDF 文件的网格大小
假设我有 2 个 netCDF 数据文件,其中包含同一地区(如南美、非洲等)的数据,但网格大小不同,分别为 0.5 度 x 0.5 度和 1.0 度 x 1.0 度。我想将其网格大小增加或减少到不同的值,例如 0.25 x 0.25 或 1.0 x 1.0,以便我可以轻松地将其用于栅格计算和比较等。
有没有一种方法可以使用任何 bash 脚本、CDO 等来执行此操作?
样本数据可以从这里下载。https://www.dropbox.com/sh/0vdfn20p355st3i/AABKYO4do_raGHC34VnsXGPqa?dl
是否可以采用不同的方法,例如双线性插值或三次插值?使用 ArcGIS 和其他软件很容易做到这一点,但是对于具有大型数据集的大型 netCDF 文件,有没有办法做到这一点。假设这只是数据的一个子集。我稍后将转换的是一整套年度数据。
结果文件应该是一个 .nc 文件,其网格大小由用户定义。
netcdf - 使用 ncrcat 连接许多 netcdf 文件时如何识别每个原始文件?
我正在连接 1000 个 nc 文件(模拟的输出),以便我在 Matlab 中更轻松地处理它们。为此,我使用 ncrcat。文件有不同的大小,文件之间的时间变量不是唯一的。连接效果很好,让我可以比单独读取文件更快地将数据读入 Matlab。但是,我希望能够识别每个数据点源自的原始 nc 文件。例如,是否可以将源文件名添加为额外变量,以便我可以追溯数据?
dataset - 使用 CDO 仅提取特定区域的数据集
我想使用“cdo”在南美洲使用另一个 NetCDF 从降水 NetCDF 数据集中提取数据。我尝试了多个程序,但总是遇到一些错误(例如网格大小不同、不支持的通用坐标等)。
我试过的代码:
mask - 如何使用 CDO 在 NetCDF 文件上应用海面罩
假设我制作了一个netCDF
文件,其中有很多零。我想对数据应用一个海面掩码,这样只有海中的区域被真正掩蔽,而陆地上的数据被保留。
我拥有的数据在陆地上有很多零(这是正确的),但在海里也有很多零(这是不正确的)。
我本可以使用cdo setmissval,nan input.nc output.nc
,但这也会将土地上的价值更改为NaN
.
有人对此有任何(好的)解决方案吗?
netcdf - 如何将 2 个单独的 netcdf 文件合并为 1 个并添加时间维度
我有两个格陵兰冰盖速度的 NetCDF 文件,一个来自 2015 年,一个来自 2016 年。这些文件包含网格数据,其中速度用 x,y 坐标绘制。但是,不包括时间维度。如何将这两个文件合并为 1,其中最终文件具有时间维度?因此,我想要一个 x,y,z,t 数据结构,而不是两个单独的 x,y,z 网格,其中时间 = 2。
谢谢!