【问题标题】:converting 4 dimensional variable to 3 dimensional variable netcdf将 4 维变量转换为 3 维变量 netcdf
【发布时间】:2021-01-04 23:23:34
【问题描述】:

我有一个 netcdf 数据文件,下面的 ncdump sn-p 中显示了以下变量:

netcdf elev.0.5-deg {
dimensions:
    lat = 360 ;
    lon = 720 ;
    time = UNLIMITED ; // (1 currently)
variables:
    float lat(lat) ;
        lat:title = "Latitude" ;
        lat:units = "degrees_north" ;
        lat:scale_factor = 1.f ;
        lat:add_offset = 0.f ;
    float lon(lon) ;
        lon:title = "Longitude" ;
        lon:units = "degrees_east" ;
        lon:scale_factor = 1.f ;
        lon:add_offset = 0.f ;
    double time(time) ;
        time:title = "Time" ;
        time:units = "hours since 1-1-1 0:0:0" ;
        time:scale_factor = 1.f ;
        time:add_offset = 0.f ;
    short data(time, lat, lon) ;
        data:long_name = "meters, from 5-min data" ;
        data:add_offset = 0.f ;
        data:scale_factor = 1.f ;
        data:missing_value = 32767s ;
        data:units = "meters, from 5-min data" ;

我正在尝试从该文件中消除时间坐标变量,以获得 3 维 netcdf 数据文件。基本上是第一次在 netcdf 文件中获取数据值,仅此而已。我试图用 ncks 来实现这一点,这是他们在进行谷歌搜索时应该做的。我用 ncks 尝试了以下命令:

  ncks -x -v time elev.0.5-deg.nc test.nc

但我无法删除时间维度。我应该如何调整此命令以获得仅显示初始时间步的数据并且在 test.nc 中只有维度 lat 和 lon 的所需结果?

【问题讨论】:

    标签: variables time latitude-longitude netcdf dimensions


    【解决方案1】:

    使用ncwa

    ncwa -a time in.nc out.nc
    

    【讨论】:

      【解决方案2】:

      您应该能够使用 CDO 做到这一点:

       cdo --reduce_dim -copy elev.0.5-deg.nc test.nc
      

      【讨论】:

      • 在这种情况下,文件可能不符合 CF 标准
      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      相关资源
      最近更新 更多