QARTOD QC Overview
QARTOD (Quality Assurance/Quality Control of Real-Time Oceanographic Data) is a set of standardized tests developed by IOOS to automatically check the quality of ocean data. At GDAC, these tests are run on all submitted netCDF profile files to help ensure your data is reliable and well-documented.
File Processing During QC
When you submit your netCDF file, the following happens automatically:
- File is checked for required variables and metadata.
- QARTOD QC tests are run on key geophysical variables (like temperature, salinity, pressure, etc.).
- New variables are added to your file, showing the results of each QC test.
- A summary of any issues or errors is recorded in a global attribute in your file.
- A file attribute is set to mark QC as complete, preventing subsequent runs from reprocessing glider profiles.
File Contents After Application of QC
After QC, your netCDF file will include:
- New variables for each geophysical variable tested. For example, if you have a variable called
temperature, you’ll see:qartod_temperature_gross_range_flagqartod_temperature_spike_flagqartod_temperature_rate_of_change_flagqartod_temperature_flat_line_flagqartod_temperature_primary_flag
- A location test variable:
qartod_location_test_flag(checks if your profile’s location is within a reasonable range)
- Updated
ancillary_variablesattributes on the original variables, listing the new QC variables. - A global attribute called
dac_qc_commentsummarizing any issues found during QC.
Important Note:
The dac_qc_comment global attribute displayed in ERDDAP does not include quality-control issues for every file submitted for a deployment. For detailed comments, refer to the dac_qc_comment attribute in each individual deployment file.
Example:
// variables:
...
double temperature(time=41);
:ancillary_variables = "temperature_qc qartod_temperature_gross_range_flag qartod_temperature_spike_flag qartod_temperature_rate_of_change_flag qartod_temperature_primary_flag qartod_temperature_flat_line_flag";
...
byte qartod_temperature_gross_range_flag(time=41);
:long_name = "QARTOD Gross Range Test for sea_water_temperature";
:flag_meanings = "PASS NOT_EVALUATED SUSPECT FAIL MISSING";
...
// global attributes:
...
:dac_qc_comment = "dfo-maria997-20260622T0000 (dfo-maria997-20260704T1814.nc: more than one variable shared sea_water_temperature more than one variable shared sea_water_practical_salinity)";
File Requirements for QC
Before submitting, please check that your netCDF file includes:
- Required geophysical variables with correct CF standard names and units:
sea_water_temperaturesea_water_electrical_conductivitysea_water_densitysea_water_pressuresea_water_practical_salinity
- Each variable should have:
- A valid
standard_nameattribute (see above) - A valid
unitsattribute (e.g.,deg_C,dbar,S m-1,1,kg m-3) valid_minandvalid_maxattributes (withvalid_min<valid_max)- No missing or all-NaN/all-fill-value data
- A valid
- Location and time variables:
profile_latandprofile_lon(with valid values)time(with valid, ascending timestamps)
- No duplicate or out-of-order timestamps
Tip: If your file is missing any of these, QC may fail or skip those variables.
Issue Resolution During QC
- If QC finds problems, a summary will appear in the
dac_qc_commentglobal attribute in your file. - If a variable is missing required metadata or has invalid data, QC tests for that variable will be skipped and noted in the comment.
- If the entire file cannot be QCed, the file attribute
user.qc_runwill be set to"error".
If you have questions or see errors in your file after submission, contact the GDAC team for help!