Common schemas for workflows: NOMAD PWD Parser/Schema #29
JFRudzinski
started this conversation in
General
Replies: 2 comments 1 reply
|
Some other wishlist topics:
For this Jan has added a interim functionality to attach the output data and path to WD. I will use this to build a prototype of working with PWD in NOMAD
This is not needed in the short term. We cover interoperability through PWD workflow + parsing of individual (supported) calculation nodes (i.e., from standard simulation software). Non-supported nodes can always be supported in NOMAD, albeit using the native functionalities. |
1 reply
|
For the main topic above, I need to open an issue to document the idea of tagging certain nodes, although an alternative suggestion from Janine was to utilize the data transfer itself to manage the visualization.
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Handling Utility Nodes in Python Workflow Definition (PWD) Workflows
The Problem
Python Workflow Definition workflows contain utility nodes (e.g.,
python_workflow_definition.shared.get_dict,get_list) that serve as data transformation and parameter bundling functions. These nodes are implementation details that don't represent actual scientific computations but are necessary for workflow execution.Why This Matters for NOMAD
In workflow visualization and analysis tools, these utility nodes create noise that obscures the actual scientific workflow logic. The PWD paper implicitly acknowledges this by omitting these nodes from workflow diagrams, focusing only on meaningful computational steps.
Current Challenge
The NOMAD PWD parser needs to decide how to deal with these utility nodes in order to simultaneously:
One Possible Strategy: Hierarchical Workflows
1. Detection Pattern
Identify utility node patterns:
{ "type": "function", "value": "python_workflow_definition.shared.get_dict" }2. Composite Task Creation
Group utility nodes based on their functionality:
Parameter Bundling (
get_dict)Group downstream with target computational node:
Data Aggregation (
get_list)Group upstream with source computational nodes:
Associated Problem with this approach: Non-unique grouping - The same
get_listcould be grouped as:This ambiguity makes consistent hierarchical construction challenging, unless a clear standard is set through associated PWD Node metadata.
All reactions