IQuOD/AutoQC — pull request #34 by BillMills (2014-11-24 06:33:54+00:00)
Title: qc test generalization etc

A number of updates:

- `AutoQC.py` will now automatically detect all tests in `/qctests` and run them on each profile
- Running the qc tests will now generate a verbose logfile containing the results for each test on each profile at each depth
- running the tests now leaves arrays in memory indicating which profiles were flagged by which tests; this will enable us to easily combine tests (via AND / OR'ing their results) to study their composite behavior
- most functionality from `AutoQC.py` has been factored into functions for later testing

Todo:
- Code unit tests still need to be written! Until this code is thoroughly tested, it is *not fit* for use in research.
- Spaces have been left in `README.md` to specify the raw data format of files listed in `datafiles.json`, and the shape of the profile objects returned by the wod parser.

Notes:
- I dropped `ddt` - it was adding more complications than it was solving.
- Also dropped `/demo`; `AutoQC.py` has learned all it can from that exercise and moved beyond it.

@s-good, please check this out and see how it looks before we merge this PR. Looking ahead, we can proceed with a number of tasks:

- code testing: this whole package needs automated validation before we move too much further
- composite qc testing: we are now in a position to compose individual QC tests into more complicated tests - how should we proceed here?
- qc test implementation: translating qc tests into the format described in `README.md` can proceed
- visualization and post processing: what sort of post analysis or plots would be useful?

Once this PR is accepted, we'll re-cast these as some issues we can discuss and point participants at.