Skip to content

Commit 3b2c506

Browse files
committed
updating bl832 dispatcher to include alcf_forge_recon_segment as a separate option
1 parent 07e5601 commit 3b2c506

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

orchestration/flows/bl832/dispatcher.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ class FlowParameterMapper:
1717
"alcf_recon_flow/alcf_recon_flow": [
1818
"file_path",
1919
"config"],
20+
"alcf_forge_recon_segment_flow/alcf_forge_recon_segment_flow": [
21+
"file_path",
22+
"config"],
2023
# From move.py
2124
"new_832_file_flow/new_file_832": [
2225
"file_path",
@@ -55,22 +58,26 @@ class DecisionFlowInputModel(BaseModel):
5558

5659

5760
@task(name="setup_decision_settings")
58-
def setup_decision_settings(alcf_recon: bool, nersc_recon: bool, new_file_832: bool) -> dict:
61+
def setup_decision_settings(alcf_recon: bool, alcf_forge_recon_segment: bool, nersc_recon: bool, new_file_832: bool) -> dict:
5962
"""
6063
This task is used to define the settings for the decision making process of the BL832 beamline.
6164
6265
:param alcf_recon: Boolean indicating whether to run the ALCF reconstruction flow.
66+
:param alcf_forge_recon_segment: Boolean indicating whether to run the ALCF forge reconstruction segmentation flow.
6367
:param nersc_recon: Boolean indicating whether to run the NERSC reconstruction flow.
64-
:param nersc_move: Boolean indicating whether to move files to NERSC.
68+
:param new_file_832: Boolean indicating whether to run the new file 832 flow.
6569
:return: A dictionary containing the settings for each flow.
6670
"""
6771
logger = get_run_logger()
6872
try:
6973
logger.info(f"Setting up decision settings: alcf_recon={alcf_recon}, "
70-
f"nersc_recon={nersc_recon}, new_file_832={new_file_832}")
74+
f"alcf_forge_recon_segment={alcf_forge_recon_segment}, "
75+
f"nersc_recon={nersc_recon}, "
76+
f"new_file_832={new_file_832}")
7177
# Define which flows to run based on the input settings
7278
settings = {
7379
"alcf_recon_flow/alcf_recon_flow": alcf_recon,
80+
"alcf_forge_recon_segment_flow/alcf_forge_recon_segment_flow": alcf_forge_recon_segment,
7481
"nersc_recon_flow/nersc_recon_flow": nersc_recon,
7582
"new_832_file_flow/new_file_832": new_file_832
7683
}
@@ -145,6 +152,13 @@ async def dispatcher(
145152
alcf_params = FlowParameterMapper.get_flow_parameters("alcf_recon_flow/alcf_recon_flow", available_params)
146153
tasks.append(run_recon_flow_async("alcf_recon_flow/alcf_recon_flow", alcf_params))
147154

155+
if decision_settings.get("alcf_forge_recon_segment_flow/alcf_forge_recon_segment_flow"):
156+
alcf_forge_params = FlowParameterMapper.get_flow_parameters(
157+
"alcf_forge_recon_segment_flow/alcf_forge_recon_segment_flow",
158+
available_params
159+
)
160+
tasks.append(run_recon_flow_async("alcf_forge_recon_segment_flow/alcf_forge_recon_segment_flow", alcf_forge_params))
161+
148162
if decision_settings.get("nersc_recon_flow/nersc_recon_flow"):
149163
nersc_params = FlowParameterMapper.get_flow_parameters("nersc_recon_flow/nersc_recon_flow", available_params)
150164
tasks.append(run_recon_flow_async("nersc_recon_flow/nersc_recon_flow", nersc_params))
@@ -169,7 +183,7 @@ async def dispatcher(
169183
"""
170184
try:
171185
# Setup decision settings based on input parameters
172-
setup_decision_settings(alcf_recon=True, nersc_recon=True, new_file_832=True)
186+
setup_decision_settings(alcf_recon=True, alcf_forge_recon_segment=False, nersc_recon=True, new_file_832=True)
173187
# Run the main decision flow with the specified parameters
174188
# asyncio.run(dispatcher(
175189
# config={}, # PYTEST, ALCF, NERSC

0 commit comments

Comments
 (0)