Hi Chet,
I'm not sure how you're printing the FlatField, but I did
find a bug in FlatField.toString() that could cause your
problem. I am at the AMS Conference in Long Beach this
week and cannot update our source server, but did put the
fix at:
ftp://hyde.ssec.wisc.edu/pub/incoming/FlatField.java
Cheers,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html
On Mon, 10 Jan 2000, Eugene Tan wrote:
> We can't seem to convert some units properly. This is what we have:
>
> (in a for loop to print out the original units)
> Units:
> oldUnits: Cel
> oldUnits: Cel
> oldUnits: degrees_north
>
> We then change all the Cel (celsius) units to Kelvin by doing this:
>
> Unit[] newUnits = Unit.copyUnitsArray(oldUnits);
> Unit toUnit = SI.kelvin;
>
> for (int i=0; i < oldUnits.length; i++) {
> if (newUnits[i].toString().equals("Cel")) {
> newUnits[i]=toUnit;
> }
> }
>
> Printing out the new units array:
> (in a for loop to print out the new units)
> Units:
> newUnits: K
> newUnits: K
> newUnits: degrees_north
>
> We then create a FlatField ie.
>
> FlatField newField
> new FlatField((FunctionType) field.getType(),
> field.getDomainSet(),
> null,
> null,
> field.getRangeSets(),
> newUnits);
>
> When I printed out the contents of newField, this is the output I get:
> Component: 0 Type: MinTemp Value: NaN Units: Cel
> Component: 1 Type: MaxTemp Value: NaN Units: Cel
> Component: 2 Type: WindDir Value: NaN Units: degrees_north
>
> which is wrong. We want to convert the units for Component 0 & 1 to
> Kelvin but it keeps returning "Cel". Can anyone identify what we're doing
> wrong please?
>
> Eug.
>
> _--_|\ Eugene Tan <E.Tan@xxxxxxxxxx>
> / \ AutoTAF Project Developer
> \_.--.*/ Bureau of Meteorology, Melbourne, VIC 3001, Australia
> v Telephone: +613 9669 4652
>
>
>