@@ -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