DOCUMENTATION: - It appears the distinction between C_I/C_START is not entirely clear. Document more clearly 1) how to get to the right datafile 2) how to get to the right profile within this datafile BUGS - Sometimes, MSPPS starts the minute after the corresponding MHS/AMSUB-granule. In the current implementation, near the end of colloc_process_data_cpr_mhs, this is not accounted for. When this happens, the MSPPS data is missed. - Bug-checking: sometimes H_INT and B_INT are both within 900 seconds, but H_TIME-B_TIME is ~one day; error in hirs time calculation? Or artefact of something from a long time ago? Can't reproduce. - HIRSCS, use scanline numbers for double-checking, rather than unique(..., rows), that may be incomplete. At least check whether the latter is or isn't incomplete. - In the collocations, I often add one second to the starting time so that it doesn't get truncated to the wrong minute. This is stupid, I should have rounded in the first place, and this should be corrected *in the collocations*. WARTS - Currently, when processing CloudSat/MHS-collocations, I read the files for AMSUA and HIRS twice: once when getting collocation info, once when getting collocation data. This is not good. - In both collocate_date and collocate_granule, I predefine 'overlap', 'data' and 'meandata' as empty matrices (0x0). This should actually be 0xwidth, so that data as stored in the collocation files can always be vertically concatenated, and I can get rid of the 'isempty'-test in collocation_read. - Optimise reading: collocate_date simply loops through every granule and does collocate_granule, that means if two granules from sensor A collocate with the same granule from sensor B (which they usually do), this one is read twice. Bad, particularly for AVHRR where reading takes a long time. - When collocation poes/mhs or poes/amsub, mhs are amsub are really aliases. This is now accomodated by a special case if-statement in collocate_granule. This is ugly and needs to go. - In colloc_read_collocation_cpr_poes.m actually the meandata is read, just because that's what I want when collocating with AVHRR; such a special case is ugly and needs to go. - In colloc_process_data_cpr_mhs, move MSPPS reading to a specialised reading function (add to colloc_config and all that) and use read_granule to read. WISHES - Add aliases for abbreviated satellite pairs, so that noaa15/N15 are the same (particularly useful for hirscs). - Don't let CPR collocate with more than one MHS; only the closest one? - Don't let AVHRR collocate with more than one MHS; only the closest one? - Add many, many sat/sensor pairs to the firstline-database and to read_granule. - Generalise the firstline-database. Add to atmlab-data? - (From Salomon, Ajil) When searching for collocations, permit the ability to pass on fields to return on-the-fly. - Add an extensive testing suite. ******************************** * New style since January 2012 * ******************************** - Read long period, core + associated datasets + new fields - Figure out dependencies of multiple associated datasets - For FieldCopier, be smart in long_name if possible - fix granules_first_line automatic generation or at least a smart hint on what to do - convert glanules_first_line generation to new-style - single 'CPR' super-dataset that knows in what actual datasets fields are and reads the fields accordingly. Maybe in the same way can implement different associated datasets as super-dataset? - go through all the FIXME DOC and actually fix them - update first_line-stuff to something prettier - implement new style as methods in various new classes - when finished, in old-style add small functions using new-style Remove: - special case 'poes' - S, D, M, ... - ... Update: - collocate_granule Fix: - mhs/amsub - bugs