格点数据插值到另一种不同分辨率的格点上

格点数据的插值

  • 上一篇介绍了怎么插值不规则的站点数据到规则网格上,这次介绍一下把一种规则网格点数据插值到另一种规则网格点上的方法
  • 由于两个网格均为规则经纬度网格,因此选取双线性插值法进行模式输出数据到给定高分辨率网格上,对应linint2_Wrap函数,保留属性
;This script is used to interpolate the model output average surface temperature data into a given high-resolution grid     
begin
  
 setvalues NhlGetWorkspaceObjectId() 
  "wsMaximumSize": 600000000
 end setvalues

  dem_high_res  = addfile("./grid_to_high/DemHiRes.nc", "r")
    ;print(dem_high_res)
    lon_hr = dem_high_res->lon
    lat_hr = dem_high_res->lat

  tem_origin = addfile("./output/lkx_cesm_op.nc", "r")
    ;printVarSummary(tem_origin)
    lon_tem = tem_origin->lon
    lat_tem = tem_origin->lat
    tem = tem_origin->TS(29,:,:)
    tem := tem - 273.15
      
      qsort(lon_hr)
      qsort(lat_hr)
      qsort(lon_tem)
      qsort(lat_tem)
  tem_hr = linint2_Wrap(lon_tem, lat_tem, tem, True, lon_hr, lat_hr, 0)
       tem_hr@long_name = "Surface Temperature in 1980.08.08"
       tem_hr@units = "degree centigrade"
       tem_hr@missing_value = 9.96921e+36
     
     system("rm -f ./L_HiRes.nc")
      fout = addfile("/./L_HiRes.nc","c")
      fout@title = "NetCDF of Model Output Surface Temperature in 1980.08.08"
      fout->ST = tem_hr

end

附:NCL官网关于双线性插值函数的介绍

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值