Replace NCO:仅为特定区域将数据从一个netcdf文件复制到另一个netcdf文件
我有两个NetCDF文件,它们的尺寸(时间、纬度、经度)完全相同。下面是其中一个文件的标题Replace NCO:仅为特定区域将数据从一个netcdf文件复制到另一个netcdf文件,replace,nco,Replace,Nco,我有两个NetCDF文件,它们的尺寸(时间、纬度、经度)完全相同。下面是其中一个文件的标题 netcdf file1 { dimensions: lon = 360 ; lat = 177 ; time = 360 ; variables: double lon(lon) ; lon:units = "degrees_east" ; lon:long_name = "L
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阅读有关ncap2
where
函数的部分。它描述了如何在hyperslab上使用where。这样做:
*var_tmp=var2(:,0,:,:);
where (var1 < 0.5) var_tmp=1234;
var2(;,0,:,;)=var_tmp;
*var_tmp=var2(:,0,:,:);
其中(var1<0.5)var_tmp=1234;
var2(;,0,:,;)=var_tmp;
阅读有关ncap2
where
功能的部分。它描述了如何在hyperslab上使用where。这将实现:
*var_tmp=var2(:,0,:,:);
where (var1 < 0.5) var_tmp=1234;
var2(;,0,:,;)=var_tmp;
*var_tmp=var2(:,0,:,:);
其中(var1<0.5)var_tmp=1234;
var2(;,0,:,;)=var_tmp;
谢谢Charlie回答我的问题。因此,为了让您的建议生效,我需要将文件1和文件2合并为第三个文件,并更改第三个文件中的一个变量名称。对吗?谢谢Charlie回答我的问题。因此,为了让您的建议生效,我需要将文件1和文件2合并为一个三分之一d文件,并更改第三个文件中的一个变量名称。对吗?