;; template for diag_norcpm ;; plot velocity potential from u,v data file ;; u,v data must in same nc file ;;DIAG_NORCPM; PLOTRES: ;; plotres begin title = "NUG_FF VP 200hPa SON P2-P1" figfn = "vp200_dif_SON_P2-P1" dfn = "NUG_FF_dUV_SON_P2-P1.nc" u_var = "U200" v_var = "V200" df = addfile(dfn,"r") u1 = df->$u_var$ v1 = df->$v_var$ if (any(ismissing(u1)))then print("u or v contains missing value, exit...") exit else sf = u1 vp = u1 uv2sfvpf(u1,v1,sf,vp) div_u = u1 div_v = v1 sfvp2uvf(sf*0.,vp,div_u,div_v) end if wks = gsn_open_wks("ps",figfn) vp = vp*10^-7 vp@units = "10^7" res = True res@cnFillOn = True res@cnLinesOn = False res@cnMaxLevelValF = 1.2 res@cnMinLevelValF =-1.2 res@cnLevelSpacingF = 0.2 res@cnLevelSelectionMode = "ManualLevels" res@cnFillPalette = "temp_diff_18lev" res@mpCenterLonF = 210. res@gsnAddCyclic = True res@gsnLeftString = title res@gsnDraw = False res@gsnFrame = False resV = True ;;resV@vcGlyphStyle = "CurlyVector" ; turn on curly vectors resV@vcGlyphStyle = "FillArrow" resV@vcFillArrowEdgeColor = -1 ;; transparent resV@vcMinMagnitudeF = 1. resV@gsnAddCyclic = True resV@vcRefLengthF = .02 resV@vcRefMagnitudeF = 5. resV@vcRefAnnoString2 = "m/s" resV@vcRefAnnoOrthogonalPosF = -.23 resV@gsnDraw = False resV@gsnFrame = False res@cnMaxLevelValF = 0.2 res@cnMinLevelValF = -0.2 res@cnLevelSpacingF = 0.02 resV@vcRefMagnitudeF = 0.4 resV@vcMinMagnitudeF = 0.05 plot = gsn_csm_contour_map_ce(wks,vp,res) plotV = gsn_csm_vector(wks,div_u(::5,::5),div_v(::5,::5),resV) overlay(plot,plotV) draw(plot) frame(wks) end