File indexing completed on 2018-03-02 18:39:14 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
7f407c2fb7 Davi*0001 #include "DIC_OPTIONS.h"
0002
6ac17d82f2 Jean*0003
0004
7f407c2fb7 Davi*0005
6ac17d82f2 Jean*0006
0007 SUBROUTINE DIC_WRITE_PICKUP( permPickup,
0008 I suff, myTime, myIter, myThid )
0009
0010
0011
0012
0013
7f407c2fb7 Davi*0014 IMPLICIT NONE
0015
0016 #include "SIZE.h"
0017 #include "EEPARAMS.h"
0018 #include "PARAMS.h"
2ef8966791 Davi*0019 #include "DIC_VARS.h"
175a18b00a Jean*0020 #include "DIC_ATMOS.h"
7f407c2fb7 Davi*0021
6ac17d82f2 Jean*0022
7f407c2fb7 Davi*0023
6ac17d82f2 Jean*0024
0025
0026
0027
7f407c2fb7 Davi*0028 LOGICAL permPickup
0029 CHARACTER*(*) suff
0030 _RL myTime
0031 INTEGER myIter
0032 INTEGER myThid
6ac17d82f2 Jean*0033
7f407c2fb7 Davi*0034
0035 #ifdef ALLOW_DIC
0036
0037
0038
0039 CHARACTER*(MAX_LEN_FNAM) fn
175a18b00a Jean*0040 INTEGER prec
0041 INTEGER ioUnit
aef6063cdf Jean*0042 _RL tmpFld(2)
175a18b00a Jean*0043 _RS dummyRS(1)
0044 #ifdef DIC_BIOTIC
d800a455f8 Jean*0045 LOGICAL glf
1706a6e971 Jean*0046 _RL timList(1)
175a18b00a Jean*0047 INTEGER j, nj
d800a455f8 Jean*0048 INTEGER listDim, nWrFlds
0049 PARAMETER( listDim = 2 )
0050 CHARACTER*(8) wrFldList(listDim)
0051 CHARACTER*(MAX_LEN_MBUF) msgBuf
175a18b00a Jean*0052 #endif
0053
d800a455f8 Jean*0054
0055 prec = precFloat64
175a18b00a Jean*0056
0057 IF ( dic_int1.EQ.3 ) THEN
0058 WRITE(fn,'(A,A)') 'pickup_dic_co2atm.',suff
0059 ioUnit = 0
0701be6da6 Jean*0060 #ifdef ALLOW_OPENAD
0061 tmpFld(1) = total_atmos_carbon%v
0062 tmpFld(2) = atpco2%v
0063 #else /* ALLOW_OPENAD */
aef6063cdf Jean*0064 tmpFld(1) = total_atmos_carbon
0065 tmpFld(2) = atpco2
0701be6da6 Jean*0066 #endif /* ALLOW_OPENAD */
175a18b00a Jean*0067 #ifdef ALLOW_MDSIO
0068 CALL MDS_WRITEVEC_LOC(
0069 I fn, prec, ioUnit,
aef6063cdf Jean*0070 I 'RL', 2, tmpFld, dummyRS,
175a18b00a Jean*0071 I 0, 0, 1, myIter, myThid )
0072 #endif
0073 ENDIF
0074
0075 #ifdef DIC_BIOTIC
d800a455f8 Jean*0076 WRITE(fn,'(A,A)') 'pickup_dic.',suff
0077 j = 0
7f407c2fb7 Davi*0078
d800a455f8 Jean*0079
0080
0081
0082 nj = -j*Nr
0083
0084
0085 j = j + 1
0086 nj = nj-1
0087 CALL WRITE_REC_3D_RL( fn, prec, 1, pH, nj, myIter, myThid )
0088 IF (j.LE.listDim) wrFldList(j) = 'DIC_pH2d'
0089
0090
0091 nWrFlds = j
0092 IF ( nWrFlds.GT.listDim ) THEN
0093 WRITE(msgBuf,'(2A,I5,A)') 'DIC_WRITE_PICKUP: ',
0094 & 'trying to write ',nWrFlds,' fields'
0095 CALL PRINT_ERROR( msgBuf, myThid )
0096 WRITE(msgBuf,'(2A,I5,A)') 'DIC_WRITE_PICKUP: ',
0097 & 'field-list dimension (listDim=',listDim,') too small'
0098 CALL PRINT_ERROR( msgBuf, myThid )
0099 STOP 'ABNORMAL END: S/R DIC_WRITE_PICKUP (list-size Pb)'
0100 ENDIF
0101
0102 #ifdef ALLOW_MDSIO
0103
0104
0105 j = 1
0106 nj = ABS(nj)
0107 IF ( nWrFlds*Nr .EQ. nj ) THEN
0108 j = Nr
0109 nj = nWrFlds
0110 ENDIF
0111 glf = globalFiles
1706a6e971 Jean*0112 timList(1) = myTime
d800a455f8 Jean*0113 CALL MDS_WR_METAFILES( fn, prec, glf, .FALSE.,
0114 & 0, 0, j, ' ',
0115 & nWrFlds, wrFldList,
ba68d2f969 Jean*0116 & 1, timList, oneRL,
d800a455f8 Jean*0117 & nj, myIter, myThid )
0118 #endif /* ALLOW_MDSIO */
0119
0120
175a18b00a Jean*0121 #endif /* DIC_BIOTIC */
0122
d800a455f8 Jean*0123
7f407c2fb7 Davi*0124
175a18b00a Jean*0125 #endif /* ALLOW_DIC */
7f407c2fb7 Davi*0126
0127 RETURN
0128 END