Re: Lat lon coordinate variable dims

From: Brammer, Alan P <abrammer_at_nyahnyahspammersnyahnyah>
Date: Mon Mar 24 2014 - 12:36:57 MDT

precDJF2D = onedtond(prec_DJF1D,(/npts,ncol/)) ; convert 1D array to a 2D array
precMAM2D = onedtond(prec_MAM1D,(/npts,ncol/)) ; convert 1D array to a 2D array
precJJA2D = onedtond(prec_JJA1D,(/npts,ncol/)) ; convert 1D array to a 2D array
precSON2D = onedtond(prec_SON1D,(/npts,ncol/)) ; convert 1D array to a 2D array

are these lines correct ? It seems you should be making a 2d array that is nlat x nlon (or nlon x nlat; to match up with your dimension names below) instead. I would presume that there is also this error or similar being printed out "warning:onedtond : output dimension sizes have fewer elements than input, some data not copied"

insert a printVarSummary(precDJF2D) between line 46 & 57 and see if the array size looks right.

Alan.

##############################
Alan Brammer,
PhD Student,

Department of Atmospheric and Environmental Sciences,
University at Albany, State University of New York, Albany, NY, 12222
abrammer@albany.edu<mailto:abrammer@albany.edu>
##############################

On Mar 24, 2014, at 12:04 AM, Katrina Bennett <kebennett@alaska.edu<mailto:kebennett@alaska.edu>> wrote:

I am trying to bring in a csv file with coordinates in lat/lon and then create 2d variables and then map these variables using the panel_6.ncl template.

My confusion is around assigning the lat/lon variables. I have only used ncl once before this so I am still learning. I looked at many different examples of csv import and assign lat/lon but I am still getting the following errors:

fatal:Coordinate variables must be the same dimension as their dimension
fatal:No coordinate variable exists for dimension (lat) in variable (precDJF2D)
fatal:["Execute.c":8128]:Execute: Error occurred at or near line 57 in file 4polar_maps.ncl

Here is my code:
;************************************
; panel_6.ncl
;
; Concepts illustrated:
; - Paneling four plots on a page
; - Adding white space around paneled plots
;
;************************************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
;************************************
begin
nlat = 13
nlon = 96

asciif = asciiread("/import/c/w/kbennett/WAGNER/orig/all_precfn2.csv", -1, "float")
ncol = 6 ; # of columns
npts = dimsizes(asciif)/ncol ; # of points

print ("Number of npts " + npts)

data = onedtond(asciif,(/npts,ncol/)) ; npts x ncol
;print (data(:,0))
;lon,lat,DJFmmka,DJFsig,MAMmmka,MAMsig,JJAmmka,JJAsig,SONmmka,SONsig
lat1d = data(:,1)
lon1d = data(:,0)

lon1d@units = "degrees_east"
lon1d@long_name = "lon"
lat1d@units = "degrees_north"
lat1d@long_name = "lat"

prec_DJF1D = data(:,2) ; 1st create a 1d array
;prec_DJFsig = data(:,3) ; 1st create a 1d array
prec_MAM1D = data(:,3) ; 1st create a 1d array
;prec_MAMsig = data(:,5) ; 1st create a 1d array
prec_JJA1D = data(:,4) ; 1st create a 1d array
;prec_JJAsig = data(:,7) ; 1st create a 1d array
prec_SON1D = data(:,5) ; 1st create a 1d array
;prec_SONsig = data(:,9) ; 1st create a 1d array
precDJF2D = onedtond(prec_DJF1D,(/npts,ncol/)) ; convert 1D array to a 2D array
precMAM2D = onedtond(prec_MAM1D,(/npts,ncol/)) ; convert 1D array to a 2D array
precJJA2D = onedtond(prec_JJA1D,(/npts,ncol/)) ; convert 1D array to a 2D array
precSON2D = onedtond(prec_SON1D,(/npts,ncol/)) ; convert 1D array to a 2D array

; Assign named dimensions
precDJF2D!0 = "lon"
precDJF2D!1 = "lat"
precMAM2D!0 = "lon"
precMAM2D!1 = "lat"
precJJA2D!0 = "lon"
precJJA2D!1 = "lat"
precSON2D!0 = "lon"
precSON2D!1 = "lat"

; Assign coordinate variables
precDJF2D&lat = lat1d
precDJF2D&lon = lon1d
precMAM2D&lat = lat1d
precMAM2D&lon = lon1d
precJJA2D&lat = lat1d
precJJA2D&lon = lon1d
precSON2D&lat = lat1d
precSON2D&lon = lon1d

;************************************
;create plot
;************************************
 wks = gsn_open_wks("png","panel") ; open a png file
 gsn_define_colormap(wks,"gui_default") ; choose colormap
 plot = new(4,graphic) ; create graphic array

 res = True
 res@cnFillOn = True ; turn on color fill
 res@gsnDraw = False ; do not draw picture
 res@gsnFrame = False ; do not advance frame
 res@gsnPolar = "NH" ; select northern hemisphere
 res@lbOrientation = "Vertical" ; vertical label bar
; res@gsnAddCyclic = False
 res@trXMinF = min(lat1d)
 res@trXMaxF = max(lat1d)
 res@trYMinF = min(lon1d)
 res@trYMaxF = min(lon1d)

 plot(0)=gsn_csm_contour_map_polar(wks,precDJF2D,res)
 plot(1)=gsn_csm_contour_map_polar(wks,precMAM2D,res)
 plot(2)=gsn_csm_contour_map_polar(wks,precSON2D,res)
 plot(3)=gsn_csm_contour_map_polar(wks,precJJA2D,res)

; draw panel without white space
 gsn_panel(wks,plot,(/2,2/),False)

; draw panel with white space added
 resP = True
 resP@gsnPanelYWhiteSpacePercent = 5
 resP@gsnPanelXWhiteSpacePercent = 5
 gsn_panel(wks,plot,(/2,2/),resP)

end

;************************************

This is what the first 10 lines of my data looks like:

"lon","lat","DJF","MAM","JJA","SON"
0,87.1590945558629,1.38447505131676,3.9054964926648,-3.9386162686046,1.05695082807242
3.75,87.1590945558629,1.36185868022609,3.89670093682657,-4.34662668586562,0.908322062034282
7.5,87.1590945558629,1.37052975794326,3.82423903911227,-4.64227628445981,0.83524295936969
11.25,87.1590945558629,1.30806855744817,3.76288928938478,-4.90907575351071,0.730026786178644
15,87.1590945558629,1.17795321601124,3.64811392237327,-5.22059802771348,0.599228710484037
18.75,87.1590945558629,0.956059206087634,3.5322960292734,-5.41920570457574,0.489581327294277
22.5,87.1590945558629,0.783329287589404,3.36918405542919,-5.58526455756134,0.320871568192774
26.25,87.1590945558629,0.677955497475461,3.25939083195208,-5.73636498302219,0.210919362690496
30,87.1590945558629,0.551645815273951,3.11092339482815,-5.93283519009343,0.0722272558700274
33.75,87.1590945558629,0.436237774019278,3.04292256564622,-6.1559265596307,-0.109367042951931

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Katrina E. Bennett
PhD Candidate
University of Alaska Fairbanks
International Arctic Research Center
907-474-1939 kebennett@alaska.edu<mailto:kebennett@alaska.edu>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Mar 24 12:37:13 2014

This archive was generated by hypermail 2.1.8 : Mon Mar 31 2014 - 11:47:09 MDT