The latitude and longitude coordinates of a horizontal grid that was
      not defined as a Cartesian product of latitude and longitude axes,
      can sometimes be represented using two-dimensional coordinate variables.
      These variables are identified as coordinates by use of
      the coordinates attribute.
    
Example 5.2. Two-dimensional coordinate variables
dimensions:
  xc = 128 ;
  yc = 64 ;
  lev = 18 ;
variables:
  float T(lev,yc,xc) ;
    T:long_name = "temperature" ;
    T:units = "K" ;
    T:coordinates = "lon lat" ;
  float xc(xc) ;
    xc:axis = "X" ;
    xc:long_name = "x-coordinate in Cartesian system" ;
    xc:units = "m" ;
  float yc(yc) ;
    yc:axis = "Y" ;
    yc:long_name = "y-coordinate in Cartesian system" ;
    yc:units = "m" ;
  float lev(lev) ;
    lev:long_name = "pressure level" ;
    lev:units = "hPa" ;
  float lon(yc,xc) ;
    lon:long_name = "longitude" ;
    lon:units = "degrees_east" ;
  float lat(yc,xc) ;
    lat:long_name = "latitude" ;
    lat:units = "degrees_north" ;
      
      T(k,j,i) is associated with the coordinate
      values lon(j,i), lat(j,i),
      and lev(k). The vertical coordinate is represented
      by the coordinate variable lev(lev) and the
      latitude and longitude coordinates are represented by the auxiliary
      coordinate variables lat(yc,xc) and
      lon(yc,xc) which are identified by the
      coordinates attribute.
    
      Note that coordinate variables are also defined for the
      xc and yc dimensions.
      This faciliates processing of this data by generic applications
      that don't recognize the multidimensional latitude and longitude
      coordinates.