[ncl-talk] Potential issue with version 6.4.0 of NCL
Tanya Peevey
trpeevey at gmail.com
Fri Mar 16 14:08:23 MDT 2018
NCL-Talk,
I'm running some code that works with version 6.3.0 of NCL but not with the
6.4.0 version. The issue happens in one or two functions: tofloat (or
stringtofloat) and decimalPlaces. I looked online and there is no mention
of these functions being removed or changed for the newer version of NCL.
I'm wondering if there is a bug in the 6.4.0 version of NCL. Any assistance
would be appreciated.
Below is some text showing what happens and a snippet of the code. If
needed I'll send more information but I'm hoping that this will be enough.
The 'cost,grad,step ...' line is obtained from a file that is generated by
a model.
Here is the code that gets that line and then tries to get information from
the 5th and 6th column of that line.
filename2 =
/scratch4/BMC/qosap/ptmp/Andrew.Kren/par/prCTL_2_noAMV/gsistat.gdas.2016082200
error occurs at first 'if statement'
**CODE*:*
; Default background color of Main Table (not Header) is white.
; If num assimilated (ratio) doesn't increase (decrease) then the color is
changed so
; that the user can quickly see the issue.
default_table_fillcolor = "white"
flag_table_fillcolor = "palegreen"
delim1 = " "
delim2 = "_"
; system calls to linux to get necessary data
cost_grad = systemfunc("grep cost, " + filename2)
print(cost_grad)
print("Reading Cost and Gradient...")
cost_value_1 =
tostring(decimalPlaces(tofloat(str_get_field(cost_grad(0),5,delim1)),4,True))
cost_value_2 =
tostring(decimalPlaces(tofloat(str_get_field(cost_grad(201),5,delim1)),4,True))
grad_value_1 =
tostring(decimalPlaces(tofloat(str_get_field(cost_grad(0),6,delim1)),4,True))
grad_value_2 =
tostring(decimalPlaces(tofloat(str_get_field(cost_grad(201),6,delim1)),4,True))
print(str_get_field(cost_grad(0),5,delim1))
print(str_get_field(cost_grad(201),5,delim1))
print(stringtofloat(str_get_field(cost_grad(0),5,delim1)))
print(stringtofloat(str_get_field(cost_grad(201),5,delim1)))
print(decimalPlaces(tofloat(str_get_field(cost_grad(0),5,delim1)),4,True))
print(decimalPlaces(tofloat(str_get_field(cost_grad(201),5,delim1)),4,True))
print(cost_value_1)
print(cost_value_2)
dayfile_name = str_get_field(inFile1,7,"/")
if (tofloat(cost_value_1) .lt. tofloat(cost_value_2)) then
cost_value_flag = flag_table_fillcolor
write_table(textfile,"a",[/"X"," "," "," "," "," "," "," "/], \
"%12s%10s%12s%10s%10s%10s%10s%10s")
end if
if (tofloat(grad_value_1) .lt. tofloat(grad_value_2)) then
grad_value_flag = flag_table_fillcolor
end if
**OUTPUT with 6.4.0*:*
(0) cost,grad,step,b,step? = 1 0 1.498929611143528717E+06
2.048988964546030616E+02 1.211877385244983785E+00
0.000000000000000000E+00 good
......
(201) cost,grad,step,b,step? = 2 150 1.131911262744225329E+06
5.6766037650629
*47227E-02 1.791057212970216916E+00 9.879673418565034781E-01*
good
(0) Reading Cost and Gradient...
warning:toint: there are 1 float(s) larger than INT_MAX, which have been
flagged missing.
warning:toint: there are 1 float(s) larger than INT_MAX, which have been
flagged missing.
(0) 1.498929611143528717E+06
(0) 1.131911262744225329E+06
(0) 1498930
(0) 1131911
warning:toint: there are 1 float(s) larger than INT_MAX, which have been
flagged missing.
Variable: unnamed (return)
Type: float
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
Number Of Attributes: 1
_FillValue : -2.147484e+09
(0) -2.147484e+09
warning:toint: there are 1 float(s) larger than INT_MAX, which have been
flagged missing.
Variable: unnamed (return)
Type: float
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
Number Of Attributes: 1
_FillValue : -2.147484e+09
(0) -2.147484e+09
Variable: cost_value_1
Type: string
Total Size: 8 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
Number Of Attributes: 1
_FillValue : -2147483648.000000
(0) -2147483648.000000
Variable: cost_value_2
Type: string
Total Size: 8 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
Number Of Attributes: 1
_FillValue : -2147483648.000000
(0) -2147483648.000000
fatal:The result of the conditional expression yields a missing value. NCL
can not determine branch, see ismissing function
fatal:["Execute.c":8640]:Execute: Error occurred at or near line 92 in file
/scratch4/BMC/qosap/noscrub/VERIF_PKG/anl_monitor/gsi_stats/scripts/create_minimization_data.ncl
**OUTPUT with 6.3.0*:*
(0) cost,grad,step,b,step? = 1 0 1.498929611143528717E+06
2.048988964546030616E+02 1.211877385244983785E+00
0.000000000000000000E+00 good
......
(201) cost,grad,step,b,step? = 2 150 1.131911262744225329E+06
5.676603765062947227E-02 1.791057212970216916E+00 9.879673418565034781E-01
good
(0) Reading Cost and Gradient...
(0) 1.498929611143528717E+06
(0) 1.131911262744225329E+06
(0) 1498930
(0) 1131911
Variable: unnamed (return)
Type: float
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
(0) 1498930
Variable: unnamed (return)
Type: float
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
(0) 1131911
Variable: cost_value_1
Type: string
Total Size: 8 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
(0) 1498929.625000
Variable: cost_value_2
Type: string
Total Size: 8 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes: [1]
Coordinates:
(0) 1131911.250000
Thank you,
Tanya
--
Tanya R. Peevey, PhD
Research Scientist I, Global Observing Systems Analysis (GOSA) Group
NOAA ESRL Global Systems Division
325 Broadway, Boulder, CO 80305
(303) 497-5847
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180316/142b9f30/attachment.html>
More information about the ncl-talk
mailing list