[ncl-talk] Latitude units assignment
Sourav Chatterjee
srvsxc at outlook.com
Tue Dec 19 21:28:58 MST 2017
Thanks Alan,
Just reordering it while plotting worked.
Sourav
________________________________
From: Alan Brammer <abrammer at albany.edu>
Sent: Tuesday, December 19, 2017 2:57:56 PM
To: Sourav Chatterjee
Cc: ncl-talk at ucar.edu
Subject: Re: [ncl-talk] Latitude units assignment
Possibly 2 things:
1.
Would help to see the printVarSummary(sst) outputs, but I think you might be missing the actual coordinate values. You named the dimension and set the units, but that doesn’t set the values.
sst!1 = "longitude"
sst!2 = “latitude”
sst&latitude = f->Latitude ;; assuming there is a variable in the file
sst&longitude = f->Longitude
sst&latitude at units = "degrees_north"
sst&longitude at units =“degrees_east"
When you printVarSummary(sst) you want to see values in the “Coordinates:” section of the output (highlighted below).
Variable: example
...
Number of Dimensions: 2
Dimensions and sizes: [lat | 10] x [lon | 10]
Coordinates:
lat: [ 0.. 9]
lon: [ 0.. 9]
Number Of Attributes: 1
_FillValue : 9.96921e+36
If this doesn’t work, include the printVarSummary(sst) outputs you’re getting.
2.
Would also help to see the line that actually gives you the error.
>From gsn_csm_contour_map() "If data is two-dimensional, then the leftmost dimension is represented on the Y (latitude) axis, and the rightmost dimension on the X (longitude) axis."
Currently your data is not ordered in this manner, so a simple way to plot it would be :
time_index = 0
plot = gsn_csm_contour_map(wks, sst( Time | time_index, latitude | :, longitude | : ), res)
See the reference manual here: http://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclVariables.shtml#NamedSubscripting
Good luck,
Alan
On 19 Dec 2017, at 09:26, Sourav Chatterjee via ncl-talk <ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>> wrote:
Hi,
My original variable is as below:
float SLA(Time, Longitude, Latitude) ;
SLA:_FillValue = 9.96921e+36f ;
SLA:scale_factor = 1.f ;
SLA:coordinates = "Sea Level Anomaly Estimate" ;
SLA:add_offset = 0.f ;
SLA:long_name = "Sea Level Anomaly Estimate" ;
SLA:standard_name = "Sea Level Anomaly Estimate" ;
SLA:units = "m" ;
As the lat lon dimensions has no units I was not getting the plot properly.
I tried this:
sst = f->SLA
printVarSummary(sst)
sst!1 = "longitude"
sst!2 = "latitude"
sst&latitude at units = "degrees_north"
sst&longitude at units ="degrees_east"
printVarSummary(sst)
But still getting the error,
(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:
Why is the units attribute is not getting assigned?
Thanks
Sourav
_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu<mailto: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/20171220/54c6c7f0/attachment.html>
More information about the ncl-talk
mailing list