File indexing completed on 2018-03-02 18:37:14 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
4cee17c1be Patr*0001 #include "CPP_EEOPTIONS.h"
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 SUBROUTINE DATE ( string , myThreadId )
0017
0018
0019
0020
0021 IMPLICIT NONE
0022 #include "SIZE.h"
0023 #include "EEPARAMS.h"
0024
0025 CHARACTER*(*) string
0026 INTEGER myThreadId
0027
0028
0029 INTEGER lDate
0030 CHARACTER*(MAX_LEN_MBUF) msgBuffer
0031
0032 lDate = 24
0033 IF ( LEN(string) .LT. lDate ) GOTO 901
0034 string = ' '
e51ecc3fef Ed H*0035 #ifdef HAVE_FDATE
4cee17c1be Patr*0036 CALL FDATE( string )
0037 #endif
0038
0039 1000 CONTINUE
0040 RETURN
0041 901 CONTINUE
0042 WRITE(msgBuffer,'(A)')
0043 &' '
0044 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0045 &SQUEEZE_RIGHT,myThreadId)
0046 WRITE(msgBuffer,'(A)')
0047 &'*** WARNING WARNING WARNING WARNING WARNING WARNING ***'
0048 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0049 &SQUEEZE_RIGHT,myThreadId)
0050 WRITE(msgBuffer,'(A)')
0051 &'procedure: "DATE".'
0052 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0053 &SQUEEZE_RIGHT,myThreadId)
0054 WRITE(msgBuffer,'(A)')
0055 &'Variable passed to S/R DATE is too small.'
0056 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0057 &SQUEEZE_RIGHT,myThreadId)
0058 WRITE(msgBuffer,'(A)')
0059 &' Argument must be at least',lDate,'characters long.'
0060 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0061 &SQUEEZE_RIGHT,myThreadId)
0062 WRITE(msgBuffer,'(A)')
0063 &'*******************************************************'
0064 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0065 &SQUEEZE_RIGHT,myThreadId)
0066 GOTO 1000
0067 END
0068
0069
0070 INTEGER FUNCTION IFNBLNK( string )
0071
0072
0073
0074
0075 IMPLICIT NONE
0076
0077 CHARACTER*(*) string
0078
0079
0080 INTEGER L, LS
0081
0082 LS = LEN(string)
0083 IFNBLNK = 0
0084 DO 10 L = 1, LS
0085 IF ( string(L:L) .EQ. ' ' ) GOTO 10
0086 IFNBLNK = L
0087 GOTO 11
0088 10 CONTINUE
0089 11 CONTINUE
0090
0091 RETURN
0092 END
0093
0094
0095 INTEGER FUNCTION ILNBLNK( string )
0096
0097
0098
0099
0100 IMPLICIT NONE
0101 CHARACTER*(*) string
0102
0103 INTEGER L, LS
0104
0105 LS = LEN(string)
0106 ILNBLNK = LS
0107 DO 10 L = LS, 1, -1
0108 IF ( string(L:L) .EQ. ' ' ) GOTO 10
0109 ILNBLNK = L
0110 GOTO 11
0111 10 CONTINUE
0112 11 CONTINUE
0113
0114 RETURN
0115 END
0116
0117
0118 INTEGER FUNCTION IO_ERRCOUNT(myThid)
0119
0120
0121
0122
0123 IMPLICIT NONE
0124
0125 #include "SIZE.h"
0126 #include "EEPARAMS.h"
0127
0128
0129 INTEGER myThid
0130
0131
0132 IO_ERRCOUNT = ioErrorCount(myThid)
0133
0134 RETURN
0135 END
0136
0137
0138 SUBROUTINE LCASE ( string )
0139
0140
0141
0142
0143 IMPLICIT NONE
0144 CHARACTER*(*) string
0145
0146 CHARACTER*26 LOWER
0147 DATA LOWER /'abcdefghijklmnopqrstuvwxyz'/
0148 SAVE LOWER
0149 CHARACTER*26 UPPER
0150 DATA UPPER /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
0151 SAVE UPPER
0152 INTEGER I, L
0153
0154 DO 10 I = 1, LEN(string)
0155 L = INDEX(UPPER,string(I:I))
0156 IF ( L .EQ. 0 ) GOTO 10
0157 string(I:I) = LOWER(L:L)
0158 10 CONTINUE
0159
0160 RETURN
0161 END
0162
0163
0164 SUBROUTINE MACHINE ( string )
0165
0166
0167
0168
0169 IMPLICIT NONE
0170 #include "SIZE.h"
0171 #include "EEPARAMS.h"
0172 CHARACTER*(*) string
0173
0174
0175 INTEGER IFNBLNK
0176 INTEGER ILNBLNK
0177 EXTERNAL IFNBLNK
0178 EXTERNAL ILNBLNK
0179
0180 INTEGER iFirst
0181 INTEGER iLast
0182 INTEGER iEnd
0183 INTEGER iFree
0184 INTEGER idSize
0185 CHARACTER*1024 strTmp
0186 CHARACTER*1024 idString
0187
0188 strTmp = 'UNKNOWN'
0189 iFree = 1
0190 idSize = LEN(string)
0191 #if (defined (TARGET_T3E) || defined (TARGET_CRAY_VECTOR))
0192 IFirst = 0
0193 CALL PXFGETENV('USER',iFirst,strTmp,ILast,Iend )
0194 #else
0195 CALL GETENV('USER',strTmp )
0196 #endif
0197 IF ( strTmp .NE. ' ' ) THEN
0198 iFirst = IFNBLNK(strTmp)
0199 iLast = ILNBLNK(strTmp)
0200 iEnd = iLast-iFirst+1
0201 IF (iEnd .GE. 0 ) THEN
0202 idString(iFree:) = strTmp(iFirst:iFirst+iEnd)
0203 ENDIF
0204 iFree = iFree+iEnd+1
0205 IF ( iFree .LE. idSize ) THEN
0206 idString(iFree:iFree) = '@'
0207 iFree = iFree+1
0208 ENDIF
0209 ENDIF
0210 strTmp = 'UNKNOWN'
0211 #if (defined (TARGET_T3E) || defined (TARGET_CRAY_VECTOR))
0212 IFirst = 0
0213 CALL PXFGETENV('HOST',iFirst,strTmp,ILast,Iend )
0214 #else
0215 CALL GETENV('HOST',strTmp )
0216 #endif
0217 IF ( strTmp .NE. ' ' ) THEN
0218 iFirst = IFNBLNK(strTmp)
0219 iLast = ILNBLNK(strTmp)
0220 iEnd = iLast-iFirst+1
0221 iEnd = MIN(iEnd,idSize-iFree)
0222 iEnd = iEnd-1
0223 IF (iEnd .GE. 0 ) THEN
0224 idString(iFree:) = strTmp(iFirst:iFirst+iEnd)
0225 ENDIF
0226 iFree = iFree+iEnd+1
0227 ENDIF
0228
0229 string = idString
0230
0231 1000 CONTINUE
0232 RETURN
0233 END
0234
0235 SUBROUTINE UCASE ( string )
0236 IMPLICIT NONE
0237
0238 CHARACTER*(*) string
0239 CHARACTER*26 LOWER
0240 DATA LOWER /'abcdefghijklmnopqrstuvwxyz'/
0241 SAVE LOWER
0242 CHARACTER*26 UPPER
0243 DATA UPPER /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
0244 SAVE UPPER
0245 INTEGER I, L
0246
0247 DO 10 I = 1, LEN(string)
0248 L = INDEX(LOWER,string(I:I))
0249 IF ( L .EQ. 0 ) GOTO 10
0250 string(I:I) = UPPER(L:L)
0251 10 CONTINUE
0252
0253 RETURN
0254 END
0255