File indexing completed on 2018-03-02 18:42:38 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
54745c011d Patr*0001 #include "OBCS_OPTIONS.h"
0002
7a9bd3ed90 Jean*0003
0004
0005
0006
85c631e4c7 Jean*0007 SUBROUTINE OBCS_OUTPUT( myTime, myIter, myThid )
7a9bd3ed90 Jean*0008
0009
85c631e4c7 Jean*0010
0011
7a9bd3ed90 Jean*0012
85c631e4c7 Jean*0013
7a9bd3ed90 Jean*0014
54745c011d Patr*0015
7a9bd3ed90 Jean*0016
0017 IMPLICIT NONE
54745c011d Patr*0018
0019 #include "SIZE.h"
0020 #include "EEPARAMS.h"
0021 #include "PARAMS.h"
9b4f2a04e2 Jean*0022 #include "OBCS_PARAMS.h"
0023 #include "OBCS_FIELDS.h"
54745c011d Patr*0024
7a9bd3ed90 Jean*0025
85c631e4c7 Jean*0026
0027
0028
0029 _RL myTime
54745c011d Patr*0030 INTEGER myIter
85c631e4c7 Jean*0031 INTEGER myThid
7a9bd3ed90 Jean*0032
54745c011d Patr*0033
0034 #ifdef ALLOW_OBCS
7a9bd3ed90 Jean*0035
0036 LOGICAL DIFFERENT_MULTIPLE
0037 EXTERNAL DIFFERENT_MULTIPLE
0038
0039
0040
0041
f79e13595d Jean*0042 CHARACTER*(10) suff
7a9bd3ed90 Jean*0043 CHARACTER*(MAX_LEN_FNAM) fn
0044 INTEGER prec
0045
0046
54745c011d Patr*0047
f79e13595d Jean*0048 IF ( DIFFERENT_MULTIPLE( dumpFreq, myTime, deltaTClock )
0049 & .AND. OBCSprintDiags .AND. myIter.NE.nIter0
0050 & ) THEN
54745c011d Patr*0051
7a9bd3ed90 Jean*0052
0053
54745c011d Patr*0054 _BARRIER
0055
0056 #ifdef ALLOW_OBCS_NORTH
f79e13595d Jean*0057 CALL PLOT_FIELD_XZRL( OBNu, 'OBNu' , Nr, myIter, myThid )
0058 CALL PLOT_FIELD_XZRL( OBNv, 'OBNv' , Nr, myIter, myThid )
0059 CALL PLOT_FIELD_XZRL( OBNt, 'OBNt' , Nr, myIter, myThid )
0060 CALL PLOT_FIELD_XZRL( OBNs, 'OBNs' , Nr, myIter, myThid )
54745c011d Patr*0061 #endif
0062
0063 #ifdef ALLOW_OBCS_SOUTH
f79e13595d Jean*0064 CALL PLOT_FIELD_XZRL( OBSu, 'OBSu' , Nr, myIter, myThid )
0065 CALL PLOT_FIELD_XZRL( OBSv, 'OBSv' , Nr, myIter, myThid )
0066 CALL PLOT_FIELD_XZRL( OBSt, 'OBSt' , Nr, myIter, myThid )
0067 CALL PLOT_FIELD_XZRL( OBSs, 'OBSs' , Nr, myIter, myThid )
54745c011d Patr*0068 #endif
0069
0070 #ifdef ALLOW_OBCS_EAST
f79e13595d Jean*0071 CALL PLOT_FIELD_YZRL( OBEu, 'OBEu' , Nr, myIter, myThid )
0072 CALL PLOT_FIELD_YZRL( OBEv, 'OBEv' , Nr, myIter, myThid )
0073 CALL PLOT_FIELD_YZRL( OBEt, 'OBEt' , Nr, myIter, myThid )
0074 CALL PLOT_FIELD_YZRL( OBEs, 'OBEs' , Nr, myIter, myThid )
54745c011d Patr*0075 #endif
0076
0077 #ifdef ALLOW_OBCS_WEST
f79e13595d Jean*0078 CALL PLOT_FIELD_YZRL( OBWu, 'OBWu' , Nr, myIter, myThid )
0079 CALL PLOT_FIELD_YZRL( OBWv, 'OBWv' , Nr, myIter, myThid )
0080 CALL PLOT_FIELD_YZRL( OBWt, 'OBWt' , Nr, myIter, myThid )
0081 CALL PLOT_FIELD_YZRL( OBWs, 'OBWs' , Nr, myIter, myThid )
54745c011d Patr*0082 #endif
0083
0084 ENDIF
0085
7a9bd3ed90 Jean*0086
0087
0088
f79e13595d Jean*0089 IF ( DIFFERENT_MULTIPLE( diagFreq, myTime, deltaTClock )
0090 & .AND. myIter.NE.nIter0
7a9bd3ed90 Jean*0091 & ) THEN
0092
0093 _BARRIER
f79e13595d Jean*0094
0095 WRITE(suff,'(I10.10)') myIter
0096
0097
0098
7a9bd3ed90 Jean*0099 prec = writeBinaryPrec
0100
0101 #ifdef ALLOW_OBCS_NORTH
0102
f79e13595d Jean*0103 WRITE(fn,'(A,A)') 'obcs_N.', suff
7a9bd3ed90 Jean*0104 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBNu,1,myIter,myThid)
0105 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBNv,2,myIter,myThid)
0106 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBNt,3,myIter,myThid)
0107 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBNs,4,myIter,myThid)
0108 # ifdef ALLOW_NONHYDROSTATIC
0109 IF ( nonHydrostatic ) THEN
0110 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBNw,5,myIter,myThid)
0111 ENDIF
0112 # endif
0113 #endif
0114
0115 #ifdef ALLOW_OBCS_SOUTH
0116
f79e13595d Jean*0117 WRITE(fn,'(A,A)') 'obcs_S.', suff
7a9bd3ed90 Jean*0118 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBSu,1,myIter,myThid)
0119 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBSv,2,myIter,myThid)
0120 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBSt,3,myIter,myThid)
0121 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBSs,4,myIter,myThid)
0122 # ifdef ALLOW_NONHYDROSTATIC
0123 IF ( nonHydrostatic ) THEN
0124 CALL WRITE_REC_XZ_RL(fn,prec,Nr,OBSw,5,myIter,myThid)
0125 ENDIF
0126 # endif
0127 #endif
0128
0129 #ifdef ALLOW_OBCS_EAST
0130
f79e13595d Jean*0131 WRITE(fn,'(A,A)') 'obcs_E.', suff
7a9bd3ed90 Jean*0132 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBEu,1,myIter,myThid)
0133 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBEv,2,myIter,myThid)
0134 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBEt,3,myIter,myThid)
0135 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBEs,4,myIter,myThid)
0136 # ifdef ALLOW_NONHYDROSTATIC
0137 IF ( nonHydrostatic ) THEN
0138 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBEw,5,myIter,myThid)
0139 ENDIF
0140 # endif
54745c011d Patr*0141 #endif
0142
7a9bd3ed90 Jean*0143 #ifdef ALLOW_OBCS_WEST
0144
f79e13595d Jean*0145 WRITE(fn,'(A,A)') 'obcs_W.', suff
7a9bd3ed90 Jean*0146 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBWu,1,myIter,myThid)
0147 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBWv,2,myIter,myThid)
0148 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBWt,3,myIter,myThid)
0149 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBWs,4,myIter,myThid)
0150 # ifdef ALLOW_NONHYDROSTATIC
0151 IF ( nonHydrostatic ) THEN
0152 CALL WRITE_REC_YZ_RL(fn,prec,Nr,OBWw,5,myIter,myThid)
0153 ENDIF
0154 # endif
0155 #endif
0156
0157 _BARRIER
0158
0159 ENDIF
0160
f79e13595d Jean*0161
5da861df38 Jean*0162 CALL OBCS_MONITOR( myTime, myIter, myThid )
0163
7a9bd3ed90 Jean*0164 #endif /* ALLOW_OBCS */
0165
54745c011d Patr*0166 RETURN
0167 END