爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6846|回复: 6

使用int2p函数在等位温面插值

[复制链接]
发表于 2016-5-22 20:02:30 | 显示全部楼层 |阅读模式

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

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

x
不是到什么原因,会出现空白的地方,位温和位涡都是没有缺失值的


load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/time_axis_labels.ncl"


;;;;;load data
air=addfile("/home/fangj/datazhou/ncep2.5daily/air.2015.nc","r")
hgt=addfile("/home/fangj/datazhou/ncep2.5daily/hgt.2015.nc","r")
omega=addfile("/home/fangj/datazhou/ncep2.5daily/omega.2015.nc","r")
fileu=addfile("/home/fangj/datazhou/ncep2.5daily/uwnd.2015.nc","r")
filev=addfile("/home/fangj/datazhou/ncep2.5daily/vwnd.2015.nc","r")

airt=air->air;;;;;(time,level,lat,lon)
level=air->level
u=fileu->uwnd
v=filev->vwnd

;;;;;potential vorticity
  
     lev = air->level  ; hPa
     lev = lev*100 ; convert units
     lev@units = "Pa"

     u   = u(:,:,::-1,:)    ; reorder to South -> North
     u   = v(:,:,::-1,:)
     t   = airt(:,:,::-1,:)
     
     lat = t&lat
     gridType  = 0          ; gaussin grid
     opt = 0

     PV = pot_vort_isobaric(lev,u,v,t,lat, gridType, opt)   ; Potential Vorticity
     PV=PV*10^6
;;;;;;;potential temperature

ph=new(dimsizes(airt),float)
do i=0,dimsizes(level)-1
ph(:,i,:,:)=level(i)
end do

pt=airt*(1000/ph)^0.286
copy_VarMeta(airt, pt)
pt=pt(:,:,::-1,:)
pt@long_name = "potential temperature"
;;;;;;interpolate

lvl           = ispan(330,300,10)*1.  ;isentropicl potential temperature
lvl@units     = pt@units


xlvl = int2p (pt(time|:,lat|:,lon|:,level|:),PV(time|:,lat|:,lon|:,level|:), lvl, 1)  
xlvl!0    = "time"                     ; name dimensions
  xlvl!1    = "lat"
  xlvl!2    = "lon"
  xlvl!3    = "level"               
  xlvl&time =PV&time
  xlvl&lat =PV&lat
  xlvl&lon =PV&lon
  xlvl&level =lvl   


  ;;;;;plot
  res=True

res@mpMaxLatF=60
res@mpMinLatF =-30
res@mpMaxLonF =180
res@mpMinLonF =60
res@gsnAddCyclic =False
res@cnFillOn =True
timec=cd_calendar(xlvl&time, -2)

  wks=gsn_open_wks("pdf", "isopv1")
  plot=gsn_csm_contour_map(wks, xlvl(1,:,:,1), res)
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-5-22 20:04:13 | 显示全部楼层
e:/333.png
333.png
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-5-22 20:29:03 | 显示全部楼层
怎么查看有没有缺失值啊。。。。
密码修改失败请联系微信:mofangbao
发表于 2016-5-24 08:29:06 | 显示全部楼层
请问楼主,你在用pot_vort_isobaric这个函数的时候,你的lev读取的是正常等压面气压值么?我看官网的例子是用的p,还是插值出来的p
密码修改失败请联系微信:mofangbao
发表于 2016-12-21 14:05:20 | 显示全部楼层
楼主解决问题了?
密码修改失败请联系微信:mofangbao
发表于 2016-12-21 14:07:13 | 显示全部楼层
锦叶seven 发表于 2016-5-24 08:29
请问楼主,你在用pot_vort_isobaric这个函数的时候,你的lev读取的是正常等压面气压值么?我看官网的例子是 ...

我用的就是正常气压值,没有任何问题啊。fnl资料有isobaric层的变量。
密码修改失败请联系微信:mofangbao
发表于 2018-5-7 15:50:17 | 显示全部楼层
我也遇到这个问题了,请问楼主解决了吗
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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