([task],[ntot-big],[num-grps],[iter],[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 ; echo date change ArDean Leith Sep 2010 ; wait message ArDean Leith Dec 2010 ; [ntot-big] ArDean Leith Apr 2015 ; ; PURPOSE: Waits for all subscriber processes to finish ; [task]=0 Runs grploop ; [task]=1 Runs smangloop ; [task]=2 Runs endmerge, accumulates [n-big] contents from sync doc file. ; ; CALLED FROM: pub_refine.pam ; ; INPUT REGISTERS (FROM CALLER): ; [task] Task id ; [num-grps] Number of tasks ; [iter] Iteration number ; [rn] 4 digit random number to append to DOC_SYNC files ; ; OUTPUT REGISTER: [ntot-big] Accumulated number of images with large angle changes ; ; INPUT FILE: jnkdocparamout{***group}_{****[rn]}* IF ( [task] <= 1) THEN SYS echo -n " Waiting for iteration: {%I0%[iter]} " ; date '+ TIME: %x %X' ELSE SYS ; Echo current time echo -n " Waiting for endmerge for iteration: {%I0%[iter]} " ; date '+ TIME: %x %X' ENDIF MY FL ; Flush results [ntot-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 SYS echo -n " Synced iter: {%I0%[iter]} Group: {%I0%[grp]} --- "; date '+ TIME: %x %X' IF ( [task] == 0 ) THEN ; grploop returns [n-big] in jnkdocparamout{***[grp]} key:47 ; Key 47 has # of images whose proj. angle moved by > 1.5*[ang-step] UD 47, [n-big] jnkdocparamout{***[grp]}_{****[rn]} [ntot-big] = [ntot-big] + [n-big]+1 UD E ENDIF DE jnkdocparamout{***[grp]}_{****[rn]} MY FL ; Flush results ENDDO ; End wait loop over tasks RE