File indexing completed on 2022-03-25 05:10:02 UTC
view on githubraw file Latest commit 64811cb0 on 2022-03-25 02:40:24 UTC
5b141690f8 Jean*0001 #include "MYPACKAGE_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE MYPACKAGE_WRITE_PICKUP( permPickup,
c173f65ed6 Jean*0008 & suff, myTime, myIter, myThid )
5b141690f8 Jean*0009
0010
0011
0012
0013
0014 IMPLICIT NONE
64811cb024 Jean*0015
5b141690f8 Jean*0016 #include "SIZE.h"
0017 #include "EEPARAMS.h"
0018 #include "PARAMS.h"
0019 #include "MYPACKAGE.h"
0020
0021
0022
0023
0024
c173f65ed6 Jean*0025
5b141690f8 Jean*0026
0027 LOGICAL permPickup
0028 CHARACTER*(*) suff
0029 _RL myTime
c173f65ed6 Jean*0030 INTEGER myIter
5b141690f8 Jean*0031 INTEGER myThid
0032
0033
0034
0035
68a8df71d9 Jean*0036 #if (defined MYPACKAGE_3D_STATE) || (defined MYPACKAGE_2D_STATE)
5b141690f8 Jean*0037
0038
0039 INTEGER ILNBLNK
0040 EXTERNAL ILNBLNK
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 INTEGER j, nj, fp, lChar
0053 LOGICAL glf
68a8df71d9 Jean*0054 _RL timList(1)
5b141690f8 Jean*0055 CHARACTER*(MAX_LEN_FNAM) fn
0056 INTEGER listDim, nWrFlds
0057 PARAMETER( listDim = 12 )
0058 CHARACTER*(8) wrFldList(listDim)
0059 CHARACTER*(MAX_LEN_MBUF) msgBuf
0060
0061
0062 lChar = ILNBLNK(suff)
0063 IF ( lChar.EQ.0 ) THEN
0064 WRITE(fn,'(2A)') 'pickup_mypackage'
0065 ELSE
0066 WRITE(fn,'(2A)') 'pickup_mypackage.',suff(1:lChar)
0067 ENDIF
0068 fp = precFloat64
0069 j = 0
0070
0071
0072
0073 #ifdef MYPACKAGE_3D_STATE
0074
0075 j = j + 1
0076 CALL WRITE_REC_3D_RL( fn, fp, Nr,
0077 & myPa_StatScal1, -j, myIter, myThid )
0078 IF (j.LE.listDim) wrFldList(j) = 'myPaSta1'
0079
0080 j = j + 1
0081 CALL WRITE_REC_3D_RL( fn, fp, Nr,
0082 & myPa_StatScal2, -j, myIter, myThid )
0083 IF (j.LE.listDim) wrFldList(j) = 'myPaSta2'
0084
0085 j = j + 1
0086 CALL WRITE_REC_3D_RL( fn, fp, Nr,
0087 & myPa_StatVelU, -j, myIter, myThid )
0088 IF (j.LE.listDim) wrFldList(j) = 'myPaStaU'
0089 j = j + 1
0090 CALL WRITE_REC_3D_RL( fn, fp, Nr,
0091 & myPa_StatVelV, -j, myIter, myThid )
0092 IF (j.LE.listDim) wrFldList(j) = 'myPaStaV'
0093 #endif /* MYPACKAGE_3D_STATE */
0094
0095
0096 nj = -j*Nr
0097
0098 #ifdef MYPACKAGE_2D_STATE
0099 j = j + 1
0100 nj = nj-1
0101 CALL WRITE_REC_3D_RL( fn, fp, 1,
0102 & myPa_Surf1, nj, myIter, myThid )
0103 IF (j.LE.listDim) wrFldList(j) = 'myPaSur1'
0104
0105 j = j + 1
0106 nj = nj-1
0107 CALL WRITE_REC_3D_RL( fn, fp, 1,
0108 & myPa_Surf2, nj, myIter, myThid )
0109 IF (j.LE.listDim) wrFldList(j) = 'myPaSur2'
0110 #endif /* MYPACKAGE_2D_STATE */
0111
0112
0113 nWrFlds = j
0114 IF ( nWrFlds.GT.listDim ) THEN
0115 WRITE(msgBuf,'(2A,I5,A)') 'MYPACKAGE_WRITE_PICKUP: ',
0116 & 'trying to write ',nWrFlds,' fields'
0117 CALL PRINT_ERROR( msgBuf, myThid )
0118 WRITE(msgBuf,'(2A,I5,A)') 'MYPACKAGE_WRITE_PICKUP: ',
0119 & 'field-list dimension (listDim=',listDim,') too small'
0120 CALL PRINT_ERROR( msgBuf, myThid )
7610a0b85a Jean*0121 CALL ALL_PROC_DIE( myThid )
5b141690f8 Jean*0122 STOP 'ABNORMAL END: S/R MYPACKAGE_WRITE_PICKUP (list-size Pb)'
0123 ENDIF
0124 #ifdef ALLOW_MDSIO
0125
0126 j = 1
0127 nj = ABS(nj)
0128 IF ( nWrFlds*Nr .EQ. nj ) THEN
0129 j = Nr
0130 nj = nWrFlds
0131 ENDIF
0132 glf = globalFiles
68a8df71d9 Jean*0133 timList(1) = myTime
5b141690f8 Jean*0134 CALL MDS_WR_METAFILES( fn, fp, glf, .FALSE.,
0135 & 0, 0, j, ' ',
0136 & nWrFlds, wrFldList,
ba68d2f969 Jean*0137 & 1, timList, oneRL,
5b141690f8 Jean*0138 & nj, myIter, myThid )
0139 #endif /* ALLOW_MDSIO */
0140
0141
68a8df71d9 Jean*0142 #endif /* MYPACKAGE_3D_STATE or MYPACKAGE_2D_STATE */
5b141690f8 Jean*0143
0144 RETURN
0145 END