NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: setSamples

I'm trying to resample a field using a new set of times (my domain is
time). Here's what I'm trying to do:

//f is a FieldImpl loaded from a netCDF file.

Tuple fTuple = (Tuple)f.getSample(0);
int cols = fTuple.getDimension();  //get number of columns

//f.getDomainSet().getType().toString() gives "Set(Time)"
//time is an array [1][3] of floats
Gridded1DSet newSet = new Gridded1DSet(f.getDomainSet().getType(), time, 
                                       time[0].length);

FlatField subField = new FlatField((FunctionType)f.getType(), newSet);
//printing the FunctionType gives "(Real): (Time) -> (MinTemp,MaxTemp)"

float[][] dataArray = new float[cols][time[0].length];

//fill in dataArray here - the test data is below 
//Col: 0 Row: 0 Value: 32.0
//Col: 0 Row: 1 Value: NaN
//Col: 0 Row: 2 Value: NaN
//Col: 1 Row: 0 Value: NaN
//Col: 1 Row: 1 Value: NaN
//Col: 1 Row: 2 Value: NaN

//it works up to here

subField.setSamples(dataArray); //this is where it CRASHES

//error message below:
visad.FieldException: setSamples: bad array length
        at visad.FlatField.setSamples(FlatField.java:709)
        at visad.FlatField.setSamples(FlatField.java:654)
        at
au.gov.bom.aifs.autotaf.DataRepresentation.FieldManipulation.resample(FieldManipulation.java:521)
        at progTest.main(progTest.java:28)

//printing out the length of dataArray gives rows: 3 cols: 2
//subField.getLength() gives 3
//subField.getRangeDimension() gives 2

Can someone please tell me what I'm doing wrong? It keeps crashing
whenever I try to setSamples but when I check the length of everything,
it looks right.

One thing I noticed was that if at least one of the values in Col: 1 is
not NaN, then it works. Is there a way to setSamples without crashing out
if everything is a NaN?

Thanks.

Eug.

   _--_|\     Eugene Tan <E.Tan@xxxxxxxxxx>
  /      \    AutoTAF Project Developer 
  \_.--.*/    Bureau of Meteorology, Melbourne, VIC 3001, Australia
        v     Telephone: +613 9669 4652



  • 1999 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: