tom went throught the common blocks by hand looking for variables which are written to inside the main MOM loops. amazingly enough, we think there's only ONE common block which gets written. all the others are written only during the initialization and setup stages and are read-only after that. the one common block is /speed/. the varaibles rimgs() and cg() hold values for a specific patch-patch pair. thus if the problem is partitioned by patches, each node can get its own private copy -- there's no data dependence. it fits into the loop structure like this loop over patch loop over patch set up rimg, cg loop over basis loop over basis if you want to talk about this, come on up any time or we could come down there if you prefer. tom wrote a little script that finds all occurences of a common block. it searches all the .inc and all the .f files. here it is: # foreach f (`grep -i -l $1 *.inc`) echo $1 "from file" $f "used in files" foreach f2 (`grep -i -l $f *.f`) echo " " $f2 end echo " " end to use it %cd source_dir %source srch "/common_block_name/"