Filter async modes

DART project logo

Jump to the DART Documentation Main Index
version information for this file:
$Id: filter_async_modes.html 11427 2017-03-31 21:24:30Z nancy@ucar.edu $

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.

To the DART 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.

To the DART 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.

To the DART 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.





Terms of Use

DART software - Copyright UCAR. This open source software is provided by UCAR, "as is", without charge, subject to all terms of use at http://www.image.ucar.edu/DAReS/DART/DART_download

Contact: Nancy Collins, Jeff Anderson
Revision: $Revision: 11427 $
Source: $URL: https://svn-dares-dart.cgd.ucar.edu/DART/releases/Manhattan/documentation/html/filter_async_modes.html $
Change Date: $Date: 2017-03-31 15:24:30 -0600 (Fri, 31 Mar 2017) $
Change history:  try "svn log" or "svn diff"