如何在 netcdf 文件中 reorder/reorganise 变量属性?
How to reorder/reorganise variable attributes in a netcdf file?
我需要移动 'standard_name' 成为 netcdf 文件中所有变量中存在的第一个属性。
我还没有找到正确的命令,但我希望使用 NCO 会相当简单。
如果我 ncdump,这是当前输出:
short heading(time) ;
heading:data_max = 359.88f ;
heading:long_name = "Ship heading" ;
heading:data_min = 0.f ;
heading:units = "degrees" ;
heading:missing_value = 1.e+38f ;
heading:add_offset = 179.94f ;
heading:standard_name = "ship_heading" ;
heading:scale_factor = -0.005491668f ;
short depth(time, depth) ;
depth:positive = "down" ;
depth:long_name = "Depth" ;
depth:data_min = 20.48f ;
depth:units = "meter" ;
depth:missing_value = 1.e+38f ;
depth:data_max = 572.5f ;
depth:standard_name = "depth" ;
depth:add_offset = 296.49f ;
depth:scale_factor = -0.008423671f ;
我需要输出为:
short heading(time) ;
**heading:standard_name = "ship_heading" ;**
heading:data_max = 359.88f ;
heading:long_name = "Ship heading" ;
heading:data_min = 0.f ;
heading:units = "degrees" ;
heading:missing_value = 1.e+38f ;
heading:add_offset = 179.94f ;
heading:scale_factor = -0.005491668f ;
short depth(time, depth) ;
**depth:standard_name = "depth" ;**
depth:positive = "down" ;
depth:long_name = "Depth" ;
depth:data_min = 20.48f ;
depth:units = "meter" ;
depth:missing_value = 1.e+38f ;
depth:data_max = 572.5f ;
depth:add_offset = 296.49f ;
depth:scale_factor = -0.008423671f ;
我同意 standard_name
的理想位置是第一个或第二个属性。这样转储就更清晰了。您需要了解属性是按其创建顺序存储和转储的。 NCO 对 re-arrange 此订单没有任何功能。最好的解决方案是更改数据集编写器,使其在所有其他属性之前创建 standard_name
。或者你可以做一些疯狂的事情,比如使用 ncatted
删除所有属性,然后按你想要的顺序 re-add 它们。
我需要移动 'standard_name' 成为 netcdf 文件中所有变量中存在的第一个属性。
我还没有找到正确的命令,但我希望使用 NCO 会相当简单。
如果我 ncdump,这是当前输出:
short heading(time) ;
heading:data_max = 359.88f ;
heading:long_name = "Ship heading" ;
heading:data_min = 0.f ;
heading:units = "degrees" ;
heading:missing_value = 1.e+38f ;
heading:add_offset = 179.94f ;
heading:standard_name = "ship_heading" ;
heading:scale_factor = -0.005491668f ;
short depth(time, depth) ;
depth:positive = "down" ;
depth:long_name = "Depth" ;
depth:data_min = 20.48f ;
depth:units = "meter" ;
depth:missing_value = 1.e+38f ;
depth:data_max = 572.5f ;
depth:standard_name = "depth" ;
depth:add_offset = 296.49f ;
depth:scale_factor = -0.008423671f ;
我需要输出为:
short heading(time) ;
**heading:standard_name = "ship_heading" ;**
heading:data_max = 359.88f ;
heading:long_name = "Ship heading" ;
heading:data_min = 0.f ;
heading:units = "degrees" ;
heading:missing_value = 1.e+38f ;
heading:add_offset = 179.94f ;
heading:scale_factor = -0.005491668f ;
short depth(time, depth) ;
**depth:standard_name = "depth" ;**
depth:positive = "down" ;
depth:long_name = "Depth" ;
depth:data_min = 20.48f ;
depth:units = "meter" ;
depth:missing_value = 1.e+38f ;
depth:data_max = 572.5f ;
depth:add_offset = 296.49f ;
depth:scale_factor = -0.008423671f ;
我同意 standard_name
的理想位置是第一个或第二个属性。这样转储就更清晰了。您需要了解属性是按其创建顺序存储和转储的。 NCO 对 re-arrange 此订单没有任何功能。最好的解决方案是更改数据集编写器,使其在所有其他属性之前创建 standard_name
。或者你可以做一些疯狂的事情,比如使用 ncatted
删除所有属性,然后按你想要的顺序 re-add 它们。