root/cf-conventions/trunk/docbooksrc/introduction.xml

Revision 7, 21.1 kB (checked in by halliday1, 3 years ago)

Fixed the following issues:


Title page:

. In the title- Forecast is misspelled as Forcast.

Preface:

. The content that describes how revisions to the current 1.0 document are

made is missing, i.e.,

Changes in the document use the following mark-up style: new text, deleted text, and [a comment].

. I assume docbook provides tags for editing docs?

List of Tables:

. The name of Table F.1. should be "Grid Mapping Attributes"

Revision History:

. This content is missing. In its place are the revision histories for the

beta versions of CF-1.0. This is not right because the links all point to
the current document, but in the original versions the links point to the
actual beta documents. I think the beta documents as well as the change
files should be ported and maintained in their original html versions. The
revision history for the current 1.0 doc is all that should appear in this
section.

References:

. In [COARDS] the linked title appears at the end rather than at the beginning

of the reference.

. [FGDC] -- Broken link (also broken in original). The new link is

www.fgdc.gov/standards/projects/FGDC-standards-projects/metadata/base-metadata/v2_0698.pdf

. In [NetCDF] the linked title "NetCDF Software Package" is missing.

. In [NUG] the title is last instead of first. The author list contains

"Glenn Davies" instead of "Harvey Davies". The "June 1997" date is
missing.

. In [SCH02] - all the info is there but not in the same order as original.

. In [UDUNITS] the linked title appears at the end rather than at the

beginning of the reference.


Line 
1 <preface>
2     <title>Preface</title>
3     <para>
4         <variablelist>
5             <varlistentry>
6                 <term>Home page:</term>
7                 <listitem>
8                     <para>
9                         Contains links to: previous draft and current
10                         working draft documents; applications for processing
11                         CF conforming files; email list for discussion
12                         about interpretation, clarification, and proposals
13                         for changes or extensions to the current conventions.
14                         <ulink url="http://www-pcmdi.llnl.gov/cf/">http://www-pcmdi.llnl.gov/cf/</ulink>
15                     </para>
16                 </listitem>
17             </varlistentry>
18             <varlistentry>
19                 <term>Revision history:</term>
20                 <listitem>
21                     <para>
22                         This document will updated as required to correct mistakes
23                         or add new material required for completeness or clarity.
24                         See <xref linkend="revhistory"/> for the full revision history.
25                         Changes in the document use the following
26                         mark-up style: <emphasis role="newtext">new text</emphasis>,
27                         <emphasis role="deletedtext">deleted text</emphasis>, and
28                         <emphasis role="commenttext">[a comment]</emphasis>.
29                     </para>
30                 </listitem>
31             </varlistentry>
32         </variablelist>
33     </para>
34 </preface>
35
36
37 <chapter>
38         <title>
39                 Introduction
40         </title>
41
42         <section>
43                 <title>Goals</title>
44                 <para>
45                         The NetCDF library <biblioref linkend="netcdf"/> is
46             designed to read
47                         and write data that has been structured according
48                         to well-defined rules and is easily ported across
49                         various computer platforms. The netCDF interface
50                         enables but does not require the creation of
51                         <emphasis>self-describing</emphasis> datasets.
52             The purpose of the CF
53                         conventions is to require conforming datasets
54                         to contain sufficient metadata that they are
55                         self-describing in the sense that each variable
56                         in the file has an associated description of
57                         what it represents, including physical units if
58                         appropriate, and that each value can be located
59                         in space (relative to earth-based coordinates)
60                         and time.
61                 </para>
62                 <para>
63                         An important benefit of a convention is that it
64                         enables software tools to display data and perform
65                         operations on specified subsets of the data
66                         with minimal user intervention. It is possible
67                         to provide the metadata describing how a field
68                         is located in time and space in many different
69                         ways that a human would immediately recognize as
70                         equivalent. The purpose in restricting how the
71                         metadata is represented is to make it practical
72                         to write software that allows a machine to parse
73                         that metadata and to automatically associate each
74                         data value with its location in time and space. It
75                         is equally important that the metadata be easy
76                         for human users to write and to understand.
77                 </para>
78                 <para>
79                         This standard is intended for use with climate
80                         and forecast data, for atmosphere, surface and
81                         ocean, and was designed with model-generated data
82                         particularly in mind. We recognise that there are
83                         limits to what a standard can practically cover;
84                         we restrict ourselves to issues that we believe to
85                         be of common and frequent concern in the design of
86                         climate and forecast metadata. Our main purpose
87                         therefore, is to propose a clear, adequate and
88                         flexible definition of the metadata needed for
89                         climate and forecast data. Although this is
90                         specifically a netCDF standard, we feel that
91                         most of the ideas are of wider application. The
92                         metadata objects could be contained in file
93                         formats other than netCDF. Conversion of the
94                         metadata between files of different formats will
95                         be facilitated if conventions for all formats
96                         are based on similar ideas.
97                 </para>
98                 <para>
99                         This convention is designed to be backward
100                         compatible with the COARDS conventions <biblioref linkend="coards"/>,
101                         by which we mean that a conforming COARDS dataset
102                         also conforms to the CF standard. Thus new
103                         applications that implement the CF conventions
104                         will be able to process COARDS datasets.
105                 </para>
106                 <para>
107                         We have also striven to maximize conformance
108                         to the COARDS standard, that is, wherever the
109                         COARDS metadata conventions provide an adequate
110                         description we require their use. Extensions to
111                         COARDS are implemented in a manner such that the
112                         content that doesn't depend on the extensions
113                         is still accessible to applications that adhere
114                         to the COARDS standard.
115                 </para>
116
117         </section>
118    
119         <section id="terminology">
120                 <title>Terminology</title>
121                 <para>
122                         The terms in this document that refer to
123                         components of a netCDF file are defined in the
124                         NetCDF User's Guide (NUG)
125                         <biblioref linkend="nug"/> NUG.
126                         Some of those
127                         definitions are repeated below for convenience.
128                 </para>
129                         <variablelist>
130                                 <varlistentry>
131                                         <term>auxiliary coordinate variable</term>
132                                         <listitem>
133                                                 <para>
134                                                         Any netCDF variable that contains
135                                                         coordinate data, but is not a coordinate
136                                                         variable (in the sense of that term defined by the NUG
137                                                         and used by this standard - see below). Unlike
138                                                         coordinate variables, there is no relationship
139                                                         between the name of an auxiliary coordinate
140                                                         variable and the name(s) of its dimension(s).
141                                                 </para>
142                                         </listitem>
143                                 </varlistentry>
144                                 <varlistentry>
145                                         <term>boundary variable</term>
146                                         <listitem>
147                                                 <para>
148                                                         A boundary variable is associated with a variable that contains
149                                                         coordinate data. When a data value provides information about
150                                                         conditions in a cell occupying a region of space/time or some
151                                                         other dimension, the boundary variable provides a description
152                                                         of cell extent.
153                                                 </para>
154                                         </listitem>
155                                 </varlistentry>
156                                 <varlistentry>
157                                         <term>CDL syntax</term>
158                                         <listitem>
159                                                 <para>
160                                                         The ascii format used to describe the contents of a netCDF
161                                                         file is called CDL (network Common Data form Language). This
162                                                         format represents arrays using the indexing conventions of
163                                                         the C programming language, i.e., index values start at 0, and in
164                                                         multidimensional arrays, when indexing over the elements of
165                                                         the array, it is the last declared dimension that is the fastest
166                                                         varying in terms of file storage order. The netCDF utilities ncdump
167                                                         and ncgen use this format (see
168                                                         <ulink url="http://www.unidata.ucar.edu/packages/netcdf/guidef/guidef-15.html#HEADING15-0">
169                                                                 chapter 10 of the NUG
170                                                         </ulink>
171                                                         ). All examples
172                                                         in this document use CDL syntax.
173                                                 </para>
174                                         </listitem>
175                                 </varlistentry>
176                                 <varlistentry>
177                                         <term>cell</term>
178                                         <listitem>
179                                                 <para>
180                                                         A region in one or more dimensions whose boundary can be described by a set of vertices. The term <emphasis>interval</emphasis> is sometimes used for one-dimensional cells.
181                                                 </para>
182                                         </listitem>
183                                 </varlistentry>
184                                 <varlistentry>
185                                         <term>coordinate variable</term>
186                                         <listitem>
187                                                 <para>
188                                                         We use this term precisely as it is defined in section
189                                                         <ulink url="http://www.unidata.ucar.edu/packages/netcdf/guidef/guidef-7.html#HEADING7-67">
190                                                         2.3.1 of the NUG
191                                                         </ulink>
192                                                         . It is a one-dimensional variable with the
193                                                         same name as its dimension [e.g., <varname>time(time)</varname>], and
194                                                         it is defined as a numeric data type with values
195                                                         that are ordered monotonically.  Missing values
196                                                         are not allowed in coordinate variables.
197                                                 </para>
198                                         </listitem>
199                                 </varlistentry>
200                                 <varlistentry>
201                                                 <term>grid mapping variable</term>
202                                         <listitem>
203                                                 <para>
204                                                         A variable used as a container for attributes that define a specific grid mapping. The type of the variable is arbitrary since it contains no data.
205                                                 </para>
206                                         </listitem>
207                                 </varlistentry>
208                                 <varlistentry>
209                                                 <term>latitude dimension</term>
210                                         <listitem>
211                                                 <para>
212                                                         A dimension of a netCDF variable that has an associated latitude coordinate variable.
213                                                 </para>
214                                         </listitem>
215                                 </varlistentry>
216                                 <varlistentry>
217                                         <term>longitude dimension</term>
218                                         <listitem>
219                                                 <para>
220                                                         A dimension of a netCDF variable that has an associated longitude coordinate variable.
221                                                 </para>
222                                         </listitem>
223                                 </varlistentry>
224                                 <varlistentry>
225                                         <term>multidimensional coordinate variable</term>
226                                         <listitem>
227                                                 <para>
228                                                         An auxiliary coordinate variable that is multidimensional.
229                                                 </para>
230                                         </listitem>
231                                 </varlistentry>
232                                 <varlistentry>
233                                                 <term>recommendation</term>
234                                         <listitem>
235                                                 <para>
236                                                         Recommendations in this convention are meant to provide advice that may be helpful for reducing common mistakes. In some cases we have recommended rather than required particular attributes in order to maintain backwards compatibility with COARDS. An application must not depend on a dataset's adherence to recommendations.
237                                                 </para>
238                                         </listitem>
239                                 </varlistentry>
240                                 <varlistentry>
241                                         <term>scalar coordinate variable</term>
242                                         <listitem>
243                                                 <para>
244                                                         A scalar variable that contains coordinate data. Functionally equivalent to either a size one coordinate variable or a size one auxiliary coordinate variable.
245                                                 </para>
246                                         </listitem>
247                                 </varlistentry>
248                                 <varlistentry>
249                                         <term>spatiotemporal dimension</term>
250                                         <listitem>
251                                                 <para>
252                                                         A dimension of a netCDF variable that is used to identify a location in time and/or space.
253                                                 </para>
254                                         </listitem>
255                                 </varlistentry>
256                                 <varlistentry>
257                                         <term>time dimension</term>
258                                         <listitem>
259                                                 <para>
260                                                         A dimension of a netCDF variable that has an associated time coordinate variable.
261                                                 </para>
262                                         </listitem>
263                                 </varlistentry>
264                                 <varlistentry>
265                                         <term>vertical dimension</term>
266                                         <listitem>
267                                                 <para>
268                                                         A dimension of a netCDF variable that has an associated vertical coordinate variable.
269                                                 </para>
270                                         </listitem>
271                                 </varlistentry>
272                         </variablelist>
273
274         </section>
275         <section>
276                 <title>Overview</title>
277                 <para>
278                         No variable or dimension names are standardized
279                         by this convention. Instead we follow the lead
280                         of the NUG
281                         and standardize only the names
282                         of attributes and some of the values taken by
283                         those attributes. The overview provided in this
284                         section will be followed with more complete
285                         descriptions in following sections.
286                         <xref linkend="attribute-appendix"/>
287                         contains a summary of all the attributes used
288                         in this convention.
289                 </para>
290                 <para>
291                         We recommend that the NUG defined attribute
292                         <varname>Conventions</varname>
293                         be given the string value "<varname>CF-1.0</varname>"
294                         to identify datasets that conform to these
295                         conventions.
296                 </para>
297                 <para>
298                         The general description of a file's contents
299                         should be contained in the following attributes:
300                         <varname>title</varname>,
301                         <varname>history</varname>,
302                         <varname>institution</varname>,
303                         <varname>source</varname>,
304                         <varname>comment</varname>
305                         and
306                         <varname>references</varname>
307                         (<xref linkend="description-of-file-contents"/>).
308                         For backwards compatibility with COARDS none
309                         of these attributes is required, but their
310                         use is recommended to provide human readable
311                         documentation of the file contents.
312                 </para>
313                 <para>
314                         Each variable in a netCDF file has an associated
315                         description which is provided by the attributes
316                         <varname>units</varname>,
317                         <varname>long_name</varname>, and
318                         <varname>standard_name</varname>. The
319                         <varname>units</varname>,
320                         and <varname>long_name</varname>
321                         attributes are defined in the NUG and the
322                         <varname>standard_name</varname> attribute is
323                         defined in this document.
324                 </para>
325                 <para>
326                         The
327                         <varname>units</varname>
328                         attribute is required for all variables
329                         that represent dimensional quantities (except for
330                         boundary variables defined in
331                         <xref linkend="cell-boundaries"/>.
332                         The values of the
333                         <varname>units</varname>
334                         attributes are character
335                         strings that are recognized by UNIDATA's Udunits
336                         package
337                         <citation><link linkend="udunits">UDUNITS</link></citation>,
338                         (with exceptions allowed as discussed in
339                         <xref linkend="units"/>).
340                 </para>
341                 <para>
342                         The
343                         <varname>long_name</varname>
344                         and
345                         <varname>standard_name</varname>
346                         attributes are
347                         used to describe the content of each variable. For
348                         backwards compatibility with COARDS neither
349                         is required, but use of at least one of them
350                         is strongly recommended. The use of standard
351                         names will facilitate the exchange of climate
352                         and forecast data by providing unambiguous
353                         identification of variables most commonly
354                         analyzed.
355                 </para>
356                 <para>
357                         Four types of coordinates receive special
358                         treatment by these conventions: latitude,
359                         longitude, vertical, and time. Every variable
360                         must have associated metadata that allows
361                         identification of each such coordinate that is
362                         relevant. Two independent parts of the convention
363                         allow this to be done. There are conventions that
364                         identify the variables that contain the coordinate
365                         data, and there are conventions that identify
366                         the type of coordinate represented by that data.
367                 </para>
368                 <para>
369                         There are two methods used to identify variables
370                         that contain coordinate data. The first is to
371                         use the NUG-defined "coordinate variables." <emphasis>The
372                         use of coordinate variables is required for all
373                         dimensions that correspond to one dimensional
374                         space or time coordinates</emphasis>. In cases where
375                         coordinate variables are not applicable,
376                         the variables containing coordinate data are
377                         identified by the
378                         <varname>coordinates</varname>
379                         attribute.
380                 </para>
381                 <para>
382                         Once the variables containing coordinate data are
383                         identified, further conventions are required to
384                         determine the type of coordinate represented by
385                         each of these variables. Latitude, longitude,
386                         and time coordinates are identified solely by
387                         the value of their
388                         <varname>units</varname>
389                         attribute. Vertical
390                         coordinates with units of pressure may also
391                         be identified by the
392                         <varname>units</varname>
393                         attribute. Other
394                         vertical coordinates must use the attribute
395                         <varname>positive</varname>
396                         which determines whether the direction of
397                         increasing coordinate value is up or down. Because
398                         identification of a coordinate type by its units
399                         involves the use of an external software package
400                         <biblioref linkend="udunits" />,
401                         we provide the optional attribute
402                         <varname>axis</varname>
403                         for a direct identification of coordinates
404                         that correspond to latitude, longitude, vertical,
405                         or time axes.
406                 </para>
407                 <para>
408                         Latitude, longitude, and time are defined
409                         by internationally recognized standards,
410                         and hence, identifying the coordinates of
411                         these types is sufficient to locate data
412                         values uniquely with respect to time and a
413                         point on the earth's surface. On the other
414                         hand identifying the vertical coordinate is
415                         not necessarily sufficient to locate a data
416                         value vertically with respect to the earth's
417                         surface. In particular a model may output data
418                         on the dimensionless vertical coordinate used
419                         in its mathematical formulation. To achieve the
420                         goal of being able to spatially locate all data
421                         values, this convention includes the definitions
422                         of common dimensionless vertical coordinates in
423                         <xref linkend="dimensionless-v-coord"/>.
424                         These definitions provide a mapping
425                         between the dimensionless coordinate values
426                         and dimensional values that can be uniquely
427                         located with respect to a point on the earth's
428                         surface. The definitions are associated with
429                         a coordinate variable via the
430                         <varname>standard_name</varname>
431                         and
432                         <varname>formula_terms</varname>
433                         attributes. For backwards
434                         compatibility with COARDS use of these attributes
435                         is not required, but is strongly recommended.
436                 </para>
437                 <para>
438                         It is often the case that data values are not
439                         representative of single points in time and/or
440                         space, but rather of intervals or multidimensional
441                         cells. This convention defines a
442                         <varname>bounds</varname>
443                         attribute
444                         to specify the extent of intervals or cells. When
445                         data that is representative of cells can be
446                         described by simple statistical methods, those
447                         methods can be indicated using the
448                         <varname>cell_methods</varname>
449                         attribute. An important application of this
450                         attribute is to describe climatological and
451                         diurnal statistics.
452                 </para>
453                 <para>
454                         Methods for reducing the total volume of data
455                         include both packing and compression. Packing
456                         reduces the data volume by reducing the precision
457                         of the stored numbers. It is implemented using
458                         the attributes
459                         <varname>add_offset</varname>
460                         and
461                         <varname>scale_factor</varname>
462                         which
463                         are defined in the NUG. Compression on the other
464                         hand loses no precision, but reduces the volume by
465                         not storing missing data. The attribute
466                         <varname>compress</varname>
467                         is defined for this purpose.
468                 </para>
469         </section>
470         <section id="coards-relationship">
471                 <title>Relationship to the COARDS Conventions</title>
472                 <para>
473                         These conventions generalize and extend the
474                         COARDS conventions
475                         <biblioref linkend="coards"/>.
476                         A major design goal
477                         has been to maintain <emphasis>backward compatibility</emphasis> with
478                         COARDS. Hence applications written to process
479                         datasets that conform to these conventions
480                         will also be able to process COARDS conforming
481                         datasets. We have also striven to maximize
482                         <emphasis>conformance</emphasis> to the COARDS standard so that
483                         datasets that only require the metadata that was
484                         available under COARDS will still be able to be
485                         processed by COARDS conforming applications. But
486                         because of the extensions that provide new
487                         metadata content, and the relaxation of some
488                         COARDS requirements, datasets that conform
489                         to these conventions will not necessarily
490                         be recognized by applications that adhere to
491                         the COARDS conventions. The features of these
492                         conventions that allow writing netCDF files that
493                         are not COARDS conforming are summarized below.
494                 </para>
495                 <para>
496                         COARDS standardizes the description of grids
497                         composed of independent latitude, longitude,
498                         vertical, and time axes. In addition
499                         to standardizing the metadata required to
500                         identify each of these axis types COARDS
501                         restricts the axis (equivalently dimension)
502                         ordering to be longitude, latitude, vertical,
503                         and time (with longitude being the most rapidly
504                         varying dimension). Because of I/O performance
505                         considerations it may not be possible for models
506                         to output their data in conformance with the
507                         COARDS requirement. The CF convention places no
508                         rigid restrictions on the order of dimensions,
509                         however we encourage data producers to make the
510                         extra effort to stay within the COARDS standard
511                         order. The use of non-COARDS axis ordering will
512                         render files inaccessible to some applications
513                         and limit interoperability. Often a buffering
514                         operation can be used to miminize performance
515                         penalties when axis ordering in model code does
516                         not match the axis ordering of a COARDS file.
517                 </para>
518                 <para>
519                         COARDS addresses the issue of identifying
520                         dimensionless vertical coordinates, but does
521                         not provide any mechanism for mapping the
522                         dimensionless values to dimensional ones that
523                         can be located with respect to the earth's
524                         surface. For backwards compatibility we continue
525                         to allow (but do not require) the
526                         <varname>units</varname>
527                         attribute of dimensionless vertical coordinates to take the
528                         values "level", "layer", or "sigma_level." But we
529                         recommend that the
530                         <varname>standard_name</varname> and
531                         <varname>formula_terms</varname>
532                         attributes be used to identify the appropriate
533                         definition of the dimensionless vertical
534                         coordinate (see
535                         <xref linkend="dimensionless-vertical-coordinate"/>).
536                 </para>
537                 <para>
538                         The CF conventions define attributes which
539                         enable the description of data properties
540                         that are outside the scope of the COARDS
541                         conventions. These new attributes do not violate
542                         the COARDS conventions, but applications that
543                         only recognize COARDS conforming datasets will not
544                         have the capabilities that the new attributes are
545                         meant to enable. Briefly the new attributes allow:
546                 </para>
547
548                 <itemizedlist>
549                         <listitem>
550                                 <para> Identification of quantities using standard names. </para>
551                         </listitem>
552                         <listitem>
553                                 <para> Description of dimensionless vertical coordinates. </para>
554                         </listitem>
555                         <listitem>
556                                 <para> Associating dimensions with auxiliary coordinate variables. </para>
557                         </listitem>
558                         <listitem>
559                                 <para> Linking data variables to scalar coordinate variables. </para>
560                         </listitem>
561                         <listitem>
562                                 <para> Associating dimensions with labels. </para>
563                         </listitem>
564                         <listitem>
565                                 <para>Description of intervals and cells. </para>
566                         </listitem>
567                         <listitem>
568                                 <para> Description of properties of data defined on intervals and cells. </para>
569                         </listitem>
570                         <listitem>
571                                 <para> Description of climatological statistics. </para>
572                         </listitem>
573                         <listitem>
574                                 <para> Data compression for variables with missing values. </para>
575                         </listitem>
576                 </itemizedlist>
577         </section>
578 </chapter>
Note: See TracBrowser for help on using the browser.