[ncl-talk] change in vector spacing when taking difference of two wind fields

Alexander Schaefer alexander.schaefer at mines.sdsmt.edu
Mon Jun 8 21:39:48 MDT 2015


Mira,

You have lost your lats/lons in the subtraction.  It may have something to
do with that. You might want to pull them in at the beginning and then
associate them with diff_u and diff_v using:

diff_u at lon2d  = lon
diff_u at lat2d   = lat

diff_v at lon2d  = lon
diff_v at lat2d   = lat

Just pull the lats and lons on the same subsection that you are pulling u/v.

-Alex

On Mon, Jun 8, 2015 at 9:30 PM, <mberdahl at envsci.rutgers.edu> wrote:

> Hi Alex,
> I changed it so the vectors were appropriately sized.  I just tried the
> script with removing the second Magnitude definition and the spacing is
> still the same.  Any other thoughts?
> Mira
> > Mira,
> >
> > Why did you change vcres at vcRefMagnitudeF = 10.0 to vcres at vcRefMagnitudeF
> =
> > 1.0 after the first 2 plots were made?  This is likely what is causing
> the
> > difference.
> >
> > -Alex
> >
> > On Mon, Jun 8, 2015 at 8:12 PM, <mberdahl at envsci.rutgers.edu> wrote:
> >
> >> Hi all,
> >> I have a 3 panel plot which shows the winds over a region.  The first
> >> two
> >> panels show averages for selected years, and the third panel shows the
> >> difference between the top 2 panels.  My problem is that the spacing of
> >> wind vectors is much denser in the first two plots than the third
> >> "difference" plot.  Is there a reason why the grid spacing would
> >> suddenly
> >> be different (more sparse) when displaying the difference of two wind
> >> fields?  The sizes (dimensions) of the u and v fields remain the same
> >> for
> >> each panel.
> >> My script and the VarSummaries for some of the variables are below.
> >> I will try to attach the pdf of the figure here if possible.
> >> Thanks very much for any help.
> >> Mira
> >>
> >> ************************************************************
> >>
> >>
> >> 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/csm/shea_util.ncl"
> >> ;************************************************
> >> begin
> >> ;************************************************
> >> ; read in netCDF file
> >> ;************************************************
> >> a = addfile("uwnd.mon.mean.nc","r")
> >> print(a)
> >> b = addfile("vwnd.mon.mean.nc","r")
> >>
> >> ;************************************************
> >> ; read in zonal [u] and meridional [v] winds (July)
> >> ;************************************************
> >>
> >> u = a->uwnd(0:803,{45:90},{270:357.5})
> >> v = b->vwnd(0:803,{45:90},{270:357.5}) ; Get u, v, time (1),level
> >> (1000hpa),latitude(-90:90) and longitude(0:360) data.
> >>
> >> printVarSummary(u)
> >> printVarSummary(v)
> >>
> >> ; to take the average over the first dimensions (time)
> >> ;uAvgTime = dim_avg_n_Wrap(u,0)
> >> ;vAvgTime = dim_avg_n_Wrap(v,0)
> >>
> >> ;printVarSummary(vAvgTime)
> >> ;printVarSummary(uAvgTime)
> >>
> >> ; calculate speed from u and v components
> >> ;speed = sqrt(uAvgTime^2+vAvgTime^2)
> >>
> >> ; Calculate the seasonal averages.
> >> uDJF = month_to_season(u, "DJF")
> >> vDJF = month_to_season(v, "DJF")
> >>
> >> printVarSummary(uDJF)
> >> printVarSummary(vDJF)
> >>
> >> ; from the matlab script i wrote: findExtremeYrs, i pulled out the
> >> extreme
> >> years (> or < 1std) that i want to average and plot here.
> >>
> >> ; for ans =   4 (NAO)
> >> ; yearList_hi = 1973        1975        1983        1989        1995
> >>  2000        2007        2012
> >> ; yearList_lo = 1963        1964        1965        1969        1977
> >>  1979        1996        1997        2010        2011
> >>
> >> ; ans = 5 (pressure)
> >> ;yearList_hi = 1963        1965        1968        1969        1970
> >> 1971        1977        1997        2006        2011
> >> ;yearList_lo = 1973        1989        1990        1991        1995
> >> 1999        2000        2007        2012
> >>
> >> ;ans = 7 (longitude of IL)
> >> ;yearList_hi =1966        1967        1968        1969        1974
> >> 1975        1983        1994        1995        2005
> >> ;yearList_lo =1963        1964        1985        1987        1991
> >> 1992        1996        2002   2003    2006      2009
> >>
> >>
> >> ; this data starts at 1948 (this is index 0), so 1953=5, 1963=10 etc.
> >>
> >> uDJF_NAO_lo = uDJF((/10,11,12,16,24,26,43,44,57,58/),:,:)
> >> uDJF_NAO_hi = uDJF((/20,22,30,36,42,47,54,59/),:,:)
> >>
> >> vDJF_NAO_lo = vDJF((/10,11,12,16,24,26,43,44,57,58/),:,:)
> >> vDJF_NAO_hi = vDJF((/20,22,30,36,42,47,54,59/),:,:)
> >>
> >> uAvgTime_hi = dim_avg_n_Wrap(uDJF_NAO_hi,0)
> >> uAvgTime_lo = dim_avg_n_Wrap(uDJF_NAO_lo,0)
> >>
> >> printVarSummary(uAvgTime_hi)
> >> printVarSummary(uAvgTime_lo)
> >>
> >> vAvgTime_hi = dim_avg_n_Wrap(vDJF_NAO_hi,0)
> >> vAvgTime_lo = dim_avg_n_Wrap(vDJF_NAO_lo,0)
> >>
> >> printVarSummary(vAvgTime_hi)
> >> printVarSummary(vAvgTime_lo)
> >>
> >>
> >>
> >> ;************************************************
> >> ; create plot
> >> ;************************************************
> >> wks = gsn_open_wks("eps","Panel_NAO")           ; open a ps file
> >> plot = new(3,graphic)                           ; create a plot array
> >>
> >> vcres                   = True
> >> vcres at gsnDraw           = False                 ; dont draw
> >> vcres at gsnFrame          = False                 ; dont advance frame
> >> vcres at cnInfoLabelOn     = False                 ; trn off cn info label
> >>
> >> vcres = True                                    ; plot mods desired
> >> vcres at gsnAddCyclic = False                      ; has to do with
> >> wrapping
> >> the longitude at 0/360
> >> vcres at vcRefAnnoOrthogonalPosF = -1.0            ; move ref vector up
> >> vcres at vcRefMagnitudeF = 10.0                    ; define vector ref mag
> >> vcres at vcRefLengthF = 0.045                      ; define length of vec
> >> ref
> >> vcres at vcGlyphStyle = "CurlyVector"              ; turn on curly vectors
> >> vcres at vcMinDistanceF = 0.017
> >>
> >> ;************************************************
> >> ; Choose a subregion
> >> ;************************************************
> >> vcres at mpFillOn = False                          ; turn off gray fill
> >> vcres at mpOutlineBoundarySets = "National"        ; turn on country
> >> boundaries
> >> vcres at mpGeophysicalLineColor = "Navy"           ; color of cont.
> >> outlines
> >> vcres at mpGeophysicalLineThicknessF = 1.5         ; thickness of outlines
> >>
> >> vcres at mpMaxLatF = 90                            ;maximum latitude
> >> vcres at mpMinLatF = 45                            ;minimum latitude
> >> vcres at mpMaxLonF = 357.5                         ;maximum longitude
> >> vcres at mpMinLonF = 270                           ;minimum longitude
> >>
> >> diff_u = uAvgTime_hi - uAvgTime_lo
> >> diff_v = vAvgTime_hi - vAvgTime_lo
> >>
> >> printVarSummary(diff_u)
> >> printVarSummary(diff_v)
> >>
> >> vcres at gsnLeftString = "DJF High NAO"
> >> plot(0) = gsn_csm_vector_map_ce(wks,uAvgTime_hi,vAvgTime_hi,vcres)
> >>
> >> vcres at gsnLeftString = "DJF Low NAO"
> >> plot(1) = gsn_csm_vector_map_ce(wks,uAvgTime_lo,vAvgTime_lo,vcres)
> >>
> >>
> >> vcres at vcRefMagnitudeF = 1.0                     ; define vector ref mag
> >> vcres at vcRefLengthF = 0.045                      ; define length of vec
> >> ref
> >> vcres at gsnLeftString = "Difference of High - Low"
> >> plot(2) = gsn_csm_vector_map_ce(wks, diff_u, diff_v,vcres)
> >>
> >> ;************************************************
> >> ; create panel
> >> ;************************************************
> >> resP = True                                     ; modify the panel plot
> >> resP at txString = "NAO"
> >> gsn_panel(wks,plot,(/3,1/),resP)                ; now draw as one plot
> >>
> >>
> >>
> >> end
> >>
> >>
> >>
> >> OUTPUT
> >> *******************************************************
> >> Variable: vAvgTime_hi
> >> Type: float
> >> Total Size: 2736 bytes
> >>             684 values
> >> Number of Dimensions: 2
> >> Dimensions and sizes:   [lat | 19] x [lon | 36]
> >> Coordinates:
> >>             lat: [45..90]
> >>             lon: [270..357.5]
> >> Number Of Attributes: 17
> >>   NMO : 0
> >>   _FillValue :  -9.96921e+36
> >>   actual_range :        ( -15.43516, 19.79167 )
> >>   parent_stat : Other
> >>   statistic :   Mean
> >>   level_desc :  Surface
> >>   dataset :     CDC Derived NCEP Reanalysis Products
> >>   var_desc :    v-wind
> >>   least_significant_digit :     1
> >>   precision :   2
> >>   missing_value :       -9.96921e+36
> >>   scale_factor :         1
> >>   add_offset :   0
> >>   units :       m/s
> >>   valid_range : ( -102.2, 102.2 )
> >>   long_name :   DJF: Monthly Mean Meridional Wind at sigma level 0.995
> >>   average_op_ncl :      dim_avg_n over dimension(s): time
> >>
> >> Variable: vAvgTime_lo
> >> Type: float
> >> Total Size: 2736 bytes
> >>             684 values
> >> Number of Dimensions: 2
> >> Dimensions and sizes:   [lat | 19] x [lon | 36]
> >> Coordinates:
> >>             lat: [45..90]
> >>             lon: [270..357.5]
> >> Number Of Attributes: 17
> >>   NMO : 0
> >>   _FillValue :  -9.96921e+36
> >>   actual_range :        ( -15.43516, 19.79167 )
> >>   parent_stat : Other
> >>   statistic :   Mean
> >>   level_desc :  Surface
> >>   dataset :     CDC Derived NCEP Reanalysis Products
> >>   var_desc :    v-wind
> >>   least_significant_digit :     1
> >>   precision :   2
> >>   missing_value :       -9.96921e+36
> >>   scale_factor :         1
> >>   add_offset :   0
> >>   units :       m/s
> >>   valid_range : ( -102.2, 102.2 )
> >>   long_name :   DJF: Monthly Mean Meridional Wind at sigma level 0.995
> >>   average_op_ncl :      dim_avg_n over dimension(s): time
> >>
> >>
> >> Variable: diff_u
> >> Type: float
> >> Total Size: 2736 bytes
> >>             684 values
> >> Number of Dimensions: 2
> >> Dimensions and sizes:   [19] x [36]
> >> Coordinates:
> >> Number Of Attributes: 1
> >>   _FillValue :  -9.96921e+36
> >>
> >> Variable: diff_v
> >> Type: float
> >> Total Size: 2736 bytes
> >>             684 values
> >> Number of Dimensions: 2
> >> Dimensions and sizes:   [19] x [36]
> >> Coordinates:
> >> Number Of Attributes: 1
> >>   _FillValue :  -9.96921e+36
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> ncl-talk mailing list
> >> ncl-talk at ucar.edu
> >> List instructions, subscriber options, unsubscribe:
> >> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
> >>
> >>
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150608/93c76e25/attachment.html 


More information about the ncl-talk mailing list