Использование ncml для агрегирования файлов netcdf?


У нас есть почасовые выходные данные из модели океана, хранящиеся в серии файлов netcdf, по одному на каждый месяц.

Мы храним первый и последний час месяца в каждом файле. Мы хотели бы агрегировать эти файлы с помощью NcML, но мы не хотим получать повторяющиеся значения времени в агрегации.

Есть ли способ сделать это?

1 2

1 ответ:

В NCML можно использовать NCOORDS, чтобы точно указать количество записей, которые вы хотите использовать. Таким образом, чтобы избежать повторяющихся значений времени, вы можете указать NCOORDS для каждого месяца, чтобы быть на один меньше, чем у вас есть в настоящее время. Таким образом, для невисокосного года ваша агрегация может быть определена следующим образом:

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
    <aggregation dimName="time" type="joinExisting">
        <netcdf location="/Data/wave/2010/Jan/gom01_0001.nc" ncoords="744"/>
        <netcdf location="/Data/wave/2010/Feb/gom01_0001.nc" ncoords="672"/>
        <netcdf location="/Data/wave/2010/Mar/gom01_0001.nc" ncoords="744"/>
        <netcdf location="/Data/wave/2010/Apr/gom01_0001.nc" ncoords="720"/>
        <netcdf location="/Data/wave/2010/May/gom01_0001.nc" ncoords="744"/> 
        <netcdf location="/Data/wave/2010/Jun/gom01_0001.nc" ncoords="720"/>
        <netcdf location="/Data/wave/2010/Jul/gom01_0001.nc" ncoords="744"/>      
        <netcdf location="/Data/wave/2010/Aug/gom01_0001.nc" ncoords="744"/>    
        <netcdf location="/Data/wave/2010/Sep/gom01_0001.nc" ncoords="720"/>
        <netcdf location="/Data/wave/2010/Oct/gom01_0001.nc" ncoords="744"/>
        <netcdf location="/Data/wave/2010/Nov/gom01_0001.nc" ncoords="720"/>
        <netcdf location="/Data/wave/2010/Dec/gom01_0001.nc" ncoords="744"/>
    </aggregation>       
</netcdf>

В високосный год вы бы указали ncoords="696" на февраль.