File indexing completed on 2020-07-29 05:11:12 UTC
view on githubraw file Latest commit b9dadda2 on 2020-07-28 16:49:33 UTC
046fd16d1c Andr*0001 #include "CPP_EEOPTIONS.h"
0002
241c2ac3c0 Jean*0003
046fd16d1c Andr*0004
0005
0006
0007 SUBROUTINE W2_EEBOOT
0008
0009
0010
241c2ac3c0 Jean*0011
0012
046fd16d1c Andr*0013
0014
0015
0016
241c2ac3c0 Jean*0017
0018
0019 IMPLICIT NONE
0020
046fd16d1c Andr*0021 #include "SIZE.h"
0022 #include "EEPARAMS.h"
017b6b2289 Jean*0023 #include "W2_EXCH2_SIZE.h"
046fd16d1c Andr*0024 #include "W2_EXCH2_TOPOLOGY.h"
0025 #include "W2_EXCH2_PARAMS.h"
241c2ac3c0 Jean*0026
046fd16d1c Andr*0027
55ed3c7ce6 Jean*0028
0029 INTEGER ILNBLNK
0030 EXTERNAL ILNBLNK
0031
0acd686861 Jean*0032
241c2ac3c0 Jean*0033 CHARACTER*(MAX_LEN_MBUF) msgBuf
55ed3c7ce6 Jean*0034 CHARACTER*(MAX_LEN_FNAM) fName
02c8ab205e Jean*0035 INTEGER stdUnit, iLen
0acd686861 Jean*0036 INTEGER myThid
0037 INTEGER ii, I, J
b9dadda204 Mart*0038 CHARACTER*(10) fmtStr
0039 INTEGER iTmp
046fd16d1c Andr*0040
f0385691ef Ed H*0041
046fd16d1c Andr*0042 myThid = 1
241c2ac3c0 Jean*0043
0044
220a2d2887 Jean*0045 exch2_nTiles = 0
017b6b2289 Jean*0046 DO I = 1,W2_maxNbTiles
241c2ac3c0 Jean*0047 exch2_tNx(I) = 0
0048 exch2_tNy(I) = 0
0049 exch2_tBasex(I) = 0
0050 exch2_tBasey(I) = 0
0051 exch2_txGlobalo(I) = 0
0052 exch2_tyGlobalo(I) = 0
0053 exch2_isWedge(I) = 0
0054 exch2_isNedge(I) = 0
0055 exch2_isEedge(I) = 0
0056 exch2_isSedge(I) = 0
0057 exch2_myFace(I) = 0
0058 exch2_mydNx(I) = 0
0059 exch2_mydNy(I) = 0
0060 exch2_nNeighbours(I) = 0
017b6b2289 Jean*0061 DO J = 1,W2_maxNeighbours
241c2ac3c0 Jean*0062 exch2_neighbourId(J,I) = 0
0063 exch2_opposingSend(J,I) = 0
6968107dbf Jean*0064 DO ii = 1,4
0065 exch2_pij(ii,J,I) = 0
241c2ac3c0 Jean*0066 ENDDO
0067 exch2_oi(J,I) = 0
0068 exch2_oj(J,I) = 0
0069 exch2_iLo(J,I) = 0
0070 exch2_iHi(J,I) = 0
0071 exch2_jLo(J,I) = 0
0072 exch2_jHi(J,I) = 0
0073 ENDDO
0074 ENDDO
55ed3c7ce6 Jean*0075 W2_oUnit = standardMessageUnit
0076
0077
017b6b2289 Jean*0078 CALL W2_READPARMS( myThid )
55ed3c7ce6 Jean*0079
0080 stdUnit = standardMessageUnit
0081 WRITE(msgBuf,'(A)') '===== Start setting W2 TOPOLOGY:'
0082 CALL PRINT_MESSAGE( msgBuf, stdUnit, SQUEEZE_RIGHT, myThid )
0083
0084
017b6b2289 Jean*0085 IF ( W2_printMsg .LT. 0 ) THEN
b9dadda204 Mart*0086 iTmp = MAX(4,1 + INT(LOG10(DFLOAT(nPx*nPy))))
0087 WRITE(fmtStr,'(2(A,I1),A)') '(A,I',iTmp,'.',iTmp,',A)'
0088 WRITE(fName,fmtStr) 'w2_tile_topology.',myProcId,'.log'
55ed3c7ce6 Jean*0089 iLen = ILNBLNK(fName)
0090 CALL MDSFINDUNIT( W2_oUnit, myThid )
0091 OPEN( W2_oUnit, file=fName(1:iLen),
0092 & status='unknown', form='formatted')
98412d2c05 Jean*0093 WRITE(msgBuf,'(2A)') ' write to log-file: ', fName(1:iLen)
55ed3c7ce6 Jean*0094 CALL PRINT_MESSAGE( msgBuf, stdUnit, SQUEEZE_RIGHT, myThid )
0095 ENDIF
241c2ac3c0 Jean*0096
0097
017b6b2289 Jean*0098 CALL W2_E2SETUP( myThid )
046fd16d1c Andr*0099
0acd686861 Jean*0100
0101
0102
0103 CALL W2_MAP_PROCS( myThid )
a269055ce3 Jean*0104
046fd16d1c Andr*0105
017b6b2289 Jean*0106 IF ( W2_printMsg .NE. 0 ) THEN
0107 CALL W2_PRINT_COMM_SEQUENCE( myThid )
0108 ENDIF
55ed3c7ce6 Jean*0109
0110
0111 IF ( W2_oUnit.NE.standardMessageUnit ) THEN
0112 WRITE(msgBuf,'(A)') '=== End TOPOLOGY report ==='
0113 CALL PRINT_MESSAGE( msgBuf, W2_oUnit, SQUEEZE_BOTH, myThid )
0114 CLOSE( W2_oUnit )
0115 ENDIF
0116 WRITE(msgBuf,'(A)') '===== setting W2 TOPOLOGY: Done'
0117 CALL PRINT_MESSAGE( msgBuf, stdUnit, SQUEEZE_RIGHT, myThid )
0118 WRITE(msgBuf,'(A)') ' '
0119 CALL PRINT_MESSAGE( msgBuf, stdUnit, SQUEEZE_RIGHT, myThid )
241c2ac3c0 Jean*0120
046fd16d1c Andr*0121 RETURN
0122 END