We discussed this internally and came up with the following:
(1) We agree that removing the QARTOD from the test names is fine, since the
result is still perfectly useful for our cases, and in fact makes the names
more generic and widely useful.
(2) It's clear from this thread that we are in a gray area between Standard
Names and Standard Name Modifiers. But we prefer adding these as Standard Names
rather than modifiers.
(3) Since `vocabulary` and `references` are not part of the CF conventions,
that isn't explicitly part of our proposal. Even without those attributes we
believe the standard name alone conveys useful information. We will enforce use
of these attributes in our own metadata profile, which is built upon CF and
other standards.
Since this has had a lot of back-and-forth, we've updated our original proposal
and pasted it below. We removed references to QARTOD, added descriptions of
each test, and updated the proposal description.
Again, thank you everyone for all the great input.
---
**Updated proposal:**
We are proposing adding quality test flag names to the Standard Name list.
Adding these flags allows us to define exactly which dataset variable
represents the results of a particular quality test for a particular data
variable. While the list below is not comprehensive -- that is, it does not
contain a full list of every possible quality test that could be run -- as it
stands it we meet our needs for the foreseeable future. If accepted, we expect
others will propose expanding this list to include other testing methods as
needed.
Proposed names:
| Name | Description
| Units |
|-------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------|
| aggregate_quality_flag | This flag is a summary of all quality
tests run for another data variable, and is set to the highest-level (worst
case) flag found. The linkage between the data variable and this variable is
achieved using the ancillary_variables attribute. | 1 |
| gap_test_quality_flag | Result of the Timing/Gap test, which
checks that data has been received within the expected time window and has the
correct time stamp. The linkage between the data variable and this variable is
achieved using the ancillary_variables attribute. | 1 |
| syntax_test_quality_flag | Result of the Syntax test, which checks
that the data contains no indicators of flawed transmission. The linkage
between the data variable and this variable is achieved using the
ancillary_variables attribute. | 1 |
| location_test_quality_flag | Result of the Location test, which
checks that a location is within reasonable bounds. The linkage between the
data variable and this variable is achieved using the ancillary_variables
attribute. | 1 |
| gross_range_test_quality_flag | Result of the Gross Range test, which
checks that values are within reasonable range bounds. The linkage between the
data variable and this variable is achieved using the ancillary_variables
attribute. | 1 |
| climatology_test_quality_flag | Result of the Climatology test, which
checks that values are within reasonable range bounds for a given time and
location. The linkage between the data variable and this variable is achieved
using the ancillary_variables attribute. | 1 |
| spike_test_quality_flag | Result of the Spike test, which checks
that the difference between two points in a series of values is within
reasonable bounds. The linkage between the data variable and this variable is
achieved using the ancillary_variables attribute. | 1 |
| rate_of_change_test_quality_flag | Result of the Rate of Change test,
which checks that the first order difference of a series of values is within
reasonable bounds. The linkage between the data variable and this variable is
achieved using the ancillary_variables attribute. | 1 |
| flat_line_test_quality_flag | Result of the Flat Line test, which
checks for consecutively repeated values within a tolerance. The linkage
between the data variable and this variable is achieved using the
ancillary_variables attribute. | 1 |
| multi_variate_test_quality_flag | Result of the Multi-variate test, which
checks that values are reasonable when compared with related variables. The
linkage between the data variable and this variable is achieved using the
ancillary_variables attribute. | 1 |
| attenuated_signal_test_quality_flag | Result of the Attenuated Signal test,
which checks for near-flat-line conditions using a range or standard deviation.
The linkage between the data variable and this variable is achieved using the
ancillary_variables attribute. | 1 |
| neighbor_test_quality_flag | Result of the Neighbor test, which
checks that values are reasonable when compared with nearby measurements. The
linkage between the data variable and this variable is achieved using the
ancillary_variables attribute. | 1 |
| 1 |
Example usage:
```
variables:
float sea_water_practical_salinity(time, z);
sea_water_practical_salinity:units = "1";
sea_water_practical_salinity:long_name = "Salinity";
sea_water_practical_salinity:standard_name =
"sea_water_practical_salinity";
sea_water_practical_salinity:ancillary_variables =
"sea_water_practical_salinity_qc_agg
sea_water_practical_salinity_qc_flat_line_test";
int sea_water_practical_salinity_qc_agg(time, z);
sea_water_practical_salinity_qc_agg:long_name = "Salinity Aggregate
Flag";
sea_water_practical_salinity_qc_agg:standard_name =
"aggregate_quality_flag status_flag";
sea_water_practical_salinity_qc_agg:missing_value = 2;
sea_water_practical_salinity_qc_agg:flag_meanings = "PASS NOT_EVALUATED
SUSPECT FAIL MISSING";
sea_water_practical_salinity_qc_agg:flag_values = 1, 2, 3, 4, 9;
int sea_water_practical_salinity_qc_flat_line_test(time, z);
sea_water_practical_salinity_qc_flat_line_test:long_name = "Salinity
Flat Line Test Flag";
sea_water_practical_salinity_qc_flat_line_test:standard_name =
"flat_line_test_quality_flag status_flag";
sea_water_practical_salinity_qc_flat_line_test:missing_value = 2;
sea_water_practical_salinity_qc_flat_line_test:flag_meanings = "PASS
NOT_EVALUATED SUSPECT FAIL MISSING";
sea_water_practical_salinity_qc_flat_line_test:flag_values = 1, 2, 3,
4, 9;
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/cf-convention/cf-conventions/issues/216#issuecomment-558878045
This list forwards relevant notifications from Github. It is distinct from
[email protected], although if you do nothing, a subscription to the
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to
[email protected].