When comparing values in a NCL in an &IF clause take special care.
It is a good practice to prefix the variables to be compared with a dot '.' to avoid syntax errors. But when comparing numeric values this practice can lead to logical errors as this example shows:
&A = 3
&B = 25
&IF .&A < .&B &THEN &DO
...
&DOEND
As 3 < 25 is true the programming logic should follow the &THEN branch.
But after variable substitution that &IF looks like
&IF .3 < .25 &THEN &DO
...
&DOEND
As NCL interpret numbers with a preceeding dot as floating point numbers the logic changes! As 0.3 is greater than 0.25 the logical expression is not true and the &THEN branch is not executed. So please use a zero '0' instead a dot '.' as prefix when comparing numeric values in &IF clauses.