Skip to content
This repository was archived by the owner on Dec 1, 2022. It is now read-only.
This repository was archived by the owner on Dec 1, 2022. It is now read-only.

Compare and contrast CoverageJSON with CF-NetCDF #60

@jonblower

Description

@jonblower

I think it would be helpful to have a document describing the differences in approach between CovJSON and CF-NetCDF, since that community is likely to be a key user of CovJSON. This issue is just to collect ideas, which might also stimulate some discussion about CovJSON itself (or the wording of the spec). The things that spring immediately to mind are:

  1. CovJSON can define arbitrary nestings of information in object trees. NetCDF must use a flatter structure in which attributes (key-value pairs) are attached to variable objects (or are global). This means that some "variables" in a NetCDF file are not really variables but containers for attributes, and mechanisms have to be invented to relate these containers to each other. In JSON the structure can be clearer. (NetCDF4 has nested Groups, but these aren't widely used in many communities and conventions for using them are not established.)
  2. A coverage in CovJSON has exactly one domain, which is written explicitly and defined independently of the values of the variables (these can even be in different documents). CF-NetCDF files specify coordinate variables (i.e. axes) that can be arbitrarily grouped and attached directly to variables. Therefore each variable in a CF-NetCDF file can reside on a different domain, and domains in a NetCDF file are linked directly to the variables.
  3. URIs are used frequently in CovJSON files to point to definitions and certain properties are defined to have URI values. In NetCDF there is no widely-used way of inserting URIs as metadata, or distinguishing them reliably from plain strings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions