爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12817|回复: 17

[作图] 再分析资料和卫星资料叠加的疑惑

[复制链接]
发表于 2014-11-19 15:29:58 | 显示全部楼层 |阅读模式

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

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

x
将风云awx资料处理成nc,想叠加到再分析要素场上,俩个单独出图没问题,但是叠加时无论怎样设置,卫星资料总是覆盖在再分析资料上,且地图范围无法设置。 QQ截图20141119151929.png

分开的两张图。
QQ截图20141119152327.png

合并后的图。麻烦大家帮我看一下,谢谢!(红色为加入的卫星资料叠加语句,单独画是没问题的)

下面放上脚本
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/cnmap/cnmap.ncl"

begin
in=addfile("/home/zssapr/IOP10/reanalysis/fnl_20140724_18_00.grib1.nc","r")
in2=addfile("/home/zssapr/IOP10/fy-vapor/tbb071106.nc","r")
;---Now get the 850hPa level
nl  = 20
H=in->HGT_3_ISBL(nl,:,:)
T=in->TMP_3_ISBL(nl,:,:)
U=in->U_GRD_3_ISBL(nl,:,:)
V=in->V_GRD_3_ISBL(nl,:,:)
ter=in->HGT_3_SFC(:,:)
TF = 1.8*T+32.                    ; Convert temperature to Fahrenheit

  U = U*1.94386                    ; Convert wind into knots
  V = V*1.94386
;qMask = (mask(pw,ter.gt.z,False))
;*******in2 variables
tbb = in2->tb

;---Change the metadata
  H@description = " geopotential height"
  T@description = " Temperature"
  U@description = " U-wind"
  V@description = " V-wind"
  H@units       = "gpm"
  T@units       = "degF"
  U@units       = "kts"
  V@units       = "kts"

  wks = gsn_open_wks("ps","synoptic")
;---Set common resources for all plots
  res                = True
  res@gsnFrame       = False
  res@gsnDraw        = False
  res@gsnLeftString  = ""
  res@gsnRightString = ""
  res@pmTickMarkDisplayMode = "Always"

;---geopotential height contour plot
  levels      = ispan(1200,1600,20)
  slp_res                                = res
  slp_res@cnLineColor                    = "black"
  slp_res@cnLevelSelectionMode           = "ExplicitLevels"
  slp_res@cnLevels                       = levels
  slp_res@cnLineLabelBackgroundColor     = -1    ; transparent
  slp_res@cnLineThicknessF               = 3.5
  slp_res@cnLineLabelsOn                 =True
  slp_res@cnHighLabelsOn                 = True
  slp_res@cnLowLabelsOn                  = True
  slp_res@cnHighLabelBackgroundColor     = -1
  slp_res@cnLowLabelBackgroundColor      = -1
  slp_res@cnLineDrawOrder                = "Postdraw"
  contour_h = gsn_csm_contour(wks,H,slp_res)

;---Wind vector plot
  vec_res                  = res
  vec_res@vcMinDistanceF   = 0.02
  vec_res@vcRefLengthF     = 0.02
  vec_res@vcMinFracLengthF = 0.2
  vec_res@vcGlyphStyle     = "WindBarb"
  vec_res@vcRefAnnoOn      = False
  vec_res@vcVectorDrawOrder ="Postdraw"
  vector = gsn_csm_vector(wks,U,V,vec_res)
;---ter contour plot
  ter = mask(ter, ter.lt.2500,False)
  ter_res                  =res
  ter_res@cnFillOn         =True
  ter_res@cnMonoFillColor  =True
  ter_res@cnFillColor         ="black"
  ter_res@cnSmoothingOn       = True
  ter_res@cnSmoothingDistanceF  =2
  ter_res@cnSmoothingTensionF = -0.2
  ;ter_res@trGridType         = "TriangularMesh"
  ;tersmooth=smth9(ter, 0.50,  0.25, False)
  contour_ter   =gsn_csm_contour(wks,ter,ter_res)

;-----tbb plot------------
gsn_define_colormap( wks ,"gsdtol")
tbbMask=mask(tbb, tbb.lt.150,False)
tbbMask!0="lat"
tbbMask!1="lon"
tbbMask&lat = fspan(-60, 60, 1201)
tbbMask&lon =fspan(45,165,1201)
tbbMask&lat@units="degrees_north"
tbbMask&lon@units="degrees_east"
tbb_res =True
tbb_res@cnFillOn=True
tbb_res@gsnAddCyclic = False
tbb_res@gsnSpreadColors  = True
tbb_res@gsnSpreadColorStart =  25
tbb_res@gsnSpreadColorEnd   =  32
tbb_res@cnFillDrawOrder      = "draw"
tbb_res@cnLevelSelectionMode = "ManualLevels"        ; set manual contour levels
tbb_res@cnMinLevelValF       = 150.                  ; set min contour level
tbb_res@cnMaxLevelValF       = 240.                  ; set max contour level

tbb_res@cnLevelSpacingF      =   10.
tbb_res@cnInfoLabelOn = False
tbb_res@cnLineLabelsOn      = False
tbb_res@cnLinesOn   =False
vapor=gsn_csm_contour(wks,tbbMask,tbb_res)

; Control appearance of map.
  mpres                        = res
  mpres@mpProjection           ="CylindricalEquidistant"
  mpres@mpLabelsOn             = True
  mpres@mpPerimOn              = True
  mpres@mpGridAndLimbOn        = True
  mpres@mpFillOn               = True
  mpres@mpOutlineOn            = True
  mpres@mpOutlineDrawOrder     = "PostDraw"
  mpres@mpFillDrawOrder        = "Predraw"
  mpres@mpOceanFillColor       = "lightskyblue1"
  mpres@mpLandFillColor        = "gray"

mpres@mpDataBaseVersion       = "MediumRes"
  mpres@mpDataSetName           = "Earth..4"
  mpres@mpOutlineSpecifiers   = (/"China","Taiwan"/)       ;China:states
  mpres@mpInlandWaterFillColor  = "white"
  mpres@mpOceanFillColor        = "white"
;
; Zoom in on area that is roughly China.
;
  mpres@mpLimitMode            = "LatLon"
  mpres@mpMinLatF              =   15.
  mpres@mpMaxLatF              =   55.
  mpres@mpMinLonF              = 70.
  mpres@mpMaxLonF              =  140.
  mpres@mpCenterLonF           = 120.0
  mpres@mpCenterLatF           = 40.0
  mpres@mpGridAndLimbDrawOrder = "Predraw"
  mpid = gsn_csm_map(wks,mpres)
; Overlay contour, streamline, and vector plots on the map plot.

  overlay(mpid,contour_h)
  overlay(mpid,vector)
  overlay(mpid,contour_ter)
  overlay(mpid,vapor)
  maximize_output(wks,True)
end

密码修改失败请联系微信:mofangbao
发表于 2014-11-19 21:01:44 | 显示全部楼层

回帖奖励 +2 金钱

tbb_res = True改为tbb_res = res试试!
另外,下面两句没必要,值也是错的。
mpres@mpCenterLonF           = 120.0
mpres@mpCenterLatF           = 40.0
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-20 10:00:44 | 显示全部楼层
本帖最后由 追风的阳光 于 2014-11-20 10:02 编辑
longlivehj 发表于 2014-11-19 21:01
tbb_res = True改为tbb_res = res试试!
另外,下面两句没必要,值也是错的。
mpres@mpCenterLonF        ...

图可以生成了,谢谢! 捕获.JPG

还有几个问题希望您能帮我解答一下:
1.青藏高原我是用黑色填色覆盖了,但是边界很不平滑,可以怎么修饰一下呢,smoothon等函数都试过了,没有什么用
2.青藏高原的颜色(黑色)不好看。我想换一种颜色,但由于高原区域内我的风矢和等高线都没有mask,所以不能完全覆盖。之前我想mask掉风矢和等高线的,但出现了问题(ter为地形位势,H为850hPa位势高度):
UMask = mask(U,ter.gt.H,False)
VMask = mask(V,ter.gt.H,False)
HMask =mask(H,ter.gt.H,False)
添加了上面的语句,出现报错(其中若只mask U、V,则不报错,但没有mask效果,添加了HMask后报错:
fatal:ContourPlotDraw: coordinates are out of range for drawing over a map: standard line or line label rendering method will not work;
consider setting the resource trGridType to "TriangularMesh" if coordinates contain missing values)
3.为什么相较前面,上x、右y轴的坐标没有了呢?
4.风云卫星的其他awx资料的格式在哪可以找到(卫星气象中心网站上好想没有),我不清楚x、y方向上格点数,起始格点等信息
问题很多,谢谢!

密码修改失败请联系微信:mofangbao
发表于 2014-11-20 21:43:24 | 显示全部楼层

回帖奖励 +2 金钱

追风的阳光 发表于 2014-11-20 10:00
图可以生成了,谢谢!

还有几个问题希望您能帮我解答一下:

1. 试试其它填充模式
2. 检查作图时是否采用的时mask后的数据
3. 可能跟maximize有关,试试直接用draw和frame
4. 木有用过这个数据
密码修改失败请联系微信:mofangbao
发表于 2014-11-21 11:19:54 | 显示全部楼层
本帖最后由 风之牧语 于 2014-11-21 11:20 编辑
追风的阳光 发表于 2014-11-20 10:00
图可以生成了,谢谢!

还有几个问题希望您能帮我解答一下:

你这个是因为mask之后在这个地方没有数据所以画出来是锯齿,我以前也遇到过,我能想到的办法就是你填色的不去mask,而是设置1600m高度以上的固定为哪个颜色!相当于伪mask
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-22 20:07:05 | 显示全部楼层
风之牧语 发表于 2014-11-21 11:19
你这个是因为mask之后在这个地方没有数据所以画出来是锯齿,我以前也遇到过,我能想到的办法就是你填色的 ...

你的意思就是1600m以上的填色为单一颜色,1600m以下的不填色,不画等值线吗?
密码修改失败请联系微信:mofangbao
发表于 2014-11-27 10:24:37 | 显示全部楼层

回帖奖励 +2 金钱

谢谢楼主,阅过
密码修改失败请联系微信:mofangbao
发表于 2014-11-28 17:42:24 | 显示全部楼层

回帖奖励 +2 金钱

谢谢楼主,阅过
密码修改失败请联系微信:mofangbao
发表于 2015-5-24 21:28:38 | 显示全部楼层

回帖奖励 +2 金钱

ncl无法识别awx,请问楼主怎么将awx处理为nc的呢?求指教
密码修改失败请联系微信:mofangbao
发表于 2015-5-24 21:57:11 | 显示全部楼层
爽歪歪 发表于 2015-5-24 21:28
ncl无法识别awx,请问楼主怎么将awx处理为nc的呢?求指教

ARCGIS或者ENVI都可以吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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