问题标签 [ncdf4]

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 回答
249 浏览

r - 如何在 R 中将 NetCDF 文件“NDVI NOAA AVHRR”读取为栅格?

我想用 R 显示 NDVI 参数,然后在每个区域中提取该参数的值。

我的文件是在以下链接下下载的 NetCDF (.nc) 格式:https ://www.ncei.noaa.gov/data/avhrr-land-normalized-difference-vegetation-index/access/1981/

所以我使用以下代码中的两个包“raster”和“ncdf4”在R下将第一个文件导入为“AVHRR-Land_v005_AVH13C1_NOAA-07_19810624_c20170610041337.nc”:

但是当应用我的程序时,我得到了这个错误:

我从下面的代码中选择变量的名称(“NDVI”)。我认为问题在于坐标系的格式!

你有解决这个问题的办法吗!

先感谢您

我的 R 版本和我的系统 PC:

编辑

谢谢罗伯特·希曼斯的回答(下面的回答)。

我更新了软件包(更新某些软件包时出现错误消息)

并应用了你的代码,但我仍然得到同样的错误。

0 投票
1 回答
85 浏览

r - 如何从二进制文件中提取数据作为栅格

我有二进制文件,它的控制文件在图Control File中提供。我想将经纬度的雨提取为r中的栅格。有人可以帮忙吗?

输出为

0 投票
0 回答
109 浏览

r - 在 R 中包括“levelplot”上的地图?

我正在尝试在带有纬度和经度坐标的水平图顶部包含海岸线地图,可能还有国家边界。

到目前为止,我对 levelplot 的代码是:

我得到的图像是这样的:

在此处输入图像描述

我怎样才能在情节中包含地图?

更新:我想要地块上位于 37°-31°N 和 34°-31°E 之间的地球切片。 只有海岸线和国家边界,所以您仍然可以看到颜色阴影。

谢谢你。

0 投票
0 回答
74 浏览

r - 为什么我得到错误 $ operator is invalid without using $ in my code (in R)?

我正在从 netcdf 文件创建一个数组,并且在 for 循环开始时不断收到此错误:错误:$ 运算符对原子向量无效。

这是我的代码:

我没有使用 $ 运算符,所以我不太了解错误。

0 投票
1 回答
186 浏览

r - 使用 R 从 NetCDF4 文件访问大型数据集

我正在尝试在项目中使用此文件(MOD13.A2010.unaccum.nc4)中的数据。我已经安装并加载了 ncdf4、raster、ggplot2 和 viridis 库。我使用以下方法成功打开文件:

并且可以通过突出显示 mcd_file 并单击 RUN 按钮并使用以下命令访问 mcd_file 的属性:

这表明 mcd_file 有 5 个变量,time_bnds 是第二个变量,数据集 NDVI 作为第三个变量。

我可以使用以下方法访问有关 time_bns 变量的正确信息:

但是当我尝试这个时:

我收到一条错误消息,内容如下:

错误:无法分配大小为 49.5 Gb 的向量

我查看了错误消息的含义,这意味着我没有足够的 RAM 来保存 NDVI 中的所有信息,但是我不知道有谁拥有超过 49.5 Gb 的 RAM。然而,人们确实使用 R 分析此文件,因此 NDVI 中的信息应该可以使用 R 以某种方式访问​​。

我知道光栅库中的光栅对象可用于访问太大而无法放入 RAM 的文件中的数据。但是我不知道如何从原始文件中提取 NDVI 中的信息,因此我可以将其写入文件而无需原始文件中的其他信息,这样我就可以使用光栅对象来访问它。这个:

创建一个名为 NDVI 的文件,但它是空的。

这个:

生成此错误消息:

错误:无法分配大小为 49.5 Gb 的向量

谁能帮我吗?

0 投票
0 回答
331 浏览

r - R:将 excel 电子表格转换为 netCDF,初学者

我对 R (和堆栈溢出)完全陌生,并且有以下问题。我有一个包含环境变量的 excel 电子表格,我需要将其转换为 netCDF 文件 (.nc)。我在 R 上找到了手册,但无法实施。有没有人知道一个好的分步指南的来源或能够帮助我?

到目前为止,我已经设法做到以下几点

我正在努力将数据(对于 O18(氧同位素,excel 文件中的一列))从 excel 文件中获取到这个新的 .nc 文件中。我知道我需要ncvar_put,但我不明白它需要什么或做什么。

excel表格中的数据格式如下:

当然,有值,但我只对 O18 和日期列感兴趣。

0 投票
1 回答
78 浏览

r - 在 R 中循环遍历 nc 文件

大家早上好,我目前正在使用 Antonio Olinto Avila-da-Silva 在此链接上编写的代码:https ://oceancolor.gsfc.nasa.gov/forum/oceancolor/topic_show.pl?tid=5954 它允许我从 nc 文件中提取 sst/chlor_a 类型的数据。它使用一个循环来创建一个包含所有数据的 excel 文件。不幸的是,我注意到该函数只获取循环中的第一个数据文件。因此,我发现自己在我的 excel 文件中连续有 20 倍相同的数据。有没有人有办法让这个循环正常工作?

0 投票
1 回答
78 浏览

r - R 内存管理:获取大 RasterFile 的值提示错误:无法分配大小为 n GB 的向量

我知道周围有类似的问题和问题,但我的问题非常具体。

我正在使用 30 角秒分辨率的 WorldClim 和 Chelsa 气候数据集。在此过程中,我想将特定数据集放入 ncdf4 文件中。在此过程中,必须将数据转换为要转换为矩阵的向量。然后将该矩阵反转并最终转置。然后将输出数据转换为一个数组,稍后将其放入 ncdf 文件中。

我的示例代码如下所示。

在从光栅文件中提取值的过程中,该错误发生在values()-function 处。

如其他问题中建议的那样设置更高的内存限制不起作用,并且添加更多 RAM 不是一种选择。

有人建议解决此问题的解决方法或更简单的方法吗?

sessionInfo()的是

R 版本 4.0.2 (2020-06-22)

平台:x86_64-w64-mingw32/x64(64位)

运行于:Windows 10 x64(内部版本 18363)

配备 12 GB 内存 ( memory.limit()--> 11984)

感谢您的时间!

0 投票
1 回答
124 浏览

raster - 如何从 netcdf 文件中获取日期和深度并合并到数据框中?

我从https://www.nodc.noaa.gov/cgi-bin/OC5/woa18/woa18.pl下载了温度数据

我在 R 中打开它。我正在尝试创建一个数据框Temp,其中所有温度、深度和日期信息都合并到一个数据框中。

我可以在单个时间点执行此操作,在该时间点depth_Temp <- data.frame(Temp_Jan@z)按深度获取温度

是否可以从一月到五月获取深度和日期并将它们合并在一起?

我也单独导入每个文件Temp_Jan <- brick("woa18_decav_t01_01.nc", stopIfNotEqualSpaced = FALSE, varname = "t_an", lvar=4)。是否可以使用一行代码导入所有文件,或者单独执行它们是否更安全/更容易?

0 投票
0 回答
47 浏览

r - 如何在 R 中处理 netCDF 数据,以便从月度数据中找到年平均温度?

我正在尝试处理一些气候数据。我有一个 .nc 文件,其中包含从 01-850 到 12-1049 的每个月的纬度、经度、时间和表面温度的数据。我需要将这些月度数据转换为年度数据,并找到每个纬度、经度的年平均温度。