cordinate error

From: Owanda Otieno <owandaotieno_at_nyahnyahspammersnyahnyah>
Date: Fri Feb 24 2012 - 14:15:02 MST

Dear all,
I am trying do compute eof using modified sample scripts from NCL websites.
I have been getting a couple of error massages about coordinate naming.
Through online search have gotten a couple of similar problems and their
suggested solutions, which have tried without any success.

*Part of the massage I receive is shown below:*

Variable: eof_ts
Type: float
Total Size: 2880 bytes
            720 values
Number of Dimensions: 2
Dimensions and sizes: [evn | 3] x [time | 240]
Coordinates:
            evn: [1..3]
Number Of Attributes: 3
  ts_mean : ( -59.76283, -171.605, 35.54322 )
  matrix : covariance
  _FillValue : 1e+30
(0) check_for_y_lat_coord: Warning: Data either does not contain a
valid latitude coordinate array or doesn't contain one at all.
(0) A valid latitude coordinate array should have a 'units' attribute
equal to one of the following values:
(0) 'degrees_north' 'degrees-north' 'degree_north' 'degrees north'
'degrees_N' 'Degrees_north' 'degree_N' 'degreeN' 'degreesN' 'deg north'

.
.
.
    'degrees_north' 'degrees-north' 'degree_north' 'degrees north'
'degrees_N' 'Degrees_north' 'degree_N' 'degreeN' 'degreesN' 'deg north'
(0) check_for_lon_coord: Warning: Data either does not contain a valid
longitude coordinate array or doesn't contain one at all.
(0) A valid longitude coordinate array should have a 'units' attribute
equal to one of the following values:
(0) 'degrees_east' 'degrees-east' 'degree_east' 'degrees east'
'degrees_E' 'Degrees_east' 'degree_E' 'degreeE' 'degreesE' 'deg east'
fatal:No coordinate variable exists for dimension (time) in variable
(eof_ts)
fatal:Execute: Error occurred at or near line 144 in file eofcordex3.ncl

***My scipt :**
**
*; ==============================================================
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 = -12.
  latN = 23.
  lonL = 20.
  lonR = 60.

  yrStrt = 1989
  yrLast = 2008

  season = "MAM"

  neof = 3
  optEOF = True
  optEOF@jopt = 0
  optETS = False

; ==============================================================
; Open the file: Read only the user specified period
; ==============================================================
   dir = "/scratch/DATA/CORDEX/UC-WRF/"
      f = addfile
(dir+"AFRICA_UC-WRF311_CTL_ERAINT_MM_50km_1989-2008_pr.nc", "r")

    TIME = f->time
    YYYY = cd_calendar(TIME, -1)/100
   iYYYY = ind(YYYY.ge.yrStrt .and. YYYY.le.yrLast)

      pr = f->pr(:,:,:)
      print(dimsizes(pr))
      x = pr*86400
   printVarSummary(x) ; variable overview

nlat = 249
nlon = 209
lat = latGlobeFo(nlat, "lat", "latitude", "degrees_north")
lon = lonGlobeFo(nlon, "lon", "longitude", "degrees_east")

      printVarSummary(lat)
      printVarSummary(lon)

      x!0 = "time"
      x!1 = "lat"
      x!2 = "lon"
; x&lat = x&lat
; x&lon = x&lon

; x&time = Months
; x&lat = "degrees_north"
; x&lon = "degrees_east"

    printVarSummary(x)

; x&lat@units = "degrees_north"
; x&lon@units = "degrees_east"
; ==============================================================
;compute desired monthly climatology and monthly anomalies
;===============================================================

  xClm = clmMonTLL(x)
  printVarSummary(xClm)

  xAnom = calcMonAnomTLL(x,xClm)
  printVarSummary(xAnom)

; ================================================================
; Reorder (lat,lon,time) the *weighted* input data
; Access the area of interest via coordinate subscripting
; ================================================================
; xr = xAnom(lat|:,lon|:,time|:)
   xr = x(lat|:,lon|:,time|:)

  eof = eofunc_Wrap(xr, neof, optEOF)
; eof =-1*eof
  eof_ts = eofunc_ts_Wrap (xr, eof, optETS)

  printVarSummary( eof )
  printVarSummary( eof_ts )

;============================================================
; PLOTS
;============================================================
  xwks = gsn_open_wks("x11","eof")
 pswks = gsn_open_wks("eps","Africa-WRF-Cordex_eof-mam1989-2008")
  gsn_define_colormap(xwks,"BlWhRe") ; choose colormap
  gsn_define_colormap(pswks,"BlWhRe")
  plot = new(neof,graphic) ; create graphic array
                                          ; only needed if paneling
; EOF patterns

  res = True
  res@gsnDraw = False ; don't draw yet
  res@gsnFrame = False ; don't advance frame yet
  res@gsnSpreadColors = True ; spread out color table
  res@gsnAddCyclic = False ; plotted dataa are not cyclic

  res@mpFillOn = False ; turn off map fill
  res@mpOutlineBoundarySets = "National"
  res@mpGeophysicalLineColor = "Navy"
; res@mpGeophysicalLineThickness = 1.5

  res@mpMinLatF = latS ; zoom in on map
  res@mpMaxLatF = latN
  res@mpMinLonF = lonL
  res@mpMaxLonF = lonR

  res@cnFillOn = True ; turn on color fill
  res@cnLinesOn = False ; True is default
; res@cnLineLabelsOn = False ; True is default
  res@lbLabelBarOn = False ; turn off individual lb's

                                          ; set symmetric plot min/max
  symMinMaxPlt(eof, 16, False, res) ; contributed.ncl

; panel plot only resources
  resP = True ; modify the panel plot
  resP@gsnMaximize = True ; large format
  resP@gsnPanelLabelBar = True ; add common colorbar
  resP@lbLabelAutoStride = True ; auto stride on

;*******************************************
; first plot
;*******************************************
  do n=0,neof-1
     res@gsnLeftString = "EOF "+(n+1)
     res@gsnRightString = sprintf("%5.1f", eof@pcvar(n)) +"%"
     plot(n)=gsn_csm_contour_map_ce(xwks,eof(n,:,:),res)
     plot(n)=gsn_csm_contour_map_ce(pswks,eof(n,:,:),res)
  end do
  gsn_panel(xwks,plot,(/neof,1/),resP) ; now draw as one plot
  gsn_panel(pswks,plot,(/neof,1/),resP)

;*******************************************
; second plot
;*******************************************
;; EOF time series [bar form]

   time = eof_ts&time
  do n=0,neof-1
    ascii_file1 = "WRF-cordex_eof1-mam1989-2008.txt"
    ascii_file2 = "WRF-cordex_eof2-mam1989-2008.txt"
    ascii_file3 = "WRF-cordex_eof3-mam1989-2008.txt"

    asciiwrite(ascii_file1,eof_ts(0,:))
    asciiwrite(ascii_file2,eof_ts(1,:))
    asciiwrite(ascii_file3,eof_ts(2,:))
  end do
end

You can find my data here :
https://dropbox.uconn.edu/dropbox?n=AFRICA_UC-WRF311_CTL_ERAINT_MM_50km_1989-2008_pr.nc&p=WzAFDxwPm1IMFjpIL
my script is also attached.

Any suggestion appreciated
Thanks

-- 
Owanda Otieno
Department of Natural Resources and the Environment
University of Connecticut
1376 Storrs Road, Unit 4087
Storrs, CT 06269-4087
Phone: (860) 486-1876
-- 
Owanda Otieno
Department of Natural Resources and the Environment
University of Connecticut
1376 Storrs Road, Unit 4087
Storrs, CT 06269-4087
Phone: (860) 486-1876


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

Received on Fri Feb 24 14:15:13 2012

This archive was generated by hypermail 2.1.8 : Mon Mar 05 2012 - 14:12:07 MST