ifpServer D2D Satellite netCDF File Format

November 12, 2003


This document describes the format of the netCDF file that is:

Table of Contents
netCDF Required Dimensions
netCDF Variable Names
netCDF Variable Attributes
netCDF Global Attributes
Diagnosing Access Problems
Example of ncdump


netCDF Required Dimensions

Each netCDF file is required to contain the following set of dimensions:
 
Dimension Description Required by GFESuite?
x X-dimension of the satellite image
Yes
y Y-dimension of thje
Yes



 

netCDF Variable Names

Each netCDF variable name represents a set of grids, plus additional information:
 
 
Variable Name
Data Type Dimensions Description Required by GFESuite?
image
2-D array of bytes
(y,x) Contains the satellite data, ranged from 0-255 (might be seen as -127 to +127)
Yes

netCDF variable Attributes

There are no variable attributes that are used by GFESuite in the D2D satellite data files.


netCDF Global Attributes

 
The following netCDF global attributes are required in order for the ifpServer to recognize the netCDF file as valid:
 
Attribute Description Required by GFESuite?
projName Contains the projection name.  Must be one of the following: LAMBERT_CONFORMAL, MERCATOR, STEREOGRAPHIC, LATLON, CYLINDRICAL_EQUIDISTANT Yes
lon00 Longitude in degrees of lower-left grid point (0, 0) Yes
lat00 Latitude in degrees of lower-left grid point (0, 0) Yes
latNxNy Latitude in degrees of upper-right grid point (maxX, maxY) Yes
lonNxNy Longitude in degrees of upper-right grid point (maxX, maxY) Yes
centralLon Center longitude for the mercator projection, where the mercator projection is parallel to the Earth's surface. Center longitude for the polar stereographic and Lambert Conformal projections, where the projection has north as straight up. Yes
centralLat Center latitude for the polar stereographic and Lambert Conformal projections, where the plane intersects the Earth's surface. Yes


 

Diagnosing Access Problems

If you point the ifpServer to a D2D satellite directory and the data is not appearing, verify that: If all else fails, you can turn on the debugging logging option in the ifpServer.  In this mode the ifpServer will log all problems it finds with model data files.  To turn on this feature, perform the following steps:
  1. Edit the file release/etc/BASE/logPref/ifpServer.logPref, where release is the installation directory. On AWIPS-baseline equipment this file is located at /awips/GFESuite/primary/etc/BASE/logPref/ifpServer.logPref.  Add the following line in the middle of the file (before the prefix section).  Refer to the log files document for details. Add an entry:     all  D2DFile.C  file debug = on
  2. Stop and restart the ifpServer.
  3. Look in the server log files.  It will show the problems for all files it finds.  If it doesn't identify your file or directory, recheck your SATDIRS to be sure you have set it up correctly.



Example of ncdump

This is an example ncdump from a water vapor D2D file; each directory contains one band (wavelength), each file contains one image:

netcdf 20031112_2130 {
dimensions:
        y = 640 ;
        x = 550 ;
variables:
        byte image(y, x) ;
        double validTime ;
                validTime:units = "seconds since 1970-1-1 00:00:00.00 0:00" ;
                validTime:long_name = "Valid Time" ;
        byte valid100thSecs ;
                valid100thSecs:units = "centiseconds" ;
                valid100thSecs:long_name = "Valid 100th of a second" ;

// global attributes:
                :channel = "6.7 micron" ;
                :depictorName = "westConus@17659725" ;
                :projIndex = 3 ;
                :projName = "LAMBERT_CONFORMAL" ;
                :centralLat = 25.f ;
                :centralLon = -95.f ;
                :rotation = 25.f ;
                :xMin = -0.2556496f ;
                :xMax = 0.01474848f ;
                :yMin = -0.8768771f ;
                :yMax = -0.5622397f ;
                :lat00 = 54.53548f ;
                :lon00 = -152.8565f ;
                :latNxNy = 17.51429f ;
                :lonNxNy = -92.71996f ;
                :dxKm = 7.871384f ;
                :dyKm = 7.869175f ;
                :latDxDy = 39.25658f ;
                :lonDxDy = -117.4858f ;
}

data:

 image =
  0, -70, -70, -71, -70, -70, -70, -70, -71, -71, -71, -70, -70, -70, -69,
    -70, -71, -70, -70, -71, -71, -71, -71, -70, -69, -70, -71, -71, -72,
    -71, -71, -71, -71, -72, -72, -71, -71, -71, -72, -72, -71, -71, -70,
    -71, -72, -72, -72, -73, -73, -72, -72, -71, -70, -71, -71, -71, -70,
    -70, -70, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
    -68, -68, -67, -69, -69, -68, -68, -67, -67, -67, -67, -67, -67, -67,
    -67, -66, -66, -67, -67, -67, -68, -68, -68, -68, -68, -68, -68, -68,
    -68, -68, -68, -68, -68, -68, -68, -68, -68, -67, -67, -66, -67, -66,
    -65, -64, -64, -63, -63, -62, -63, -62, -60, -61, -61, -61, -61, -61,
    -60, -61, -61, -61, -61, -61, -60, -61, -61, -60, -61, -62, -61, -60,
    -60, -60, -60, -60, -60, -59, -60, -61, -61, -61, -60, -60, -60, -60,
    -60, -59, -59, -59, -59, -58, -58, -58, -59, -58, -58, -57, -56, -57,
    -57, -57, -57, -56, -56, -56, -55, -55, -55, -55, -55, -55, -55, -56,
    -55, -55, -56, -56, -56, -56, -57, -57, -57, -57, -58, -58, -59, -59,
    -59, -59, -59, -60, -60, -61, -61, -61, -61, -61, -61, -61, -61, -61,