The purpose of the project is to provide a set of tools for accessing and using data from the Aqua satellite. The goal is to be able to replicate as much of the processing done to the data as allowed by law.
The project is in its very early stages. More will be added over time, and if you find any mistakes in what's there, please let me know and I'll correct it.
Aqua Satellite Book
Short Source Code Overview
I'll close out by giving a brief overview of the code I used to do the QA spot check from this post. Please remember that this is early beta code.
HDFReader.h and HDFReader.cpp - These files contain the code to read a generic HDF-EOS file. The code works, but requires an ASCII version of the HDF-EOS file rather than the binary files that come from NASA. Use the utility ncdump with only the filename as an argument to convert NASA's binary files to text. The Aqua Satellite book has instructions on how to get ncdump.
AMSUReader.h and AMSUReader.cpp - These files are specializations of HDFReader designed to make it easier to read AMSU HDF-EOS files.
CommandLineArgs.h and CommandLineArgs.cpp - Defines a C++ class for working with command line arguments passed to a program.
FileUtils.h and FileUtils.cpp - Provides some cross-platform file utilities.
main.cpp - The entry point to the QA spot check code I wrote.
AMSUQA.h and AMSUQA.cpp This file contains the actual QA spot check code. It's translated to pseudo-code below.
Load AMSU Data
// Check QA
Set NumberOfGoodData Equal To NumberOfData - NumberOfBadData - NumberOfMissingData - NumberOfSpecialData
Set PercentGoodData Equal To NumberOfGoodData Divided By NumberOfData
Multiply PercentGoodData By 100
If channel Failed NASA QA, Add 1 To Channel's Bad Count
// Write QA results
Open Output File Using Value Of AutomaticQualityFlag As Filename
Write Out Name Of AMSU Input File
Write Out Percent Good Data
Write Out Channel's Bad Count
Close Output File
UAH January Raw Data Spot Check