diff --git a/au.org.access-nri/model/output/experiment-metadata/1-0-3.json b/au.org.access-nri/model/output/experiment-metadata/1-0-3.json index d4319fe..cd69dda 100644 --- a/au.org.access-nri/model/output/experiment-metadata/1-0-3.json +++ b/au.org.access-nri/model/output/experiment-metadata/1-0-3.json @@ -171,4 +171,4 @@ "long_description" ], "additionalProperties": false -} +} \ No newline at end of file diff --git a/au.org.access-nri/model/output/experiment-metadata/1-0-4.json b/au.org.access-nri/model/output/experiment-metadata/1-0-4.json new file mode 100644 index 0000000..206fa73 --- /dev/null +++ b/au.org.access-nri/model/output/experiment-metadata/1-0-4.json @@ -0,0 +1,184 @@ +{ + "$id": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/output/experiment-metadata/1-0-4.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Experiment metadata", + "description": "The metadata associated with a model experiment", + "type": "object", + "properties": { + "schema_version": { + "const": "1-0-4", + "description": "The version of the schema (string)" + }, + "name": { + "type": "string", + "description": "The name of the experiment (string)" + }, + "experiment_uuid": { + "type": "string", + "format": "uuid", + "description": "Unique uuid for the experiment (string)" + }, + "description": { + "type": "string", + "description": "Short description of the experiment (string, < 150 char)" + }, + "long_description": { + "type": "string", + "description": "Long description of the experiment (string)" + }, + "model": { + "oneOf": [ + {"type": ["string", "null"]}, + { + "type": "array", + "items": {"type": ["string", "null"]} + } + ], + "description": "The name(s) of the model(s) used in the experiment (string or array of strings)" + }, + "realm": { + "type": "array", + "items": { + "oneOf": [ + {"type": "null"}, + { + "type": "string", + "enum": [ + "aerosol", + "atmos", + "atmosChem", + "land", + "landIce", + "none", + "ocean", + "ocnBgchem", + "seaIce", + "unknown", + "wave" + ] + } + ] + }, + "description": "The realm(s) included in the experiment (array of strings)" + }, + "frequency": { + "type": "array", + "items": { + "oneOf": [ + {"type": "null"}, + { + "type": "string", + "oneOf": [ + { + "pattern": "^fx$" + }, + { + "pattern": "^subhr$" + }, + { + "pattern": "^\\d+hr$" + }, + { + "pattern": "^\\d+day$" + }, + { + "pattern": "^\\d+mon$" + }, + { + "pattern": "^\\d+yr$" + }, + { + "pattern": "^\\d+dec$" + } + ] + } + ] + }, + "description": "The frequency(/ies) included in the experiment (array of strings)" + }, + "variable": { + "type": "array", + "items": { + "type": ["string", "null"] + }, + "description": "The variable(s) included in the experiment (array of strings)" + }, + "nominal_resolution": { + "oneOf": [ + {"type": ["string", "null"]}, + { + "type": "array", + "items": {"type": ["string", "null"]} + } + ], + "description": "The nominal resolution(s) of model(s) used in the experiment (string or array of strings), e.g. 10km" + }, + "version": { + "type": ["number", "string", "null"], + "description": "The version of the experiment (number, string)" + }, + "contact": { + "type": ["string", "null"], + "description": "Contact name for the experiment (string)" + }, + "email": { + "type": ["string", "null"], + "description": "Email address of the contact for the experiment (string)" + }, + "created": { + "type": ["string", "null"], + "description": "Initial creation date of experiment (string)" + }, + "reference": { + "type": ["string", "null"], + "description": "Citation or reference information (string)" + }, + "license": { + "type": ["string", "null"], + "description": "License of the experiment (string, SPDX preferred)" + }, + "url": { + "type": ["string", "null"], + "description": "Relevant url, e.g. github repo for experiment configuration (string)" + }, + "parent_experiment": { + "type": ["string", "null"], + "description": "experiment_uuid for parent experiment if appropriate (string)" + }, + "related_experiments": { + "type": "array", + "items": { + "type": ["string", "null"] + }, + "description": "experiment_uuids for any related experiment(s) (array of strings)" + }, + "notes": { + "type": ["string", "null"], + "description": "Additional notes (string)" + }, + "keywords": { + "type": "array", + "items": { + "type": ["string", "null"] + }, + "description": "Keyword(s) associated with experiment (array of strings)" + }, + "parent_experiment_branch_time": { + "type": ["string", "null"], + "format": "date-time", + "description": "The model time corresponding to the restart path used to create this branch, e.g., 1951-02-01T00:00:00 (string)" + }, + "parent_experiment_branch_commit": { + "type": ["string", "null"], + "minLength": 40, + "description": "Git commit hash of the source branch when this new branch was created (string)" + } + }, + "required": [ + "name", + "experiment_uuid", + "description", + "long_description" + ], + "additionalProperties": false +}