This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi George, > Hi there, > > I was wondering if you could help me. I have searched the mailing lists > but can't find anything suitable. > > I am using netcdf as the format for output from an atmospheric model. > The data in the netcdf is used solely for color contour plotting using > IDL. The problem I have is that the nf90_float data is much larger than > it needs to be. For instance a typical number written out from my idl > code is: > > 2.43866705894470210000e+000 > > There is way more accuracy in this number than needed for color > applications - a simple: > > 2.439e+00 would be perfectly adequate. > > Why this is a problem is that the datafiles are very large - because > they are large 2D arrays so the nf90_float accuracy is a problem. > > What I would ideally like is something like an NF90_smallfloat or > something. Or is there another way of doing this ? > > I am using netcdf 3.5 right now btw. The nf90_float type is only a 32-bit float, with about 5 significant digits of precision, as documented here: http://www.unidata.ucar.edu/netcdf/old_docs/really_old/f90-html-docs/guide7.html If you're seeing more precision than that, it may be the result of printing the values as double-precision. Arrays of nf90_float values require 4 bytes of storage for each value in a binary netCDF file. If you want to use less storage than that, you could pack the values into 2-byte nf90_short values, as described here: http://www.unidata.ucar.edu/netcdf/docs/BestPractices.html#Packed%20Data%20Values using the add_offset and scale_factor attributes for the packed variable. If you want to see the values with less precision when you print them out with the ncdump utility, you can use the "-p float_digits[,double_digits]" option to ncdump, as documented here: http://www.unidata.ucar.edu/netcdf/docs/ncdump-man-1.html If we've misunderstood your question, please let us know. --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: AEB-315486 Department: Support netCDF Priority: Normal Status: Closed