@@ -15,6 +15,40 @@ It uses the [CF-Checker](https://github.com/cedadev/cf-checker) utility (`cfchec
- Optionally exports the summary to **CSV** or **Excel**, with timestamped filenames for reproducibility.
- The summary table includes a **Folder** column to show the subdirectory of each file.
---
## A note on the use of the CF Checker
The **CF-Checker** tool validates NetCDF datasets against **CF Conformance Requirements v1.8**.
The latest available version of the requirements is **v1.12** ([CF Conformance Requirements and Recommendations v1.12](https://cfconventions.org/Data/cf-conventions/cf-conformance-requirements-and-recommendations-1.12.pdf)).
The differences between v1.8 and v1.12 are relatively small, but important to be aware of.
Below is a comparison of the **minimum requirements**:
| **File suffix** | File must have `.nc`. | Same as v1.8. | No change |
| **Dimensions** | All dimensions of a variable must have different names. | Same as v1.8. | No change |
| **Variable naming** | No explicit restriction. | A 1-D string variable must not have the same name as its dimension (to avoid ambiguity with coordinate vars). | **New in 1.12** |
| **String attributes** | CF attributes that take string values must be stored as 1-D char arrays. | Same as v1.8. | No change |
| **Fill / Missing** | `_FillValue` and `missing_value` must match variable type. | Same as v1.8. | No change |
| **Valid range** | `valid_range` must not coexist with `valid_min` / `valid_max`. | Same as v1.8. | No change |
| **actual_range** | Must match type of variable. Must be consistent with valid_range/min/max. | Must match type (or scaled type if `scale_factor`/`add_offset`). Must have exactly 2 elements (min, max of valid data). Must not exist if all values are missing. If present with valid_range/min/max, they must be consistent. | **Stricter in 1.12** |
| **Conventions attr.** | Global `Conventions` attribute must be a string containing `"CF-1.8"`. | Same, but must contain `"CF-1.12"`. Can list multiple convention names separated by space or commas. | Updated version |
| **File content attrs.** | `title`, `history`, `institution`, `source`, `references`, `comment` must be strings. | Same requirement, clarified scope. | Minor clarification |
| **External variables** | Not defined. | New global attribute `external_variables` lists variables not present in the file. | **New in 1.12** |
| **Groups (NetCDF4)** | Not covered. | `Conventions` and `external_variables` must not appear in non-root groups. | **New in 1.12** |
---
📌 **Summary:**
While the CF-Checker ensures compliance with **CF-1.8**, users aiming for **CF-1.12** compliance should pay special attention to: