使用 NCO 删除尺寸

问题描述 投票:0回答:1

我使用NCO的ncrename将经度、纬度和valid_time重命名为long、lat和time。这样我就可以通过一个不同的包来运行数据,除了提到的名称(气候指数)。

原版是这样的:

Dimensions: (valid_time: 371, latitude: 212, longitude: 409) Coordinates: number int64 8B ...

valid_time (valid_time) datetime64[ns] 3kB 1994-01-01 ... 2024-11-01
latitude (latitude) float64 2kB 55.4 55.3 55.2 55.1 ... 34.5 34.4 34.3
longitude (longitude) float64 3kB 46.5 46.6 46.7 46.8 ... 87.1 87.2 87.3 expver (valid_time) <U4 6kB ... Data variables: tp (valid_time, latitude, longitude) float32 129MB ...

我使用 ncrename -d latitude,lat -d longitude,lon -d valid_time,time 后,数据如下所示:

Dimensions: (time: 371, lat: 212, lon: 409) Coordinates: number int64 8B ... 
latitude (lat) float64 2kB ... 
longitude (lon) float64 3kB ... expver (time) <U4 6kB ... 
Dimensions without coordinates: time, lat, lon Data variables: valid_time (time) datetime64[ns] 3kB ... tp (time, lat, lon) float32 129MB ...

我也尝试过使用:

ncrename -d latitude,lat -d longitude,lon -d valid_time,time
         -v latitude,lat -v longitude,lon -v valid_time,time
         your_file.nc

也取得了类似的成功。搜索后,我发现 netCDF4 不受支持,或者至少对该功能有缺陷,因此我需要转换为 netCDF3,这对于当前文件来说是不可能的,因为它具有 expver。因此,为了继续,我需要删除 expver,然后在将文件转换为 3,然后再次转换为 4 后,重新引入它?可悲的是我不知道那会如何运作。有人可以帮忙吗?

netcdf netcdf4 nco
1个回答
0
投票

尝试类似...

ncks -C -v expver in.nc expver.nc
ncks -5 -C -x -v expver in.nc in_5.nc
ncrename -d latitude,lat -d longitude,lon -d valid_time,time
         -v latitude,lat -v longitude,lon -v valid_time,time
         in_5.nc
ncks -4 in_5.nc in_4.nc
ncks -A -v expver expver.nc in_4.nc

文档中描述了开关的含义以及更清晰的长选项名称此处

© www.soinside.com 2019 - 2024. All rights reserved.