| 1 |
C $Header: /u/gcmpack/MITgcm_contrib/llc_hires/llc_1080/code-async/asyncio_driver_init.F,v 1.1 2013/09/29 22:43:00 dimitri Exp $ |
| 2 |
#include "CPP_EEOPTIONS.h" |
| 3 |
|
| 4 |
SUBROUTINE ASYNCIO_DRIVER_INIT( |
| 5 |
I mpiCommIO, mpiCommParent, |
| 6 |
I sNx, sNy, Nr, OLx, OLy ) |
| 7 |
INTEGER mpiCommIO, mpiCommParent |
| 8 |
INTEGER sNx, sNy, Nr, OLx, OLy |
| 9 |
|
| 10 |
INTEGER IFNBLNK, ILNBLNK, I0, I1 |
| 11 |
|
| 12 |
C-- Driver for separate asynchronous I/O processes |
| 13 |
C-- Bron is writing real code for this |
| 14 |
INTEGER parCtxRank, parCtxNP |
| 15 |
INTEGER ioCtxRank, ioCtxNP |
| 16 |
|
| 17 |
CHARACTER*1024 msgBuf |
| 18 |
|
| 19 |
CALL MPI_COMM_SIZE(mpiCommParent, parCtxNP, mpiRC ) |
| 20 |
CALL MPI_COMM_RANK(mpiCommParent, parCtxRank, mpiRC ) |
| 21 |
|
| 22 |
CALL MPI_COMM_SIZE(mpiCommIO, ioCtxNP, mpiRC ) |
| 23 |
CALL MPI_COMM_RANK(mpiCommIO, ioCtxRank, mpiRC ) |
| 24 |
|
| 25 |
WRITE(msgBuf,'(A,I6,A,I6,A,I6,A,I6)') |
| 26 |
&'Parent rank ',parCtxRank,' of ',parCtxNP, |
| 27 |
&' dedicated for I/O as rank ',ioCtxRank,' of ',ioCtxNP |
| 28 |
I0=IFNBLNK(msgBuf) |
| 29 |
I1=ILNBLNK(msgBuf) |
| 30 |
PRINT *, msgBuf(I0:I1) |
| 31 |
|
| 32 |
RETURN |
| 33 |
END |