Visualizing NARR storm motion vectors

From: Jamie Lahowetz <jlahowe2_at_nyahnyahspammersnyahnyah>
Date: Thu, 6 Nov 2008 10:51:45 -0600

Hello,
I have been trying to visualized NARR storm vectors but am getting confused.
I want one output (I get two right now and dont know why) and I'm just not
sure if I have coded it right.

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

;############################

begin

    fili =
"/home/jlahowet/THOR/test2/narr/u-v_comp/narr-a_221_20080522_1800_000.grb"
    f = addfile (fili, "r")

;############################
; Print
;############################

    names = getfilevarnames(f)
    print(names)
    atts = getfilevaratts(f,names(0))
    dims = getfilevardims(f,names(0))
    print(atts)
    print(dims)

;############################
; Variables
;############################

    upt = f->USTM_221_HTGY
    vpt = f->VSTM_221_HTGY
    lat2d = f->gridlat_221
    lon2d = f->gridlon_221

    upt_at_lat2d = lat2d
    upt_at_lon2d = lon2d
    vpt_at_lat2d = lat2d
    vpt_at_lon2d = lon2d

;############################
; Calculations for Vectors
;############################

    speed = sqrt(upt(:,:)^2+vpt(:,:)^2)

;############################

    ;wks = gsn_open_wks("x11","vectors")
    wks = gsn_open_wks("pdf","vectors")
    gsn_define_colormap(wks,"gui_default")

;############################
; Resources
;############################

    res = True
    res_at_tiMainString = "Native Lambert Conformal"

    res_at_mpLimitMode = "Corners"
    res_at_mpLeftCornerLatF = 37.0
    res_at_mpLeftCornerLonF = -103.0
    res_at_mpRightCornerLatF = 40.0
    res_at_mpRightCornerLonF = -98.0

    res_at_mpProjection = "LAMBERTCONFORMAL"
    res_at_mpLambertParallel1F = lon2d_at_Latin1
    res_at_mpLambertParallel2F = lon2d_at_Latin2
    res_at_mpLambertMeridianF = lat2d_at_Lov

; print(lon2d_at_Latin1)
; print(lon2d_at_Latin2)
; print(lon2d_at_Lov)

    res_at_pmTickMarkDisplayMode = "Always"
    res_at_mpFillOn = False
    res_at_mpOutlineDrawOrder = "PostDraw"
    res_at_mpOutlineBoundarySets = "GeophysicalAndUSStates"
    res_at_mpGridAndLimbOn = True

    res_at_tfDoNDCOverlay = False

    res_at_cnFillOn = True
    res_at_cnLinesOn = False
    res_at_gsnSpreadColors = True
    res_at_gsnAddCyclic = False
    res_at_gsnFrame = False
    res_at_gsnDraw = False

    resvctr = True

    resvctr_at_vcRefMagnitudeF = 4.0
    resvctr_at_vcRefLengthF = 0.045
    resvctr_at_vcRefAnnoOrthogonalPosF = -1.0
    resvctr_at_vcRefAnnoArrowLineColor = "black"
    resvctr_at_vcRefAnnoArrowUseVecColor = False

    resvctr_at_vcGlyphStyle = "CurlyVector"
    resvctr_at_vcLineArrowColor = "red"
    resvctr_at_vcLineArrowThicknessF = 2.0
    resvctr_at_vcVectorDrawOrder = "PostDraw"
    resvctr_at_vcMinDistanceF = 0.05

;############################

    plot = gsn_csm_contour_map(wks,speed,res)

;############################
; Contour
;############################

    ;cnres = True
    ;cnres_at_tfDoNDCOverlay = True ; don't transform
    ;cnres_at_cnInfoLabelOn = False ; turn off info label
    ;cnres_at_cnLineLabelsOn = True ; turn off line labels
    ;cnres_at_tiMainString = "Contour on Contour: Native Grid" ;
title
    ;cnres_at_gsnDraw = False ; don't draw yet
    ;cnres_at_gsnFrame = False ; don't advance frame
yet

;############################

    ;plotcn = gsn_contour(wks,vpt,cnres)
    ;overlay(plot,plotcn)

;############################
; Plot marker
;############################

    lon = -101.24
    lat = 38.87
    eps = 1e-3 ; or some small value

    polyres = True
    polyres_at_gsMarkerIndex = 16
    polyres_at_gsMarkerSizeF = 7.0
    polyres_at_gsMarkerColor = "black"
    draw(plot)
    gsn_polymarker(wks,plot,lon,lat,polyres)

;############################
; lat/lon Grid
;############################

    ;gridres = True
    ;gridres_at_gsMarkerIndex = 2
    ;gridres_at_gsMarkerSizeF = 10.0
    ;gridres_at_gsMarkerColor = "white"
    ;gsn_polymarker(wks,plot,ndtooned(lon2d),ndtooned(lat2d),gridres)

;############################
; Text Resources
;############################

    ;textres = True
    ;textres_at_txFontHeightF = 0.007 ; May need to change this
    ;textres_at_txFontColor = "black"

;############################
; Grid numbers
;############################

    ;nlat = dimsizes(lat2d(:,0)) ; Get dimension sizes
    ;nlon = dimsizes(lon2d(0,:)) ; of the lat/lon dimensions.

    ;do i=0,nlat-1
    ; do j=0,nlon-1
    ; text_string = (i+1)+","+(j+1) ; "1,1", "1,2", etc.
    ; gsn_text(wks,plot,text_string,lon2d(i,j),lat2d(i,j),textres)
    ; if( (lat2d(i,j)-eps).le.lat.and.lat.le.(lat2d(i,j)+eps).and.\
    ; (lon2d(i,j)-eps).le.lon.and.lon.le.(lon2d(i,j)+eps)) then
    ; vpt_text = ndtooned(vpt) + ""
    ; gsn_text(wks,plot,vpt_text,lon2d(i,j),lat2d(i,j),textres)
    ; end if
    ; end do
    ;end do

    vctrplot = gsn_csm_vector(wks,upt,vpt,resvctr)
    overlay(plot,vctrplot)
    draw(plot)
    gsn_polymarker(wks,plot,lon,lat,polyres)

    frame(wks)

end

-- 
Jamie Ryan Lahowetz
University of Nebraska - Lincoln
Graduate Student - Geosciences
402.304.0766
jlahowe2_at_bigred.unl.edu

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Nov 06 2008 - 09:51:45 MST

This archive was generated by hypermail 2.2.0 : Fri Nov 07 2008 - 13:41:15 MST