Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.

Re: VariableStandarized

Unidata Support wrote:

Hi John-

I got the following from Rich Signell

To: support@xxxxxxxxxxxxxxxx
From: Rich Signell <rsignell@xxxxxxxx>
Subject: IDV s-coordinate problem when elevation is packed

Here's an teeny bug:
I discovered that IDV 1.1 does not compute the
vertical coordinate correctly when the sea surface height
variable (used in the formula terms) is stored as a packed
variable (nc_short w/ scale_factor & add_offset) instead of
the usual floating point.   It could be this holds for the
bottom depth as well -- I didn't check.

I'm guessing that the solution is to change:

       etaVar         = ds.findVariable(etaName);
       sVar           = ds.findVariable(sName);
       depthVar       = ds.findVariable(depthName);

to:

       etaVar         = new VariableStandardized(ds.findVariable(etaName));
       sVar           = new VariableStandardized(ds.findVariable(sName));
       depthVar       = new VariableStandardized(ds.findVariable(depthName));

or should it be:

       etaVar         = new VariableStandardized(ds.findVariable(etaName), true
);
       sVar           = new VariableStandardized(ds.findVariable(sName), true);
       depthVar       = new VariableStandardized(ds.findVariable(depthName), tr
ue);

with the true being used to set missing values to NaN?
yes, you're right, thanks for the report.

both forms are equivilent, since useNaNs = tru is default.

this is fixed systematically in netcdf-java version 2.2, as all variables in a NetcdfDataset automatically handle the scale/offset.
I will fix in the version 2.1.



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