([task],[num-big],[num-grps],[iter],[converg],[rn]) ; ; SOURCE: spider/docs/techs/recon/newprogs/pub_refine_wait.pam ; New ArDean Leith Nov 2000 ; [rn] ArDean Leith Feb 2005 ; [] ArDean Leith Dec 2005 ; ; PURPOSE: Waits for subscribers to finish ; For task=2, accumulates [num-big] contents from sync doc file. ; ; CALLED FROM: pub_refine_start pub_refine_start.pam ; ; INPUT REGISTERS (FROM CALLER): ; [task] Task id ; [num-grps] Number of tasks ; [iter] Iteration number ; [converg] Convergence % ; [rn] Random number to append to DOC_SYNC files ; ; OUTPUT REGISTER: [num-big] Acummulated number of groups with large changes ; ; INPUT FILE: jnkdocparamout{***group}_{****[rn]}* [num-big]=0 ; Initialize return value DO I=1,[num-grps] ; Wait for all groups/parallel tasks UD S I,[grp] ; Get group number [sel_group_sorted] UD E IQ SYNC ; Wait for file existence jnkdocparamout{***[grp]}_{****[rn]} (10 3600000) ; Check time, max. time VM ; Echo time date '+ TIME: %x %X'd VM echo " Synced iter: {**[iter]} group: {**[grp]} " IF ([task] .EQ. 0) THEN ; grploop/smangloop returns [num-big] in jnkdocparamout{***[grp]} key:47 ; Key 47 has % of images whose proj. angle moved by >1.5*[ang-step] UD 47,[percent] jnkdocparamout{***[grp]}_{****[rn]} IF([percent].GT.[converg]) [num-big]=[num-big]+1 ; Excessive ang. change for this group UD E ENDIF DE jnkdocparamout{***[grp]}_{****[rn]} MY FL ; Flush results ENDDO ; End wait loop over tasks RE