问题标签 [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.

0 投票
0 回答
1844 浏览

python - 如何在 Windows 10 中安装气候数据运算符 (CDO),然后在 Python 3.6 中使用它?

我想通过 Python 3.6 在 Windows 10 中使用气候数据运算符 (CDO)。conda install -c conda-forge cdo我已经在 Anaconda Prompt 中安装了 CDO 。然后我在 Jupyter 笔记本中使用 from 调用它cdo import *。但是当我使用时cdo = Cdo(),它会抛出错误。如果有人能指导我在 Windows 10 中安装的 python 3.6 中使用 CDO,那将有很大帮助。以下是错误报告

0 投票
1 回答
446 浏览

python - 从结构化网格到非结构化网格的双线性插值(任意点)

我需要在任意坐标集合上从 240x240 结构化网格中对 hdf4/netcdf4/hdf5 文件的一些空气数据进行双线性插值。我不知道该怎么做。我曾尝试使用pyresample,但这需要目标网格的 AreaDefinition,这在我的非结构化目标数据(任意点)的情况下是不可能的。这是我的代码:

我收到以下错误(这被理解为它需要一个 AreaDefinition 作为目标):

有没有其他方法可以做到这一点?

0 投票
2 回答
594 浏览

bash - 在 NCO 中附加/组合数千 (42000) 个 netCDF 文件的更快方法

我似乎无法正确组合数千个 netCDF 文件(42000+)(对于这个特定的文件夹/变量,大小为 3gb)。我要组合的主要变量具有 (6, 127, 118) 的结构,即 (time,lat,lon) 由于文件数太长,我将每个文件 1 逐 1 附加。

我努力了:

但是这种方法似乎真的很慢(kb / s的顺序,并且随着附加更多文件似乎变得越来越慢)并且还发出警告:

这基本上只是将变量“forecast_period”增加了 1-6 n 倍。n = 42000 个文件。即 [1,2,3,4,5,6,1,2,3,4,5,6......n] 尽管有这个警告,我仍然可以打开文件,并且 ncrcat 会做它应该做的事情,它只是很慢,至少对于这个特定的方法

我也尝试过添加选项:

但这会产生错误:

下面附上完整的错误

如果它有帮助,我在 Windows 10 中使用 wsl 和 ubuntu。我是 bash 的新手,任何评论都将不胜感激。

在此处输入图像描述

0 投票
2 回答
302 浏览

python - GDAL中可能存在的错误?

鉴于此文件:

http://mtarchive.geol.iastate.edu/2019/02/18/mrms/ncep/GaugeCorr_QPE_01H/GaugeCorr_QPE_01H_00.00_20190218-150000.grib2.gz

…根据我使用的软件,我得到不同的输出。

两个输出:

然而:

所有 24,500,000 条记录的输出-3

如果我使用 Python + GDAL 解析文件,我会得到相同的结果。

这是GDAL中的错误吗?我希望能够使用 Python 解析这些文件。


我正在使用 Windows for wgrib2,可以从ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/Windows_7/ 下载

我也在使用 Windows for GDAL,可以从https://gdal.org/download.html下载

我正在使用Linux for cdo,可以从 https://code.mpimet.mpg.de/projects/cdo/下载

0 投票
2 回答
591 浏览

r - 从 4d NetCDF 文件中仅提取底部温度

我有一个用于海洋温度的 NetCDF 文件。它有 1 个变量('temp')和 4 个维度(时间、经度、纬度和深度)。我想仅在每次 lon 和 lat 的最大深度提取温度,以获得海底温度栅格砖。我愿意使用 R,或在终端中使用气候数据运算符。

NetCDF 文件的属性

提前致谢!

0 投票
2 回答
848 浏览

r - 在作为光栅砖导入 R 之前,NetCDF 内坐标的平均变量值?

有没有办法在使用 R 将其转换为光栅砖之前,使用 nco 在给定的纬度/经度坐标列表上平均 NetCDF 文件中的值?这个纬度/经度坐标列表表示一个非矩形区域。

现在,我有一个 .nc 文件,其中包含整个海洋一年的月度温度数据。我有一个描述我的研究区域的纬度/经度值列表。我想在我的纬度/经度列表中的所有坐标中提取每个月的温度平均值。到目前为止,我一直在尝试将 .nc 文件转换为 R 中的 Raster Brick 后执行此操作,但执行此操作需要太多内存。

因此,我想知道是否有一种方法可以在 bash 中使用 nco 代替。

谢谢!

0 投票
3 回答
2665 浏览

bash - 使用 nco 将 NetCDF 中的经度从 0:360 转换为 -180:180

我有两个 NetCDF 文件,每个文件都有不同的年份,我想连接它们。它们似乎具有相同的结构,时间是无限的维度,除了一个,经度的比例是 0:360,另一个是 -180:180。

这个问题解决了如何使用 R 中的 raster 包处理这个问题,但我想使用 nco.

我找到了转换 -180:180-->0:360 的说明(在下面提供),但对语法不够熟悉,无法让我在另一个方向反转说明。

有关我的 NetCDF 文件的详细信息:

这是我在手册中找到的将 -180:180 转换为 0:360 的代码。

在此背景下,可以看到以下命令足以将输入文件旋转 180 度经度:

提前致谢!

0 投票
2 回答
116 浏览

r - 使用 s2dverifications 包中的加载功能时,CDO 库不可用

我正在尝试使用 s2dverification 包使用来自哥白尼的气候数据。该软件包需要在系统中安装 CDO(气候数据操作员)以进行数据操作。我在 cygwing 下的计算机(Windows 10)上安装了 CDO 版本 1.9.5,但是当我尝试加载数据时它失败了。我寻找相关问题,但我一无所获。有任何想法吗?提前致谢

库(s2dverification)sdates <- paste0(1993:2015,'0301')

负载(var="t2m",exp=list(list(path = "D:/Copernicus/seasonal_forecasts/cmcc_1993_2015/daily_mean/t2m/$VAR_NAME$_$START_DATE$.nc")),sdates=sdates,leadtimemax=180 ,storefreq="每日")

  • 您发出的负载调用是:
  • 加载(var =“t2m”,exp = list(list(...)),obs = NULL,sdates = c('19930301','19940301',...,'20150301'),nmember = NULL,leadtimemin = 1,最大交货时间 = 180,
  • latmin = -90, latmax = 90, lonmin = 0, lonmax = 360, output = "areave", grid = NULL, storefreq = "daily", ...)
  • 在 Load() 完成后查看 '$load_parameters' 中的完整调用。
  • 获取第一个实验文件以计算 'var_exp' 大小...
  • 探索维度... D:/Copernicus/seasonal_forecasts/cmcc_1993_2015/daily_mean/t2m/t2m_19930301.nc .LoadDataFile 中的错误(work_piece,explor_dims = TRUE,silent = silent):错误:CDO 库不可用
0 投票
1 回答
2675 浏览

python - 如何在 python 中将变量从一个 netcdf 文件添加到另一个 netcdf 文件?

我正在使用来自 ECMWF 的 ERA-Interim 数据,其中我需要的变量分布在多个文件中。如何将一个文件中的变量添加到现有文件中,以便最终拥有一个包含我需要的所有变量的文件?

到目前为止,我已经尝试了 append()、concatenate() 和 merge 函数,但没有任何效果。

这些是我正在使用的一些数据文件。我将它们加载到python中。

我尝试使用此方法合并两个数据文件,但出现以下错误:

我以前在这里看到过和这里完全一样的代码,所以我不知道为什么会出现语法错误。在 Matlab 中这很容易,因为您可以这样做:

其中 a 和 b 是我要添加到 inp 的 inp2 和 inp3 的变量

我只是想将某些变量从一个文件复制到另一个

0 投票
2 回答
1547 浏览

netcdf - 连接具有不同变量的 netcdf 文件 - 使用 nco

我想使用 连接两组 netcdf 文件nco,每组大约有 30 个文件。

Set 1 包含:经度、纬度、时间和 v。

Set 2 包含:经度、纬度、时间和 u。

我努力了:

但我得到:

收到 97 个文件名时出错;不超过两个

然后我尝试了:

但错误仍然存​​在:

收到 97 个文件名时出错;不超过两个

请你指出我正确的方向,我对此很陌生。

提前致谢。