Conventions#
Structure of data_cube#
The data_cube (PicassoProc()) provides all the methods to do the processing as well as the data produces.
Most importantly there are two variables for the averaged profiles retrievals_profile and for the high resolution time-height data retrievals_highres.
Both contain dictionaries with the content outlined below.
data_cube.retrievals_profile#
Each key with retrieved profiles hold a list with all the data_cube.clFreeGrps containing subdictionaries with individual channels.
An list of available retrievals is kept in
data_cube.retrievals_profile['avail_optical_profiles']
>>> ['klett', 'raman', 'klett_OC', 'raman_OC']
additionally the inputs for the retrievals (aggregated profiles) are also stored, e.g,
['RCS', 'sigBGCor', 'BG', 'refH', 'sigTCor', 'BGTCor', 'overlap', 'sigOLCor', 'BGOLCor']
data_cube.retrievals_highres#
Holds all the hight temporal-resolution data, including auxiliary variables like range, height, time, time64.
These are the inputs at various levels of processing:
['preproSignal', 'BG', 'sigBGCor', 'SNR', 'RCS', 'sigTCor', ...]
flags, such as:
['lowSNRMask', 'shutterOnMask', 'fogMask', 'mask607Off', 'mask387Off', 'mask407Off', 'mask1064_RROff', ...]
and geophysical retrievals:
['attBsc_532_total_FR', 'voldepol_355_total_FR', 'quasiBscV1_1064_total_FR', 'tcMaskV2']
A full list is available using data_cube.retrievals_highres.keys()
The exact content depends on the usage of the collect_debug flag.
Channel naming#
Extensive discussion in Issue 303 of the matlab processing chain came to the conclusion to work with
{wavelength}_{total|cross|parallel|rotraman}_{NR|FR|DFOV}
For example
355_total_FR532_cross_NR1064_total_FR532_cross_DFOV…