About Compliance Checker API

In addition to the web frontend, there is a queryable API frontend that you can use to perform validation.

It returns a JSON response that is identical to the data that's used to generate the HTML templates. PDF and HTML responses are also available.

POST (for local file uploads) requests can be used.


Query Construction


POST query (for local file)

ParameterDetailsPossible Values
ACDD If enabled, 'ACDD-version' tag must also be present Must be set to 'on' to enable checker
ACDD-version If provided, 'ACDD' tag must also be present 1.1, 1.3
CF If enabled, 'CF-version' tag must also be present Must be set to 'on' to enable checker
CF-version If provided, 'CF' tag must also be present 1.6, 1.7, 1.8, 1.9
GDS2 If enabled, 'GDS2-parameter' tag must also be present Must be set to 'on' to enable checker
GDS2-parameter If provided, 'GDS2' tag must also be present L2P, L3, L4
file-upload A valid netCDF file; maximum 10.74 GB Location of file
response Specify html, json, or pdf result output html, json, pdf -- default is json.

POST Examples

Note that you need to append an '@' to the beginning of the filename in the CURL request when using the file-upload option.

When requesting HTML or PDF output, be sure to specify an output file with -o. Otherwise the response body will be printed to the terminal instead of being saved to a file. You may also use -o for JSON responses if you want to save the output.

Basic Examples

curl -L -F ACDD=on -F ACDD-version=1.3 -F file-upload=@/home/user/granule.nc -F response=json -o result.json https://mcc.podaac.earthdatacloud.nasa.gov/check
curl -L -F CF=on -F CF-version=1.7 -F file-upload=@/home/user/granule.nc -F response=html -o result.html https://mcc.podaac.earthdatacloud.nasa.gov/check
curl -L -F GDS2=on -F GDS2-parameter=L4 -F file-upload=@/home/user/granule.nc -F response=pdf -o result.pdf https://mcc.podaac.earthdatacloud.nasa.gov/check

With Progress Reporting and Extended Timeouts

For large files, you may want to show progress, set longer timeouts, and save the response to an output file:

curl -L --progress-bar --connect-timeout 300 --max-time 3600 --keepalive-time 3600 \
    -F ACDD=on -F ACDD-version=1.3 -F file-upload=@/home/user/granule.nc -F response=json \
    -o result.json https://mcc.podaac.earthdatacloud.nasa.gov/check

With Detailed Progress

curl -L -v --progress-meter --connect-timeout 300 --max-time 3600 --keepalive-time 3600 \
    -F CF=on -F CF-version=1.7 -F file-upload=@/home/user/granule.nc -F response=html \
    -o result.html https://mcc.podaac.earthdatacloud.nasa.gov/check

Saving PDF Output

curl -L --progress-bar --connect-timeout 300 --max-time 3600 --keepalive-time 3600 \
    -F GDS2=on -F GDS2-parameter=L4 -F file-upload=@/home/user/granule.nc -F response=pdf \
    -o result.pdf https://mcc.podaac.earthdatacloud.nasa.gov/check

Options Explained

  • -o <filename>: Save the response body to the specified file
  • --progress-bar: Display a simple progress bar
  • --progress-meter: Display detailed progress information
  • -v: Verbose output showing request and response headers
  • --connect-timeout 300: Wait up to 300 seconds when connecting
  • --max-time 3600: Allow the whole operation to take up to 3600 seconds (1 hour)
  • --keepalive-time 3600: Keep the connection alive for 3600 seconds