-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Currently, the DAG in replex.py does not seem to implement the REXEE workflow implemented in ensemble_md. Specifically, in the ensemble_md implementation, the workflow of a REXEE simulation is as follows:
- Step 1: Validate and print MDP/YAML parameters.
- Step 2: Take in the template MDP file and customize the MDP file for each replica using
initialize_MDP - Step 3: Run the first iteration using the GRO and TOP files in the home directory of the simulation, as well as the customized MDP files.
- Step 4: Parse the DHDL files, figure out MDP parameters to update in the next iteration, then customize MDP files for the next iteration using
update_MDP. - Step 5: Run another iteration using (1) the GRO files from the previous iteration (considering the swap pattern), (2) the TOP file in the home directory, and (3) the customized MDP files.
- Step 6: Repeat Steps 4 to 5 until the desired number of iteration is reached.
With #7, we have implemented all the methods required for Steps 2 to 5. However, to my understanding, the current DAG repeats Steps 2 to 5 instead of Steps 4 to 5 since TriggerDagRunOperator self-triggers the DAG that includes Steps 2 to 5. As what initialize_MDP does is pretty different from update_MDP, I wonder whether it would be beneficial to write another DAG specifically for iterations starting from the second iteration. That is, we can have the current DAG (with some modifications) trigger a child DAG that only repeats Steps 4 and 5 and triggers itself.