Contact: | Nancy Collins |
Revision: | $Revision: 2801 $ |
Source: | $URL: http://subversion.ucar.edu/DAReS/DART/trunk/filter/wakeup_filter.html $ |
Change Date: | $Date: 2007-04-04 22:11:48 -0600 (Wed, 04 Apr 2007) $ |
Change history: | try "svn log" or "svn diff" |
Small auxiliary program for use in the "async=4" case where the main filter program is an MPI program and the model being run with DART is also an MPI program. The main MPI job script runs each of the model advances for the ensemble members, and then runs this program to restart the filter program.
There are no namelist options for this program. It must be run as an MPI program with the same number of tasks as filter was originally started with.
mpi_utilities_mod
Named pipes (fifo) files are used to synchronize with the main MPI job run script, to ensure that the filter program and the script do not do a "busy-wait" in which they consume CPU cycles while they are waiting for each other. The fifo names are:
Routine | Message | Comment |
---|---|---|
block_task | cannot handle task counts > 99999 | Ensemble size must be less than 100,000. |
block_task | initialize_mpi_utilities() must be called first | The mpi init routine must be called first |
restart_task | cannot handle task counts > 99999 | Ensemble size must be less than 100,000. |
restart_task | initialize_mpi_utilities() must be called first | The mpi init routine must be called first |
Some queueing systems balk at having multiple MPI jobs active at the same time, even if one is sleeping while the other is running. At some point filter may exit instead of blocking while the model advances are running. In that case this program will no longer be needed.