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.
>From: Sangeet <address@hidden> >Organization: IIT >Keywords: 200208140551.g7E5p0K21485 netCDF ferret Sangeet, >I am using > >1) netcdf 3.5.0 >2) Sun solaris 2.7 (Sun Ultra 10) and solaris 2.8 (Sun blade 100) >3) The data file is pres.sfc.1988.nc which has been downloaded from > ftp.cdc.noaa.gov > cd Datasets/ncep.reanalysis/pressure > get pres.sfc.1988.nc OK, this should help in the troubleshooting. > The data file is of the size of approx. 30 mb thats why the file can >not be sent through email. I hope this wont be a great problem to you to >get the file from the above mentioned source. I grabbed the file you are looking at as follows: ftp ftp.cdc.noaa.gov <user> anonymous <pass> full_email_address cd Datasets/ncep.reanalysis/surface binary get pres.sfc.1988.nc quit I then used ncdump to look at the variables in the file: % ncdump -h pres.sfc.1988.nc netcdf pres.sfc.1988 { dimensions: lon = 144 ; lat = 73 ; time = UNLIMITED ; // (1464 currently) variables: float lat(lat) ; lat:units = "degrees_north" ; lat:actual_range = 90.f, -90.f ; lat:long_name = "Latitude" ; float lon(lon) ; lon:units = "degrees_east" ; lon:long_name = "Longitude" ; lon:actual_range = 0.f, 357.5f ; double time(time) ; time:units = "hours since 1-1-1 00:00:0.0" ; time:long_name = "Time" ; time:actual_range = 17417712., 17426490. ; time:delta_t = "0000-00-00 06:00:00" ; short pres(time, lat, lon) ; pres:long_name = "4xDaily Pressure" ; pres:valid_range = 40000.f, 115000.f ; pres:actual_range = 49430.f, 109410.f ; pres:units = "Pascals" ; pres:add_offset = 367650.f ; pres:scale_factor = 10.f ; pres:missing_value = 32766s ; pres:precision = -1s ; pres:least_significant_digit = -1s ; pres:GRIB_id = 1s ; pres:GRIB_name = "PRES" ; pres:var_desc = "Pressure\n", "CC" ; pres:dataset = "NMC Reanalysis\n", "L" ; pres:level_desc = "Surface\n", "0" ; pres:statistic = "Individual Obs\n", "I" ; pres:parent_stat = "Other\n", "-" ; // global attributes: :title = "4x daily NMC reanalysis" ; :base_date = 1988s, 1s, 1s ; :history = "/home/hoop/crdc/cpreanjuke2farm/cpreanjuke2farm Thu Oct 26 20:16:44 1995 from pres.sfc.88.nc\n", "created 95/03/13 by Hoop (netCDF2.3)" ; :description = "Data is from NMC initialized reanalysis\n", "(4x/day). It consists of most variables interpolated to\n", "pressure surfaces from model (sigma) surfaces." ; :platform = "Model" ; :Conventions = "COARDS" ; } The key pieces of information in this list are the additive offset and scale factor you need to apply to pressure values in the file to get real pressures: pres:add_offset = 367650.f ; pres:scale_factor = 10.f ; After you apply these to the data values you are seeing with ncdump, you will get the values you were seeing in Ferret: Ferret ncdump ncdump with scale and offset ---------+--------+---------------------------- 103860 -26379 103860 Ferret_value = add_offset + (scale * ncdump_value) So, your job is to write a program/script that does this calculation on every point that you want the value for. >with warm regards, Best of luck in your research. Tom >From address@hidden Sat Aug 17 01:54:13 2002 Dear Tom, its so nice of you to helping me out from the doldrum. I appreciate your timely help a lot. With warm regards, sangeet