Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A first check to determine whether a given NetCDF file can be imported in FEWS is to use an online CF compliance checker, see e.g. http://cfconventions.org/compliance-checker.html or https://compliance.ioos.us/index.html. If the NetCDF file is not valid according to the CF compliance checker, then the NetCDF file can probably not be imported in FEWS. In this case please contact the data supplier that created the NetCDF file and ask them to make the NetCDF file CF-1.6 compliant. If the file is not CF-1.6 compliant then there is no reason to contact the FEWS support team.

...

The global attribute "Conventions" must be specified in the netcdf file (e.g. Conventions="CF-1.6"). If this attribute is not present or not valid, then the NetCDF Java library assumes a default convention (different from CF), which can cause unexpected behaviour in the NetCDF import in Delft-FEWS. Also see http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#identification-of-conventions.

Grid data

  1. all variables (data and coordinate) must have a unique variable name and the following attributes:
    1. units (required)
    2. standard_name (required) - should comply with standard names list
    3. long_name (recommended)
    4. _FillValue and/or missing_value (required if data contains missing values)
    5. scale_factor (optional to compact data)
    6. add_offset (optional to compact data)

see cf-conventions on these:
units                  http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#units
standard-name http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#standard-name
http://cfconventions.org/Data/cf-standard-names/26/build/cf-standard-name-table.html
long-name        http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#long-name

  1. Data variable for a 2D grid must depend on three dimensions, representing time and two spatial dimensions (in either the order time, y, x or time, x, y).  The names of the dimensions can be anything.
    1. regular or rectangular grids - each spatial dimension must have a corresponding 1D coordinate variable with the same name.
      See  http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#idp5553648.
    2. curvilinear grids -  both spatial dimensions are 2D and depend on both spatial dimensions.
      1. Time coordinate variable requires axis "T"
      2. x coordinate variable requires axis "X"
      3. y coordinate variable requires axis "Y"
      4. (optional) analysis_time coordinate, see below
      5. The data variable must have an attribute "coordinates" that refers to the y and x coordinate variables (in that order), e.g. coordinates="y x". See  http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#idp5559280.
      6. Each coordinate variable must have an attribute "axis" that indicates which axis is defined by that coordinate variable.
    3. Time dimension must have a corresponding 1D time coordinate variable with the same name.
    4. Spatial dimensions, for
  1. Time coordinate variable must have the attributes
    1. "units" with a valid unit of time - e.g. units="minutes since 1970-01-01 00:00:00.0 +0000"
      See  http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#time-coordinate
    2. "axis" with value "T"
  2. Forecast reference time/analysis time/base time (optional), must be stored in a separate coordinate variable that
    1. contains only one value: the forecast reference time, and
    2. standard_name="forecast_reference_time"

The name of this variable must be present in the coordinates attribute of the data variable, e.g. coordinates="analysis_time" or coordinates="y x analysis_time".
If needed, different data variables can point to different forecast reference time variables.
See  http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#scalar-coordinate-variables

  1. Time and spatial coordinate variables must have values either in ascending or in descending order.
  1. all data and coordinate variables must have a unique variable name and the following attributes:
    units (required)
    standard_name (required)
    long_name (recommended)
    _FillValue and/or missing_value (required if there are missing values in the data)
    scale_factor (optional to compact data)
    add_offset (optional to compact data)
    Also see http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#units, http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#long-name and http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#standard-name.
  2. the standard_name attributes should comply to the list with standard names, see http://cfconventions.org/Data/cf-standard-names/26/build/cf-standard-name-table.html.
  3. a data variable for a 2D grid must depend on three dimensions, representing time and two spatial dimensions (in either the order time, y, x or time, x, y). The names of the dimensions can be anything. For the time dimension there must be a corresponding 1D time coordinate variable with the same name. If the grid is regular or rectangular, then for each spatial dimension there must be a corresponding 1D coordinate variable with the same name. See http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#idp5553648. If the grid is curvilinear, then the y and x coordinate variables are both 2D and depend on both spatial dimensions. In this case the data variable must have an attribute "coordinates" that refers to the y and x coordinate variables (in that order), e.g. coordinates="y x". See http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#idp5559280. Each coordinate variable must have an attribute "axis" that indicates which axis is defined by that coordinate variable. For the time coordinate variable the axis must be "T", for the x coordinate variable the axis must be "X", for the y coordinate variable the axis must be "Y".
  4. if the data has a forecast reference time/analysis time/base time, then this time must be stored in a separate coordinate variable that contains only one value, which is the forecast reference time. This variable must have standard_name="forecast_reference_time". The name of this variable must be present in the coordinates attribute of the data variable, e.g. coordinates="analysis_time" or coordinates="y x analysis_time". If needed, different data variables can point to different forecast reference time variables. See http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#scalar-coordinate-variables
  5. the time coordinate variable must have an attribute "units" with a valid unit of time and an attribute "axis" with value "T". A valid unit of time is a string formatted as per the recommendations in the Udunits package, e.g. units="minutes since 1970-01-01 00:00:00.0 +0000". See http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#time-coordinate.
  6. the time and spatial coordinate variables must have values either in ascending or in descending order.

...