Мне нужно переместить '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 ;
@ Адриан Томпкинс, конечно. Речь идет исключительно о аккуратном внешнем виде! При работе с многочисленными наборами данных из многих инструментов, каждый из которых имеет множество переменных, может раздражать прокрутка ncdump, чтобы найти то, что вы ищете. Мне нравится поддерживать постоянный порядок переменных и атрибутов, особенно при подготовке метаданных для хранения. Кажется, что нет четкого способа сделать это без перезаписи всего файла, что, я согласен, противоречит всей идее, лежащей в основе netcdf.





Я согласен, что идеальное место для standard_name — это первый или второй атрибут. Таким образом, дампы гораздо более разборчивы. Вы должны понимать, что атрибуты хранятся и выгружаются в порядке их создания. НКО не имеет возможности переоформить этот приказ. Лучшее решение — изменить средство записи набора данных, чтобы оно создавало standard_name перед всеми остальными атрибутами. Или вы можете сделать что-то сумасшедшее, например, использовать ncatted, чтобы удалить все атрибуты, а затем повторно добавить их в желаемом порядке.
Спасибо за ваш ответ @CharlieZender! Я думал, что это может быть так. На самом деле нет проблем, я просто хочу, чтобы мои метаданные были как можно более последовательными :).
Ради интереса могу я спросить, почему вы можете захотеть это сделать? вся идея netcdf заключается в том, что не имеет значения, в каком порядке поступают метаданные переменных или сами записи переменных...