snappy DART image
Contact: Nancy Collins, Jeff Anderson
Revision: $Revision: 2851 $
Source: $URL: http://subversion.ucar.edu/DAReS/DART/trunk/doc/html/filter_async_modes.html $
Change Date: $Date: 2007-04-11 19:55:29 -0600 (Wed, 11 Apr 2007) $
Change history: try "svn log" or "svn diff"

Options for parallelism both in DART and in the model advances:



Simplest case, async=0:

This is a single MPI executable, with each call to the model being simply a subroutine call from each MPI task.

back to the mpi intro document



Parallel advance, async=2:

The filter executable is one MPI program, and the model is a single, sequential executable. Each MPI task uses the unix "system()" call to invoke a shell script (advance_model.csh) which runs the models as independent programs.

back to the mpi intro document

Other views of how the async=2 option is structured; these may be more or less helpful.
Parallel advance, async=2:



Parallel advance, async=2, second version:



Parallel model advance, async=2, showing how data is communicated between filter and the model thru intermediate files. IC are 'initial condition' files, UD are 'updated' files.




Parallel model advance, async=4:

The filter executable is one MPI program, and the model is also an MPI program. The filter executable communicates with the runme_filter shell script, which sequentially invokes mpirun to advance each of the model runs, one per ensemble member, still using advance_model.csh.

back to the mpi intro document


Parallel model advance, async=4, showing how data is communicated between filter and the model thru intermediate files. IC are 'initial condition' files, UD are 'updated' files.