Todos#

Todo

Change back to Picasso version to check if lidar calibration constants get more similar.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/calibration/lidarconstant.py:docstring of ppcpy.calibration.lidarconstant.lc_for_cldFreeGrps, line 31.)

Todo

Check if LC’s are normalized with respect to the mean of the profiles.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/calibration/lidarconstant.py:docstring of ppcpy.calibration.lidarconstant.lc_for_cldFreeGrps, line 32.)

Todo

Write docstring.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/calibration/rayleighfit.py:docstring of ppcpy.calibration.rayleighfit.rayleighfit, line 26.)

Todo

not yet implemented from matlab version

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/cloudmask/cloudscreen.py:docstring of ppcpy.cloudmask.cloudscreen.cloudScreen_Zhao, line 4.)

Todo

that might be covered via the mcps conversion

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.filter_or_correct_false_mshots, line 4.)

Todo

This is just a first draft for a docstring. Improve it. There is more processes and outputs of the function.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.preprocessing, line 13.)

Todo

Decide on a consistent way for doing the aggregation, do not mix mean and sum

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.aggregate_profiles, line 4.)

Todo

Not yet implemented!

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.loadAOD, line 4.)

Todo

flagTransCor = True:

Fix the GHK - Transmission correction

flagTransCor = False:

Check if it is correct to use the BG corrected signal and find a better solution. It is a bit confusing to overwrite the signal as it is called sigTCor but actually is sigBGCor Like storing a dedicated signal dict to be used throuhot the processing, the dictionary could have elements like signal (sig), background (bg), and name. which we could overwrite each time a new correction is made. And by checking the name of the signal (TCor, BGCor) you can find out which signal it is.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.transCor, line 4.)

Todo

Add option to read constants from database.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.LidarCalibration, line 4.)

Todo

Find out how we prioritise raman, klett, and database retrieved LC…

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/interface/picassoProc.py:docstring of ppcpy.interface.picassoProc.PicassoProc.LidarCalibration, line 5.)

Todo

Variables ‘force’ and ‘polly_files_list’ are not defined anywhere ..

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/misc/helper.py:docstring of ppcpy.misc.helper.checking_attr, line 26.)

Todo

  • Finish docstring and remove all unnecessary comments

  • Could think of moving the scale convertion to after the loops ie. form PCR to PC

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/preprocess/pollyPreprocess.py:docstring of ppcpy.preprocess.pollyPreprocess.pollyDTCor, line 44.)

Todo

Clarify the background treatment. The bgTCor should not change (i.e. assuming the vdr is 0?)

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/qc/transCor.py:docstring of ppcpy.qc.transCor.transCor_E16_channel, line 44.)

Todo

What is returned by the function and what is described in the docstring does not corresponed.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/qc/overlapEst.py:docstring of ppcpy.qc.overlapEst.overlapCalcRaman, line 69.)

Todo

This function uses a mix of ppcpy.misc.helper.unifrom_filter and scipy.ndimage.uniform_filter1d for smoothing. This is done to avoid NaN-value related errors. A better more cohesive solution should be precude in the future.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/qc/overlapEst.py:docstring of ppcpy.qc.overlapEst.overlapCalcRaman, line 71.)

Todo

Be cearfull with NaN values! scipy.ndimage.uniform_filter1d used for smoothing in this module will propagate any NaN values present in the signal throughot the rest of the smoothed signal. Additionaly, here we are using mode ‘reflect’ for padding (see scipy.ndimage.uniform_filter1d documentation). This might not be the most optimal mode, the other availabel mode should also be considered. Optimally, should we designe our own filter for this purpuse that do not have the issue with propagating NaN values, Like what is used in the rest of the modules. However, without reducing dimension or filling in NaN values.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/qc/overlapEst.py:docstring of ppcpy.qc.overlapEst.overlapCalcRaman, line 76.)

Todo

could have also been in helpers, but that seems more on organizing stuff… while this is an calculation, in the matlab version this function is used more than 20 times

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/collection.py:docstring of ppcpy.retrievals.collection.calc_snr, line 4.)

Todo

Should sigBGCor, sigTCor or RCS be used for the Klett retrievals?

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/klettfernald.py:docstring of ppcpy.retrievals.klettfernald.run_cldFreeGrps, line 61.)

Todo

Define m (Unsure if this m addition is needed).

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/klettfernald.py:docstring of ppcpy.retrievals.klettfernald.fernald, line 64.)

Todo

  • sigma_angstroem and MC_count are hardcoded. Can this be automated?

  • in raman_ext calulations we use a different hard coded MC_count than the global parameter.

  • Should sigBGCor, sigTCor or RCS be used for the Raman retrievals? RCS dampens the effect form the wrong first bin and makes the profile more straight (insted of the s-shape) in the lower bins.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/raman.py:docstring of ppcpy.retrievals.raman.run_cldFreeGrps, line 68.)

Todo

  • moving_smooth_varied_win function is not yet implemented.

  • moving_linfit_varied_win function is not yet implemented.

  • Investigate what smothing function is used, Savitzky-Golay or something else?

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/raman.py:docstring of ppcpy.retrievals.raman.raman_ext, line 68.)

Todo

Angstroem is an float in beta_aer calculations and an array of shape (1, ) in beta_aer_std claculations.

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/raman.py:docstring of ppcpy.retrievals.raman.calc_raman_bsc, line 77.)

Todo

Should the GHK-Transmission corrected (TCor) or the Background corrected (BGCor) signal be used for calculating the volume depolarisation ratio?

(The original entry is located in /mnt/c/Users/radenz/dev/PicassoPy/PicassoPy/ppcpy/retrievals/depolarization.py:docstring of ppcpy.retrievals.depolarization.voldepol_cldFreeGrps, line 2.)