File indexing completed on 2018-03-02 18:37:41 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
b2ea1d2979 Jean*0001 #include "ATM_PHYS_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE ATM_PHYS_WRITE_PICKUP( permPickup,
0008 & suff, myTime, myIter, myThid )
0009
0010
0011
0012
0013
0014 IMPLICIT NONE
0015 #include "SIZE.h"
0016 #include "EEPARAMS.h"
0017 #include "PARAMS.h"
0018 #include "ATM_PHYS_PARAMS.h"
0019 #include "ATM_PHYS_VARS.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_ATM_PHYS
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
0054 _RL timList(1)
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
b5f066e9ce Jean*0062
0063 IF ( .NOT.atmPhys_stepSST ) RETURN
0064
b2ea1d2979 Jean*0065 lChar = ILNBLNK(suff)
0066 IF ( lChar.EQ.0 ) THEN
0067 WRITE(fn,'(2A)') 'pickup_atmPhys'
0068 ELSE
0069 WRITE(fn,'(2A)') 'pickup_atmPhys.',suff(1:lChar)
0070 ENDIF
0071 fp = precFloat64
0072 j = 0
0073
0074
0075
0076
0077 nj = -j*Nr
0078
0079 j = j + 1
0080 nj = nj-1
0081 CALL WRITE_REC_3D_RL( fn, fp, 1,
0082 & atmPhys_SST, nj, myIter, myThid )
0083 IF (j.LE.listDim) wrFldList(j) = 'AtPh_SST'
0084
0085
0086 nWrFlds = j
0087 IF ( nWrFlds.GT.listDim ) THEN
0088 WRITE(msgBuf,'(2A,I5,A)') 'ATM_PHYS_WRITE_PICKUP: ',
0089 & 'trying to write ',nWrFlds,' fields'
0090 CALL PRINT_ERROR( msgBuf, myThid )
0091 WRITE(msgBuf,'(2A,I5,A)') 'ATM_PHYS_WRITE_PICKUP: ',
0092 & 'field-list dimension (listDim=',listDim,') too small'
0093 CALL PRINT_ERROR( msgBuf, myThid )
0094 CALL ALL_PROC_DIE( myThid )
0095 STOP 'ABNORMAL END: S/R ATM_PHYS_WRITE_PICKUP (list-size Pb)'
0096 ENDIF
0097 #ifdef ALLOW_MDSIO
0098
0099 j = 1
0100 nj = ABS(nj)
0101 IF ( nWrFlds*Nr .EQ. nj ) THEN
0102 j = Nr
0103 nj = nWrFlds
0104 ENDIF
0105 glf = globalFiles
0106 timList(1) = myTime
0107 CALL MDS_WR_METAFILES( fn, fp, glf, .FALSE.,
0108 & 0, 0, j, ' ',
0109 & nWrFlds, wrFldList,
0110 & 1, timList, oneRL,
0111 & nj, myIter, myThid )
0112 #endif /* ALLOW_MDSIO */
0113
0114
0115 #endif /* ALLOW_ATM_PHYS */
0116
0117 RETURN
0118 END