5 &(chaine,ncar,ipid,ncsize)
70 INTEGER,
INTENT(OUT) :: NCAR,IPID,NCSIZE
71 CHARACTER(LEN=MAXLENTMPDIR),
INTENT(OUT) :: CHAINE
78 CHARACTER(LEN=MAXLENTMPDIR+5) EXE
82 CHARACTER(LEN=11) PNUMBER
83 CHARACTER(LEN=13) MYNAM
102 CALL mpi_initialized(init,ier)
110 WRITE(
lu,*)
'P_INIT: ERROR IN MPI_INIT' 111 WRITE(
lu,*)
'MPI ERROR ',ier
119 CALL mpi_comm_rank(
comm,ipid,ier)
121 WRITE(
lu,*)
'P_INIT: ERROR IN MPI_COMM_RANK' 122 WRITE(
lu,*)
'MPI ERROR ',ier
129 CALL mpi_comm_size(
comm,ncsize,ier)
131 WRITE(
lu,*)
'P_INIT: ERROR IN MPI_COMM_SIZE' 132 WRITE(
lu,*)
'MPI ERROR ',ier
140 pnumber =
'00000-00000' 142 IF((ncsize-1).LT.10)
THEN 143 WRITE(pnumber(05:05),
'(I1)') ncsize-1
144 ELSEIF((ncsize-1).LT.100)
THEN 145 WRITE(pnumber(04:05),
'(I2)') ncsize-1
146 ELSEIF((ncsize-1).LT.1000)
THEN 147 WRITE(pnumber(03:05),
'(I3)') ncsize-1
148 ELSEIF((ncsize-1).LT.10000)
THEN 149 WRITE(pnumber(02:05),
'(I4)') ncsize-1
151 WRITE(pnumber(01:05),
'(I5)') ncsize-1
155 WRITE(pnumber(11:11),
'(I1)') ipid
156 ELSEIF(ipid.LT.100)
THEN 157 WRITE(pnumber(10:11),
'(I2)') ipid
158 ELSEIF(ipid.LT.1000)
THEN 159 WRITE(pnumber(9:11),
'(I3)') ipid
160 ELSEIF(ipid.LT.10000)
THEN 161 WRITE(pnumber(8:11),
'(I4)') ipid
163 WRITE(pnumber(7:11),
'(I5)') ipid
165 WRITE(mynam,
'("PE", A11)') pnumber
172 OPEN(unit=
lu,file=mynam//
'.LOG', form=
'FORMATTED',
175 WRITE(
lu,*)
'MASTER PROCESSOR NUMBER ',
176 & ipid,
' OF THE GROUP OF ',ncsize
180 OPEN(unit=
lu,file=mynam//
'.LOG', form=
'FORMATTED',
182 WRITE(
lu,*)
'SLAVE PROCESSOR NUMBER ',
183 & ipid,
' IN THE GROUP OF ',ncsize
191 INQUIRE(file=
'./PARAL',exist=yapara)
194 OPEN(id,file=
'PARAL',form=
'FORMATTED',action=
'READ')
196 IF(npread.NE.ncsize)
THEN 198 &
'P_INIT: FILE PARAL IS INCONSISTENT WITH MPI PARAMETERS' 199 WRITE (
lu,*)
'MPI NCSIZE = ',ncsize
200 WRITE (
lu,*)
'PARAL NCSIZE = ',npread
204 WRITE(
lu,*)
'LENGTH OF TMP DIR STRING IS TO BIG' 205 WRITE(
lu,*)
'IT IS ',ncar,
' LONG AND SHOULD NOT EXCEED',
211 exe(1:ncar+5)=chaine(1:ncar) //
'A.EXE' 212 WRITE(
lu,*)
'EXECUTABLE FILE: ',exe(1:ncar+5)
218 CALL mpi_barrier(
comm,ier)
220 WRITE(
lu,*)
'P_INIT: ERROR MPI_BARRIER' 221 WRITE(
lu,*)
'MPI ERROR ',ier
232 OPEN(unit=
lu,file=
'PE.LOG', form=
'FORMATTED',
integer, parameter maxlentmpdir
subroutine p_init(CHAINE, NCAR, IPID, NCSIZE)