[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[THREDDS #TKC-172853]: Missing values and TDS



Hi Cathy:

NaNs are no longer deprecated because all architectures now support them.
We have updated the Unidata doc you found to reflect that.
You have to test for a missing value, im not sure why isnan_ieee() is any more 
trouble than any other missing value.

John


> Ethan
> 
> Yes, As I said, I use something like
> 
> value=1.e20
> > replace_ieeenan (hgt, value, 0)
> > hgt@_FillValue=1.e20
> > hgt@missing_value=1.e20
> 
> where replace_ieeenan is from the routine you suggest.
> 
> When I am reading a lot of data, it's 4 extra lines for all reads.
> 
> Cathy
> 
> address@hidden> wrote:
> 
> > NCL seems to handle NaNs:
> >
> > http://www.ncl.ucar.edu/Document/Functions/Built-in/isnan_ieee.shtml
> >
> > have you tried using that?
> >
> > > Ethan
> > >
> > > My basica problem is that NCL does not interpret NaN correctly. So,
> > before
> > > doing any plotting or analysis, for all reads of CFSR data, I need to
> > have
> > > something like
> > >
> > > replace_ieeenan (hgt, value, 0)
> > > hgt@_FillValue=1.e20
> > > hgt@missing_value=1.e20
> > >
> > > which is extra time and lines of code. This could be interpreted as a NCL
> > > issue of course (it probably is). But, I see in the Unidata doc (from
> > Google
> > > search)
> > >
> > > Using an IEEE infinity or NaN for a fill value is not recommended,
> > because
> > > the resulting file may not be interpreted correctly on platforms that
> > don't
> > > use the IEEE 754 Standard for floating-point. If you use non-normal
> > numbers
> > > for fill values, a fix is to apply this
> > > patch<http://www.unidata.ucar.edu/software/netcdf/patches/vardata-patch>
> > > to
> > > the file ncdump/vardata.c and rebuild *ncdump*. If you don't have the
> > IEEE
> > > finite() function used in this patch in libm, you can try compiling
> > > ncdump/vardata.c with a -DNO_FINITE flag and with compiler flags that
> > > support IEEE comparisons (e.g. NaN != NaN).
> > >
> > > That isn't the issue for NCL but it does indicate that Unidata seems it's
> > a
> > > bad idea to use NaN.
> > >
> > > I haven't checked too much but I know it does work in GrADS and IDV and
> > our
> > > dncdump. I would be very curious about Fortran but don't have compiled
> > code
> > > for OPEnDAP.
> > >
> > > Cathy
> > >
> > >
> > >
> > >
> > > address@hidden> wrote:
> > >
> > > > > Ethan
> > > > >
> > > > > I am using opendap access to the NOMADS server. I open the files in
> > NCL
> > > > > and then read them. I also tested open the files using dncdump
> > > > >
> > > > > dncdump -h
> > > > >
> > > >
> > http://nomads.ncdc.noaa.gov/thredds/dodsC/cfsrmon/197901/ocnh06.gdas.197901.grb2
> > > > >
> > > > > and see NaN as the missing value there. e.g.
> > > > >
> > > > > ......
> > > > > float Vertical_velocity_geometric(time, depth_below_sea, lat, lon) ;
> > > > > Vertical_velocity_geometric:long_name =
> > > > > "Vertical_velocity_geometric @ depth_below_sea" ;
> > > > > Vertical_velocity_geometric:units = "m s-1" ;
> > > > > Vertical_velocity_geometric:missing_value = NaNf ;
> > > > > .......
> > > > >
> > > > > We downloaded the grib file directly and looked at it. It does not
> > have
> > > > > the NaN for any of the values as there is a mask applied when the
> > grib
> > > > > is converted to netcdf (in this case, a land mask).
> > > > >
> > > > > So, it is how the grib files are being converted to netCDF, as you
> > > > suggest.
> > > > >
> > > > > Let me know if I can answer any other questions.
> > > > >
> > > > > Cathy
> > > >
> > > > Hi Cathy:
> > > >
> > > > The rib file does not store the missing values, so each library chooses
> > > > that representation. The netcdf-java library uses NaNs to indicate
> > missing
> > > > values. This currently cannot be changed. What problem are you having
> > with
> > > > portability of NaNs?
> > > >
> > > > Ethan
> > > >
> > >
> > > NCL does not read NaN correctly. So, for all reads, I need to have in
> > > addition
> > >
> > > replace_ieeenan (hgt, value, 0)
> > > hgt@_FillValue=1.e20
> > > hgt@missing_value=1.e20
> > >
> > >
> > > If you use an IEEE infinity as the value of the _FillValue attribute for
> > a
> > > variable, the *ncdump* program will output _ for ordinary values of the
> > > variable, as if they had not been written.
> > >
> > > Using an IEEE infinity or NaN for a fill value is not recommended,
> > because
> > > the resulting file may not be interpreted correctly on platforms that
> > don't
> > > use the IEEE 754 Standard for floating-point. If you use non-normal
> > numbers
> > > for fill values, a fix is to apply this
> > > patch<http://www.unidata.ucar.edu/software/netcdf/patches/vardata-patch>
> > > to
> > > the file ncdump/vardata.c and rebuild *ncdump*. If you don't have the
> > IEEE
> > > finite() function used in this patch in libm, you can try compiling
> > > ncdump/vardata.c with a -DNO_FINITE flag and with compiler flags that
> > > support IEEE comparisons (e.g. NaN != NaN).
> > >
> > >
> > > >
> > > > >
> > > > > On 9/28/11 10:31 AM, Unidata THREDDS Support wrote:
> > > > > > Hi Cathy,
> > > > > >
> > > > > > How are you getting the data? Are you using the NetCDF Subset
> > Service
> > > > (NCSS) access method to request the dataset?
> > > > > >
> > > > > > There is no way to specify that you would like non-NaN missing
> > values
> > > > when you request a netCDF file from the TDS. I suspect it isn't a
> > simple
> > > > matter in this case as it has to do with how the GRIB files are being
> > > > converted into netCDF.
> > > > > >
> > > > > > However, I'm going to ask John Caron to give a more definitive
> > answer.
> > > > Unfortunately he won't be back from vacation for about two weeks.
> > > > > >
> > > > > > Ethan
> > > > > >
> > > > > > Cathy Smith wrote:
> > > > > >> I am reading CFSR data from NOMADS and missing values are being
> > > > returned
> > > > > >> as NaN (for example, for  ocean variables over land) from the TDS.
> > > > This
> > > > > >> causes problems for me in NCL and likely would in other languages.
> > > >  Can
> > > > > >> missing values be returned as something more portable such as
> > > > 9.9692e+36
> > > > > >> as is the default in C?
> > > > > >> Thanks,
> > > > > >> Cathy Smith
> > > > > >
> > > > > > Ticket Details
> > > > > > ===================
> > > > > > Ticket ID: TKC-172853
> > > > > > Department: Support THREDDS
> > > > > > Priority: High
> > > > > > Status: Open
> > > > > >
> > > > >
> > > > > --
> > > > > ----------------------------------------------
> > > > > NOAA/ESRL PSD and CIRES CDC
> > > > > 303-497-6263
> > > > > http://www.esrl.noaa.gov/psd/people/cathy.smith/
> > > > >
> > > > > Emails about data/webpages may get quicker responses from emailing
> > > > > address@hidden
> > > > >
> > > > >
> > > >
> > > >
> > > > Ticket Details
> > > > ===================
> > > > Ticket ID: TKC-172853
> > > > Department: Support THREDDS
> > > > Priority: Critical
> > > > Status: Open
> > > >
> > > >
> > >
> > >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: TKC-172853
> > Department: Support THREDDS
> > Priority: Critical
> > Status: Open
> >
> >
> 
> 
> --
> 
> ---------------------------------------------------
> NOAA/ESRL PSD and CIRES CDC
> 303-497-6263http://www.esrl.noaa.gov/psd/people/cathy.smith/
> 
> Emails about data/webpages may get quicker responses from emailing
> 
> address@hidden
> 
> 


Ticket Details
===================
Ticket ID: TKC-172853
Department: Support THREDDS
Priority: Critical
Status: Closed


pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy