File indexing completed on 2025-11-07 06:08:11 UTC
view on githubraw file Latest commit b7411f1a on 2025-11-06 19:05:26 UTC
6d54cf9ca1 Ed H*0001 #include "PACKAGES_CONFIG.h"
1dbaea09ee Chri*0002 #include "CPP_OPTIONS.h"
924557e60a Chri*0003
a30418b6b9 Ed H*0004
9366854e02 Chri*0005
0006
a30418b6b9 Ed H*0007
9366854e02 Chri*0008
a30418b6b9 Ed H*0009 SUBROUTINE DO_THE_MODEL_IO(
94884059ae Jean*0010 I modelEnd,
0011 I myTime, myIter, myThid )
a30418b6b9 Ed H*0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
924557e60a Chri*0025
8f92343d9b Jean*0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
906a61c194 Ou W*0054
0055
8f92343d9b Jean*0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
9366854e02 Chri*0072
0073 IMPLICIT NONE
924557e60a Chri*0074 #include "SIZE.h"
0075 #include "EEPARAMS.h"
0076 #include "PARAMS.h"
0077 #include "DYNVARS.h"
66dc79a095 Chri*0078
9366854e02 Chri*0079
94884059ae Jean*0080
0081
0082
0083
0084 LOGICAL modelEnd
51e2f64a3e Jean*0085 _RL myTime
924557e60a Chri*0086 INTEGER myThid
0087 INTEGER myIter
8f92343d9b Jean*0088
0089
0090 LOGICAL DIFFERENT_MULTIPLE
0091 EXTERNAL DIFFERENT_MULTIPLE
9366854e02 Chri*0092
924557e60a Chri*0093
3138cfd14a Jean*0094
a30418b6b9 Ed H*0095
522c728681 Jean*0096 IF ( plotLevel.GE.debLevD ) THEN
0fa2023ba5 Jean*0097 IF ( DIFFERENT_MULTIPLE(dumpFreq,myTime,deltaTClock)
b0b2dc332d Jean*0098 & ) THEN
a30418b6b9 Ed H*0099
0100 _BARRIER
0101
0102
3138cfd14a Jean*0103 CALL PLOT_FIELD_XYZRL( uVel , 'Current uVel ',
a30418b6b9 Ed H*0104 & Nr, myIter, myThid )
3138cfd14a Jean*0105 CALL PLOT_FIELD_XYZRL( vVel , 'Current vVel ',
a30418b6b9 Ed H*0106 & Nr, myIter, myThid )
3138cfd14a Jean*0107 CALL PLOT_FIELD_XYZRL( theta, 'Current theta ',
a30418b6b9 Ed H*0108 & Nr, myIter, myThid )
3138cfd14a Jean*0109 CALL PLOT_FIELD_XYRL( etaN , 'Current etaN ',
a30418b6b9 Ed H*0110 & myIter, myThid )
a27159adf7 Jean*0111
a30418b6b9 Ed H*0112 ENDIF
66dc79a095 Chri*0113 ENDIF
0114
a30418b6b9 Ed H*0115
a27159adf7 Jean*0116 IF ( .NOT.useOffLine ) THEN
0117 CALL WRITE_STATE( myTime, myIter, myThid )
0118 ENDIF
66dc79a095 Chri*0119
1c514993d7 Andr*0120 #ifdef ALLOW_FIZHI
3138cfd14a Jean*0121 IF ( useFIZHI )
b0b2dc332d Jean*0122 & CALL FIZHI_WRITE_STATE( myTime, myIter, myThid )
1c514993d7 Andr*0123 #endif
0124
c7a7aa41bf Jean*0125 #ifdef ALLOW_LAND
51e2f64a3e Jean*0126
fff6867ec8 Jean*0127 IF ( useLAND )
51e2f64a3e Jean*0128 & CALL LAND_OUTPUT( myTime, myIter, myThid )
a27159adf7 Jean*0129 #endif
3683861f35 Alis*0130
5d7fa54ba5 Patr*0131 #ifdef ALLOW_OBCS
48141007cd Jean*0132 IF (useOBCS )
5616f3581e Jean*0133 & CALL OBCS_OUTPUT( myTime, myIter, myThid )
5d7fa54ba5 Patr*0134 #endif
0135
3683861f35 Alis*0136 #ifdef ALLOW_GMREDI
e9164883fe Jean*0137
a27159adf7 Jean*0138 IF (useGMRedi .AND. myIter.NE.nIter0 .AND. .NOT.useOffLine )
e9164883fe Jean*0139 & CALL GMREDI_OUTPUT( myTime, myIter, myThid )
3683861f35 Alis*0140 #endif
0141
0142 #ifdef ALLOW_KPP
a30418b6b9 Ed H*0143
02f4da180f Oliv*0144 IF ( useKPP )
5616f3581e Jean*0145 & CALL KPP_OUTPUT( myTime, myIter, myThid )
3683861f35 Alis*0146 #endif
0147
e864122ae8 Mart*0148 #ifdef ALLOW_PP81
a30418b6b9 Ed H*0149
3138cfd14a Jean*0150 IF ( usePP81 )
5616f3581e Jean*0151 & CALL PP81_OUTPUT( myTime, myIter, myThid )
e864122ae8 Mart*0152 #endif
0153
d8d1486ca1 Jean*0154 #ifdef ALLOW_KL10
0155
0156 IF ( useKL10 )
0157 & CALL KL10_OUTPUT( myTime, myIter, myThid )
0158 #endif
0159
e864122ae8 Mart*0160 #ifdef ALLOW_MY82
a30418b6b9 Ed H*0161
3138cfd14a Jean*0162 IF ( useMY82 )
5616f3581e Jean*0163 & CALL MY82_OUTPUT( myTime, myIter, myThid )
e864122ae8 Mart*0164 #endif
0165
016b84c482 Mart*0166
69a7b27187 Mart*0167
016b84c482 Mart*0168
0169
0170
69a7b27187 Mart*0171
0172 #ifdef ALLOW_GGL90
0173
3138cfd14a Jean*0174 IF ( useGGL90 )
5616f3581e Jean*0175 & CALL GGL90_OUTPUT( myTime, myIter, myThid )
69a7b27187 Mart*0176 #endif
0177
6060ec2938 Dimi*0178 #ifdef ALLOW_SBO
a30418b6b9 Ed H*0179
3138cfd14a Jean*0180 IF ( useSBO ) THEN
0181 CALL SBO_CALC( myTime, myIter, myThid )
5616f3581e Jean*0182 CALL SBO_OUTPUT( myTime, myIter, myThid )
6060ec2938 Dimi*0183 ENDIF
0184 #endif
0185
906a61c194 Ou W*0186 #ifdef ALLOW_ECCO
0187 IF ( useECCO ) THEN
0188 CALL STERGLOH_OUTPUT( myTime, myIter, myThid )
0189 ENDIF
0190 #endif
0191
36f6faaf99 Dimi*0192 #ifdef ALLOW_SEAICE
a30418b6b9 Ed H*0193 IF ( useSEAICE ) THEN
5616f3581e Jean*0194 CALL SEAICE_OUTPUT( myTime, myIter, myThid )
a30418b6b9 Ed H*0195 ENDIF
36f6faaf99 Dimi*0196 #endif /* ALLOW_SEAICE */
0197
a6cbc7a360 Mart*0198 #ifdef ALLOW_SHELFICE
0199 IF ( useShelfIce ) THEN
5616f3581e Jean*0200 CALL SHELFICE_OUTPUT( myTime, myIter, myThid )
a6cbc7a360 Mart*0201 ENDIF
0202 #endif /* ALLOW_SHELFICE */
0203
10e4bbdd7f Jean*0204 #ifdef ALLOW_THSICE
e9164883fe Jean*0205
10e4bbdd7f Jean*0206 IF (useThSIce)
e9164883fe Jean*0207 & CALL THSICE_OUTPUT( myTime, myIter, myThid )
6424ee9bc0 Curt*0208 #endif
0209
c3e7099071 Mart*0210 #ifdef ALLOW_PTRACERS
0211
0212 IF ( usePTRACERS )
0213 & CALL PTRACERS_OUTPUT( myTime, myIter, myThid )
0214 #endif
0215
024b3c54dd Sama*0216 #ifdef ALLOW_MATRIX
0217
3138cfd14a Jean*0218 IF (useMATRIX)
024b3c54dd Sama*0219 & CALL MATRIX_OUTPUT( myTime, myIter, myThid )
0220 #endif
0221
cf2549e769 Patr*0222 #ifdef ALLOW_GCHEM
c3e7099071 Mart*0223
0a90236bb2 Mart*0224 IF (useGCHEM)
5616f3581e Jean*0225 & CALL GCHEM_OUTPUT( myTime, myIter, myThid )
e39d13c4c9 Step*0226 #endif
0227
a27159adf7 Jean*0228 #ifdef ALLOW_OFFLINE
0229
0230
0231
0232 #endif
0233
dfc9bc933c Ryan*0234 #ifdef ALLOW_LAYERS
0235 IF ( useLayers ) THEN
0236 CALL LAYERS_CALC( myTime, myIter, myThid )
0237 ENDIF
0238 #endif /* ALLOW_LAYERS */
0239
04e78e1b9d Andr*0240 #ifdef ALLOW_DIAGNOSTICS
a27159adf7 Jean*0241 IF ( useDiagnostics )
94884059ae Jean*0242 & CALL DIAGNOSTICS_WRITE( modelEnd, myTime, myIter, myThid )
04e78e1b9d Andr*0243 #endif
0244
924557e60a Chri*0245 RETURN
0246 END