Coordinate subscripting with mixed types

From: Dave Allured - NOAA Affiliate <dave.allured_at_nyahnyahspammersnyahnyah>
Date: Thu Aug 22 2013 - 12:06:49 MDT

NCL support,

This is a request for improved support for mixed types in coordinate
subscripting. For example, it is legal to subscript a double
coordinate with floats, but going the other way is an error. This
shows that type handling in simple NCL relational operators is more
liberal than in coordinate subscripting:

lats = (/ 0., 10., 20., 30., 40., 50., 60. /)
x = (/ 0, 111, 222, 333, 444, 555, 666 /)
x!0 = "lat"
y = x

x&lat = tofloat (lats)
y&lat = todouble (lats)

f1 = 20. ; floats
f2 = 40.
d1 = 20d ; doubles
d2 = 40d

ind1 = ind (y&lat .ge. f1 .and. y&lat .le. f2)
print (ind1+"")
print ("")

ind2 = ind (x&lat .ge. d1 .and. x&lat .le. d2)
print (ind2+"")
print ("")

sub1 = y({f1:f2}) ; float subscripts double
print (sub1&lat+" "+typeof(sub1&lat))
print ("")

sub2 = x({d1:d2}) ; double subscripts float
print (sub2&lat+" "+typeof(sub2&lat))

Result:

 NCAR Command Language Version 6.1.2
(0) 2
(1) 3
(2) 4
(0)
(0) 2
(1) 3
(2) 4
(0)
(0) 20 double
(1) 30 double
(2) 40 double
(0)
fatal:Coordinate subscript type mismatch. Subscript (0) can not be
coerced to type of coordinate variable
fatal:["Execute.c":8128]:Execute: Error occurred at or near line 26 in
file mixed-mode-coord-subscripts.ncl

I think it would be generally helpful if coordinate subscripting could
be broadened to support all reasonable cases of mixed types. At a
minimum, please support the same combinations as for the relational
operators. I know that there are simple workarounds, but this
improvement would benefit simpler user code and generalized file
support. Thanks for your consideration.

--Dave A.
NOAA/PSD/CIRES Climate Analysis Branch
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Aug 22 12:06:57 2013

This archive was generated by hypermail 2.1.8 : Fri Aug 30 2013 - 14:04:57 MDT