File indexing completed on 2023-04-15 05:09:52 UTC
view on githubraw file Latest commit b0b45f23 on 2023-04-14 18:44:36 UTC
b0b45f2373 Ou W*0001 #include "ECCO_OPTIONS.h"
0002
0003
0004
0005
0006 SUBROUTINE ECCO_READ_PICKUP( myIter, myThid )
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 IMPLICIT NONE
0017
0018 #include "SIZE.h"
0019 #include "EEPARAMS.h"
0020 #include "PARAMS.h"
0021 #include "ECCO_SIZE.h"
0022 #include "ECCO.h"
0023
0024
0025
0026 INTEGER myIter
0027 INTEGER myThid
0028
0029 #ifdef ALLOW_PSBAR_STERIC
0030
0031 INTEGER ILNBLNK
0032 EXTERNAL ILNBLNK
0033
0034
0035 CHARACTER*(MAX_LEN_FNAM) fn, fntmp
0036 CHARACTER*(10) suff
0037 CHARACTER*(MAX_LEN_MBUF) msgBuf
0038 INTEGER prec, IL, ioUnit
0039 LOGICAL exst
0040 _RL tmparr(2), dummyRS(1)
0041
0042
0043
0044 IF (pickupSuff.EQ.' ') THEN
0045 IF ( rwSuffixType.EQ.0 ) THEN
0046 WRITE(suff,'(I10.10)') myIter
0047 ELSE
0048 CALL RW_GET_SUFFIX( suff, startTime, myIter, myThid )
0049 ENDIF
0050 ELSE
0051 WRITE(suff,'(A10)') pickupSuff
0052 ENDIF
0053
0054 _BEGIN_MASTER(myThid)
0055
0056 WRITE(fn,'(A,A10)') 'pickup_ecco.', suff
0057
0058
0059
0060
0061
0062
0063
0064
0065 INQUIRE( file=fn, exist=exst )
0066 IF ( .NOT.exst ) THEN
0067
0068 IL = ILNBLNK( fn )
0069 WRITE(fntmp,'(2A)') fn(1:IL),'.data'
0070 INQUIRE( file=fntmp, exist=exst )
0071 ENDIF
0072
0073 IF (exst) THEN
0074 ioUnit = 0
0075 prec = precFloat64
0076 #ifdef ALLOW_MDSIO
0077 CALL MDS_READVEC_LOC( fn, prec, ioUnit, 'RL',
0078 & 2, tmparr, dummyRS, 0, 0, 1, myThid )
0079 #else
0080 STOP 'ABNORMAL END: S/R ECCO_READ_PICKUP: Needs MDSIO pkg'
0081 #endif
0082 VOLsumGlob_0 = tmparr(1)
0083 RHOsumGlob_0 = tmparr(2)
0084 ELSE
0085 WRITE(msgBuf,'(2A)') 'ECCO_READ_PICKUP: ',
0086 & fn(1:IL)//' and '//fntmp(1:iL+5)//' not provided.'
0087 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0088 & SQUEEZE_RIGHT, myThid )
0089 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0090 & SQUEEZE_RIGHT, myThid )
0091 WRITE(msgBuf,'(2A,I10)') 'ECCO_READ_PICKUP: ',
0092 & 'sterGloH is referenced to its value at time step:', nIter0
0093 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0094 & SQUEEZE_RIGHT, myThid )
0095 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0096 & SQUEEZE_RIGHT, myThid )
0097 ENDIF
0098
0099 _END_MASTER(myThid)
0100
0101 #endif /* ALLOW_PSBAR_STERIC */
0102
0103 RETURN
0104 END