Set custom return code for S2-L1C products missing viewing angles
--- name: Feature Request (DM) about: Use this template for reporting a feature request. --- *Please note:* Any issue should be submitted using the [FA Template](https://gitlab.cnes.fr/maja/maja/blob/develop/.gitlab/issue_templates/FA.md) **Describe the current behavior** Given that more and more an S2-L1C products seem to be missing viewing angles, this modification shall assure that start_maja catches this specific error: ``` Traceback (most recent call last): File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/launcher/maja.py", line 100, in <module> main() File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/launcher/maja.py", line 81, in main lprocessor.scientific_processing() File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/processor/l2_nominal_processor.py", line 216, in scientific_processing l2_image_file_writer, checking_conditional_clouds) File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/processor/l2_processor.py", line 591, in process_one_product reduce_lut_computation.launch(global_input_dict, global_output_dict) File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/modules/maja_module.py", line 66, in launch self.run(dict_of_input, dict_of_output) File "/work/scratch/musqon3a/maja-4.2.0/lib/python/orchestrator/processor/l2_pipelines/reduce_lut_computation.py", line 115, in run raise MajaDataException("Error on input L1 product: missing Viewing angles for some l2 coarse band on detector "+key+" , all l2 coarse bands are needed for HR_Lut generation") orchestrator.common.maja_exceptions.MajaDataException: Error on input L1 product: missing Viewing angles for some l2 coarse band on detector 12 , all l2 coarse bands are needed for HR_Lut generation ``` **Describe the expected behavior** Start-Maj should skip the given product and the contexts associated with it (such as the product being exluded in a backward execution). Some points to take into account: * Custom return codes are not that straight forward: See [here](https://stackoverflow.com/questions/16786561/setting-an-exit-code-for-a-custom-exception-in-python), [here](https://stackoverflow.com/questions/6720119/setting-exit-code-in-python-when-an-exception-is-raised) or [maybe here](https://stackoverflow.com/questions/6720119/setting-exit-code-in-python-when-an-exception-is-raised) * Start_maja currently has a program-level interface with maja, even though both could be interfaced on a pure python-level which would facilitate error code handling. Dropping the current interface would also mean dropping support for other maja-versions (3.x most importantly). * Should this modification take too long, we have to update the readme with a *FAQ* section describing common errors to be found in maja. **Urgency/Criticity** - Urgency (Select Low/Medium/High): Low - Criticity (Select Low/Medium/High): Low **Additional info** Various contexts exit from the past weeks. **Correction** TBD
issue