-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
YAN-858 Frequency Scattering of Visibilities #94
Conversation
Conflicts: daliuge-engine/dlg/apps/simple.py
2 seperate generic scatter apps is fine temporarily, however with the update behavior and parameter changes it should be possible to combine all the features of generic scatter app by adding a 'use_pickle' flag to the params list. Adding these to GenericScatterApp will break existing scatter graphs so an upgrade plan would be needed. I'd suggest either:
I'd lean towards deprecated warnings that print how to upgrade (namely scatter_axis -> scatter_axes, add use_pickle) and some effort towards manually updating EAGLE-graph-repo. |
The main part of the changes are fine, but we have to address the changes in dm_utils.py in a different way. The reason for the splitting of the fields into the additional appFields was to enable paasing those parameters on to the actual application. The other fields are passed to the drop. This is required in particular for dockerized applications which require command line parameters. Thus I think we need to make sure that the translator is passing on those fields, but still enables the engine to distinguish them. I guess we could add an additional flag to the fields, or we could keep them entierly separate like they are coming from EAGLE. Since this is not really related to this current pull request I will still accept the changes. |
if INPUT_APP_FIELDS in node: | ||
# inputAppFields are converted to fields to be processed like | ||
# regular application drops | ||
app_node["fields"] = list(node[INPUT_APP_FIELDS]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line I found is needed since app parameters are meant to exist at under "fields" in the logical graph. These fields are from the app view in the inputApplication dropdown. The other fields I think some careful consideration needs to be made about. A logical graph schema may help a lot.
YAN-858 Frequency Scattering of Visibilities
YAN-858 Frequency Scattering of Visibilities
As part of sdp work there is a need to split measurement set data on by frequency for daliuge parallel processing. From previous MS extraction I've used .npy serialized format and created a scatter app that can split multiple input ndarrays on the frequency axes specified by list param "Scatter Axes".
In implementing the scatter app I've noticed input app parameters where not being sent to the engine so I've explicitly populated input app fields for the logical graph such that the scatter app can be processed to the physical graph like a regular in python app. Additionally I send fields from the parent scatter node to the input app so the scatter number is always correct.