diff --git a/examples/ca-eccc-msc-gdc.global-discovery-catalogue.json b/examples/ca-eccc-msc-gdc.global-discovery-catalogue.json index b11803c9..e392aa04 100644 --- a/examples/ca-eccc-msc-gdc.global-discovery-catalogue.json +++ b/examples/ca-eccc-msc-gdc.global-discovery-catalogue.json @@ -109,7 +109,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "links": [ diff --git a/examples/ca-eccc-msc.cmip5-tt.json b/examples/ca-eccc-msc.cmip5-tt.json index 19385657..eaa4a389 100644 --- a/examples/ca-eccc-msc.cmip5-tt.json +++ b/examples/ca-eccc-msc.cmip5-tt.json @@ -38,7 +38,7 @@ ] }, "properties": { - "title": "CMIP5 (Annual) - Projected average change in Air Temperature for 2081-2100 (50th percentile)", + "title": "CMIP5 (annual) - projected average change in air temperature for 2081-2100 (50th percentile)", "description": "Seasonal and annual multi-model ensembles of projected change (also known as anomalies) in mean temperature (\u00b0C) based on an ensemble of twenty-nine Coupled Model Intercomparison Project Phase 5 (CMIP5) global climate models are available for 1901-2100. Projected change in mean temperature (\u00b0C) is with respect to the reference period of 1986-2005. The 5th, 25th, 50th, 75th and 95th percentiles of the ensembles of projected change in mean temperature change are available for the historical time period, 1901-2005, and for emission scenarios, RCP2.6, RCP4.5 and RCP8.5, for 2006-2100. Twenty-year average changes in mean temperature (\u00b0C) for four time periods (2021-2040; 2041-2060; 2061-2080; 2081-2100), with respect to the reference period of 1986-2005, for RCP2.6, RCP4.5 and RCP8.5 are also available in a range of formats. The median projected change across the ensemble of CMIP5 climate models is provided. Note: Projections among climate models can vary because of differences in their underlying representation of earth system processes. Thus, the use of a multi-model ensemble approach has been demonstrated in recent scientific literature to likely provide better projected climate change information.", "themes": [ { @@ -106,7 +106,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "contactInstructions": "email", @@ -163,7 +163,7 @@ "href": "https://api.weather.gc.ca/collections/climate:cmip5:projected:annual:P20Y-Avg", "type": "application/json", "title": "OGC API endpoint" - } + } ], "linkTemplates": [ { @@ -171,7 +171,7 @@ "type": "text/html", "hreflang": "en", "title": "Raw data download (NetCDF files)", - "uriTemplate": "https://dd.weather.gc.ca/{yyyymmdd}/WXO-DD/climate/cmip5/netcdf/scenarios/RCP8.5/annual/avg_20years", + "uriTemplate": "https://dd.weather.gc.ca/{yyyymmdd}/WXO-DD/climate/cmip5/netcdf/scenarios/RCP8.5/annual/avg_20years", "variables": { "yyyymmdd": { "type": "string", diff --git a/examples/ca-eccc-msc.daily-climate-observations.json b/examples/ca-eccc-msc.daily-climate-observations.json index 884794cc..373a8902 100644 --- a/examples/ca-eccc-msc.daily-climate-observations.json +++ b/examples/ca-eccc-msc.daily-climate-observations.json @@ -39,7 +39,7 @@ "resolution": "P1D" }, "properties": { - "title": "Daily Climate Observations", + "title": "Daily climate observations", "description": "Daily climate observations are derived from two sources of data. The first are Daily Climate Stations producing one or two observations per day of temperature, precipitation. The second are hourly stations that typically produce more weather elements e.g. wind or snow on ground. Only a subset of the total stations is shown due to size limitations. The criteria for station selection are listed as below. The priorities for inclusion are as follows: (1) Station is currently operational, (2) Stations with long periods of record, (3) Stations that are co-located with the categories above and supplement the period of record.", "themes": [ { @@ -89,7 +89,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "contactInstructions": "email", @@ -146,7 +146,7 @@ "type": "application/geo+json", "title": "Data notifications" } - ], + ], "linkTemplates": [ { "rel": "archives", diff --git a/examples/ca-eccc-msc.hydrometric-archive.json b/examples/ca-eccc-msc.hydrometric-archive.json index 694f9652..b62bd044 100644 --- a/examples/ca-eccc-msc.hydrometric-archive.json +++ b/examples/ca-eccc-msc.hydrometric-archive.json @@ -38,7 +38,7 @@ ] }, "properties": { - "title": "Historical Hydrometric Data", + "title": "Historical hydrometric data", "description": "Historical hydrometric data are standardized water resource data and information. They are collected, interpreted and disseminated by the Water Survey of Canada (WSC) in partnership with the provinces, territories and other agencies through the National Hydrometric Program. These data sets include daily mean, monthly mean, annual maximum and minimum daily mean and instantaneous peak water level and discharge information for over 2700 active and 5080 discontinued hydrometric monitoring stations across Canada.", "themes": [ { @@ -106,7 +106,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "contactInstructions": "email", diff --git a/examples/ca-eccc-msc.hydrometric-realtime.json b/examples/ca-eccc-msc.hydrometric-realtime.json index ef8ee172..72278fcf 100644 --- a/examples/ca-eccc-msc.hydrometric-realtime.json +++ b/examples/ca-eccc-msc.hydrometric-realtime.json @@ -106,7 +106,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "contactInstructions": "email", @@ -166,6 +166,6 @@ "description": "date in yyyymmdd format" } } - } + } ] } diff --git a/examples/ca-eccc-msc.nwp-gdps.json b/examples/ca-eccc-msc.nwp-gdps.json index a16d26da..4b22adbb 100644 --- a/examples/ca-eccc-msc.nwp-gdps.json +++ b/examples/ca-eccc-msc.nwp-gdps.json @@ -97,7 +97,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "contactInstructions": "email", @@ -142,7 +142,7 @@ "type": "application/geo+json", "title": "Data notifications" } - ], + ], "linkTemplates": [ { "rel": "data", diff --git a/examples/ca-eccc-msc.surface-weather-observations-realtime.json b/examples/ca-eccc-msc.surface-weather-observations-realtime.json index 70e351d8..1d8efad5 100644 --- a/examples/ca-eccc-msc.surface-weather-observations-realtime.json +++ b/examples/ca-eccc-msc.surface-weather-observations-realtime.json @@ -38,7 +38,7 @@ ] }, "properties": { - "title": "Surface Weather Observations", + "title": "Surface weather observations", "description": "Surface Observations measured at the automatic and manual stations of the Environment and Climate Change Canada and partners networks, either for a single station, or for the stations of specific provinces and territories (last 30 days)", "themes": [ { @@ -103,7 +103,7 @@ "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" } ], "links": [ diff --git a/examples/cn-cma.nmic.prediction-forecast.json b/examples/cn-cma.nmic.prediction-forecast.json index 2ae9b03e..c15ff94b 100644 --- a/examples/cn-cma.nmic.prediction-forecast.json +++ b/examples/cn-cma.nmic.prediction-forecast.json @@ -98,7 +98,7 @@ "city": "Beijing", "administrativeArea": "Beijing", "postalCode": "100081", - "country": "China" + "country": "CHN" } ], "links": [ diff --git a/examples/cn-cma.nmic.surface-based-observations.json b/examples/cn-cma.nmic.surface-based-observations.json index c6492c0d..c97af4d4 100644 --- a/examples/cn-cma.nmic.surface-based-observations.json +++ b/examples/cn-cma.nmic.surface-based-observations.json @@ -74,7 +74,7 @@ "city": "Beijing", "administrativeArea": "Beijing", "postalCode": "100081", - "country": "China" + "country": "CHN" } ], "links": [ diff --git a/examples/de-dwd.global-cache.json b/examples/de-dwd.global-cache.json index c21d0828..3313f069 100644 --- a/examples/de-dwd.global-cache.json +++ b/examples/de-dwd.global-cache.json @@ -122,7 +122,7 @@ ], "city": "Offenbach", "postalCode": "63067", - "country": "Germany" + "country": "DEU" } ], "links": [ diff --git a/examples/de-dwd.icon-eps-all.json b/examples/de-dwd.icon-eps-all.json index 5a8add25..d6f8f5e4 100644 --- a/examples/de-dwd.icon-eps-all.json +++ b/examples/de-dwd.icon-eps-all.json @@ -130,7 +130,7 @@ ], "city": "Offenbach", "postalCode": "63067", - "country": "Germany" + "country": "DEU" } ], "links": [ diff --git a/examples/de-dwd.surface-weather-observations-realtime.json b/examples/de-dwd.surface-weather-observations-realtime.json index 8812d696..fd2647e0 100644 --- a/examples/de-dwd.surface-weather-observations-realtime.json +++ b/examples/de-dwd.surface-weather-observations-realtime.json @@ -38,7 +38,7 @@ ] }, "properties": { - "title": "Surface Weather Observations", + "title": "Surface weather observations", "description": "Surface Observations measured at the automatic and manual stations of Deutscher Wetterdienst, the German Weather Service", "themes": [ { @@ -84,7 +84,7 @@ ], "city": "Offenbach", "postalCode": "63067", - "country": "Germany" + "country": "DEU" } ], "links": [ diff --git a/examples/fr-meteofrance-global-broker.json b/examples/fr-meteofrance-global-broker.json index 26b032a2..dfafbd5c 100644 --- a/examples/fr-meteofrance-global-broker.json +++ b/examples/fr-meteofrance-global-broker.json @@ -105,7 +105,7 @@ ], "city": "Toulouse", "postalCode": "31057", - "country": "France" + "country": "FRA" } ], "links": [ diff --git a/examples/int-eumetsat-serviri-core.json b/examples/int-eumetsat-serviri-core.json index 6a80387c..32f59d23 100644 --- a/examples/int-eumetsat-serviri-core.json +++ b/examples/int-eumetsat-serviri-core.json @@ -42,7 +42,7 @@ "created": "2023-12-15T14:00:00Z", "updated": "2023-12-21T14:00:00Z", "type": "dataset", - "title": "High Rate SEVIRI Level 1.5 Image Data - MSG - 0 degree", + "title": "High rate SEVIRI level 1.5 image data - MSG - 0 degree", "description": "Rectified (level 1.5) Meteosat SEVIRI image data. The data is transmitted as High Rate transmissions in 12 spectral channels. Level 1.5 image data corresponds to the geolocated and radiometrically pre-processed image data, ready for further processing, e.g. the extraction of meteorological products. Any spacecraft specific effects have been removed, and in particular, linearisation and equalisation of the image radiometry has been performed for all SEVIRI channels. The on-board blackbody data has been processed. Both radiometric and geometric quality control information is included. Images are made available with different timeliness according to their latency: quarter-hourly images if latency is more than 3 hours and hourly images if latency is less than 3 hours (for a total of 87 images per day). To enhance the perception for areas which are on the night side of the Earth a different mapping with increased contrast is applied for IR3.9 product. The greyscale mapping is based on the EBBT which allows to map the ranges 200 K to 300 K for the night and 250 K to 330 K for the day.", "status": { "id": "operational", @@ -78,7 +78,7 @@ ], "city": "Darmstadt", "postalCode": "64295", - "country": "Germany" + "country": "DEU" } ], "links": [ diff --git a/examples/us-noaa-nws.gfs-10deg.json b/examples/us-noaa-nws.gfs-10deg.json index 7d46380b..ca30d6e0 100644 --- a/examples/us-noaa-nws.gfs-10deg.json +++ b/examples/us-noaa-nws.gfs-10deg.json @@ -42,7 +42,7 @@ "updated": "2022-06-23T18:36:00Z", "wmo:dataPolicy": "core", "type": "dataset", - "title": "Global Forecast System 1 Degree Resolution", + "title": "Global Forecast System 1 degree resolution", "description": "The Global Forecast System is a weather forecast model produced by the National Centers for Environmental Prediction.", "keywords": [ "Geopotential Height", @@ -289,7 +289,7 @@ "city": "College Park", "state": "Maryland", "postalCode": "20740", - "country": "United States" + "country": "USA" } ], "links": [ diff --git a/examples/us-noaa-nws.goes16-satellite-sst.json b/examples/us-noaa-nws.goes16-satellite-sst.json index 89875360..333f2c38 100644 --- a/examples/us-noaa-nws.goes16-satellite-sst.json +++ b/examples/us-noaa-nws.goes16-satellite-sst.json @@ -42,7 +42,7 @@ "updated": "2024-03-13T12:00:00Z", "wmo:dataPolicy": "core", "type": "dataset", - "title": "Goes 16 Advanced Baseline Imager Level 2 Sea Surface Temperature", + "title": "GOES 16 advanced baseline imager level 2 sea surface temperature", "description": "Sea Surface Temperature for each cloud-free pixel over water. The Sea Surface Temperature algorithm employed on GOES 16 will use hybrid physical-regression retrieval in order to produce a more accurate product.", "keywords": [ "Sea Surface Temperature", @@ -131,7 +131,7 @@ "city": "College Park", "state": "Maryland", "postalCode": "20740", - "country": "United States" + "country": "USA" } ], "links": [ diff --git a/kpi/core/contacts.adoc b/kpi/core/contacts.adoc index b2aecd50..535441dd 100644 --- a/kpi/core/contacts.adoc +++ b/kpi/core/contacts.adoc @@ -27,6 +27,7 @@ The presence of a publisher role. * Include an email for the host * Include contact instructions for the host * Specify a contact with a publisher role +* Use ISO https://www.iso.org/iso-3166-country-codes.html[3166-1 alpha-3] codes to specify the `addresses.country` property. ===== Examples @@ -57,7 +58,7 @@ The presence of a publisher role. "deliveryPoint": "61 16-GIL YEOUIDAEBANG-RO DONGJAK-GU SEOUL", "city": "SEOUL", "postalCode": "07062", - "country": "Republic of Korea" + "country": "KOR" } ], "contactInstructions": "email", diff --git a/standard/abstract_tests/core/ATS_test_links.adoc b/standard/abstract_tests/core/ATS_test_links.adoc index 73320a4d..21c1599c 100644 --- a/standard/abstract_tests/core/ATS_test_links.adoc +++ b/standard/abstract_tests/core/ATS_test_links.adoc @@ -42,5 +42,10 @@ For a link object describing archived (NOT real-time) data made available via We For a link object with access control (defined by the `+security+` object), check that the `+security+` property contains a `+description+` property with instructions on how to obtain access. -- +[.component,class=step] +-- +For a link object with a `+channel+` property defined starting with `+origin/a/wis2+` or `+cache/a/wis2+`, check that the fourth token of the `+channel+` property (split by `+/+`) is equal to the fourth token of the WCMP2 identfier (`id`) property (split by `+:+`). +-- + ===== ==== diff --git a/standard/recommendations/core/REC_contacts.adoc b/standard/recommendations/core/REC_contacts.adoc index 2a112cb2..318fcf21 100644 --- a/standard/recommendations/core/REC_contacts.adoc +++ b/standard/recommendations/core/REC_contacts.adoc @@ -3,6 +3,6 @@ |=== ^|*Recommendation {counter:rec-id}* |*/rec/core/contacts* ^|A|The contact role `+publisher+` SHOULD be used when specifying a dataset contact for citation or attribution. - +^|B |For addresses defined in the `+addresses+` array property, the `+country+` property SHOULD be included using a value from the ISO 3166-1 alpha-3 controlled vocabulary. |=== -//rec 8 +//rectbd diff --git a/standard/recommendations/core/REC_pids.adoc b/standard/recommendations/core/REC_pids.adoc index 82299519..1f3b3ee6 100644 --- a/standard/recommendations/core/REC_pids.adoc +++ b/standard/recommendations/core/REC_pids.adoc @@ -2,6 +2,6 @@ [width="90%",cols="2,6a"] |=== ^|*Recommendation {counter:rec-id}* |*/rec/core/pids* -^|A |A WCMP record SHOULD provide persistent identifier references via items in the `+properties.externalIds+` array property, where the value of `+scheme+` is based on an established persistent identifier scheme (such as `+https://doi.org+`, `+https://arks.org+` or `+https://handle.net+`), and the `+value+` property is the persistent identifier (for example, `https://dx.doi.org/10.14287/10000001`). +^|A |A WCMP record SHOULD provide persistent identifier references via items in the `+properties.externalIds+` array property, where the value of `+scheme+` is based on an established persistent identifier scheme (such as `+https://doi.org+`, `+https://arks.org+` or `+https://handle.net+`), and the `+value+` property is the persistent identifier (for example, `10.14287/10000001`). |=== //rec9 diff --git a/standard/recommendations/core/REC_title.adoc b/standard/recommendations/core/REC_title.adoc new file mode 100644 index 00000000..e69518ac --- /dev/null +++ b/standard/recommendations/core/REC_title.adoc @@ -0,0 +1,6 @@ +[[rec_core_title]] +[width="90%",cols="2,6a"] +|=== +^|*Recommendation {counter:rec-id}* |*/rec/core/title* +^|A |A WCMP record title SHOULD be provided in sentence case. +|=== diff --git a/standard/sections/clause_7_normative_text.adoc b/standard/sections/clause_7_normative_text.adoc index d2f94b94..1cf78b27 100644 --- a/standard/sections/clause_7_normative_text.adoc +++ b/standard/sections/clause_7_normative_text.adoc @@ -2,7 +2,7 @@ Note: This section of this working draft document is the same as Appendix F in the https://library.wmo.int/idurl/4/68731[_Manual on the WMO Information System_] (WMO-No. 1060), Volume II as approved by EC-78. -WMO Core Metadata Profile (WCMP) is an extension of the OGC API – Features standard and shall be encoded in GeoJSON. The normative provisions in WCMP (version 2) are denoted by the base URI (``http://wis.wmo.int/spec/wcmp/2``) and requirements are denoted by partial URIs relative to this base. Property names, values and examples are represented with ``shaded text`` in this document. +WMO Core Metadata Profile (WCMP) is an extension of the OGC API – Records standard and shall be encoded in GeoJSON. The normative provisions in WCMP (version 2) are denoted by the base URI (``http://wis.wmo.int/spec/wcmp/2``) and requirements are denoted by partial URIs relative to this base. Property names, values and examples are represented with ``shaded text`` in this document. :sectnums!: === 1. Requirements Class "Core" @@ -196,6 +196,7 @@ The `+title+` property is a human-readable name of the dataset. ---- include::../requirements/core/REQ_title.adoc[] +include::../recommendations/core/REC_title.adoc[] ==== 1.8 Properties / Description @@ -268,12 +269,12 @@ A WCMP metadata record can have one or more themes. }, { "id": "0-2-2", - "title": "u-component of Wind", + "title": "u-component of wind", "url": "http://codes.wmo.int/grib2/codeflag/4.2/0-2-2" }, { "id": "0-2-3", - "title": "v-component of Wind", + "title": "v-component of wind", "url": "http://codes.wmo.int/grib2/codeflag/4.2/0-2-3" } ], @@ -567,7 +568,7 @@ The `+contacts+` property is the information associated with one or more parties "city": "Fredericton", "administrativeArea": "NB", "postalCode": "E3B 6Z4", - "country": "Canada" + "country": "CAN" }], "links": [{ "href": "https://example.org/about",