NetCDF:及时将变量设置为常量
NetCDF : set variable as constant in time
我正在处理具有以下结构的 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 但我找不到这样做的方法。
在此先感谢您的帮助!
阅读手册找到以下含义,一种将时间相关变量子集放入一个文件中,对坐标中的时间维度进行平均,然后将时间常数坐标追加回文件中的方法随时间变化的变量。
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
我正在处理具有以下结构的 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 但我找不到这样做的方法。
在此先感谢您的帮助!
阅读手册找到以下含义,一种将时间相关变量子集放入一个文件中,对坐标中的时间维度进行平均,然后将时间常数坐标追加回文件中的方法随时间变化的变量。
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