【发布时间】:2021-01-06 20:49:52
【问题描述】:
我有 34 个 netCDF (nc) 文件,其中包含纬度、经度和每个文件中的数据。每个文件名都包含一个对应于 hPa 压力级别的数字(从 1 到 34 开始,对应的压力级别从(1000 hPa 到 0.4 hPa)。我想将所有文件加入到一个具有此垂直级别尺寸信息的单个 nc 文件中。
我尝试使用 xarray open_mfdataset 读取整个文件,但我无法使用级别维度 con_cat,因为它不在文件中。
import xarray as xr
ds = xr.open_mfdataset('/media/MediaCentre/Dataset/d9/data*.nc',concat_dim='level')
这些文件在全局属性中没有关于压力的任何信息。它们依次是名称:data1.nc、data2.nc、... dataN.nc,并对应于以下压力水平 (hPa): 1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 *250 200 150 100 70 50 40 30 20 15 10 7 5 3 2 1 0.4
如何使用 python xarray 或 cdo/nco 将它们合并在一起?
样本数据在这里https://www.dropbox.com/sh/linfn0721ze3j1f/AACwxTsQVNyiE7mF_gRbpRfra?dl=0
【问题讨论】:
-
请问,文件本身没有记录压力等级的数据条目(维度、变量或全局属性)吗?即想从文件名中获取压力并在合并文件中添加一个新维度?
-
@AdrianTompkins 是的,该文件不包含压力级别信息,它只包含纬度、经度和数据。但它在文件名中给出了压力水平信息(比如1代表表面水平1000 hPa,2代表975 hPa这样的)。
-
ps:从您对 Robert Wiilson 的回复来看,您似乎并没有依赖于 python 解决方案,但很高兴有一个 nco/cdo 替代方案。如果是这样,我可能会编辑问题以反映这一点,因为当使用指定的某种语言提出问题时,有些人会投反对票,然后人们会用另一种语言上传答案。
-
@AdrianTompkins 非常感谢您的建议和编辑。谢谢。
标签: python netcdf python-xarray nco cdo-climate