[ncl-talk] convert the double missing_value to float one
Beáta Szabó-Takács
szabo.b at czechglobe.cz
Mon Jun 19 01:04:59 MDT 2017
Dear NCL Users,
I would like to create a taylor_metrics_table where the missing values are denoted by -999. This part of script is:
season = (/ "DJF","JJA" /)
nSeason = dimsizes(season)
table = new ( (/nCase,nSeason,nSource/), typeof(ratio) )
table(0,:,:) = (/CA_bias, CA_biasn/)
table(1,:,:) = (/CB_bias, CB_biasn/)
table(2,:,:) = (/CC_bias, CC_biasn/)
table(3,:,:) = (/CD_bias, CD_biasn/)
tt_opt = True
tt_opt at tableTitle = "Bias(%)"
tt_opt at pltType= "png" ; "eps" [default], "pdf", "ps"
; "png", "gif" [if you have ImageMajik 'convert']
; tt_opt at color0 = "palegreen2"
; tt_opt at color1 = "tomato2"
tt_opt at color0 = "white"
tt_opt at color1 = "white"
taylor_metrics_table("taylor_bias_dry", source, case ,season, table, tt_opt)
I have some netcdf files where the precipitation (pr) values are float data type, but the _FillValue and missing_value are double. I tried convert these data to float with:
ncap2 -s 'pr=float(pr)' CM5A-MR_RCA4_dry_power_sm.nc CM5A-MR_RCA4_dry_power_sm2.nc
It converted the _FillValue to float but the missing_value are still double:
netcdf CM5A-MR_RCA4_dry_power_sm2 {
dimensions:
time = UNLIMITED ; // (4 currently)
latitude = 201 ;
longitude = 464 ;
variables:
float pr(time, latitude, longitude) ;
pr:_FillValue = -999.f ;
pr:cell_methods = "time: mean" ;
pr:long_name = "precipitation" ;
pr:missing_value = -999. ;
pr:standard_name = "precipitation_flux" ;
pr:units = "mm" ;
float longitude(longitude) ;
longitude:standard_name = "longitude" ;
longitude:long_name = "longitude" ;
longitude:units = "degrees_east" ;
longitude:axis = "X" ;
float latitude(latitude) ;
latitude:standard_name = "latitude" ;
latitude:long_name = "latitude" ;
latitude:units = "degrees_north" ;
latitude:axis = "Y" ;
double time(time) ;
time:standard_name = "time" ;
time:long_name = "time" ;
time:units = "days since 1949-12-1 00:00:00" ;
time:calendar = "standard" ;
time:axis = "T" ;
The resulted table is attached. In the table the missing values are denoted by double values in CD_biasn despite the fact that the printed CD_biasn contains _FillValues:
Variable: CD_biasn
Type: float
Total Size: 20 bytes
5 values
Number of Dimensions: 1
Dimensions and sizes: [5]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
(0) -999
(1) -4.541727
(2) 12.45617
(3) 10.47692
(4) -999
I also tried to convert the missing values to float type by ncl doubletofloat function but it does not work:
p8 at missing_value=doubletofloat(p8 at missing_value)
p8 at _FillValue = p8 at missing_value
delete(p8 at missing_value)
fatal:Type Mismatch: The type of missing value could not be converted to type of variable (p8)
p8_out = addfile("p8.nc","c")
p8_out ->p8 = p8
ncdump -h p8.nc
netcdf p8 {
dimensions:
time = 4 ;
latitude = 201 ;
longitude = 464 ;
variables:
float p8(time, latitude, longitude) ;
p8:_FillValue = -999.f ;
p8:cell_methods = "time: mean" ;
p8:long_name = "precipitation" ;
p8:missing_value = -999. ;
p8:standard_name = "precipitation_flux" ;
p8:units = "mm" ;
double time(time) ;
time:standard_name = "time" ;
time:long_name = "time" ;
time:units = "days since 1949-12-1 00:00:00" ;
time:calendar = "standard" ;
time:axis = "T" ;
float latitude(latitude) ;
latitude:standard_name = "latitude" ;
latitude:long_name = "latitude" ;
latitude:units = "degrees_north" ;
latitude:axis = "Y" ;
float longitude(longitude) ;
longitude:standard_name = "longitude" ;
longitude:long_name = "longitude" ;
longitude:units = "degrees_east" ;
longitude:axis = "X" ;
}
Can someone suggest me a solution?
Thank you for your help in advance!
Kind regards,
Beata
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170619/7a12f435/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: taylor_bias_dry.png
Type: image/png
Size: 89251 bytes
Desc: taylor_bias_dry.png
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170619/7a12f435/attachment.png
More information about the ncl-talk
mailing list