-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
35e3e80
commit e33bb40
Showing
1 changed file
with
320 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,320 @@ | ||
{ | ||
"$schema": "https://json-schema.org/draft/2020-12/schema", | ||
"title": "E-SOH ingest schema", | ||
"description": "E-SOH ingest schema, describes all fields available and required by data providers", | ||
"type": "object", | ||
"properties": { | ||
"version": { | ||
"type": "string", | ||
"description": "Version of ingest specification.", | ||
"const": "v4.0" | ||
}, | ||
"geometry": { | ||
"oneOf": [ | ||
{ | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"coordinates" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"Point" | ||
] | ||
}, | ||
"coordinates": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"type": "number" | ||
} | ||
} | ||
} | ||
}, | ||
{ | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"coordinates" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"Polygon" | ||
] | ||
}, | ||
"coordinates": { | ||
"type": "array", | ||
"items": { | ||
"type": "array", | ||
"minItems": 4, | ||
"items": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"type": "number" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"properties": { | ||
"title": { | ||
"type": "string", | ||
"description": "short phrase or sentence describing the dataset. In many discovery systems, the title will be displayed in the results list from a search, and therefore should be human readable and reasonable to display in a list of such names. This attribute is also recommended by the NetCDF Users Guide and the CF conventions." | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A paragraph describing the dataset, analogous to an abstract for a paper." | ||
}, | ||
"keywords": { | ||
"type": "string", | ||
"description": "A comma-separated list of key words and/or phrases. Keywords may be common words or phrases, terms from a controlled vocabulary (GCMD is often used), or URIs for terms from a controlled vocabulary (see also 'keywords_vocabulary' attribute)." | ||
}, | ||
"keywords_vocabulary": { | ||
"type": "string", | ||
"description": "If you are using a controlled vocabulary for the words/phrases in your 'keywords' attribute, this is the unique name or identifier of the vocabulary from which keywords are taken. If more than one keyword vocabulary is used, each may be presented with a prefix and a following comma, so that keywords may optionally be prefixed with the controlled vocabulary key." | ||
}, | ||
"instrument": { | ||
"type": "string", | ||
"description": "Name of the contributing instrument(s) or sensor(s) used to create this data set or product. Indicate controlled vocabulary used in instrument_vocabulary." | ||
}, | ||
"instrument_vocabulary": { | ||
"type": "string", | ||
"description": "Controlled vocabulary for the names used in the 'instrument' attribute." | ||
}, | ||
"level": { | ||
"type": "float", | ||
"description": "Instrument level above ground in meters." | ||
}, | ||
"period": { | ||
"type": "string", | ||
"description": "Aggregation period for the measurement. Must be provided in ISO8601 duration format. https://www.iso.org/iso-8601-date-and-time-format.html" | ||
}, | ||
"function": { | ||
"type": "string", | ||
"description": "Function used on the data during the aggregation period. Must be one of the functions given in CF cell_methods table. https://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/build/ape.html" | ||
}, | ||
"license": { | ||
"type": "string", | ||
"description": "Provide the URL to a standard or specific license, enter 'Freely Distributed' or 'None', or describe any restrictions to data access and distribution in free text." | ||
}, | ||
"Conventions": { | ||
"type": "string", | ||
"description": "A comma-separated list of the conventions that are followed by the dataset. For files that follow this version of ACDD, include the string 'ACDD-1.3'. (This attribute is described in the NetCDF Users Guide.) E-SOH require ACDD and CF attribute convetions." | ||
}, | ||
"naming_authority": { | ||
"type": "string", | ||
"description": "The organization that provides the initial id (see above) for the dataset. The naming authority should be uniquely specified by this attribute. We recommend using reverse-DNS naming for the naming authority; URIs are also acceptable. Example: 'edu.ucar.unidata'." | ||
}, | ||
"history": { | ||
"type": "string", | ||
"description": "Provides an audit trail for modifications to the original data. This attribute is also in the NetCDF Users Guide: 'This is a character array with a line for each invocation of a program that has modified the dataset. Well-behaved generic netCDF applications should append a line containing: date, time of day, user name, program name and command arguments.' To include a more complete description you can append a reference to an ISO Lineage entity; see NOAA EDM ISO Lineage guidance." | ||
}, | ||
"datetime": { | ||
"type": "string", | ||
"format": "date-time", | ||
"description": "Identifies the date/time of the data being published, in RFC3339 format." | ||
}, | ||
"start_datetime": { | ||
"type": "string", | ||
"format": "date-time", | ||
"description": "Identifies the start date/time date of the data being published, in RFC3339 format." | ||
}, | ||
"end_datetime": { | ||
"type": "string", | ||
"format": "date-time", | ||
"description": "Identifies the end date/time date of the data being published, in RFC3339 format." | ||
}, | ||
"coverage_duration_datetime": { | ||
"type": "string", | ||
"format": "date-time", | ||
"description": "Describes the duration of the data set. Use RFC3339 duration format." | ||
}, | ||
"resolution_datetime": { | ||
"type": "string", | ||
"format": "date-time", | ||
"description": "Describes the targeted time period between each value in the data set. Use RFC3339 format." | ||
}, | ||
"source": { | ||
"type": "string", | ||
"description": "The method of production of the original data. If it was model-generated, source should name the model and its version. If it is observational, source should characterize it. This attribute is defined in the CF Conventions." | ||
}, | ||
"platform": { | ||
"type": "string", | ||
"description": "Name of the platform(s) that supported the sensor data used to create this data set or product. Platforms can be of any type, including satellite, ship, station, aircraft or other. Indicate controlled vocabulary used in platform_vocabulary." | ||
}, | ||
"platform_vocabulary": { | ||
"type": "string", | ||
"description": "Controlled vocabulary for the names used in the 'platform' attribute." | ||
}, | ||
"processing_level": { | ||
"type": "string", | ||
"description": "A textual description of the processing (or quality control) level of the data." | ||
}, | ||
"creator_name": { | ||
"type": "string", | ||
"description": "The name of the person (or other creator type specified by the creator_type attribute) principally responsible for creating this data." | ||
}, | ||
"creator_email": { | ||
"type": "string", | ||
"description": "The email address of the person (or other creator type specified by the creator_type attribute) principally responsible for creating this data." | ||
}, | ||
"creator_url": { | ||
"type": "string", | ||
"description": "The URL of the person (or other creator type specified by the creator_type attribute) principally responsible for creating this data." | ||
}, | ||
"institution": { | ||
"type": "string", | ||
"description": "The name of the institution principally responsible for originating this data. This attribute is recommended by the CF convention." | ||
}, | ||
"project": { | ||
"type": "string", | ||
"description": "The name of the project(s) principally responsible for originating this data. Multiple projects can be separated by commas, as described under Attribute Content Guidelines. Examples: 'PATMOS-X', 'Extended Continental Shelf Project'." | ||
}, | ||
"creator_type": { | ||
"type": "string", | ||
"description": "Specifies type of creator with one of the following: 'person', 'group', 'institution', or 'position'. If this attribute is not specified, the creator is assumed to be a person.", | ||
"enum": [ | ||
"person", | ||
"group", | ||
"institution", | ||
"position" | ||
] | ||
}, | ||
"content": { | ||
"type": "object", | ||
"description": "Used to embed small products inline within the message.", | ||
"properties": { | ||
"encoding": { | ||
"type": "string", | ||
"description": "Encoding of content", | ||
"enum": [ | ||
"utf-8", | ||
"base64", | ||
"gzip" | ||
] | ||
}, | ||
"size": { | ||
"type": "integer", | ||
"maximum": 4096, | ||
"description": "Number of bytes contained in the file. Together with the ``integrity`` property, it provides additional assurance that file content was accurately received.\nNote that the limit takes into account the data encoding used, including data compression (for example `gzip`).\n" | ||
}, | ||
"value": { | ||
"type": "string", | ||
"description": "The inline content of the file.", | ||
"maxLength": 4096 | ||
}, | ||
"standard_name": { | ||
"type": "string", | ||
"description": "CF standard for the data included in this message." | ||
}, | ||
"unit": { | ||
"type": "string", | ||
"description": "Unit for the data" | ||
} | ||
}, | ||
"required": [ | ||
"encoding", | ||
"size", | ||
"value", | ||
"unit", | ||
"standard_name" | ||
] | ||
} | ||
}, | ||
"required": [ | ||
"level", | ||
"period", | ||
"function", | ||
"naming_authority", | ||
"title", | ||
"Conventions", | ||
"license" | ||
], | ||
"oneOf": [ | ||
{ | ||
"allOf": [ | ||
{ | ||
"required": [ | ||
"start_datetime", | ||
"end_datetime" | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"allOf": [ | ||
{ | ||
"required": [ | ||
"datetime" | ||
] | ||
} | ||
] | ||
} | ||
] | ||
}, | ||
"dependentRequired": { | ||
"keywords": [ | ||
"keywords_vocabulary" | ||
], | ||
"instrument": [ | ||
"instrument_vocabulary" | ||
] | ||
} | ||
, | ||
"links": { | ||
"type": "array", | ||
"minItems": 1, | ||
"description": "This section contains links relevant for the timeseries. A link to the data providers data services where the entire timeseries can be downloaded is encouraged.", | ||
"items": { | ||
"type": "object", | ||
"required": [ | ||
"href", | ||
"rel" | ||
], | ||
"properties": { | ||
"href": { | ||
"type": "string", | ||
"example": "http://data.example.com/buildings/123" | ||
}, | ||
"rel": { | ||
"type": "string", | ||
"example": "alternate" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"example": "application/geo+json" | ||
}, | ||
"hreflang": { | ||
"type": "string", | ||
"example": "en" | ||
}, | ||
"title": { | ||
"type": "string", | ||
"example": "Trierer Strasse 70, 53115 Bonn" | ||
}, | ||
"length": { | ||
"type": "integer" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"required": [ | ||
"id", | ||
"version", | ||
"type", | ||
"geometry", | ||
"properties", | ||
"links" | ||
] | ||
} |
e33bb40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API Unit Test Coverage Report
API Unit Test Coverage Summary