2016-11-19 3 views
0

Я использую следующую команду, чтобы сбросить содержимое переменной «тас» в файле NetCDF tas_EUR-44_historical.ncсвалка NetCDF переменной в пределах диапазона

ncdump -v tas tas_EUR-44_historical.nc 

ТП является переменной из трех измерений, состоящих из время, широта и долгота тас (время, rlat, rlon)

Теперь мне нужно сбросить первое значение времени, 0, для rlat в диапазоне от 0 до 5 и rlon в диапазоне от 0 до 5.

Does кто-нибудь знает, как это можно сделать?

Спасибо!

ответ

0

Вы можете использовать ncks

ncks -d время, 0 -d rlat, 0,5 -d rlon, 0,5 in.nc out.nc

+0

Дорогой Чарли, я знаю этого метода , Я хочу, чтобы я хотел использовать ncdump, а затем визуализировать значения в запрошенном регионе, не создавая файл out.nc. –

+0

Я не уверен, что вы подразумеваете под визуализацией. В отличие от ncdump, ncks выведет гиперслот значений на экран в формате CDL (без генерации файла .nc), если вы передадите ему ключ -cdl: ncks --cdl -d time, 0 -d rlat, 0,5 - d rlon, 0,5 in.nc –

1

Сильно зависит от того, какие инструменты вы хотите использовать. Это очень тривиальная задача с большинством языков программирования («Python/R/...»), если вы хотите использовать инструмент командной строки, вы можете посмотреть NCO и особенно его команду ncks (NetCDF Kitchen Sink).

Например, если у меня есть NetCDF файл (выход ncdump -h)

netcdf u.xz { 
dimensions: 
    xh = 256 ; 
    y = 1 ; 
    z = 160 ; 
    time = UNLIMITED ; // (481 currently) 
variables: 
    float time(time) ; 
     string time:units = "Seconds since start of experiment" ; 
    float xh(xh) ; 
    float y(y) ; 
    float z(z) ; 
    float u(time, z, xh, y) ; 
} 

можно извлечь, например, первая запись времени с помощью:

ncks -d time,0,0 u.xz.nc test.nc 

Или что-то ближе к вашему вопросу, выбрать первую запись времени и разрезать пространственные размеры:

ncks -d time,0,0 -d xh,0,5 -d z,0,5 u.xz.nc test.nc 

Каждый раз, когда управляемый файл NetCDF записывается в новый файл. Вы можете оставить последний аргумент test.nc, чтобы вывести вывод на экран или просто выгрузить вывод test.nc с помощью ncdump.

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