2017-01-16 6 views
1

Как указано в заголовке, я хочу извлечь период времени, например, январь для переменной, wind_speed, из файла .nc, который состоит из скоростей ветра с 3-часовым разрешением в течение одного года , Я хотел бы сделать это в nco, если это возможно.Извлечь ежемесячные данные из часового разрешенного файла netcdf в nco

Я пробовал следующий метод: ncrcat -O -F -d time,1,248 -v wind_speed sfcWind.nc out.nc и он работает. Для этого метода мне нужно рассчитать временной интервал в течение выбранного месяца. Есть ли какой-либо другой метод в nco, где можно указать месяц и получить соответствующие данные?

Другое дело, что если вы хотите данные для dec, jan, feb, то этот метод нельзя использовать или, по крайней мере, мне известно. Какие-нибудь предложения здесь?

Лучшего Смайл

+0

Я предлагаю создать простой скрипт, который генерирует указанные начальные и конечные индексы (например, через DJF), а затем создает команду 'ncks' (или другую функцию), которая будет выполнена на основе этих индексов начала и конца. Если вы сообщаете файл netcdf, я могу предоставить дополнительные рекомендации. – N1B4

+0

Дорогой N1B4, Благодарим за отзыв. Я хотел бы chare файл netcdf, но это около 2 ГБ, что слишком велико. –

+0

Не могли бы вы предоставить более подробную информацию о его содержании, возможно, используя 'ncdump -h yourfile.nc'? – N1B4

ответ

1

NCO поддерживает multislabs, т.е. множественного hyperslabs времени в одной команде. С этим вы можете группировать произвольные месяцы, а переключатель -msa будет поддерживать их в порядке. Пособие - ваш друг.

+0

Спасибо, я снова буду искать руководство. –

+0

Дорогой Чарли, Я использовал предложенный вами метод, и он сработал. Я хотел бы знать, существует ли какой-либо метод выбора данных за определенный месяц. Например, если я напишу некоторую определенную команду, а затем «3» после этого, тогда я получу все данные, содержащиеся в марте? –

+0

Вы можете извлечь данные, основанные либо на индексе гиперслова, либо на гиперслое. Значение может быть датой, если переменная времени имеет атрибут «units» в формате UDUnits. Если я понимаю ваш вопрос, это может быть то, что вы хотите. Это объясняется в руководстве в разделе «гиперссылки». –

0

cdo может сделать трюк, установить индекс в месяц по вашему выбору.

cdo selmon,1 sfcWind.nc sfcWind_jan.nc 

Если вы хотите выбрать несколько месяцев, как вы говорите, вы можете просто обеспечить разделенный запятыми список (конечно, если у вас есть один год данных, то ваш декабре не будет «смежный» в январе , Февраль).

Смежные вопросы