From ec2638dc2391cc3800310cfaa93ad452197eb7bf Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 21 Mar 2024 15:21:39 -0300 Subject: [PATCH 01/13] add dependabot for GHA and linkchecker --- .github/dependabot.yml | 11 ++++++++++ .github/workflows/md-link-check.yml | 34 +++++++++++++++++++++++++++++ .github/workflows/mlc_config.json | 8 +++++++ 3 files changed, 53 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/md-link-check.yml create mode 100644 .github/workflows/mlc_config.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..563dd9b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# See https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + labels: + - "Bot" diff --git a/.github/workflows/md-link-check.yml b/.github/workflows/md-link-check.yml new file mode 100644 index 0000000..26fe987 --- /dev/null +++ b/.github/workflows/md-link-check.yml @@ -0,0 +1,34 @@ +name: Check Markdown links + +on: + pull_request: + push: + branches: + - main + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + + steps: + - name: checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Check gh-pages + if: github.ref == 'refs/heads/gh-pages' + uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + use-verbose-mode: 'yes' + config-file: 'mlc_config.json' + file-path: './README.md' + folder-path: '_docs/' + + - name: Check main + uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + use-verbose-mode: 'yes' + file-path: './README.md' diff --git a/.github/workflows/mlc_config.json b/.github/workflows/mlc_config.json new file mode 100644 index 0000000..063e365 --- /dev/null +++ b/.github/workflows/mlc_config.json @@ -0,0 +1,8 @@ +{ + "ignorePatterns": [ + { + "pattern": "://localhost" + } + ], + "aliveStatusCodes": [200, 0] +} From 0bacef0f2986744ae183b3d590bc17fd48ea8399 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 21 Mar 2024 15:29:56 -0300 Subject: [PATCH 02/13] fix more links --- .github/workflows/md-link-check.yml | 2 +- _docs/gold-standard-examples.md | 2 +- _docs/index.md | 8 ++++---- _docs/ioos-metadata-profile-v1-0.md | 8 ++++---- _docs/ioos-metadata-profile-v1-1.md | 10 +++++----- _docs/ioos-metadata-profile-v1-2.md | 10 +++++----- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/md-link-check.yml b/.github/workflows/md-link-check.yml index 26fe987..2b9959d 100644 --- a/.github/workflows/md-link-check.yml +++ b/.github/workflows/md-link-check.yml @@ -22,7 +22,7 @@ jobs: with: use-quiet-mode: 'yes' use-verbose-mode: 'yes' - config-file: 'mlc_config.json' + config-file: '.github/workflows/mlc_config.json' file-path: './README.md' folder-path: '_docs/' diff --git a/_docs/gold-standard-examples.md b/_docs/gold-standard-examples.md index 9dd6d03..5f8881b 100644 --- a/_docs/gold-standard-examples.md +++ b/_docs/gold-standard-examples.md @@ -10,7 +10,7 @@ summary: Describes gold standard examples for various dataset types and scenari ## **Overview** -The page provides links to example datasets that satisfy the [IOOS Metadata Profile 1.2](ioos-metadata-profile-v1-2.html). +The page provides links to example datasets that satisfy the [IOOS Metadata Profile 1.2](./ioos-metadata-profile-v1-2). Since the IOOS standard builds off of the [**NOAA NCEI NetCDF Templates**](https://www.nodc.noaa.gov/data/formats/netcdf/), the NCEI "Gold Standard" examples ([HTTP](https://data.nodc.noaa.gov/ncei/example/data/netcdf/), [THREDDS](https://data.nodc.noaa.gov/thredds/catalog/example/catalog.html)) provide a great starting point. diff --git a/_docs/index.md b/_docs/index.md index 82e6f07..3789e4d 100644 --- a/_docs/index.md +++ b/_docs/index.md @@ -9,7 +9,7 @@ summary: The IOOS Metadata Profile contains dataset attribution guidelines and e ## **Current Profile Version** -### [**IOOS Metadata Profile 1.2**](ioos-metadata-profile-v1-2.html) +### [**IOOS Metadata Profile 1.2**](ioos-metadata-profile-v1-2) Looking for the latest version? Follow the link above for details on requirements to implement the IOOS Metadata Profile for publishing data according to the latest IOOS guidelines. @@ -29,7 +29,7 @@ Individual releases of the IOOS Metadata Profile (e.g. 1.0, 1.1, 1.2) target spe ## Profile Versions: -### [**IOOS Metadata Profile, Version 1.2** (Current)](ioos-metadata-profile-v1-2.html) +### [**IOOS Metadata Profile, Version 1.2** (Current)](ioos-metadata-profile-v1-2) IOOS Metadata Profile Version 1.2 (released in 2020) is the current **valid**{: style="color: green"} profile, and is based upon the following convention versions: @@ -58,7 +58,7 @@ Version 1.2 of the Metadata Profile targets ERDDAP as the future platform for IO Data providers wishing to maintain ncSOS/IOOS SOS compatibility can refer to this list and add all required IOOS attributes from deprecated Metadata Profile 1.1 and or duplicate attributes where appropriate. -### [**IOOS Metadata Profile, Version 1.1**](ioos-metadata-profile-v1-1.html) +### [**IOOS Metadata Profile, Version 1.1**](ioos-metadata-profile-v1-1) IOOS Metadata Profile Version 1.1 (**deprecated in 2019**{: style="color: red"}) is based upon the following convention versions: @@ -66,7 +66,7 @@ IOOS Metadata Profile Version 1.1 (**deprecated in 2019**{: style="color: red"}) - [Attribute Convention for Data Discovery 1.3](http://wiki.esipfed.org/index.php/Attribute_Convention_for_Data_Discovery_1-3) - [NOAA NCEI NetCDF Templates 2.0](https://www.nodc.noaa.gov/data/formats/netcdf/v2.0/) -### [**IOOS Metadata Profile, Version 1.0**](ioos-metadata-profile-v1-0.html) +### [**IOOS Metadata Profile, Version 1.0**](ioos-metadata-profile-v1-0) IOOS Metadata Profile Version 1.0 (**deprecated in 2016**{: style="color: red"}) is based upon the following convention versions: diff --git a/_docs/ioos-metadata-profile-v1-0.md b/_docs/ioos-metadata-profile-v1-0.md index b807aec..4fe9bda 100644 --- a/_docs/ioos-metadata-profile-v1-0.md +++ b/_docs/ioos-metadata-profile-v1-0.md @@ -4,7 +4,7 @@ keywords: [ioos, metadata, netCDF, 1.0] tags: [ioos, metadata, netCDF, 1.0] toc: false #permalink: index.html -summary: Deprecated 2016. Visit the [1.2 Metadata Profile](./ioos-metadata-profile-v1-2.html) page for the current version. +summary: Deprecated 2016. Visit the [1.2 Metadata Profile](ioos-metadata-profile-v1-2) page for the current version. --- @@ -18,7 +18,7 @@ summary: Deprecated 2016. Visit the [1.2 Metadata Profile](./ioos-metadata-prof 2. Each attribute in the Profile is either **required** or **recommended**. 3. All **required** attributes must have meaningful values assigned to them in accordance with the rules prescribed by the corresponding Convention or Template. 4. Each and all of the **recommended** attributes may be omitted; however, it is highly desirable that these attributes are included into the NetcDF metadata ***AND*** have meaningful values assigned to them. - 5. The **`platform_variable:ioos_code`** and **`platform_variable:short_name`** are the only **interchangeable** attributes - either a single **`platform_variable:ioos_code`** or a combination of **`platform_variable:short_name`** with **`naming_authority`** is **required** to ensure that ncSOS will be able to produce the IOOS SOS Asset Identifier for the specific platform (see the [NetCDF to IOOS SOS Crosswalk](https://github.com/ioos/ioos-metadata/blob/master/docs/NetCDF-to-SOS%20Mappings_clean_2016-04-07a.xlsx) for details). The rest of attributes ***may not*** be substituted for one another. + 5. The **`platform_variable:ioos_code`** and **`platform_variable:short_name`** are the only **interchangeable** attributes - either a single **`platform_variable:ioos_code`** or a combination of **`platform_variable:short_name`** with **`naming_authority`** is **required** to ensure that ncSOS will be able to produce the IOOS SOS Asset Identifier for the specific platform (see the [NetCDF to IOOS SOS Crosswalk](https://github.com/ioos/ioos-metadata/raw/gh-pages/_docs/NetCDF-to-SOS%20Mappings_clean_2016-04-07a.xlsx) for details). The rest of attributes ***may not*** be substituted for one another. 6. The **`platform_vocabulary`** attribute is at the moment the only pure ACDD v1.3 attribute that is included in the Profile. 7. This document only describes a fraction of the Profile: - attributes that are IOOS-specific; @@ -46,7 +46,7 @@ creator_url | ACDD | The URL of the institution that collected the data. | glob creator_zipcode | IOOS | ZIP code of the person or organization that collected the data. | global | recommended featureType | CF | CF attribute for identifying the featureType, e.g. featureType = "timeSeries". | global | required geophysical_variable:_FillValue
geospatial_variable:_FillValue | CF | This value is considered to be a special value that indicates undefined or missing data, and is returned when reading values that were not written: {::nomarkdown}
  • time:_FillValue = 0.0f
  • lat:_FillValue = 0.0f
  • on:_FillValue = 0.0f
  • z:_FillValue = 0.0f
  • sea_water_temperature:_FillValue = 0.0f
{:/} | variable | recommended -geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](http://www.cfconventions.org/documents.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | required +geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | required id | ACDD | An identifier for the data set, provided by and unique within its naming authority. The combination of the **`naming authority`** and the **`id`** should be globally unique, but the **`id`** can be globally unique by itself also. IDs can be URLs, URNs, DOIs, meaningful text strings, a local key, or any other unique string of characters. The **`id`** should not include blanks. | global | required institution | ACDD | The institution of the person or group that collected the data. | global | required instrument_variable:discriminant | IOOS | The value of a **`discriminant`** applies to the like-named field in the IOOS SOS Asset Identifier URN; it ensures that in case of multiple sensors measuring the same **`observedProperty`**, each sensor has a unique ID.

Examples: {::nomarkdown}{:/}| variable | required, if applicable @@ -68,7 +68,7 @@ publisher_phone | IOOS | The phone number of the person or group that distribute publisher_state | IOOS | State of the person or organization that distributes the data. | global | recommended publisher_url | ACDD | URL of the person or group that distributes the data files. | global | recommended publisher_zipcode | IOOS | ZIP code of the person or organization that distributes the data. | global | recommended -standard_name_vocabulary | ACDD | Standardized field which uses the [CF Standard Names](http://www.cfconventions.org/documents.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | global | required +standard_name_vocabulary | ACDD | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | global | required summary | ACDD | One paragraph describing the data set. | global | recommended title | ACDD | One sentence about the data contained within the file. | global | required units | CF | Required for most all variables that represent dimensional quantities. The value should come from [**`udunits`**](http://www.unidata.ucar.edu/software/udunits/) authoritative vocabulary, which is documented in the CF standard name table with it's corresponding standard name. The **`udunits`** package includes a file `udunits.dat` which lists its supported unit names. | variable | required diff --git a/_docs/ioos-metadata-profile-v1-1.md b/_docs/ioos-metadata-profile-v1-1.md index e874870..507fc3d 100644 --- a/_docs/ioos-metadata-profile-v1-1.md +++ b/_docs/ioos-metadata-profile-v1-1.md @@ -4,7 +4,7 @@ keywords: [ioos, metadata, netCDF, 1.1] tags: [ioos, metadata, netCDF, 1.1] toc: false #permalink: index.html -summary: Deprecated 2019. Visit the [1.2 Metadata Profile](./ioos-metadata-profile-v1-2.html) page for the current version. +summary: Deprecated 2019. Visit the [1.2 Metadata Profile](ioos-metadata-profile-v1-2) page for the current version. --- ## **Revision History** @@ -12,7 +12,7 @@ summary: Deprecated 2019. Visit the [1.2 Metadata Profile](./ioos-metadata-pro | Version | Description | Date | |:--- |:--- |:--- | -| 1.0 | [Initial version based on the NODC Templates 1.1 and ACDD 1.1](./ioos-metadata-profile-v1-0.html) | 2016-10-01 | +| 1.0 | [Initial version based on the NODC Templates 1.1 and ACDD 1.1](ioos-metadata-profile-v1-0) | 2016-10-01 | | 1.1 | Updated version based on the NCEI Templates 2.0 and ACDD 1.3 | 2016-11-01 | @@ -51,7 +51,7 @@ creator_url | ACDD | The URL of the institution that collected the data. | glob creator_zipcode | IOOS | ZIP code of the person or organization that collected the data. | global | recommended featureType | CF | CF attribute for identifying the featureType, e.g. featureType = "timeSeries". | global | required geophysical_variable:_FillValue
geospatial_variable:_FillValue | CF | This value is considered to be a special value that indicates undefined or missing data, and is returned when reading values that were not written: {::nomarkdown}
  • time:_FillValue = 0.0f
  • lat:_FillValue = 0.0f
  • on:_FillValue = 0.0f
  • z:_FillValue = 0.0f
  • sea_water_temperature:_FillValue = 0.0f
{:/} | variable | recommended -geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](http://www.cfconventions.org/documents.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | required +geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | required id | ACDD | An identifier for the data set, provided by and unique within its naming authority. The combination of the **`naming authority`** and the **`id`** should be globally unique, but the **`id`** can be globally unique by itself also. IDs can be URLs, URNs, DOIs, meaningful text strings, a local key, or any other unique string of characters. The **`id`** should not include blanks. | global | required institution | ACDD | The institution of the person or group that collected the data. | global | required instrument_variable:discriminant | IOOS | The value of a **`discriminant`** applies to the like-named field in the IOOS SOS Asset Identifier URN; it ensures that in case of multiple sensors measuring the same **`observedProperty`**, each sensor has a unique ID.

Examples: {::nomarkdown}{:/}| variable | required, if applicable @@ -62,7 +62,7 @@ platform | ACDD | Name of the platform(s) that supported the sensor data used to platform_variable:ioos_code | IOOS | Provides IOOS asset identification similar to **`wmo_code`** and **`nodc_code`**. The attribute is a URN that should follow the "[IOOS Convention for Asset Identification](http://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html)" with a general pattern of _**`urn:ioos:asset_type:authority:label[:discriminant]`**_.

Examples: {::nomarkdown}
  • urn:ioos:glider:wmo:4801902:20160218T1913Z
  • urn:ioos:station:us.glos:45024
{:/}
**NOTE:** interchangeable with **`platform_variable:short_name`** | variable | required platform_variable:long_name | NCEI Templates | Provide a descriptive, long name for this variable. | variable | required platform_variable:short_name | IOOS | Provide a short name for the platform. Similar to ID, a **`short_name`** can be any unique string of characters that does not include blanks.

Examples: {::nomarkdown}{:/}
**NOTE:** interchangeable with **`platform_variable:ioos_code`** | variable | required -platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/"), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required +platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required platform_vocabulary | ACDD | Controlled vocabulary for the names used in the "platform" attribute.

It is recommended that this attribute is used in conjunction with the **`platform_variable:type`** attribute. In that case, the recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/).

Example:
**`platform_vocabulary = "https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform"`**

As an alternative (although not recommended), a NetCDF file may follow the NCEI Template v2.0, which suggests the use of "NASA GCMD Platform Keywords Version 8.1" string as the fixed value for the **`platform_vocabulary`**, and does not stipulate for the **`platform_variable:type`**. Instead, the actual type of the platform must be placed in the global **`platform`** attribute as described in the Science Keyword Rules (http://gcmd.nasa.gov/learn/rules.html) for NASA Global Change Master Directory (GCMD) Keywords (http://gcmd.nasa.gov/learn/keywords.html).

Example:
**`platform: In Situ Ocean-based Platforms > MOORINGS`** | global | required publisher_address | IOOS | Street address of the person or organization that distributes the data. | global | recommended publisher_city | IOOS | City of the person or organization that distributes the data. | global | recommended @@ -73,7 +73,7 @@ publisher_phone | IOOS | The phone number of the person or group that distribute publisher_state | IOOS | State of the person or organization that distributes the data. | global | recommended publisher_url | ACDD | URL of the person or group that distributes the data files. | global | recommended publisher_zipcode | IOOS | ZIP code of the person or organization that distributes the data. | global | recommended -standard_name_vocabulary | ACDD | Standardized field which uses the [CF Standard Names](http://www.cfconventions.org/documents.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | global | required +standard_name_vocabulary | ACDD | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | global | required summary | ACDD | One paragraph describing the data set. | global | recommended title | ACDD | One sentence about the data contained within the file. | global | required units | CF | Required for most all variables that represent dimensional quantities. The value should come from [**`udunits`**](http://www.unidata.ucar.edu/software/udunits/) authoritative vocabulary, which is documented in the CF standard name table with it's corresponding standard name. The **`udunits`** package includes a file `udunits.dat` which lists its supported unit names. | variable | required diff --git a/_docs/ioos-metadata-profile-v1-2.md b/_docs/ioos-metadata-profile-v1-2.md index f8f18cc..38c366f 100644 --- a/_docs/ioos-metadata-profile-v1-2.md +++ b/_docs/ioos-metadata-profile-v1-2.md @@ -12,8 +12,8 @@ summary: This is the currently active IOOS Metadata Profile version. See links | Version | Description | Date | |:--- |:--- |:--- | -| 1.0 | [Initial version based on the NODC Templates 1.1 and ACDD 1.1](./ioos-metadata-profile-v1-0.html) | 2016-10-01 | -| 1.1 | [Updated version based on the NCEI Templates 2.0 and ACDD 1.3](./ioos-metadata-profile-v1-1.html) | 2016-11-01 | +| 1.0 | [Initial version based on the NODC Templates 1.1 and ACDD 1.1](./ioos-metadata-profile-v1-0) | 2016-10-01 | +| 1.1 | [Updated version based on the NCEI Templates 2.0 and ACDD 1.3](./ioos-metadata-profile-v1-1) | 2016-11-01 | | **1.2** |**Currently Active Version**
Updated to reflect new IOOS attribution guidance and ERDDAP implementation:
* Add `infoUrl` and `Conventions`
* Make `creator_institution`, `creator_url`, `license`, `publisher_url`, and `summary` required
* Add `contributor_url`, `contributor_email`, and `contributor_role_vocabulary` (recommended)
* Make `contributor_name`, `contributor_role`, `institution`, and `publisher_name` recommended (previously were required)
* Clarify default vocabulary for `contributor_role` and `contributor_role_vocabulary`
* Clarify use of `contributor_name` and `contributor_role` for multiple contributors
* Restrict the profile to allow only a single Platform per dataset; clarify use of 'Platform' variable and related `platform` global and variable attributes
* Add global `platform_id`, `platform_name`, and `wmo_platform_code`
* Remove `platform_variable:ioos_code`, `platform_variable:short_name`, `platform_variable:long_name` and `platform_variable:type`
* Change `creator_zipcode` and `publisher_zipcode` to `creator_postalcode` and `publisher_postalcode`
* Add `geophysical_variable:standard_name_url`, `geophysical_variable:accuracy`, `geophysical_variable:precision`, `geophysical_variable:resolution`
* Add `instrument_vocabulary`
* Add `instrument_variable:calibration_date`, `instrument_variable:component`, `instrument_variable:make_model`
* Add `gts_ingest` to indicate datasets and variables intended for NDBC/GTS harvest
* Add `ioos_ingest` to indicate datasets intended to be harvested into IOOS national products
* Add [Quality Control/QARTOD](#quality-controlqartod) section describing QARTOD flag variable requirements
* Add [Requirements for NDBC/GTS Ingest](#requirements-for-ioos-dataset-ndbcgts-ingest) section
* Add `creator_institution_url` suggested attribute | **2020-01-10** | ## Notes/Caveats @@ -38,7 +38,7 @@ summary: This is the currently active IOOS Metadata Profile version. See links 1. For in situ observation datasets, the IOOS Profile allows only one **'platform'** per dataset. Please see the corresponding [Platform](#platform) section of the profile below for more information. -1. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/index.html) currently uses a slightly different [netCDF File Format (V2)](https://ioos.github.io/ioosngdac/ngdac-netcdf-file-format-version-2); work is in progress to harmonize the NGDAC File Format and IOOS Metadata Profile. +1. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/index.html) currently uses a slightly different [netCDF File Format (V2)](https://ioos.github.io/glider-dac/ngdac-netcdf-file-format-version-2.html); work is in progress to harmonize the NGDAC File Format and IOOS Metadata Profile. ## Gold Standard Example Datasets @@ -181,7 +181,7 @@ geophysical_variable:accuracy | IOOS | The sensor accuracy is the closeness of t geophysical_variable:missing_value | CF | This should always be equal to the `_FillValue` attribute and both are used for legacy library support. {::nomarkdown}{:/} | variable | recommended geophysical_variable:precision | IOOS | The sensor precision is the closeness of the measurements to each other. It should be given in the same units as the measured variable. If the instrument has been calibrated multiple times with different results, the most recent precision should be provided here (see **`instrument_variable:calibration_date`**). | variable | recommended geophysical_variable:resolution | IOOS | The sensor resolution is the smallest change it can represent in the quantity that it is measuring. It should be given in the same units as the measured variable. | variable | recommended -geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](http://www.cfconventions.org/documents.html). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | **required** +geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | **required** geophysical_variable:standard_name_url | IOOS | The URL of a **`standard_name`** in the online vocabulary listed in the global **`standard_name_vocabulary`** attribute.

Example: {::nomarkdown}{:/} | variable | recommended geophysical_variable:units | CF | Required for most all variables that represent dimensional quantities. The value for a geophysical variable's **`units`** attribute should match or be derived from the canonical units specified for the variable's **`standard_name`** in the CF Standard Name table.

CF units are specified by the [**`udunits`**](https://www.unidata.ucar.edu/software/udunits/) package, which includes a file `udunits.dat` listing the valid individual unit names (e.g., "g" and "m") from which which composite **`units`** strings can be formed (e.g., "kg m-3").

For example, all temperature standard names have canonical units of "K", but often geophysical variables that measure temperature are specified with **`units`** of `degree_Celsius` or some variant thereof. | variable | **required** @@ -329,7 +329,7 @@ gts_ingest | IOOS | **Variable** attribute, used in concert with the global equ #### Example -Taken from [PacIOOS's AWS-HIMB ERDDAP Dataset](https://pae-paha.pacioos.hawaii.edu/erddap/info/AWS-HIMB/index.html). +Taken from [PacIOOS's AWS-HIMB ERDDAP Dataset](https://pae-paha.pacioos.hawaii.edu/erddap/info/aws_himb/index.html). ``` NC_GLOBAL { From 4904a84ac29e49eb3a1bd1f0428865a5fcc08c1a Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 15:45:48 +0100 Subject: [PATCH 03/13] try repo root and remove main checks --- .github/workflows/md-link-check.yml | 14 +++----------- .../workflows/mlc_config.json => .mlc_config.json | 0 2 files changed, 3 insertions(+), 11 deletions(-) rename .github/workflows/mlc_config.json => .mlc_config.json (100%) diff --git a/.github/workflows/md-link-check.yml b/.github/workflows/md-link-check.yml index 2b9959d..8576600 100644 --- a/.github/workflows/md-link-check.yml +++ b/.github/workflows/md-link-check.yml @@ -4,7 +4,7 @@ on: pull_request: push: branches: - - main + - gh-pages jobs: markdown-link-check: @@ -16,19 +16,11 @@ jobs: with: fetch-depth: 0 - - name: Check gh-pages - if: github.ref == 'refs/heads/gh-pages' + - name: Check Links uses: gaurav-nelson/github-action-markdown-link-check@v1 with: use-quiet-mode: 'yes' use-verbose-mode: 'yes' - config-file: '.github/workflows/mlc_config.json' + config-file: '.mlc_config.json' file-path: './README.md' folder-path: '_docs/' - - - name: Check main - uses: gaurav-nelson/github-action-markdown-link-check@v1 - with: - use-quiet-mode: 'yes' - use-verbose-mode: 'yes' - file-path: './README.md' diff --git a/.github/workflows/mlc_config.json b/.mlc_config.json similarity index 100% rename from .github/workflows/mlc_config.json rename to .mlc_config.json From 72880ed19fa17a100f1b4955f4137a2afd785bf8 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 15:56:05 +0100 Subject: [PATCH 04/13] pacioos links are in more than one place --- _docs/ioos-metadata-profile-v1-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_docs/ioos-metadata-profile-v1-2.md b/_docs/ioos-metadata-profile-v1-2.md index 38c366f..38ec7f0 100644 --- a/_docs/ioos-metadata-profile-v1-2.md +++ b/_docs/ioos-metadata-profile-v1-2.md @@ -517,7 +517,7 @@ Currently, IOOS RAs push a custom XML format to NDBC for GTS ingestion, so they #### Examples -The [WQB-04](https://pae-paha.pacioos.hawaii.edu/erddap/info/WQB-04/index.html) and [WQB-05](https://pae-paha.pacioos.hawaii.edu/erddap/info/WQB-05/index.html) PacIOOS buoys are actively used by NDBC for collecting data. +The [WQB_04](https://pae-paha.pacioos.hawaii.edu/erddap/info/wqb_04/index.html) and [WQB_05](https://pae-paha.pacioos.hawaii.edu/erddap/info/wqb_05/index.html) PacIOOS buoys are actively used by NDBC for collecting data.
From 35a74ca5b192a765bbbb4bf40082ab0fb63f1925 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:06:59 +0100 Subject: [PATCH 05/13] more links --- _docs/ioos-metadata-profile-v1-0.md | 6 +++--- _docs/ioos-metadata-profile-v1-2.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_docs/ioos-metadata-profile-v1-0.md b/_docs/ioos-metadata-profile-v1-0.md index 4fe9bda..2cb8847 100644 --- a/_docs/ioos-metadata-profile-v1-0.md +++ b/_docs/ioos-metadata-profile-v1-0.md @@ -46,7 +46,7 @@ creator_url | ACDD | The URL of the institution that collected the data. | glob creator_zipcode | IOOS | ZIP code of the person or organization that collected the data. | global | recommended featureType | CF | CF attribute for identifying the featureType, e.g. featureType = "timeSeries". | global | required geophysical_variable:_FillValue
geospatial_variable:_FillValue | CF | This value is considered to be a special value that indicates undefined or missing data, and is returned when reading values that were not written: {::nomarkdown}
  • time:_FillValue = 0.0f
  • lat:_FillValue = 0.0f
  • on:_FillValue = 0.0f
  • z:_FillValue = 0.0f
  • sea_water_temperature:_FillValue = 0.0f
{:/} | variable | recommended -geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | required +geophysical_variable:standard_name | CF | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | variable | required id | ACDD | An identifier for the data set, provided by and unique within its naming authority. The combination of the **`naming authority`** and the **`id`** should be globally unique, but the **`id`** can be globally unique by itself also. IDs can be URLs, URNs, DOIs, meaningful text strings, a local key, or any other unique string of characters. The **`id`** should not include blanks. | global | required institution | ACDD | The institution of the person or group that collected the data. | global | required instrument_variable:discriminant | IOOS | The value of a **`discriminant`** applies to the like-named field in the IOOS SOS Asset Identifier URN; it ensures that in case of multiple sensors measuring the same **`observedProperty`**, each sensor has a unique ID.

Examples: {::nomarkdown}
  • sea_water_temperature:top
  • sea_water_temperature:bottom
  • sea_water_temperature:nortek_adp_514
{:/}| variable | required, if applicable @@ -57,7 +57,7 @@ platform | NODC Templates
(ACDD 1.3) | Name of the platform(s) that supported platform_variable:ioos_code | IOOS | Provides IOOS asset identification similar to **`wmo_code`** and **`nodc_code`**. The attribute is a URN that should follow the "[IOOS Convention for Asset Identification](http://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html)" with a general pattern of _**`urn:ioos:asset_type:authority:label[:discriminant]`**_.

Examples: {::nomarkdown}
  • urn:ioos:glider:wmo:4801902:20160218T1913Z
  • urn:ioos:station:us.glos:45024
{:/}
**NOTE:** interchangeable with **`platform_variable:short_name`** | variable | required platform_variable:long_name | NODC Templates | Provide a descriptive, long name for this variable. | variable | required platform_variable:short_name | IOOS | Provide a short name for the platform. Similar to ID, a **`short_name`** can be any unique string of characters that does not include blanks.

Examples: {::nomarkdown}
  • station_1:short_name = “carquinez”
  • station_1:short_name = “cb0102
{:/}
**NOTE:** interchangeable with **`platform_variable:ioos_code`** | variable | required -platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/"), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required +platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required platform_vocabulary | ACDD 1.3
(NCEI Templates v2.0) | Controlled vocabulary for the names used in the "platform" attribute.

It is recommended that this attribute is used in conjunction with the **`platform_variable:type`** attribute. In that case, the recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/).

Example: **`platform_vocabulary = "https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform"`**

As an alternative (although not recommended), a NetCDF file may follow the NCEI Template v2.0, which suggests the use of "NASA GCMD Platform Keywords Version 8.1" string as the fixed value for the **`platform_vocabulary`**, and does not stipulate for the **`platform_variable:type`**. Instead, the actual type of the platform must be placed in the global **`platform`** attribute as described in the Science Keyword Rules (http://gcmd.nasa.gov/learn/rules.html) for NASA Global Change Master Directory (GCMD) Keywords (http://gcmd.nasa.gov/learn/keywords.html).

Example: **`platform: In Situ Ocean-based Platforms > MOORINGS`** | global | required publisher_address | IOOS | Street address of the person or organization that distributes the data. | global | recommended publisher_city | IOOS | City of the person or organization that distributes the data. | global | recommended @@ -68,7 +68,7 @@ publisher_phone | IOOS | The phone number of the person or group that distribute publisher_state | IOOS | State of the person or organization that distributes the data. | global | recommended publisher_url | ACDD | URL of the person or group that distributes the data files. | global | recommended publisher_zipcode | IOOS | ZIP code of the person or organization that distributes the data. | global | recommended -standard_name_vocabulary | ACDD | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html/). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | global | required +standard_name_vocabulary | ACDD | Standardized field which uses the [CF Standard Names](https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html). If a variables does not have an existing standard_name in the CF-managed list, this attribute should not be used. In these cases, a standard name can be proposed to the CF community for consideration and acceptance. | global | required summary | ACDD | One paragraph describing the data set. | global | recommended title | ACDD | One sentence about the data contained within the file. | global | required units | CF | Required for most all variables that represent dimensional quantities. The value should come from [**`udunits`**](http://www.unidata.ucar.edu/software/udunits/) authoritative vocabulary, which is documented in the CF standard name table with it's corresponding standard name. The **`udunits`** package includes a file `udunits.dat` which lists its supported unit names. | variable | required diff --git a/_docs/ioos-metadata-profile-v1-2.md b/_docs/ioos-metadata-profile-v1-2.md index 38ec7f0..254152c 100644 --- a/_docs/ioos-metadata-profile-v1-2.md +++ b/_docs/ioos-metadata-profile-v1-2.md @@ -45,7 +45,7 @@ summary: This is the currently active IOOS Metadata Profile version. See links IOOS provides a collection of "Gold Standard" example datasets in ERDDAP to demonstrate implementation of this Metadata Profile. The Gold Standard datasets can be used as templates for data providers to generate their own compliant datasets in ERDDAP, and include a fully-deployable ERDDAP instance that includes both the example data and configuration files. Consult the links below for more information: -* [IOOS Metadata Profile "Gold Standard" Example Datasets](gold-standard-examples.html) +* [IOOS Metadata Profile "Gold Standard" Example Datasets](gold-standard-examples) * [IOOS "ERDDAP Gold Standard" GitHub Repository](https://github.com/ioos/erddap-gold-standard) In addition to the Gold Standard datasets, there are some in-line examples included below that highlight specific attribute use cases that comply with the profile. @@ -94,7 +94,7 @@ NC_GLOBAL { The attributes listed in the table below allow for consistent attribution of datasets within IOOS' national products. Data providers are encouraged to follow these attribute guidelines exactly to ensure datasets appear with proper attribution. -Consult the [Gold Standard Example Datasets](gold-standard-examples.html) for good examples to start from. +Consult the [Gold Standard Example Datasets](gold-standard-examples) for good examples to start from. Name | Convention | Description | Type | Role :--------- | :-------: | :------------------- | :--------: | :-------: @@ -254,7 +254,7 @@ Name | Convention | Description | Type | Role :--------- | :-------: | :------------------- | :--------: | :-------: cf_role | CF | Indicates the values of this variable contain identifiers for the CF DSG [featureType](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#_features_and_feature_types) features in the dataset (the 'instance' variable). Allowed values are defined in [Chapter 9.5](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#coordinates-metadata) CF guidelines and consist of: `timeseries_id`, `profile_id`, and `trajectory_id`, depending on the featureType represented in the dataset, as specified by the **`featureType`** global attribute. The dimension of this coordinate variable is referred to as the 'instance' dimension of a CF DSG file, or alternatively as the 'station', 'profile', or 'trajectory' dimension, respectively.

**`cf_role`** may be applied to the 'Platform Variable', as indicated by **`geophysical_variable:platform`**, but it may also be an independent variable. To comply with the **single platform per dataset** rule of the IOOS Metadata Profile, the **`cf_role`** variable will typically have a dimension of 1, unless it is a TimeSeries dataset following the 'TimeSeries - multiple-station' format.

Example: {::nomarkdown}
  • cf_role = "timeseries_id"
{:/}| variable | **required** geophysical_variable:platform | NCEI | **Variable** level attribute to be specified on each **`geophysical_variable`** (i.e. data variable) with the value indicating the name of a container variable containing platform metadata (i.e. the 'Platform Variable').

Because the IOOS Metadata Profile restricts datasets to a **single platform per dataset**, each dataset must only contain one platform container variable (usually named `station` or `platform`), and each data variable in the dataset must include a **`platform`** attribute with the name of this variable. The **`cf_role`** attribute may optionally be applied to this variable to assign it as the CF DSG 'instance' variable.

Example: {::nomarkdown}
  • sea_water_temperature:platform = "station"
  • station:cf_role = "profile_id"
  • station:ncei_code = "3164"
{:/} | variable | **required** -platform | ACDD | **Global** attribute specifying the name of the *type* of 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. The controlled vocabulary must be indicated in the **`platform_vocabulary`** field.

**`platform`** should be a single string with no blank spaces.

Example: {::nomarkdown}
  • platform = "buoy";
  • platform_vocabulary = "https://mmisw.org/ont/ioos/platform";
{:/}
The value of the **`platform`** global attribute is used in generating the [IOOS Asset Identifier]([https://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html]) for the dataset. Consult the [Rules for Asset Identifier Generation](#rules-for-ioos-asset-identifier-generation) section below this table for details on how this formula works. | global | **required** +platform | ACDD | **Global** attribute specifying the name of the *type* of 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. The controlled vocabulary must be indicated in the **`platform_vocabulary`** field.

**`platform`** should be a single string with no blank spaces.

Example: {::nomarkdown}
  • platform = "buoy";
  • platform_vocabulary = "https://mmisw.org/ont/ioos/platform";
{:/}
The value of the **`platform`** global attribute is used in generating the [IOOS Asset Identifier](https://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html) for the dataset. Consult the [Rules for Asset Identifier Generation](#rules-for-ioos-asset-identifier-generation) section below this table for details on how this formula works. | global | **required** platform_id | IOOS | An optional, short identifier for the platform, if the data provider prefers to define an id that differs from the dataset identifier, as specified by the **`id`** attribute.

**`platform_id`** should be a single alphanumeric string with no blank spaces.

When **`platform_id`** is defined for a dataset, it is used in place of the **`id`** field in generating the IOOS Asset Identifier (consult the [Rules for Asset Identifier Generation](#rules-for-ioos-asset-identifier-generation) section below).

Examples: {::nomarkdown}
  • platform_id = "carquinez"
  • platform_id = "cb0102"
{:/} | global | recommended platform_name | IOOS | A descriptive, long name for the platform used in collecting the data.

The value of **`platform_name`** will be used to label the platform in downstream applications, such as IOOS' National Products (Environmental Sensor Map, EDS, etc)

Examples: {::nomarkdown}
  • platform_name = "Morro Bay - BS1 MET"
  • platform_name = "Chesapeake Bay Buoy 102"
{:/} | global | **required** platform_vocabulary | ACDD | Controlled vocabulary for the names used in the **`platform`** attribute.

The recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/ont/ioos/platform), or [NERC SeaVoX Platform Categories vocabulary](https://vocab.nerc.ac.uk/collection/L06/current/).

Example:{::nomarkdown}
  • platform_vocabulary = "https://mmisw.org/ont/ioos/platform"
{:/}
The IOOS Metadata Profile diverges from the NCEI Templates 2.0 in that the use of the "NASA GCMD Platform Keywords 8.1" as a **`platform_vocabulary`** is not allowed. The reason for this is that the **`platform`** global attribute is used in generating the [IOOS Asset Identifier 1.0](https://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html) for the dataset, and thus requires a single string platform name with no blank characters. GCMD Platform Keywords do not follow this pattern and therefore are disallowed. See the [Rules for Asset Identifier Generation](#rules-for-ioos-asset-identifier-generation) for more info. | global | **required** From 6ba5221ee7c06093faaaeaffdb4116ccc375ebc3 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:24:39 +0100 Subject: [PATCH 06/13] use relative link --- _docs/{images => }/NDBC-data-flow.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename _docs/{images => }/NDBC-data-flow.png (100%) diff --git a/_docs/images/NDBC-data-flow.png b/_docs/NDBC-data-flow.png similarity index 100% rename from _docs/images/NDBC-data-flow.png rename to _docs/NDBC-data-flow.png From 5ca1c19f8e3a806b072d1031323ccde45386d6b9 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:26:29 +0100 Subject: [PATCH 07/13] replacement pattern --- .mlc_config.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.mlc_config.json b/.mlc_config.json index 063e365..0f8eb66 100644 --- a/.mlc_config.json +++ b/.mlc_config.json @@ -4,5 +4,15 @@ "pattern": "://localhost" } ], + "replacementPatterns": [ + { + "pattern": "^/(.*)", + "replacement": "https://ioos.github.io/$1" + }, + { + "pattern": "^\\s*{{\\s*site.baseurl\\s*}}\\s*/(.*)", + "replacement": "https://ioos.github.io/$1" + } +], "aliveStatusCodes": [200, 0] } From 805868290a102e995dd503f3d1bd36d98104cade Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:44:44 +0100 Subject: [PATCH 08/13] use relative link --- _docs/{images => }/ndbc-variable-list-crop.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename _docs/{images => }/ndbc-variable-list-crop.png (100%) diff --git a/_docs/images/ndbc-variable-list-crop.png b/_docs/ndbc-variable-list-crop.png similarity index 100% rename from _docs/images/ndbc-variable-list-crop.png rename to _docs/ndbc-variable-list-crop.png From ad670b9a18a4767dd563b864781d5e1f98a0194b Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:46:40 +0100 Subject: [PATCH 09/13] skip 400 to avoid local links getting flagged --- .mlc_config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mlc_config.json b/.mlc_config.json index 0f8eb66..9960975 100644 --- a/.mlc_config.json +++ b/.mlc_config.json @@ -14,5 +14,5 @@ "replacement": "https://ioos.github.io/$1" } ], - "aliveStatusCodes": [200, 0] + "aliveStatusCodes": [200, 400, 0] } From b7108dbfb220fda914ff46cfbe30dabc4dd4efda Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:47:47 +0100 Subject: [PATCH 10/13] should create the correct HTML link --- _docs/gold-standard-examples.md | 2 +- _docs/ioos-metadata-profile-v1-2.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_docs/gold-standard-examples.md b/_docs/gold-standard-examples.md index 5f8881b..720cbd9 100644 --- a/_docs/gold-standard-examples.md +++ b/_docs/gold-standard-examples.md @@ -10,7 +10,7 @@ summary: Describes gold standard examples for various dataset types and scenari ## **Overview** -The page provides links to example datasets that satisfy the [IOOS Metadata Profile 1.2](./ioos-metadata-profile-v1-2). +The page provides links to example datasets that satisfy the [IOOS Metadata Profile 1.2](ioos-metadata-profile-v1-2). Since the IOOS standard builds off of the [**NOAA NCEI NetCDF Templates**](https://www.nodc.noaa.gov/data/formats/netcdf/), the NCEI "Gold Standard" examples ([HTTP](https://data.nodc.noaa.gov/ncei/example/data/netcdf/), [THREDDS](https://data.nodc.noaa.gov/thredds/catalog/example/catalog.html)) provide a great starting point. diff --git a/_docs/ioos-metadata-profile-v1-2.md b/_docs/ioos-metadata-profile-v1-2.md index 254152c..8954143 100644 --- a/_docs/ioos-metadata-profile-v1-2.md +++ b/_docs/ioos-metadata-profile-v1-2.md @@ -12,8 +12,8 @@ summary: This is the currently active IOOS Metadata Profile version. See links | Version | Description | Date | |:--- |:--- |:--- | -| 1.0 | [Initial version based on the NODC Templates 1.1 and ACDD 1.1](./ioos-metadata-profile-v1-0) | 2016-10-01 | -| 1.1 | [Updated version based on the NCEI Templates 2.0 and ACDD 1.3](./ioos-metadata-profile-v1-1) | 2016-11-01 | +| 1.0 | [Initial version based on the NODC Templates 1.1 and ACDD 1.1](ioos-metadata-profile-v1-0) | 2016-10-01 | +| 1.1 | [Updated version based on the NCEI Templates 2.0 and ACDD 1.3](ioos-metadata-profile-v1-1) | 2016-11-01 | | **1.2** |**Currently Active Version**
Updated to reflect new IOOS attribution guidance and ERDDAP implementation:
* Add `infoUrl` and `Conventions`
* Make `creator_institution`, `creator_url`, `license`, `publisher_url`, and `summary` required
* Add `contributor_url`, `contributor_email`, and `contributor_role_vocabulary` (recommended)
* Make `contributor_name`, `contributor_role`, `institution`, and `publisher_name` recommended (previously were required)
* Clarify default vocabulary for `contributor_role` and `contributor_role_vocabulary`
* Clarify use of `contributor_name` and `contributor_role` for multiple contributors
* Restrict the profile to allow only a single Platform per dataset; clarify use of 'Platform' variable and related `platform` global and variable attributes
* Add global `platform_id`, `platform_name`, and `wmo_platform_code`
* Remove `platform_variable:ioos_code`, `platform_variable:short_name`, `platform_variable:long_name` and `platform_variable:type`
* Change `creator_zipcode` and `publisher_zipcode` to `creator_postalcode` and `publisher_postalcode`
* Add `geophysical_variable:standard_name_url`, `geophysical_variable:accuracy`, `geophysical_variable:precision`, `geophysical_variable:resolution`
* Add `instrument_vocabulary`
* Add `instrument_variable:calibration_date`, `instrument_variable:component`, `instrument_variable:make_model`
* Add `gts_ingest` to indicate datasets and variables intended for NDBC/GTS harvest
* Add `ioos_ingest` to indicate datasets intended to be harvested into IOOS national products
* Add [Quality Control/QARTOD](#quality-controlqartod) section describing QARTOD flag variable requirements
* Add [Requirements for NDBC/GTS Ingest](#requirements-for-ioos-dataset-ndbcgts-ingest) section
* Add `creator_institution_url` suggested attribute | **2020-01-10** | ## Notes/Caveats From de93ca392b3614f6978c77ed4196115a79ef3c55 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 16:50:53 +0100 Subject: [PATCH 11/13] Bob's ERDDAP doesn't like CIs --- .mlc_config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mlc_config.json b/.mlc_config.json index 9960975..c4ec1cc 100644 --- a/.mlc_config.json +++ b/.mlc_config.json @@ -14,5 +14,5 @@ "replacement": "https://ioos.github.io/$1" } ], - "aliveStatusCodes": [200, 400, 0] + "aliveStatusCodes": [200, 400, 403, 0] } From 7a5da5480a03c73eb2ae1c52ea58b4787b5261ca Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 28 Mar 2024 17:05:40 +0100 Subject: [PATCH 12/13] port fixes from https://github.com/ioos/glider-dac/pull/259 --- _docs/ioos-metadata-profile-v1-0.md | 2 +- _docs/ioos-metadata-profile-v1-1.md | 2 +- _docs/ioos-metadata-profile-v1-2.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_docs/ioos-metadata-profile-v1-0.md b/_docs/ioos-metadata-profile-v1-0.md index 2cb8847..bf20ba7 100644 --- a/_docs/ioos-metadata-profile-v1-0.md +++ b/_docs/ioos-metadata-profile-v1-0.md @@ -25,7 +25,7 @@ summary: Deprecated 2016. Visit the [1.2 Metadata Profile](ioos-metadata-profil - attributes with a different role in the Templates; for example, the attribute **`_FillValue`** is required by the NODC Template; however, the Profile just recommends to use it because it is optional in the IOOS SOS metadata set (whether the Template requirement should prevail, is beyond the scope of the Profile description); - attributes that are **required** by the Profile regardless of their role in the Templates. 8. Other Profile attributes are described in the [**NOAA NODC NetCDF Templates v1.1**](http://www.nodc.noaa.gov/data/formats/netcdf/v1.1/). A set of "Gold Standard" example NetCDF files, which precisely follow the NODC/NCEI Templates, may be found [here](http://data.nodc.noaa.gov/ncei/example/data/netcdf/) or [here](http://data.nodc.noaa.gov/thredds/catalog/example/catalog.html). - 9. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/index.html) currently uses a slightly different [NetCDF Metadata Profile](https://github.com/ioos/ioosngdac/wiki/NGDAC-NetCDF-File-Format-Version-2); work is in progress to harmonize the NGDAC and IOOS NetCDF Profiles. + 9. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/) currently uses a slightly different [NetCDF Metadata Profile](https://github.com/ioos/ioosngdac/wiki/NGDAC-NetCDF-File-Format-Version-2); work is in progress to harmonize the NGDAC and IOOS NetCDF Profiles. ## **IOOS NetCDF Metadata Profile Attributes** diff --git a/_docs/ioos-metadata-profile-v1-1.md b/_docs/ioos-metadata-profile-v1-1.md index 507fc3d..7727b54 100644 --- a/_docs/ioos-metadata-profile-v1-1.md +++ b/_docs/ioos-metadata-profile-v1-1.md @@ -31,7 +31,7 @@ summary: Deprecated 2019. Visit the [1.2 Metadata Profile](ioos-metadata-profi 4. The **`platform_variable:ioos_code`** and **`platform_variable:short_name`** are the only **interchangeable** attributes - either a single **`platform_variable:ioos_code`** or a combination of **`platform_variable:short_name`** with **`naming_authority`** is **required** to ensure that ncSOS will be able to produce the IOOS SOS Asset Identifier for the specific platform (see the [NetCDF to IOOS SOS Crosswalk](https://github.com/ioos/ioos-metadata/blob/gh-pages/_docs/NetCDF-to-SOS%20Mappings_clean_2016-04-07a.xlsx) for details). The rest of attributes ***may not*** be substituted for one another. - 5. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/index.html) currently uses a slightly different [NetCDF Metadata Profile](https://github.com/ioos/ioosngdac/wiki/NGDAC-NetCDF-File-Format-Version-2); work is in progress to harmonize the NGDAC and IOOS NetCDF Profiles. + 1. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/) currently uses a slightly different [NetCDF Metadata Profile](https://github.com/ioos/ioosngdac/wiki/NGDAC-NetCDF-File-Format-Version-2); work is in progress to harmonize the NGDAC and IOOS NetCDF Profiles. ## **IOOS NetCDF Metadata Profile Attributes** diff --git a/_docs/ioos-metadata-profile-v1-2.md b/_docs/ioos-metadata-profile-v1-2.md index 8954143..cde0d92 100644 --- a/_docs/ioos-metadata-profile-v1-2.md +++ b/_docs/ioos-metadata-profile-v1-2.md @@ -38,7 +38,7 @@ summary: This is the currently active IOOS Metadata Profile version. See links 1. For in situ observation datasets, the IOOS Profile allows only one **'platform'** per dataset. Please see the corresponding [Platform](#platform) section of the profile below for more information. -1. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/index.html) currently uses a slightly different [netCDF File Format (V2)](https://ioos.github.io/glider-dac/ngdac-netcdf-file-format-version-2.html); work is in progress to harmonize the NGDAC File Format and IOOS Metadata Profile. +2. The [**U.S. IOOS National Glider Data Assembly Center**](https://gliders.ioos.us/) currently uses a slightly different [netCDF File Format (V2)](https://ioos.github.io/glider-dac/ngdac-netcdf-file-format-version-2.html); work is in progress to harmonize the NGDAC File Format and IOOS Metadata Profile. ## Gold Standard Example Datasets @@ -431,7 +431,7 @@ Attributes { ## Requirements for IOOS Dataset NDBC/GTS Ingest -In partnership with IOOS, NOAA [NDBC](https://www.ndbc.noaa.gov/) ingests nonfederal IOOS partner data and delivers a subset of those variables (mainly meteorological and physical oceanographic) through the NWS system and on to the WMO [Global Telecommunication System (GTS)](http://www.wmo.int/pages/prog/www/TEM/GTS/index_en.html). NDBC also publishes all the data they harvest to their web products. +In partnership with IOOS, NOAA [NDBC](https://www.ndbc.noaa.gov/) ingests nonfederal IOOS partner data and delivers a subset of those variables (mainly meteorological and physical oceanographic) through the NWS system and on to the WMO [Global Telecommunication System (GTS)](https://community.wmo.int/en/activity-areas/global-telecommunication-system-gts). NDBC also publishes all the data they harvest to their web products. | Variables that NDBC accepts | Variables that NDBC delivers to the GTS | |:--- |:--- | From e69a104ebd23a6f1820b668cd52528020cf8f312 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Fri, 12 Apr 2024 16:49:43 +0200 Subject: [PATCH 13/13] fix mmisw --- _docs/ioos-metadata-profile-v1-0.md | 6 +++--- _docs/ioos-metadata-profile-v1-1.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_docs/ioos-metadata-profile-v1-0.md b/_docs/ioos-metadata-profile-v1-0.md index bf20ba7..86d6ab7 100644 --- a/_docs/ioos-metadata-profile-v1-0.md +++ b/_docs/ioos-metadata-profile-v1-0.md @@ -40,7 +40,7 @@ creator_country | IOOS | Country of the person or organization that operates a p creator_email | ACDD | Email address of the person or institution that collected the data. | global | required creator_name | ACDD | Name of the person or organization that collected the data. | global | recommended creator_phone | IOOS | The phone number of the person or group that collected the data. | global | recommended -creator_sector | IOOS | [IOOS classifier](http://mmisw.org/orr/#http://mmisw.org/ont/ioos/sector) that best describes the platform (network) operator's societal sector.

Example: **`creator_sector = "academic"`** | global |required +creator_sector | IOOS | [IOOS classifier](https://mmisw.org/ont/ioos/sector) that best describes the platform (network) operator's societal sector.

Example: **`creator_sector = "academic"`** | global |required creator_state | IOOS | State of the person or organization that collected the data. | global | recommended creator_url | ACDD | The URL of the institution that collected the data. | global | recommended creator_zipcode | IOOS | ZIP code of the person or organization that collected the data. | global | recommended @@ -57,8 +57,8 @@ platform | NODC Templates
(ACDD 1.3) | Name of the platform(s) that supported platform_variable:ioos_code | IOOS | Provides IOOS asset identification similar to **`wmo_code`** and **`nodc_code`**. The attribute is a URN that should follow the "[IOOS Convention for Asset Identification](http://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html)" with a general pattern of _**`urn:ioos:asset_type:authority:label[:discriminant]`**_.

Examples: {::nomarkdown}
  • urn:ioos:glider:wmo:4801902:20160218T1913Z
  • urn:ioos:station:us.glos:45024
{:/}
**NOTE:** interchangeable with **`platform_variable:short_name`** | variable | required platform_variable:long_name | NODC Templates | Provide a descriptive, long name for this variable. | variable | required platform_variable:short_name | IOOS | Provide a short name for the platform. Similar to ID, a **`short_name`** can be any unique string of characters that does not include blanks.

Examples: {::nomarkdown}
  • station_1:short_name = “carquinez”
  • station_1:short_name = “cb0102
{:/}
**NOTE:** interchangeable with **`platform_variable:ioos_code`** | variable | required -platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required -platform_vocabulary | ACDD 1.3
(NCEI Templates v2.0) | Controlled vocabulary for the names used in the "platform" attribute.

It is recommended that this attribute is used in conjunction with the **`platform_variable:type`** attribute. In that case, the recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/).

Example: **`platform_vocabulary = "https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform"`**

As an alternative (although not recommended), a NetCDF file may follow the NCEI Template v2.0, which suggests the use of "NASA GCMD Platform Keywords Version 8.1" string as the fixed value for the **`platform_vocabulary`**, and does not stipulate for the **`platform_variable:type`**. Instead, the actual type of the platform must be placed in the global **`platform`** attribute as described in the Science Keyword Rules (http://gcmd.nasa.gov/learn/rules.html) for NASA Global Change Master Directory (GCMD) Keywords (http://gcmd.nasa.gov/learn/keywords.html).

Example: **`platform: In Situ Ocean-based Platforms > MOORINGS`** | global | required +platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required +platform_vocabulary | ACDD 1.3
(NCEI Templates v2.0) | Controlled vocabulary for the names used in the "platform" attribute.

It is recommended that this attribute is used in conjunction with the **`platform_variable:type`** attribute. In that case, the recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/).

Example: **`platform_vocabulary = "https://mmisw.org/ont/ioos/platform"`**

As an alternative (although not recommended), a NetCDF file may follow the NCEI Template v2.0, which suggests the use of "NASA GCMD Platform Keywords Version 8.1" string as the fixed value for the **`platform_vocabulary`**, and does not stipulate for the **`platform_variable:type`**. Instead, the actual type of the platform must be placed in the global **`platform`** attribute as described in the Science Keyword Rules (http://gcmd.nasa.gov/learn/rules.html) for NASA Global Change Master Directory (GCMD) Keywords (http://gcmd.nasa.gov/learn/keywords.html).

Example: **`platform: In Situ Ocean-based Platforms > MOORINGS`** | global | required publisher_address | IOOS | Street address of the person or organization that distributes the data. | global | recommended publisher_city | IOOS | City of the person or organization that distributes the data. | global | recommended publisher_country | IOOS | Country of the person or organization that distributes the data. | global | required diff --git a/_docs/ioos-metadata-profile-v1-1.md b/_docs/ioos-metadata-profile-v1-1.md index 7727b54..65d760d 100644 --- a/_docs/ioos-metadata-profile-v1-1.md +++ b/_docs/ioos-metadata-profile-v1-1.md @@ -45,7 +45,7 @@ creator_country | IOOS | Country of the person or organization that operates a p creator_email | ACDD | Email address of the person or institution that collected the data. | global | required creator_name | ACDD | Name of the person or organization that collected the data. | global | recommended creator_phone | IOOS | The phone number of the person or group that collected the data. | global | recommended -creator_sector | IOOS | [IOOS classifier](http://mmisw.org/orr/#http://mmisw.org/ont/ioos/sector) that best describes the platform (network) operator's societal sector.

Example:
**`creator_sector = "academic"`** | global |required +creator_sector | IOOS | [IOOS classifier](https://mmisw.org/ont/ioos/sector) that best describes the platform (network) operator's societal sector.

Example:
**`creator_sector = "academic"`** | global |required creator_state | IOOS | State of the person or organization that collected the data. | global | recommended creator_url | ACDD | The URL of the institution that collected the data. | global | recommended creator_zipcode | IOOS | ZIP code of the person or organization that collected the data. | global | recommended @@ -62,8 +62,8 @@ platform | ACDD | Name of the platform(s) that supported the sensor data used to platform_variable:ioos_code | IOOS | Provides IOOS asset identification similar to **`wmo_code`** and **`nodc_code`**. The attribute is a URN that should follow the "[IOOS Convention for Asset Identification](http://ioos.github.io/conventions-for-observing-asset-identifiers/ioos-assets-v1-0.html)" with a general pattern of _**`urn:ioos:asset_type:authority:label[:discriminant]`**_.

Examples: {::nomarkdown}
  • urn:ioos:glider:wmo:4801902:20160218T1913Z
  • urn:ioos:station:us.glos:45024
{:/}
**NOTE:** interchangeable with **`platform_variable:short_name`** | variable | required platform_variable:long_name | NCEI Templates | Provide a descriptive, long name for this variable. | variable | required platform_variable:short_name | IOOS | Provide a short name for the platform. Similar to ID, a **`short_name`** can be any unique string of characters that does not include blanks.

Examples: {::nomarkdown}
  • station_1:short_name = “carquinez”
  • station_1:short_name = “cb0102
{:/}
**NOTE:** interchangeable with **`platform_variable:ioos_code`** | variable | required -platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required -platform_vocabulary | ACDD | Controlled vocabulary for the names used in the "platform" attribute.

It is recommended that this attribute is used in conjunction with the **`platform_variable:type`** attribute. In that case, the recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/).

Example:
**`platform_vocabulary = "https://mmisw.org/orr/#http://mmisw.org/ont/ioos/platform"`**

As an alternative (although not recommended), a NetCDF file may follow the NCEI Template v2.0, which suggests the use of "NASA GCMD Platform Keywords Version 8.1" string as the fixed value for the **`platform_vocabulary`**, and does not stipulate for the **`platform_variable:type`**. Instead, the actual type of the platform must be placed in the global **`platform`** attribute as described in the Science Keyword Rules (http://gcmd.nasa.gov/learn/rules.html) for NASA Global Change Master Directory (GCMD) Keywords (http://gcmd.nasa.gov/learn/keywords.html).

Example:
**`platform: In Situ Ocean-based Platforms > MOORINGS`** | global | required +platform_variable:type | IOOS | In conjunction with a **`platform_vocabulary`** attribute, identifies platform's type as defined in the [IOOS Platform Categories vocabulary](https://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/), or any other vocabulary. The URL of the actual vocabulary must be published in the **`platform_vocabulary`** global attribute.

Alternatively, the **`platform`** and **`platform_vocabulary`** pair of attributes may be used; however, this option is not recommended (see details in the **`platform_vocabulary`** description.) | variable | required +platform_vocabulary | ACDD | Controlled vocabulary for the names used in the "platform" attribute.

It is recommended that this attribute is used in conjunction with the **`platform_variable:type`** attribute. In that case, the recommended value for the **`platform_vocabulary`** attribute is a URL to either the [IOOS Platform Category vocabulary](https://mmisw.org/ont/ioos/platform), or [SeaVoX Platform Categories vocabulary](http://vocab.nerc.ac.uk/collection/L06/current/).

Example:
**`platform_vocabulary = "https://mmisw.org/ont/ioos/platform"`**

As an alternative (although not recommended), a NetCDF file may follow the NCEI Template v2.0, which suggests the use of "NASA GCMD Platform Keywords Version 8.1" string as the fixed value for the **`platform_vocabulary`**, and does not stipulate for the **`platform_variable:type`**. Instead, the actual type of the platform must be placed in the global **`platform`** attribute as described in the Science Keyword Rules (http://gcmd.nasa.gov/learn/rules.html) for NASA Global Change Master Directory (GCMD) Keywords (http://gcmd.nasa.gov/learn/keywords.html).

Example:
**`platform: In Situ Ocean-based Platforms > MOORINGS`** | global | required publisher_address | IOOS | Street address of the person or organization that distributes the data. | global | recommended publisher_city | IOOS | City of the person or organization that distributes the data. | global | recommended publisher_country | IOOS | Country of the person or organization that distributes the data. | global | required