File indexing completed on 2018-03-02 18:36:15 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
924557e60a Chri*0001 #include "CPP_EEOPTIONS.h"
0002
0003
0004
0005
0006
0007
66dc79a095 Chri*0008
924557e60a Chri*0009
0010
0011
0012
0013
0014
ec7b4bf650 Jean*0015
4c563c2ee9 Chri*0016
0017
0018
0019
924557e60a Chri*0020 SUBROUTINE DATE ( string , myThreadId )
4c563c2ee9 Chri*0021 IMPLICIT NONE
0022
0023
0024
924557e60a Chri*0025
0026
4c563c2ee9 Chri*0027
0028
0029
924557e60a Chri*0030 #include "SIZE.h"
0031 #include "EEPARAMS.h"
4c563c2ee9 Chri*0032
0033
0034
0035
924557e60a Chri*0036 CHARACTER*(*) string
0037 INTEGER myThreadId
ec7b4bf650 Jean*0038
4c563c2ee9 Chri*0039
0040
0041
924557e60a Chri*0042 INTEGER lDate
0043 CHARACTER*(MAX_LEN_MBUF) msgBuffer
4c563c2ee9 Chri*0044
ec7b4bf650 Jean*0045
924557e60a Chri*0046 lDate = 24
0047 IF ( LEN(string) .LT. lDate ) GOTO 901
0048 string = ' '
e51ecc3fef Ed H*0049 #ifdef HAVE_FDATE
924557e60a Chri*0050 CALL FDATE( string )
79f5b9efed Alis*0051 #endif
ec7b4bf650 Jean*0052
924557e60a Chri*0053 1000 CONTINUE
0054 RETURN
0055 901 CONTINUE
0056 WRITE(msgBuffer,'(A)')
0057 &' '
46dc4f419b Chri*0058 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0059 &SQUEEZE_RIGHT,myThreadId)
924557e60a Chri*0060 WRITE(msgBuffer,'(A)')
0061 &'*** WARNING WARNING WARNING WARNING WARNING WARNING ***'
46dc4f419b Chri*0062 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0063 &SQUEEZE_RIGHT,myThreadId)
924557e60a Chri*0064 WRITE(msgBuffer,'(A)')
0065 &'procedure: "DATE".'
46dc4f419b Chri*0066 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0067 &SQUEEZE_RIGHT,myThreadId)
924557e60a Chri*0068 WRITE(msgBuffer,'(A)')
0069 &'Variable passed to S/R DATE is too small.'
46dc4f419b Chri*0070 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0071 &SQUEEZE_RIGHT,myThreadId)
924557e60a Chri*0072 WRITE(msgBuffer,'(A)')
0073 &' Argument must be at least',lDate,'characters long.'
46dc4f419b Chri*0074 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0075 &SQUEEZE_RIGHT,myThreadId)
924557e60a Chri*0076 WRITE(msgBuffer,'(A)')
0077 &'*******************************************************'
46dc4f419b Chri*0078 CALL PRINT_MESSAGE(msgBuffer,standardMessageUnit,
0079 &SQUEEZE_RIGHT,myThreadId)
924557e60a Chri*0080 GOTO 1000
0081 END
0082
ec7b4bf650 Jean*0083
4c563c2ee9 Chri*0084
0085
0086
0087
924557e60a Chri*0088 INTEGER FUNCTION IFNBLNK( string )
4c563c2ee9 Chri*0089 IMPLICIT NONE
0090
0091
0092
924557e60a Chri*0093
0094
4c563c2ee9 Chri*0095
ec7b4bf650 Jean*0096
4c563c2ee9 Chri*0097
0098
924557e60a Chri*0099 CHARACTER*(*) string
4c563c2ee9 Chri*0100
0101
0102
924557e60a Chri*0103 INTEGER L, LS
4c563c2ee9 Chri*0104
ec7b4bf650 Jean*0105
924557e60a Chri*0106 LS = LEN(string)
0107 IFNBLNK = 0
0108 DO 10 L = 1, LS
0109 IF ( string(L:L) .EQ. ' ' ) GOTO 10
0110 IFNBLNK = L
0111 GOTO 11
0112 10 CONTINUE
0113 11 CONTINUE
ec7b4bf650 Jean*0114
924557e60a Chri*0115 RETURN
0116 END
0117
ec7b4bf650 Jean*0118
4c563c2ee9 Chri*0119
0120
0121
0122
924557e60a Chri*0123 INTEGER FUNCTION ILNBLNK( string )
4c563c2ee9 Chri*0124 IMPLICIT NONE
0125
0126
0127
924557e60a Chri*0128
0129
4c563c2ee9 Chri*0130
0131
0132
0133
924557e60a Chri*0134 CHARACTER*(*) string
4c563c2ee9 Chri*0135
0136
0137
924557e60a Chri*0138 INTEGER L, LS
4c563c2ee9 Chri*0139
ec7b4bf650 Jean*0140
924557e60a Chri*0141 LS = LEN(string)
6795fede1d Jean*0142
0143 ILNBLNK = 0
924557e60a Chri*0144 DO 10 L = LS, 1, -1
0145 IF ( string(L:L) .EQ. ' ' ) GOTO 10
0146 ILNBLNK = L
0147 GOTO 11
0148 10 CONTINUE
0149 11 CONTINUE
ec7b4bf650 Jean*0150
924557e60a Chri*0151 RETURN
0152 END
0153
ec7b4bf650 Jean*0154
4c563c2ee9 Chri*0155
0156
0157
0158
66dc79a095 Chri*0159 INTEGER FUNCTION IO_ERRCOUNT(myThid)
4c563c2ee9 Chri*0160 IMPLICIT NONE
0161
0162
0163
2b4c849245 Ed H*0164
66dc79a095 Chri*0165
4c563c2ee9 Chri*0166
0167
0168
66dc79a095 Chri*0169
0170 #include "SIZE.h"
0171 #include "EEPARAMS.h"
0172
4c563c2ee9 Chri*0173
66dc79a095 Chri*0174
4c563c2ee9 Chri*0175
66dc79a095 Chri*0176 INTEGER myThid
4c563c2ee9 Chri*0177
0178
66dc79a095 Chri*0179
0180 IO_ERRCOUNT = ioErrorCount(myThid)
0181
0182 RETURN
0183 END
0184
ec7b4bf650 Jean*0185
4c563c2ee9 Chri*0186
0187
0188
0189
924557e60a Chri*0190 SUBROUTINE LCASE ( string )
4c563c2ee9 Chri*0191 IMPLICIT NONE
0192
0193
0194
924557e60a Chri*0195
0196
4c563c2ee9 Chri*0197
0198
0199
924557e60a Chri*0200 CHARACTER*(*) string
4c563c2ee9 Chri*0201
0202
924557e60a Chri*0203 CHARACTER*26 LOWER
0204 DATA LOWER /'abcdefghijklmnopqrstuvwxyz'/
0205 SAVE LOWER
0206 CHARACTER*26 UPPER
0207 DATA UPPER /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
0208 SAVE UPPER
0209 INTEGER I, L
4c563c2ee9 Chri*0210
0211
924557e60a Chri*0212 DO 10 I = 1, LEN(string)
0213 L = INDEX(UPPER,string(I:I))
0214 IF ( L .EQ. 0 ) GOTO 10
0215 string(I:I) = LOWER(L:L)
0216 10 CONTINUE
ec7b4bf650 Jean*0217
924557e60a Chri*0218 RETURN
0219 END
0220
ec7b4bf650 Jean*0221
4c563c2ee9 Chri*0222
0223
0224
0225
924557e60a Chri*0226 SUBROUTINE MACHINE ( string )
4c563c2ee9 Chri*0227 IMPLICIT NONE
0228
0229
0230
924557e60a Chri*0231
0232
4c563c2ee9 Chri*0233
0234
0235
924557e60a Chri*0236 #include "SIZE.h"
0237 #include "EEPARAMS.h"
0238 INTEGER IFNBLNK
0239 INTEGER ILNBLNK
0240 EXTERNAL IFNBLNK
0241 EXTERNAL ILNBLNK
4c563c2ee9 Chri*0242
0243
0244
0245 CHARACTER*(*) string
0246
0247
0248
0249
0250
924557e60a Chri*0251 INTEGER iFirst
ec7b4bf650 Jean*0252 INTEGER iLast
0253 INTEGER iEnd
924557e60a Chri*0254 INTEGER iFree
0255 INTEGER idSize
0256 CHARACTER*1024 strTmp
0257 CHARACTER*1024 idString
4c563c2ee9 Chri*0258
924557e60a Chri*0259
0260 strTmp = 'UNKNOWN'
0261 iFree = 1
0262 idSize = LEN(string)
d4318425b4 Patr*0263 #if (defined (TARGET_T3E) || defined (TARGET_CRAY_VECTOR) &&
79f5b9efed Alis*0264 IFirst = 0
0265 CALL PXFGETENV('USER',iFirst,strTmp,ILast,Iend )
0266 #else
924557e60a Chri*0267 CALL GETENV('USER',strTmp )
79f5b9efed Alis*0268 #endif
924557e60a Chri*0269 IF ( strTmp .NE. ' ' ) THEN
0270 iFirst = IFNBLNK(strTmp)
0271 iLast = ILNBLNK(strTmp)
0272 iEnd = iLast-iFirst+1
0273 IF (iEnd .GE. 0 ) THEN
0274 idString(iFree:) = strTmp(iFirst:iFirst+iEnd)
0275 ENDIF
0276 iFree = iFree+iEnd+1
0277 IF ( iFree .LE. idSize ) THEN
0278 idString(iFree:iFree) = '@'
0279 iFree = iFree+1
0280 ENDIF
0281 ENDIF
0282 strTmp = 'UNKNOWN'
d4318425b4 Patr*0283 #if (defined (TARGET_T3E) || defined (TARGET_CRAY_VECTOR) &&
79f5b9efed Alis*0284 IFirst = 0
0285 CALL PXFGETENV('HOST',iFirst,strTmp,ILast,Iend )
0286 #else
0287 CALL GETENV('HOST',strTmp )
0288 #endif
924557e60a Chri*0289 IF ( strTmp .NE. ' ' ) THEN
0290 iFirst = IFNBLNK(strTmp)
0291 iLast = ILNBLNK(strTmp)
0292 iEnd = iLast-iFirst+1
0293 iEnd = MIN(iEnd,idSize-iFree)
0294 iEnd = iEnd-1
0295 IF (iEnd .GE. 0 ) THEN
0296 idString(iFree:) = strTmp(iFirst:iFirst+iEnd)
0297 ENDIF
0298 iFree = iFree+iEnd+1
0299 ENDIF
ec7b4bf650 Jean*0300
924557e60a Chri*0301 string = idString
ec7b4bf650 Jean*0302
924557e60a Chri*0303 RETURN
0304 END
4c563c2ee9 Chri*0305
ec7b4bf650 Jean*0306
4c563c2ee9 Chri*0307
0308
0309
0310
924557e60a Chri*0311 SUBROUTINE UCASE ( string )
e7ea7a463f Alis*0312 IMPLICIT NONE
4c563c2ee9 Chri*0313
0314
924557e60a Chri*0315
4c563c2ee9 Chri*0316
0317
924557e60a Chri*0318 CHARACTER*(*) string
4c563c2ee9 Chri*0319
0320
924557e60a Chri*0321 CHARACTER*26 LOWER
0322 DATA LOWER /'abcdefghijklmnopqrstuvwxyz'/
0323 SAVE LOWER
0324 CHARACTER*26 UPPER
0325 DATA UPPER /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
0326 SAVE UPPER
0327 INTEGER I, L
4c563c2ee9 Chri*0328
0329
924557e60a Chri*0330 DO 10 I = 1, LEN(string)
0331 L = INDEX(LOWER,string(I:I))
0332 IF ( L .EQ. 0 ) GOTO 10
0333 string(I:I) = UPPER(L:L)
0334 10 CONTINUE
ec7b4bf650 Jean*0335
924557e60a Chri*0336 RETURN
0337 END