Saving netCDF files


Greetings,

I have created the following Relationship:

(raysId ->
(rayBlockageType -> (pbAz, pbRan, pbElevAng, pbMinRayNum, pbMaxRayNum)))

by creating a FieldImpl of FlatFields.



(I.e.,
     [inner loop]
     rbTuple[a] = new RealTuple(pbType, pbVals);
     .
     .
     .

     [outter loop]
     rayBlockage_ff[b].setSamples(rbTuple, false);
     .
     .
     .

     [loops are done]
     raysId_ff.setSamples(rayBlockage_ff, false)
)


The stdout of the data look like this:

FieldImpl
  Type: (raysId -> (rayBlockageType -> (pbAz, pbRan, pbElevAng, pbMinRayNum, 
pbMaxRayNum)))
  DomainSet:
    Integer1DSet: Length = 7200
  Range value 0:
missing
  Range value 1:
missing
  Range value 2:
missing
  Range value 3:
missing
  Range value 4:
missing
  Range value 5:
missing
  Range value 6:
    FlatField
      Type: (rayBlockageType -> (pbAz, pbRan, pbElevAng, pbMinRayNum, 
pbMaxRayNum))
      DomainSet:
        Integer1DSet: Length = 4
      RangeSet[0]:
        FloatSet: Dimension = 1
      RangeSet[1]:
        FloatSet: Dimension = 1
      RangeSet[2]:
        FloatSet: Dimension = 1
      RangeSet[3]:
        FloatSet: Dimension = 1
      RangeSet[4]:
        FloatSet: Dimension = 1
(0.4748381972312927, 129091.7109375, 0.1265845000743866, 6.0, 13.0)
(0.47140800952911377, 130018.578125, 0.13223420083522797, 6.0, 13.0)
(0.4680247902870178, 130945.84375, 0.13688141107559204, 6.0, 13.0)
(0.4614015519618988, 132799.640625, 0.13808868825435638, 6.0, 13.0)
   .
   .
   .



I then save raysId_ff to a netCDF file using the save() method in Plain, but this does something very odd to the data. When I open the data using Plain open() the data are returned like this:

FlatField
    ((rayBlockageType_ndx, raysId) -> (pbAz, pbRan, pbElevAng, pbMinRayNum, 
pbMaxRayNum))
(missing, missing, missing, missing, missing)

(missing, missing, missing, missing, missing)

(missing, missing, missing, missing, missing)

(missing, missing, missing, missing, missing)

(missing, missing, missing, missing, missing)

(missing, missing, missing, missing, missing)

(0.4748381972312927, 129091.7109375, 0.1265845000743866, 6.0, 13.0)

I dumped the netCDF file and noticed that for each "Range Value" listed above, it only saved the forst line in "RangeSet[4]". I.e., for Range Value 6 (above), only

(0.4748381972312927, 129091.7109375, 0.1265845000743866, 6.0, 13.0)

was saved, while the rest:

(0.47140800952911377, 130018.578125, 0.13223420083522797, 6.0, 13.0)
(0.4680247902870178, 130945.84375, 0.13688141107559204, 6.0, 13.0)
(0.4614015519618988, 132799.640625, 0.13808868825435638, 6.0, 13.0)

was not saved to the netCDF file. Do I have to specify the format to be saved in the netCDF file so that all the data are saved? I don't understand why the rest of the data are not beig saved, except that the headdder of the netCDF file (dumped) looks like this:

netcdf experimentalDump {
dimensions:
        rayBlockageType_ndx = 1 ;
        raysId = 7200 ;
variables:
        float rayBlockageType(rayBlockageType_ndx) ;
        double pbAz(raysId, rayBlockageType_ndx) ;
                pbAz:_FillValue = 9.96920996838687e+36 ;
                pbAz:units = "deg" ;
        double pbRan(raysId, rayBlockageType_ndx) ;
                pbRan:_FillValue = 9.96920996838687e+36 ;
                pbRan:units = "m" ;
        double pbElevAng(raysId, rayBlockageType_ndx) ;
                pbElevAng:_FillValue = 9.96920996838687e+36 ;
                pbElevAng:units = "deg" ;
        double pbMinRayNum(raysId, rayBlockageType_ndx) ;
                pbMinRayNum:_FillValue = 9.96920996838687e+36 ;
        double pbMaxRayNum(raysId, rayBlockageType_ndx) ;
                pbMaxRayNum:_FillValue = 9.96920996838687e+36 ;
data:

 rayBlockageType = 0 ;

 pbAz
  _,
  _,
  _,
  _,
  _,
  _,
  0.474838197231293,
    .
    .
    .

If this is unclear, I can clean up my code and place it so that others can test it out.

Thanks!

-kevin.


--
+------------------------------------------------------------+
Kevin L. Manross        [KD5MYD] <><          (405)-366-0557
CIMMS Research Associate               kevin.manross@xxxxxxxx
[NSSL-WRDD/SWATN]           http://www.cimms.ou.edu/~kmanross

"My opinions are my own and not representative of CIMMS, NSSL,
  NOAA or any affiliates"
+------------------------------------------------------------+