【问题标题】:Combining several NetCDF into a single file with mean values for each dimension将几个 NetCDF 组合成一个文件,每个维度都有平均值
【发布时间】:2020-08-03 08:16:23
【问题描述】:

我有 3 个 NetCDF 文件,其中包含 1981 年至 2010 年间每月平均每日温度范围 (dtr) 的数据。一个文件涵盖 10 年,因此每个像素有 10 x 12 个值(每月 1 个值 x 10年)。可以here下载文件(需要登录)。

我想将所有这些文件合并为一个包含 3 个文件涵盖的整个期间的月平均 dtr 的文件。我们的想法是最终得到每个像素 12 个值(1 个 30 年的月平均值)。

我以前没有使用过 NetCDF 格式的经验,也不太了解它的结构。我尝试了 ncdump 包中的 NetCDF 函数,但我并没有从中学到很多东西……

不幸的是,执行以下操作仅计算 30 年的平均 dtr。

"GIS/Clim/BioClim/dtr/" %>%
  list.files(pattern = "\\.nc$", full.names = TRUE) %>%
  raster::stack() %>% 
  raster::overlay(fun = mean)

这是我从一个文件中的单个像素中提取数据时得到的结果:

library(tidyverse)
library(sf)

p <- tibble(lat = 45.76, lon = -107.12) %>% 
  st_as_sf(coords = c("lon", "lat"), crs = 4326)

raster::stack("GIS/Clim/dtr/cru_dtr-2001_2010.nc") %>% 
  raster::extract(p, df = TRUE)

# X2001.01.16 X2001.02.15 X2001.03.16 X2001.04.16 X2001.05.16 X2001.06.16
# 1        11.1        11.3        10.8    9.900001    9.800000    9.400001
# X2001.07.16 X2001.08.16 X2001.09.16 X2001.10.16 X2001.11.16 X2001.12.16
# 1   10.100000         8.6   10.200000    9.500000         9.5         9.3
# X2002.01.16 X2002.02.15 X2002.03.16 X2002.04.16 X2002.05.16 X2002.06.16
# 1        10.6        10.7        10.3         9.0    9.600000         9.1
# 
# ...                               ...                               ...
# 
# X2010.07.16 X2010.08.16 X2010.09.16 X2010.10.16 X2010.11.16 X2010.12.16
# 1    9.000000         9.0    8.900001    8.800000         8.3         8.3

如何组合这 3 个 NetCDF 文件并计算月平均 dtr 以创建新的 NetCDF?

请注意,Python 解决方案也适用于我。

【问题讨论】:

    标签: r gis raster netcdf


    【解决方案1】:

    由于您没有提供一些简单的示例数据,因此很难回答。但它会是这样的事情

    library(raster)
    filenames <- c("one.nc", "two.nc", "three.nc")
    b <- lapply(filenames, brick)
    s <- stack(b)
    m <- stackApply(s, 1:12, mean)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2018-09-12
      • 2018-10-10
      • 1970-01-01
      • 2015-09-05
      • 2020-12-15
      • 1970-01-01
      相关资源
      最近更新 更多