This is a feature missing to satpy for a while in my opinion: the possibility to have generated/procedural input data to modifiers or composites in satpy.
On top of that example with sun/sensor angles, a discussion with @strandgren regarding the cloud detection in https://github.com/pytroll/satpy/pull/2557 revealed that there is not dedicated place for algorithms to live in satpy. For example, in that PR, the composite needs some kind of cloud classification. The compositor object is now taking care of this, but it feels a bit out of place to have this in a compositor. On top of that, there are level 2 products giving much better cloud classifications, and these could be used when available instead of the thresholding algorithm defined in the PR.
Describe the solution you'd like
I would like to have the possibility to have procedural input, generated from different algorithm, available for users when the provided data is lacking.
Describe any changes to existing user workflow
I propose:
To add an new type of classs,es very similar to Compositors but called eg Generators instead.
That the generators would have clear standard_names to be able to match them with actual data of the same type so that:
When an input to a given composite is lacking from the data, the corresponding generator would be used.
All in all, I don't think this would amount to a lot of changes in satpy, but it would make things clearer IMO.
Additional context
Even a plugin system for this could be implemented.
If the classes are treated like the existing components then the existing plugin system should be easy to update to support them. For what it is worth GeoIPS calls these "algorithms" I believe.
Feature Request
This is a feature missing to satpy for a while in my opinion: the possibility to have generated/procedural input data to modifiers or composites in satpy.
Is your feature request related to a problem? Please describe. This has been brought up before, for example in https://github.com/pytroll/satpy/issues/77
On top of that example with sun/sensor angles, a discussion with @strandgren regarding the cloud detection in https://github.com/pytroll/satpy/pull/2557 revealed that there is not dedicated place for algorithms to live in satpy. For example, in that PR, the composite needs some kind of cloud classification. The compositor object is now taking care of this, but it feels a bit out of place to have this in a compositor. On top of that, there are level 2 products giving much better cloud classifications, and these could be used when available instead of the thresholding algorithm defined in the PR.
Describe the solution you'd like I would like to have the possibility to have procedural input, generated from different algorithm, available for users when the provided data is lacking.
Describe any changes to existing user workflow I propose:
standard_name
s to be able to match them with actual data of the same type so that:All in all, I don't think this would amount to a lot of changes in satpy, but it would make things clearer IMO.
Additional context Even a plugin system for this could be implemented.