首页 > 解决方案 > NetCDF:及时将变量设置为常数

问题描述

我正在处理具有以下结构的 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,但我找不到这样做的方法。

提前感谢您的帮助!

标签: netcdfnco

解决方案


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

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

推荐阅读