将具有多个维度的大型NetCDF子集导入到R

问题描述

在R中打开大型NetCDF文件时,我将提供一些帮助。该文件有5个维度(一个未使用):纬度(1:360),经度(1:720),时间(1:24)和模型(1:324)。有两个变量,但我只对其中一个感兴趣。

我最初尝试使用ncdf4软件包导入整个NetCDF阵列。我之前曾有过一些但有限的经验,但是没有这种大小和尺寸的导入NetCDF文件的经验。 RStudio不断抛出错误,因为所需的阵列大小占用了过多的RAM空间(我认为)。

我实际上只对经纬度在22.5和32.5之间,纬度在7.5和17.5之间的较小地理范围内的数据感兴趣。因此,我尝试导入NetCDF文件的经/纬度子集,但我想我可能难以为子集正确的尺寸。

我最近尝试使用tidync,但也在那里绘制空白。任何帮助将非常感激。该文件的Tidync元数据如下:

Data Source (1): WetCHARTs_full_ensemble.nc4 ...

Grids (7) <dimension family> : <associated variables> 

[1]   D2,D3,D0,D4 : wetland_CH4_emissions    **ACTIVE GRID** ( 2015539200  values per variable)
[2]   D1,D0       : time_bnds
[3]   D0          : time
[4]   D2          : lon
[5]   D3          : lat
[6]   D4          : model
[7]   S           : crs

Dimensions 5 (4 active): 
  
  dim   name  length    min    max start count   dmin   dmax unlim coord_dim 
  <chr> <chr>  <dbl>  <dbl>  <dbl> <int> <int>  <dbl>  <dbl> <lgl> <lgl>     
1 D0    time      24    0.5   23.5     1    24    0.5   23.5 FALSE TRUE      
2 D2    lon      720 -180.   180.      1   720 -180.   180.  FALSE TRUE      
3 D3    lat      360  -89.8   89.8     1   360  -89.8   89.8 FALSE TRUE      
4 D4    model    324 1111   3934       1   324 1111   3934   FALSE TRUE      
  
Inactive dimensions:
  
  dim   name  length   min   max unlim coord_dim 
  <chr> <chr>  <dbl> <dbl> <dbl> <lgl> <lgl>     
1 D1    nv         2     1     2 FALSE FALSE   
# A tibble: 7 x 4
  grid        ndims variables        nvars
  <chr>       <int> <list>           <int>
1 D2,D4     4 <tibble [1 x 1]>     1
2 D1,D0           2 <tibble [1 x 1]>     1
3 S               1 <tibble [1 x 1]>     1
4 D0              1 <tibble [1 x 1]>     1
5 D2              1 <tibble [1 x 1]>     1
6 D3              1 <tibble [1 x 1]>     1
7 D4              1 <tibble [1 x 1]>     1
# A tibble: 7 x 5
     id name                  type      ndims natts
  <int> <chr>                 <chr>     <int> <int>
1     0 time                  NC_DOUBLE     1     4
2     1 time_bnds             NC_INT        2     3
3     2 lon                   NC_DOUBLE     1     3
4     3 lat                   NC_DOUBLE     1     3
5     4 model                 NC_INT        1     7
6     5 wetland_CH4_emissions NC_DOUBLE     4     3
7     6 crs                   NC_CHAR       0     5
# A tibble: 5 x 4
     id name  length unlim
  <int> <chr>  <dbl> <lgl>
1     0 time      24 FALSE
2     1 nv         2 FALSE
3     2 lon      720 FALSE
4     3 lat      360 FALSE
5     4 model    324 FALSE
# A tibble: 7 x 5
     id name                  type      ndims natts
  <int> <chr>                 <chr>     <int> <int>
1     0 time                  NC_DOUBLE     1     4
2     1 time_bnds             NC_INT        2     3
3     2 lon                   NC_DOUBLE     1     3
4     3 lat                   NC_DOUBLE     1     3
5     4 model                 NC_INT        1     7
6     5 wetland_CH4_emissions NC_DOUBLE     4     3
7     6 crs                   NC_CHAR       0     5

感谢您的时间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)