CF Checker records omission of “reference” global attribute as an error
Originally part of #501

(8) IOOS checker records omission of “reference” global attribute as an error: use of this attribute is neither required nor recommended.
diff --git a/compliance_checker/cf/cf.py b/compliance_checker/cf/cf.py
index 14e6e89..915fde8 100644
--- a/compliance_checker/cf/cf.py
+++ b/compliance_checker/cf/cf.py
@@ -800,6 +800,8 @@ class CFBaseCheck(BaseCheck):
         :rtype: list
         :return: List of Results
         """
+        # The attrs are optional and only needs to be a string and non-empty if it
+        # exists.
         attrs = ['institution', 'source', 'references', 'comment']
 
         valid_attributes = TestCtx(BaseCheck.MEDIUM, '§2.6.2 Recommended Attributes')
@@ -826,17 +828,6 @@ class CFBaseCheck(BaseCheck):
                                              "{} global attribute should be a non-empty string"
                                              "".format(attribute))
                 attr_bin.add(attribute)
-        # Make sure we've seen each attribute at least once.
-
-        valid_attributes.assert_true('institution' in attr_bin,
-                                     "institution should be defined")
-        valid_attributes.assert_true('source' in attr_bin,
-                                     "source should be defined")
-        valid_attributes.assert_true('references' in attr_bin,
-                                     "references should be defined")
-
-        # comment is optional and only needs to be a string and non-empty if it
-        # exists.
 
         return valid_attributes.to_result()
 
diff --git a/compliance_checker/tests/test_cf.py b/compliance_checker/tests/test_cf.py
index 5434bf3..36730c1 100644
--- a/compliance_checker/tests/test_cf.py
+++ b/compliance_checker/tests/test_cf.py
@@ -247,7 +247,7 @@ class TestCF(BaseTestCase):
         # 1x institution
         # 1x source
         # 1x EMPTY references
-        assert result.value == (15, 16)
+        assert result.value == (12, 13)
         assert result.msgs[0] == "references global attribute should be a non-empty string"
 
         dataset = self.load_dataset(STATIC_FILES['bad_data_type'])
@@ -256,10 +256,8 @@ class TestCF(BaseTestCase):
         # institution is a 10L
         # no source
         # comments doment matter unless they're empty
-        assert result.value == (1, 4)
+        assert result.value == (0, 1)
         assert result.msgs[0] == 'salinity:institution should be a non-empty string'
-        assert result.msgs[1] == 'source should be defined'
-        assert result.msgs[2] == 'references should be defined'
 
     def test_check_standard_name(self):
         """
['compliance_checker/cf/cf.py', 'compliance_checker/tests/test_cf.py']