File indexing completed on 2018-03-02 18:38:25 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
cf5b5345a0 Jean*0001 #include "CHEAPAML_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE CHEAPAML_WRITE_PICKUP( permPickup,
0008 & suff, myTime, myIter, myThid )
0009
0010
ced0783fba Jean*0011
cf5b5345a0 Jean*0012
0013
0014 IMPLICIT NONE
0015 #include "SIZE.h"
0016 #include "EEPARAMS.h"
0017 #include "PARAMS.h"
ced0783fba Jean*0018 #include "FFIELDS.h"
cf5b5345a0 Jean*0019 #include "CHEAPAML.h"
0020
0021
0022
0023
0024
0025
0026
0027 LOGICAL permPickup
0028 CHARACTER*(*) suff
0029 _RL myTime
0030 INTEGER myIter
0031 INTEGER myThid
0032
0033
0034
0035
0036 #ifdef ALLOW_CHEAPAML
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
ba68d2f969 Jean*0054 _RL timList(1)
cf5b5345a0 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_cheapaml'
0065 ELSE
0066 WRITE(fn,'(2A)') 'pickup_cheapaml.',suff(1:lChar)
0067 ENDIF
0068 fp = precFloat64
0069 j = 0
0070
0071
0072
0073
0074
0075
0076 nj = -j*Nr
0077
0078 j = j + 1
0079 nj = nj-1
0080 CALL WRITE_REC_3D_RL( fn, fp, 1,
0081 & Tair, nj, myIter, myThid )
d1720f0c76 Nico*0082 IF (j.LE.listDim) wrFldList(j) = 'Tair '
ced0783fba Jean*0083 j = j + 1
0084 nj = nj-1
4fa4901be6 Nico*0085 CALL WRITE_REC_3D_RL( fn, fp, 1,
58fa289e25 Jean*0086 & gTairm, nj, myIter, myThid )
0087 IF (j.LE.listDim) wrFldList(j) = 'gTairNm1'
ced0783fba Jean*0088
58fa289e25 Jean*0089 IF (useFreshWaterFlux) THEN
ced0783fba Jean*0090 j = j + 1
0091 nj = nj-1
0092 CALL WRITE_REC_3D_RL( fn, fp, 1,
0093 & qair, nj, myIter, myThid )
d1720f0c76 Nico*0094 IF (j.LE.listDim) wrFldList(j) = 'Qair '
ced0783fba Jean*0095 j = j + 1
0096 nj = nj-1
4fa4901be6 Nico*0097 CALL WRITE_REC_3D_RL( fn, fp, 1,
58fa289e25 Jean*0098 & gqairm, nj, myIter, myThid )
0099 IF (j.LE.listDim) wrFldList(j) = 'gQairNm1'
0100 ENDIF
51132e5783 Nico*0101
58fa289e25 Jean*0102 IF (useCheapTracer) THEN
0103 j = j + 1
0104 nj = nj-1
0105 CALL WRITE_REC_3D_RL( fn, fp, 1,
51132e5783 Nico*0106 & Cheaptracer, nj, myIter, myThid )
58fa289e25 Jean*0107 IF (j.LE.listDim) wrFldList(j) = 'cTracer '
0108 j = j + 1
0109 nj = nj-1
0110 CALL WRITE_REC_3D_RL( fn, fp, 1,
0111 & gCheaptracerm, nj, myIter, myThid )
0112 IF (j.LE.listDim) wrFldList(j) = 'gTracNm1'
0113 ENDIF
51132e5783 Nico*0114
cf5b5345a0 Jean*0115
58fa289e25 Jean*0116 nWrFlds = j
0117 IF ( nWrFlds.GT.listDim ) THEN
cf5b5345a0 Jean*0118 WRITE(msgBuf,'(2A,I5,A)') 'CHEAPAML_WRITE_PICKUP: ',
0119 & 'trying to write ',nWrFlds,' fields'
0120 CALL PRINT_ERROR( msgBuf, myThid )
0121 WRITE(msgBuf,'(2A,I5,A)') 'CHEAPAML_WRITE_PICKUP: ',
0122 & 'field-list dimension (listDim=',listDim,') too small'
0123 CALL PRINT_ERROR( msgBuf, myThid )
0124 STOP 'ABNORMAL END: S/R CHEAPAML_WRITE_PICKUP (list-size Pb)'
58fa289e25 Jean*0125 ENDIF
cf5b5345a0 Jean*0126 #ifdef ALLOW_MDSIO
0127
0128 j = 1
0129 nj = ABS(nj)
0130 IF ( nWrFlds*Nr .EQ. nj ) THEN
0131 j = Nr
0132 nj = nWrFlds
0133 ENDIF
0134 glf = globalFiles
ba68d2f969 Jean*0135 timList(1) = myTime
cf5b5345a0 Jean*0136 CALL MDS_WR_METAFILES( fn, fp, glf, .FALSE.,
0137 & 0, 0, j, ' ',
0138 & nWrFlds, wrFldList,
ba68d2f969 Jean*0139 & 1, timList, oneRL,
cf5b5345a0 Jean*0140 & nj, myIter, myThid )
0141 #endif /* ALLOW_MDSIO */
0142
0143
0144 #endif /* ALLOW_CHEAPAML */
0145
0146 RETURN
0147 END