[ncl-talk] two miising values

Geeta Geeta geetag54 at yahoo.com
Sat Jun 4 01:48:01 MDT 2016


thanks Mary it worked and now the data looks reasonable.  Pls find the plots for the layer 57 and layer 61 (where the rainrate is MAX). I am unable to understand why the Red Colored band is coming..
 
Geeta. 

    On Saturday, 4 June 2016 12:37 AM, Mary Haley <haley at ucar.edu> wrote:
 

 Geeta,
As I mentioned in an earlier email, the '-88.88' value may not be exact.  If you look at your output, you had values like this:
-99.98999999999999

The -88.88 values may be the same situation, i.e., they may be:
-88.8777777777777

or similar. 
To catch this possible roundoff error, Use "-88.8" instead of "-88.88", and use ".lt" instead of ".eq":
    RF_fnl          =  where(RF_with_missing.lt.-88.8,-RF_with_missing at _FillValue,RF_with_missing)
--Mary



On Fri, Jun 3, 2016 at 11:07 AM, Geeta Geeta <geetag54 at yahoo.com> wrote:

Hi Mary. There was some problem with the earlier script that I sent you. Pl s look at this one. this is the output. 0) 9247(1) 49
Variable: RF_fltType: floatTotal Size: 144992960 bytes            36248240 valuesNumber of Dimensions: 3Dimensions and sizes: [9247] x [49] x [80]Coordinates: Number Of Attributes: 1  _FillValue : -9999(0)  (0) min=-8888   max=9783
Variable: RF_with_missingType: doubleTotal Size: 289985920 bytes            36248240 valuesNumber of Dimensions: 3Dimensions and sizes: [9247] x [49] x [80]Coordinates: Number Of Attributes: 1  _FillValue : -9999(0)  (0) min=-88.88   max=97.83
Variable: RF_fnlType: doubleTotal Size: 289985920 bytes            36248240 valuesNumber of Dimensions: 3Dimensions and sizes: [9247] x [49] x [80]Coordinates: Number Of Attributes: 1  _FillValue : -9999(0)  (0) min=-88.88   max=97.83aditya at agniilap:~/geeta/ncl/ReadHDF-2A25$ 
RF_with_missing has min value of -88.88,  After where statement, the -88.88 is not replaced by -9999. 
thank you for your help Geeta. 

    On Friday, 3 June 2016 9:50 PM, Geeta Geeta <geetag54 at yahoo.com> wrote:
 

 Thanks Mary. I am sending my code and pls tell me where to upload the data?. This is output now. I made changes as you told. (0) min=-9999   max=9783
Variable: RF_fnlType: doubleTotal Size: 289985920 bytes            36248240 valuesNumber of Dimensions: 3Dimensions and sizes: [9247] x [49] x [80]Coordinates: (0)  (0) min=-99.98999999999999   max=97.83(0)  (0) min=-99.98999999999999   max=1.85(0)  (0) min=-99.98999999999999   max=1.48(0)  (0) min=-99.98999999999999   max=1.58(0)  (0) min=-99.98999999999999   max=1.73(0)  (0) min=-99.98999999999999   max=1.99(0)  (0) min=-99.98999999999999   max=2.6(0)  (0) min=-99.98999999999999   max=1.7
Variable: RF_fnlType: doubleTotal Size: 289985920 bytes            36248240 valuesNumber of Dimensions: 3Dimensions and sizes: [9247] x [49] x [80]Coordinates: Number Of Attributes: 2  lat2d : <ARRAY of 453103 elements>  lon2d : <ARRAY of 453103 elements>(0)  (0) min=-99.98999999999999   max=97.83aditya at agniilap:~/geeta/ncl/ReadHDF-2A25$ 
 Geeta. 

    On Friday, 3 June 2016 8:22 PM, Mary Haley <haley at ucar.edu> wrote:
 

 Geeta,
Are the -999900 and -888800 values correct? They seem a bit odd.  Perhaps you are supposed to divide the data by the scale_factor rather than multiple by it.  I think the "short2flt" function does a multiply.
Try this (UNTESTED):
   RF_short  =  hdf4_file->rain
   printVarSummary(RF_short)
   printMinMax(RF_short,0)   Rf_fnl  = tofloat(RF_short) / RF_short at scale_factor
   copyVarMeta(RF_short,Rf_fnl)

   printVarSummary(Rf_fnl)
   printMinMax(Rf_fnl,0)   Rf_fnl  =  where(Rf_fnl.eq.-88.88,Rf_fnl at _FillValue,Rf_fnl)
   printMinMax(Rf_fnl,0)   Rf_fnl at lon2d      =  longitude
   Rf_fnl at lat2d      =  latitudeI added several "printVarSummary" and "prinMinMax" calls to make sure that the conversions are working at every step.
If this continues to fail, it would help if I could have access to your latest script and data.--Mary
On Fri, Jun 3, 2016 at 2:04 AM, Geeta Geeta <geetag54 at yahoo.com> wrote:

thanks Mary for your suggestions.. I was able to get the plot but I am getting a band like structure in the plot that is middle part is white. Dont know why???
can u pls suggest.  Geeta. 

    On Friday, 3 June 2016 3:29 AM, Mary Haley <haley at ucar.edu> wrote:
 

 
Geeta,
You will need to approach this with two steps.
First, since this data is of type "short" and has scale_factor and add_offset attributes, you should read the data using "short2flt", which will apply these attributes for you. Afterwards, use "printVarSummary" and "printMinMax" to make sure the data looks okay.
Second, whenever your data has multiple missing value values, you can use the "where" function
First, use "-9999" as your standard missing value:
rf at _FillValue = -9999
Now that "-9999" is a recognized missing value, you can then coerce the -88.88 value to missing as well:
  rf = where(rf.eq.-88.88,rf at _FillValue,rf)
Note: it's not generally a good idea to do a straight comparison of float data with "if(x.eq.12.34)" type of comparisons. If you know that all your data is positive, for example, except for the potential -88.88 value, then a better way to do this is:
  rf = where(rf.lt.0,rf at _FillValue,rf)
Or, if you feel more comfortable about comparing values that are closer to -88.88. then use a roundoff of -88:
  rf = where(rf.lt.-88,rf at _FillValue,rf)
This will then catch anything less than -88 and set it to missing.
http://www.ncl.ucar.edu/Document/Functions/Contributed/short2flt.shtml
http://www.ncl.ucar.edu/Document/Functions/Built-in/where.shtml

--Mary

On Thu, Jun 2, 2016 at 12:37 PM, Geeta Geeta <geetag54 at yahoo.com> wrote:

I am using TRMM data that has rain rate in vertical up to 20 km from the Radar . the variable "rain" has data type as short Variable: RFType: shortTotal Size: 72496480 bytes            36248240 valuesNumber of Dimensions: 3Dimensions and sizes: [nscan | 9247] x [nray | 49] x [ncell1 | 80]Coordinates: Number Of Attributes: 9  lat2d : <ARRAY of 453103 elements>  lon2d : <ARRAY of 453103 elements>  scale_factor :  100  scale_factor_err :    0  add_offset :    0  add_offset_err :    0  calibrated_nt : 22  units : mm/hr  hdf_name : rain(0)  (0) min=-9999   max=9783
It has two types of missing values -88.88 (referrred to as the ground clutter) and -9999 as the missing value. I have to plot this data . ho w should i put two values as miising?I am getting a plot like this.  Geeta.
_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk





   



   

   



  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160604/bc6d2275/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Plot57.png
Type: image/png
Size: 50861 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160604/bc6d2275/attachment-0002.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Plot61.png
Type: image/png
Size: 52864 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160604/bc6d2275/attachment-0003.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2a25.090515.65505.7.v2.ncl
Type: application/octet-stream
Size: 2512 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160604/bc6d2275/attachment-0002.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: out
Type: application/octet-stream
Size: 14588 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160604/bc6d2275/attachment-0003.obj 


More information about the ncl-talk mailing list