[ncl-talk] Latitude units assignment
Alan Brammer
abrammer at albany.edu
Tue Dec 19 07:57:56 MST 2017
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> 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 <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171219/2a585395/attachment.html>
More information about the ncl-talk
mailing list