NCO: копирование данных из одного файла netcdf в другой только для определенной области - PullRequest
0 голосов
/ 21 мая 2018

У меня есть два файла NetCDF с одинаковыми размерами (время, широта, долгота).Ниже находится заголовок одного из файлов.

netcdf file1 {
dimensions:
        lon = 360 ;
        lat = 177 ;
        time = 360 ;
variables:
        double lon(lon) ;
                lon:units = "degrees_east" ;
                lon:long_name = "Longitude" ;
        double lat(lat) ;
                lat:units = "degrees_north" ;
                lat:long_name = "Latitude" ;
        double time(time) ;
                time:long_name = "Time" ;
                time:units = "months since 1989-05-01 00:00" ;
        double tmp(time, lat, lon) ;
                tmp:_FillValue = -999000000. ;
}

Я хотел бы скопировать значения из одного файла в другой, но только для небольшой области, определяемой lat1, lat2 и lon1, lon2.Оба файла имеют одинаковые временные координаты.

Что-то вроде: (lon1<lon<=lon2) & (lat1<lat<=lat2) file1 = file2

Мне было интересно, смогу ли я сделать это с NCO.

Любая помощь будет оценена.Спасибо

1 Ответ

0 голосов
/ 22 мая 2018

Прочтите руководство в разделе ncap2 where.Он описывает, как использовать где на гиперслое.Это сделает это:

*var_tmp=var2(:,0,:,:); 
where (var1 < 0.5) var_tmp=1234; 
var2(;,0,:,;)=var_tmp;
...