簡體   English   中英

如何根據維度索引將 NetCDF 文件拆分為多個 NetCDF 文件?

[英]How to split NetCDF file into multiple NetCDF files based on indices of dimension?

我有一個 NetCDF 文件,其中包含一些大小相同的變量。 我正在嘗試根據維度將所有數據保存到不同的 NetCDF 文件中。 例如,NetCDF 文件中的每個變量都有一維數據,稱為“行”,大小為 1000 個數據點。 如何創建三個不同的 NetCDF 文件,將數據分成前 300 個點,然后是 400 個,最后一個是最后 300 個點?

數據類型、變量、變量全名、單位分別如下:

float latitude(row=1000), long_name = "Latitude", units = "degrees_north";
float longitude(row=1000), long_name = "Longitude", units = "degrees_east";
float ve(row=1000), long_name = "Eastward velocity", units = "m/s";
float vn(row=1000), long_name = "Northward velocity", :units = "m/s";
double time(row=1000), long_name = "Time", units = "seconds since 1970-01-01T00:00:00Z";
char ID(row=1000, ID_strlen=8), long_name = "Global Drifter Program Buoy ID";
int WMO(row=1000), long_name = "World Meteorological Organization buoy identification number";
etc...

所有變量的行號都相同。 另請注意,存在不同類型的數據,例如“double”、“char”、“float”和“int”。 output NetCDF 文件中應出現 300、400 和 300 等行值,並且列值應與相應變量的主文件中的值匹配。 其他尺寸和參數不應改變。 是否可以使用 Python 或 CDO 來做到這一點?

您可以根據此答案使用nco根據索引拆分數據:

ncks -d row,1,300 in.nc -O row1_300.nc
ncks -d row,301,700 in.nc -O row301_700.nc

ETC...

ps:小心選擇ncks ,如果你使用浮點值,它會使用維度條目而不是索引進行拆分。 如果行條目只是簡單地計算 1、2、3、4 等,那么這無關緊要,因為索引和值是相同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM