2016-04-21 20 views
0

我有幾千個.nc文件,每個文件都需要修剪以匹配另一組文件的大小(經度/緯度)。我只需要70-90N的數據,但長文件包含全局數據。在longFile1.nc運行ncdump給使用unix中另一個文件的尺寸提取許多netcdf文件的一部分

dimensions: 
    altitude = 40 
    dim = 55890; 
    nv = 2; 

和shortFile1.nc運行ncdump給

dimensions: 
    fakeDim14 = 8111; 
    fakeDim15 = 1; 

longFile1.nc需要被削減,使得在弱光= 8111的短文件尺寸的長度變化每個文件。我知道我需要每個長文件的開始,但每次結束點都會有所不同。

我可以修剪longFile1.nc與

ncks -C -d it,0,8010 -v lat,lon,instant_cloud_phase longFile1.nc -o trimmedLongFile1.nc 

,但我不知道如何爲所有的人都這樣做,特別是因爲每個文件的長度的變化。我還必須從索引0-8010去保持正確的緯度範圍。有沒有辦法從每個短文件讀取第一維,然後在上面的nco命令中爲每個相應的長文件使用它?那個nco命令甚至是做這件事的最好方法嗎?

在此先感謝!

回答

0

使用NCO過濾ncdmnsz,把整個事情在遍歷文件:

for fl in `ls longFile*.nc`; do 
    dmnsz=`ncdmnsz fakeDim14 $fl` 
    ncks -F -d it,,$dmnsz -v ... 
done 

注爲基於1的索引使用-F的。

相關問題