爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12789|回复: 2

[其他] 求助,利用ncl怎么将风云2f卫星CTT数据插值到wrf网格

[复制链接]
发表于 2020-2-11 16:17:29 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
rt。想要把风云2f卫星CTT数据插值到wrf网格上再输出为nc格式,目前是使用了ncl自带的ESMF网格转换,但是画出来图很奇怪,就好像是丢失了一部分数据一样。如下图: ctt-K.png
我的脚本如下:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"

begin
   file_path="fy-2f/CTT/FY2F_CTT_MLT_NOM_20180521_0600.hdf"
   fi=addfile(file_path,"r")
   CTT=fi->CTT_Hourly_Product
   LVR = CTT@LowerValidRange ; The valid range of data is [LVR,UVR].
   UVR = CTT@UpperValidRange

   file2_path="/fy-2f/CTT/NOM_ITG_2288_2288(0E0N)_LE.dat"
   latlon2d=fbindirread(file2_path, 0,(/2,2288,2288/), "float")
   src_lat = latlon2d(1,:,:)
   src_lon = latlon2d(0,:,:)
   src_lat@_FillValue=300.0
   src_lon@_FillValue=300.0
   src_lon = src_lon+112.0
   src_lat@units="degrees_north"
   src_lon@units="degrees_east"

   CTT@lat2d      = src_lat
   CTT@lon2d      = src_lon
   CTT@units      = "degree Kelvin"
   CTT@long_name  = "Temperature of Cloud Top"
   CTT@coordinates = "lat2d lon2d"
   CTT@_FillValue  = -999.

   CTT_1d               = ndtooned(CTT)
   ind_notValid         = ind(CTT_1d.le.LVR.or.CTT_1d.gt.UVR)
   CTT_1d(ind_notValid)    = CTT@_FillValue
   CTT               = onedtond(CTT_1d,dimsizes(CTT))

   CTT = CTT-273.15  ;(convert degree Kelvin to degree Celsius)
   CTT@units = "degree Celsius"
   printMinMax(CTT,0)
   printVarSummary(CTT)

   ;插值
   file3_path="WRF/wrfout_d01_2018-05-21_05:00:00.nc"
   fi3=addfile(file3_path, "r")
   dst_lat = fi3->XLAT(0,:,:)
   dst_lon = fi3->XLONG(0,:,:)

   Opt =True
   Opt@Interpmethod = "bilinear"

   Opt@SrcGridLat        = src_lat           ; source grid
   Opt@SrcGridLon        = src_lon
   Opt@SrcInputFileName = file2_path
   Opt@SrcRegional       = True

   Opt@DstGridLat        = dst_lat           ; destination grid
   Opt@DstGridLon        = dst_lon
   Opt@DstRegional       = True

   Opt@ForceOverwrite   = True
   Opt@Debug            = True
   Opt@PrintTimings     = True

   CTT_regrid  = ESMF_regrid(CTT,Opt)     ; Do the regridding
   printVarSummary(CTT_regrid)

   ;设置绘图属性

   wks=gsn_open_wks("png", "ctt-1-0")

   res=True

    res@cnFillOn=True

   res@mpMinLatF = min(dst_lat)
   res@mpMaxLatF = max(dst_lat)
   res@mpMinLonF = min(dst_lon)
   res@mpMaxLonF = max(dst_lon)

   plot_regrid = gsn_csm_contour_map(wks, CTT_regrid, res)

end

我用到的数据也贴上来了,求助一下大家看我这个是哪里的问题?假如是插值的问题,那么用哪个插值函数比较合适呢?先谢谢各位大佬了(鞠躬)
wrfout文件太大了,传不上来(꒦_꒦)
FY2F_CTT_MLT_NOM_20180521_0600.hdf (6.75 MB, 下载次数: 1)
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2020-2-12 10:49:37 | 显示全部楼层
自己顶一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-10-30 14:23:41 来自手机 | 显示全部楼层
楼主解决了吗?是不是CTT变量的经纬度属性设置问题?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表