Provided by: python-cf_1.3.2+dfsg1-4_amd64 bug

NAME

       cfdump - view CF fields

SYNOPSIS

       cfdump [-1] [-c] [-h] [-i] [-l] [-n] [-s] [-u] [-x] [OPTIONS] INPUTS

DESCRIPTION

       The  cfdump  tool  generates  text  representations  on standard output of the CF fields contained in the
       INPUTS (which may include directories if the --recursive option is set).

       Accepts CF-netCDF and CFA-netCDF files (or URLs if DAP access is enabled), Met Office (UK) PP  files  and
       Met  Office  (UK)  fields  files  as input. Multiple input files in a mixture of formats may be given and
       normal UNIX file globbing rules apply.

       By default the contents of each input file is aggregated (i.e. combined) into as few multi-dimensional CF
       fields as possible. Unaggregatable fields in the input files may be omitted from the output (see  the  -x
       option).  Information  on  which  fields  are  unaggregatable,  and why, may be displayed (see the --info
       option). All aggregation may be turned off with the -n option, in which case all input fields are  output
       without modification.

       See the AGGREGATION section for details on the aggregation process and unaggregatable fields.

       By  default  each  input file is treated separately. In this case there is no inter-file aggregation, but
       the contents of each file is aggregated independently of the others.

       Alternatively, all of the input files may be treated collectively as a single  CF  dataset  (see  the  -1
       option). In this case aggregation is attempted within and between the input files.

       In  the  displayed output, each component of a field is assigned one of the following roles as defined by
       the CF data model:

              Field
              Axis
              Cell method
              Dimension coordinate
              Auxiliary coordinate
              Cell measure
              Coordinate reference

       A field and its components are identified, where appropriate, by their standard names  if  available,  or
       their  long  names.  If  neither  is  present  then a netCDF variable name is used. Long names and netCDF
       variable names are preceded by long_name: and ncvar: respectively. Axis identities are inferred from  the
       coordinates which span them.

       Each data array of a field and its components is described by its dimensionality, units and (depending on
       the  extent  of  the output requested) its first and last values. For longer and complete outputs, arrays
       containing coordinate bounds are given in the same  way  and  included  as  part  of  their  coordinates'
       descriptions.

AGGREGATION

       Aggregation  of input fields into as few multi-dimensional CF fields as possible is carried out according
       to the aggregation rules documented in CF  ticket  #78  (http://kitt.llnl.gov/trac/ticket/78).  For  each
       input  field, the aggregation process creates a structural signature which is essentially a subset of the
       metadata of the field, including coordinate metadata and other domain information, but which contains  no
       data values. The structural signature accounts for the following standard CF properties:

              add_offset,   calendar,   cell_methods,   _FillValue,   flag_masks,   flag_meanings,  flag_values,
              missing_value,   scale_factor,   standard_error_multiplier,   standard_name,   units,   valid_max,
              valid_min, valid_range

       Aggregation  is  then attempted on each group of fields with the same, well defined structural signature,
       and will succeed where the coordinate data values imply a safe combination into a single dataset.

       Not all fields are aggregatable. Unaggregatable fields  are  those  without  a  well  defined  structural
       signature;  or  those  with  the  same  structural  signature  when  at  least  two  of  them 1) can't be
       unambiguously distinguished by coordinates or other domain information or 2) contain coordinate reference
       fields or ancillary variable fields which themselves can't be unambiguously aggregated.

EXAMPLES

       In these examples, a complete dataset has been split across two files (file1.nc and file2.nc). These  may
       be  passed to cfdump which can return a description of the recombined, aggregated field. The -1 option is
       necessary here so that the two input files are treated as parts of the same dataset.

       The  -s  option  displays  the  short,  one-line  output,  which  gives  the  identity   of   the   field
       (air_temperature),  the  identities  and sizes of its data array dimensions (time, latitude and longitude
       with sizes 1200, 64 and 128 respectively) and the units of the field's data array (K):

          $ cfdump -1s file1.nc file2.nc
          <CF Field: air_temperature(time(1200), latitude(64), longitude(128)) K>

       The default summary gives the same information as the the one-line output, along with short  descriptions
       of the field's other components:

          $ cfdump -1 file[12].nc
          air_temperature field summary
          -----------------------------
          Data           : air_temperature(time(1200), latitude(64), longitude(128)) K
          Cell methods   : time: mean (interval: 1.0 month)
          Axes           : time(12) = [ 450-11-16 00:00:00, ...,  550-10-16 12:00:00] noleap calendar
                         : latitude(64) = [-87.8638000488, ..., 87.8638000488] degrees_north
                         : longitude(128) = [0.0, ..., 357.1875] degrees_east
                         : height(1) = [2.0] m

       This  shows  that  the  aggregated  field  has a cell method and four dimension coordinates, one of which
       (height) is a coordinate for a size 1 dimension that is not a dimension of the field's  data  array.  The
       units  and  first  and last values of the coordinates' data arrays are given and relative time values are
       translated into strings.

       The -l option displays the long output, which includes each component's properties, as well as the  first
       and last values of the field's data array:

          $ cfdump -1l file[1-2].nc
          ======================
          Field: air_temperature
          ======================
          Axes
              height(1)
              latitude(64)
              longitude(128)
              time(12)

          Data(time(12), latitude(64), longitude(128)) = [[[236.512756348, ..., 256.93371582]]] K
          cell_methods = time: mean (interval: 1.0 month)

          experiment_id = 'pre-industrial control experiment'
          long_name = 'air_temperature'
          missing_value = 1e+20
          standard_name = 'air_temperature'

          Dimension coordinate: time
              Data(time(12)) = [ 450-11-16 00:00:00, ...,  550-10-16 12:00:00] noleap calendar
              Bounds(time(12), 2) = [[ 450-11-01 00:00:00, ...,  550-11-01 00:00:00]] noleap calendar
              axis = 'T'
              standard_name = 'time'

          Dimension coordinate: latitude
              Data(latitude(64)) = [-87.8638000488, ..., 87.8638000488] degrees_north
              Bounds(latitude(64), 2) = [[-90.0, ..., 90.0]] degrees_north
              axis = 'Y'
              standard_name = 'latitude'

          Dimension coordinate: longitude
              Data(longitude(128)) = [0.0, ..., 357.1875] degrees_east
              Bounds(longitude(128), 2) = [[-1.40625, ..., 358.59375]] degrees_east
              axis = 'X'
              standard_name = 'longitude'

          Dimension coordinate: height
              Data(height(1)) = [2.0] m
              axis = 'Z'
              positive = 'up'
              standard_name = 'height'

       In  this  case, the complete output using the -c option would be the same as the long output, since there
       are no fields contained in coordinate references nor ancillary variables.

OPTIONS

       -1, --one
              Treat all input files collectively as a single CF dataset. In this case aggregation  is  attempted
              within and between the input files.

       --axis=property
              Aggregation  configuration: Create a new axis for each input field which has given property. If an
              input field has the property then, prior to aggregation, a new axis is created with  an  auxiliary
              coordinate  whose  data  array  is  the  property's  value.  This  allows  for  the possibility of
              aggregation along the new axis. The property itself is deleted from that field. No axis is created
              for input fields which do not have the specified property.

              Multiple axes may be created by specifying more than one --axis option.

              For example, if you wish to aggregate an ensemble of model experiments that are  distinguished  by
              the  source  property, you can use --axis=source to create an ensemble axis which has an auxiliary
              coordinate variable containing the source property values.

       -c, --complete
              Display complete outputs. Fields are described without abbreviation with  the  exception  of  data
              arrays,  which  are abbreviated to their first and last values. Fields contained in transforms and
              ancillary variables are given as long outputs (see the -l option).

       --contiguous
              Aggregation configuration: Requires that aggregated  fields  have  adjacent  dimension  coordinate
              cells  which  partially  overlap  or  share  common  boundary  values.  Ignored  if  the dimension
              coordinates do not have bounds.

       --equal=property
              Aggregation configuration: Require that an input field may only be aggregated with other fields if
              they all have the given CF property (standard or non-standard) with equal values. Ignored for  any
              input  field which does not have this property, or if the property is already accounted for in the
              structural signature.

              Supersedes the behaviour for the given property that may be implied by the --exist_all option.

              Multiple properties may be set by specifying more than one --equal option.

       --equal_all
              Aggregation configuration: Require that an input field may only be aggregated  with  other  fields
              that  have  the same set of CF properties (excluding those already accounted for in the structural
              signature) with equal sets of values.

              The behaviour for individual properties may be overridden by the --exist --ignore options.

              For example, to insist that a group  of  aggregated  input  fields  must  all  have  the  same  CF
              properties  (other than those accounted for in the structural signature) with matching values, but
              allowing the long_name properties have unequal values, you can use --equal_all --exist=long_name

       --exist=property
              Aggregation configuration: Require that an input field may only be aggregated with other fields if
              they all have the given CF property (standard or non-standard), but not requiring the values to be
              the same. Ignored for any input field which does not have this property, or  if  the  property  is
              already accounted for in the structural signature.

              Supersedes the behaviour for the given property that may be implied by the --equal_all option.

              Multiple properties may be set by specifying more than one --exist option.

       --exist_all
              Aggregation  configuration:  Require  that an input field may only be aggregated with other fields
              that have the same set of CF properties (excluding those already accounted for in  the  structural
              signature), but not requiring the values to be the same.

              The behaviour for individual properties may be overridden by the --equal --ignore options.

              For  example,  to  insist  that  a  group  of  aggregated  input  fields must all have the same CF
              properties (other than those accounted for in  the  structural  signature),  regardless  of  their
              values,  but  also  insisting  that  the  long_name  properties  have  equal  values,  you can use
              --exist_all --equal=long_name

       --follow_symlinks
              In combination with --recursive also search for files in directories  which  resolve  to  symbolic
              links.  Files  specified  by  the  INPUTS  which are symbolic links are always followed. Note that
              setting --recursive --follow_symlinks can lead to infinite recursion if a directory which resolves
              to a symbolic link points to a parent directory of itself.

       -h, --help
              Display this man page.

       -i, --relaxed_identities
              Aggregation configuration: In the absence of standard names, allow  fields  and  their  components
              (such  as coordinates) to be identified by their long_name CF properties or else their netCDF file
              variable names.

       --ignore=property
              Aggregation configuration: An input field may  be  aggregated  with  other  fields  regardless  of
              whether  or  not  they have the given CF property (standard or non-standard) and regardless of its
              values. Ignored for any input field which does not have this  property,  or  if  the  property  is
              already accounted for in the structural signature.

              This  is  the  default behaviour in the absence of all the --exist --equal --exist_all --equal_all
              options and supersedes the behaviour for the given property that may be implied if  any  of  these
              options are set.

              Multiple properties may be set by specifying more than one --ignore option.

              For  example,  to  insist  that  a  group  of  aggregated  input  fields must all have the same CF
              properties (other than those accounted for in the structural signature) with the same values,  but
              with  no restrictions on the existence or values of the long_name property you can use --equal_all
              --ignore=long_name

       --ignore_read_error
              Ignore, without failing, any file which causes an error whilst being read, as would  be  the  case
              for  an  empty  file, unknown file format, etc. By default, an error occurs and the return code is
              non-zero.

       --info=N
              Print information about the aggregation process. If N is 0 then no information is displayed. If  N
              is  1  or  more then display information on which fields are unaggregatable, and why. If N is 2 or
              more then display the field structural signatures and, when there is more than one field with  the
              same  structural  signature,  their  canonical first and last coordinate values. If N is 3 or more
              then display the field complete aggregation metadata.

              By default N is 1.

       -l, --long
              Display long outputs. Differs from the complete output (see the -c option)  only  in  that  fields
              contained  in  transforms  and  ancillary  variables  are  given as one-line summaries (see the -s
              option) rather than as long outputs.

       --ncvar_identities
              Aggregation configuration:  Force  fields  and  their  components  (such  as  coordinates)  to  be
              identified by their netCDF file variable names.

       -n, --no_aggregation
              Aggregation configuration: Do not aggregate fields. Displays the input fields as they exist in the
              input files.

       --no_overlap
              Aggregation  configuration:  Requires  that  aggregated  fields have adjacent dimension coordinate
              cells which do not overlap (but they may share common boundary values). Ignored if  the  dimension
              coordinates do not have bounds.

       --promote=component
              Promote field components to independent top-level fields. If component is ancillary then ancillary
              data  fields  are  promoted.  If  component  is  auxiliary then auxiliary coordinate variables are
              promoted. If component is measure then cell meausure  variables  are  promoted.  If  component  is
              reference then fields pointed to from formula_terms attributes are promoted. If component is field
              then all component fields are promoted.

              Multiple conponent types may be promoted by specifying more than one --promote option.

              For  example,  promote  ancillary  data field and cell measure variables to independent, top-level
              fields you can use --promote=ancillary --promote=measure

       --respect_valid
              Aggregation  configuration:  Take  into  account  the  CF  properties  valid_max,  valid_min   and
              valid_range  during  aggregation.  By default they are ignored for the purposes of aggregation and
              deleted from any aggregated output CF fields.

       -s, --short
              Display short outputs. Fields are described by a short, one-line summaries.

       --shared_nc_domain
              Aggregation configuration: Match axes between a field and its  contained  ancillary  variable  and
              coordinate reference fields via their netCDF dimension names and not via their domains.

       --squeeze
              Remove  size  1  axes  from  the  displayed  field  data  arrays.  If  a size one axis has any one
              dimensional coordinates then these are converted to CF scalar coordinates.

       --recursive
              Allow directories to be specified by the INPUTS and recursively search the directories for  actual
              files  to  read.  Set  the  --ignore_read_error  option  to  bypass  any  unreadable files and the
              --follow_symlinks option to allow directories to be symbolic links.

       -u, --relaxed_units
              Aggregation configuration: Assume that fields or their components (such as coordinates)  with  the
              same standard name (or other identifiers, see the -i option) but missing units all have equivalent
              (but unspecified) units, so that aggregation may occur. This is the default for Met Office (UK) PP
              files and Met Office (UK) fields files, but not for other formats.

       --unsqueeze
              Include  size  1  axes  in  the  displayed field data arrays. If a size one axis has any CF scalar
              coordinates then these are converted to one dimensional coordinates.

       --um_version=version
              For Met Office (UK) PP files and Met Office (UK) fields files only, the Unified Model (UM) version
              to be used when decoding the header. Valid versions are, for example,  4.2,  6.6.3  and  8.2.  The
              default  version  is  4.5. In general, the given version is ignored if it can be inferred from the
              header (which is usually the case for files created by the UM at  versions  5.3  and  later).  The
              exception to this is when the given version has a third element (such as the 3 in 6.6.3), in which
              case  any  version  in the header is ignored. This option is ignored for input files which are not
              Met Office (UK) PP files or Met Office (UK) fields files.

       -x, --exclude
              Aggregation configuration: Omit unaggregatable fields from the output. Ignored if the -n option is
              set. See the AGGREGATION section for the definition of an unaggregatable field.

SEE ALSO

       cfa(1), ncdump(1)

LIBRARY

       cf-python library version 1.3.1

BUGS

       Reports of bugs are welcome at http://cfpython.bitbucket.org

LICENSE

       Open Source Initiative MIT License

AUTHOR

       David Hassell

2016-09-09                                            1.3.1                                            CFDUMP(1)