Seasonal and custom data masking
The merge request contains:
- A new data Modelling function modelling_mask
- the function was introduced to move the masking out of flagging function bodies, so that all flagging functions can be applied on seasonally/customly masked data chunks. (to oppose the solution in use with flagSeasonalRange)
- See the incode documentation of modelling_mask for a workflow recipe on how to flag masked timeseries with arbitrary test_functions
-
flagSeasonalRange is now a wrapper around a series of saqc-test/dataprocessing functions exclusively. The wrapping may look hickky-hacky, but thats due to backwards compatibillity (had to translate the season framing keywords to new format). The function may also serve as example on how to achieve flagging on masks with a series of saqc user level functions.
-
I rewrote seasonalMask. It now generates not only annual seasons, but is also capable of generating monthly, daily, hourly, "minutly" or "secondly" seasons. It was verbose already and is now even more. This is due to the quite special-case contamined busines of timestamp based dataselection. Any suggestions for making it more straight are welcome.
-
The functionality is tested, the new function and all modifications to seasonalMask are documented. The flagSeasonalRange wrapper passes all tests, its predecessor passed. only thing thats not backwards compatible is, i refactored flagSesonalRange to flagSeAsonalRange.