Re: Tick mark based on converted values

From: Hyacinth Nnamchi <hyacinth.1_at_nyahnyahspammersnyahnyah>
Date: Sun May 20 2012 - 09:21:47 MDT

Hi all,

I have fixed this problem, the relevant lines are as follows:

 print(nino3spec@frq) ;examine the freqs
 cc1 = (1/(nino3spec@frq)) ;converts freq to period (year)
 print(cc1) ;examine the periods
 cc1!0 = "time"

r = True
...
...
r@tmXBMode = "Explicit"
r@tmXBValues = (/"100","50","20","10","5","4","3","2","1"/)
r@tmXBLabels = (/"100","50","20","10","5","4","3","2","1"/)

plot = gsn_csm_xy(wks, cc1, nino3spec@spcx, r) ; create plot

Thanks,

Hyacinth

From: hyacinth.1@hotmail.com
To: ncl-talk@ucar.edu
Subject: Tick mark based on converted values
Date: Sun, 20 May 2012 02:03:38 +0800

Hello,

I'm trying to plot spectrum analysis using the script below. When the frequencies are converted to periods and then setting the res@tmXBMode = "Explicit" . But the ticks don't appear and there is no error message. Does someone know what could be wrong here?

Thanks in advance.

Hyacinth

;*************************************************
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"
begin

; ==============================================================
; User defined parameters that specify region of globe and
; ==============================================================
; latS = -50.
; latN = 20.
; lonL = -70.
; lonR = 40.

  yrStrt = 1900
  yrLast = 2011

  season = "JJA" ; choose Dec-Jan-Feb seasonal mean
  
; ==============================================================
; Open the file: Read only the user specified period
; ==============================================================

 f = addfile ("sst.mnmean.nc", "r")

  TIME = f->time
  YYYY = cd_calendar(TIME,-1)/100 ; entire file
  iYYYY = ind(YYYY.ge.yrStrt .and. YYYY.le.yrLast)
  sst = short2flt(f->sst(iYYYY,:,:))
  printVarSummary(sst)
  
 ;;=================================================;
; Remove the annual cycle
;=================================================;
   xClm = clmMonTLL(sst)
   printVarSummary(xClm) ; (12,nlat,nlon)
   sst = calcMonAnomTLL (sst, xClm) ; replace with anonamlies
   sst@long_name = "ANOMALIES: "+sst@long_name

; Re-order the longitutes
   sst = lonFlip(sst)
   printVarSummary(sst) ; note the longitude coord
; ==============================================================
; compute desired global seasonal mean: month_to_season (contributed.ncl)
; ==============================================================
  SST = month_to_season (sst, season)
  nyrs = dimsizes(SST&time)
  printVarSummary(SST)
;;========================================================
 
   atl3 = wgt_areaave_Wrap(SST(time |:, {lon|-20:0}, {lat | -5:5}),1.0, 1.0, 0) ;Atlantic Nino

  print(atl3)

;;Normalize time series

 ; atl3 = dim_standardize_n(atl3,0,0)
     
;*********************************,
;************************************************
; set function arguments to calculate spectrum
;************************************************
  d = 0 ; detrending opt: 0=>remove mean 1=>remove mean + detrend
  sm = 5 ; smooth: should be at least 3 and odd
  pct = 0.10 ; percent taper: (0.0 <= pct <= 1.0) 0.10 common.
;************************************************
; calculate spectrum
;************************************************
  nino3spec = specx_anal(atl3,d,sm,pct)
;************************************************
; plotting parameters
;************************************************
   wks = gsn_open_wks("pdf","atl3_spec_default") ; Opens a ps file
   plot = new(1,graphic) ; create graphic array

   r = True ; plot mods desired
   r@gsnDraw = False ; do not draw
   r@gsnFrame = False ; do not advance frame
  ; r@trYLog = True
   r@trYMinF = 0 ; manually set lower limit
   r@trYMaxF = 6 ; " upper
   r@xyLineThicknesses = (/3/) ; Define line thicknesses
   r@xyDashPatterns = (/0/) ; Dash patterns
   r@xyLineColors = (/"blue"/)
   r@tiMainString = "Default plot" ; title
   ;r@tiXAxisString = "Frequency (cycles/year)" ; xaxis
   ;r@tiYAxisString = "Variance" ; yaxis

   cc1 = (1/(/0.02,0.1,0.2,0.3,0.4,0.5,1/)) ;Divide by 1/f to convert frequency to periods (years)

   print(cc1)
   
    r@tmXBMode = "Explicit"
    r@tmXBValues = (/cc1/)
   ; r@tmXBMinorValues = (/cc1/)
    r@tmXBLabels = (/cc1/)
  
  ; r@tmXBLabels = (/"50","45","40","30","20","10","5","4","3","2","1"/)
  

;************************************************
;Create plot
;************************************************
 
   plot = gsn_csm_xy(wks, nino3spec@frq, nino3spec@spcx, r) ; create plot
   
   draw(plot)
   frame(wks)
end

                                                                                              

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk

Received on Sun May 20 09:21:57 2012

This archive was generated by hypermail 2.1.8 : Fri May 25 2012 - 08:35:50 MDT