数据使用说明
>
对NetCDF格式进行区域裁剪操作
Appearance
Appearance
本文档以 CDO 工具和 Python 脚本语言两种处理方式为例,详细说明对 NetCDF 格式数据进行地理区域精准裁剪的操作方法。
cdo sellonlatbox,lon1,lon2,lat1,lat2 input.nc output.nc
#示例:选取 100°E120°E,20°N40°N 范围:
cdo sellonlatbox,100,120,20,40 input.nc output.ncimport xarray as xr
def crop_nc_by_lonlat(input_nc, output_nc, lon_range, lat_range):
lon_min, lon_max = lon_range
lat_min, lat_max = lat_range
crop_region = {
"grid_xt": slice(lon_min, lon_max),
"grid_yt": slice(lat_min, lat_max)}
ds = xr.open_dataset(input_nc)
ds_crop = ds.sel(**crop_region)
ds_crop.to_netcdf(output_nc)
ds.close()
# ===================== 函数调用示例 =====================
if __name__ == "__main__":
input_nc = "./u100m.nc" #需要裁剪的nc数据
output_nc = "./u100m_crop.nc" #裁剪后的输出文件
lon_range = [115, 120] # 需要裁剪的经度范围
lat_range = [25, 35] # 需要裁剪的纬度范围
crop_nc_by_lonlat(input_nc,output_nc,lon_range,lat_range)