Question about netCDF info as provided by ncdump and ncl

From: AJ Smit <albertus.smit_at_nyahnyahspammersnyahnyah>
Date: Mon, 12 Oct 2009 06:45:12 +0200

Dear all,

I am puzzled by the behaviour of ncl, specifically when comparing the
outputs of ncdump vs that of ncl. In short, this is what's worrying me:

 From ncdump for the sst variable:
        sst:valid_range = -5.f, 40.f ;
        sst:actual_range = -1.7999996f, 35.310001f ;
 From ncl for the sst variable:
        valid_range : ( -5, 40 )
        actual_range : ( -1.8, 35.31 )

Despite the correct ranges indicated above, in ncl the sst values in
this variable are bogus - the values do not make sense at all.
Conversely, ndump retains sensible sst values even though the ranges
indicated above contain an "f". What does this mean?

I am sure there is an obvious solution, but it escapes me for now. How
do I correctly read in the data using ncl?

The full header info provided by netCDF and ncl is at the end of the
message.

With kind regards,
AJ

ncl 7> in = addfile("sst.mnmean.nc","r")
ncl 8> print(in)
Variable: in (file variable)

filename: sst.mnmean
path: sst.mnmean.nc
    file global attributes:
       title : NOAA Optimum Interpolation (OI) SST V2
       Conventions : CF-1.0
       history : Wed Apr 6 13:47:45 2005: ncks -d time,0,278 SAVEs/
sst.mnmean.nc sst.mnmean.nc
Created 10/2002 by RHS
       comments : Data described in Reynolds, R.W., N.A. Rayner, T.M.
Smith, D.C. Stokes, and W. Wang, 2002: An Improved In Situ and Satellite
SST Analysis for Climate, J. Climate
       platform : Model
       source : NCEP Climate Modeling Branch
       institution : National Centers for Environmental Prediction
       references : http://www.emc.ncep.noaa.gov/research/cmb/sst_analysis/
http://www.cdc.noaa.gov/cdc/data.noaa.oisst.v2.html
    dimensions:
       lon = 360
       lat = 180
       nbnds = 2
       time = 333 // unlimited
    variables:
       float lat ( lat )
          units : degrees_north
          long_name : Latitude
          actual_range : ( 89.5, -89.5 )
          standard_name : latitude_north
          axis : y
          coordinate_defines : center

       float lon ( lon )
          units : degrees_east
          long_name : Longitude
          actual_range : ( 0.5, 359.5 )
          standard_name : longitude_east
          axis : x
          coordinate_defines : center

<! Snip: time - display same as ncdump -h; see below >

       double time_bnds ( time, nbnds )
          long_name : Time Boundaries

       short sst ( time, lat, lon )
          long_name : Monthly Mean of Sea Surface Temperature
          valid_range : ( -5, 40 )
          actual_range : ( -1.8, 35.31 )
          units : degC
          add_offset : 0
          scale_factor : 0.01
          missing_value : 32767
          precision : 2
          least_significant_digit : 2
          var_desc : Sea Surface Temperature
          dataset : NOAA Optimum Interpolation (OI) SST V2
          level_desc : Surface
          statistic : Mean
          parent_stat : Weekly Mean
          standard_name : sea_surface_temperature
          cell_methods : time: mean (monthly from weekly values
interpolated to daily)
          _FillValue : 32767

Here is the corresponding ncdump output:

Pelagia:OISSTv2 ajsmit$ ncdump -h sst.mnmean.nc
netcdf sst.mnmean {
dimensions:
        lon = 360 ;
        lat = 180 ;
        nbnds = 2 ;
        time = UNLIMITED ; // (333 currently)

variables:
        float lat(lat) ;
                lat:units = "degrees_north" ;
                lat:long_name = "Latitude" ;
                lat:actual_range = 89.5f, -89.5f ;
                lat:standard_name = "latitude_north" ;
                lat:axis = "y" ;
                lat:coordinate_defines = "center" ;
        float lon(lon) ;
                lon:units = "degrees_east" ;
                lon:long_name = "Longitude" ;
                lon:actual_range = 0.5f, 359.5f ;
                lon:standard_name = "longitude_east" ;
                lon:axis = "x" ;
                lon:coordinate_defines = "center" ;
        double time(time) ;
                time:units = "days since 1800-1-1 00:00:00" ;
                time:long_name = "Time" ;
                time:actual_range = 66443., 76548. ;
                time:delta_t = "0000-01-00 00:00:00" ;
                time:avg_period = "0000-01-00 00:00:00" ;
                time:prev_avg_period = "0000-00-07 00:00:00" ;
                time:standard_name = "time" ;
                time:axis = "t" ;
        double time_bnds(time, nbnds) ;
                time_bnds:long_name = "Time Boundaries" ;
        short sst(time, lat, lon) ;
                sst:long_name = "Monthly Mean of Sea Surface Temperature" ;
                sst:valid_range = -5.f, 40.f ;
                sst:actual_range = -1.7999996f, 35.310001f ;
                sst:units = "degC" ;
                sst:add_offset = 0.f ;
                sst:scale_factor = 0.0099999998f ;
                sst:missing_value = 32767s ;
                sst:precision = 2s ;
                sst:least_significant_digit = 2s ;
                sst:var_desc = "Sea Surface Temperature" ;
                sst:dataset = "NOAA Optimum Interpolation (OI) SST V2" ;
                sst:level_desc = "Surface" ;
                sst:statistic = "Mean" ;
                sst:parent_stat = "Weekly Mean" ;
                sst:standard_name = "sea_surface_temperature" ;
                sst:cell_methods = "time: mean (monthly from weekly values
interpolated to daily)" ;

// global attributes:
                :title = "NOAA Optimum Interpolation (OI) SST V2" ;
                :Conventions = "CF-1.0" ;
                :history = "Wed Apr 6 13:47:45 2005: ncks -d time,0,278 SAVEs/
sst.mnmean.nc sst.mnmean.nc\n",
     "Created 10/2002 by RHS" ;
                :comments = "Data described in Reynolds, R.W., N.A. Rayner, T.M.\n",
     "Smith, D.C. Stokes, and W. Wang, 2002: An Improved In Situ and
Satellite\n",
     "SST Analysis for Climate, J. Climate" ;
                :platform = "Model" ;
                :source = "NCEP Climate Modeling Branch" ;
                :institution = "National Centers for Environmental Prediction" ;
                :references = "http://www.emc.ncep.noaa.gov/research/cmb/sst_analysis/\n
",
     "http://www.cdc.noaa.gov/cdc/data.noaa.oisst.v2.html" ;
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dr Albertus J Smit
School of Biological & Conservation Sciences
University of KwaZulu-Natal
Westville Campus
PO Box X54001
Durban, South Africa

E-mail: smitaj_at_ukzn.ac.za
Tel. +27 031 260 7410;
Fax +27 031 260 2029

Web page: http://marinesci.ukzn.ac.za/biology
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sun Oct 11 2009 - 22:45:12 MDT

This archive was generated by hypermail 2.2.0 : Mon Oct 12 2009 - 03:45:17 MDT