NetCDF:将变量设置为时间常数

时间:2018-11-22 10:25:46

标签: netcdf nco

我正在处理具有以下结构的netCDF文件:

netcdf YYY {
dimensions:
    Time = UNLIMITED ; // (XXX currently)
    lat = XX ;
    lon = XX ;
variables:
    double U_p_500hPa(Time, lat, lon) ;
        U_p_500hPa:units = "m/s" ;
        U_p_500hPa:_FillValue = -9999. ;
        U_p_500hPa:description = "U at 500hPa" ;
        U_p_500hPa:PlotLevelID = "500 hPa" ;
    float XLAT(Time, lat, lon) ;
        XLAT:FieldType = 104 ;
        XLAT:MemoryOrder = "XY " ;
        XLAT:description = "LATITUDE, SOUTH IS NEGATIVE" ;
        XLAT:units = "degree_north" ;
        XLAT:stagger = "" ;
    float XLONG(Time, lat, lon) ;
        XLONG:FieldType = 104 ;
        XLONG:MemoryOrder = "XY " ;
        XLONG:description = "LONGITUDE, WEST IS NEGATIVE" ;
        XLONG:units = "degree_east" ;
        XLONG:stagger = "" ;

事情是XLONG和XLAT实际上并不依赖时间。

因此,我想知道是否有一种方法可以将坐标变量设置为与时间无关,从而获得更轻的文件?

我当时正在考虑使用 nco ,但是我找不到这样做的方法。

在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

阅读手册,以了解以下含义:一种将时间相关变量子集到一个文件中的方法,将时间维度从坐标中平均出来,然后将时间常数坐标附加到文件中。随时间变化的变量。

ncks -v U_p_500hPa in.nc u.nc
ncwa -a Time -v XLAT,XLONG in.nc latlon.nc
ncks -A latlon.nc u.nc