File indexing completed on 2025-09-11 05:12:44 UTC
view on githubraw file Latest commit d4a066fa on 2025-09-10 18:05:35 UTC
d676f916b2 Jean*0001 #include "AIM_OPTIONS.h"
0002
90299b0597 Jean*0003
0004
0005
0006 SUBROUTINE AIM_DIAGNOSTICS( bi, bj, myTime, myIter, myThid )
0007
0008
d676f916b2 Jean*0009
90299b0597 Jean*0010
d676f916b2 Jean*0011
0012
90299b0597 Jean*0013
0014
0015
d676f916b2 Jean*0016 IMPLICIT NONE
0017
90299b0597 Jean*0018
d676f916b2 Jean*0019
abe521d840 Jean*0020 #include "AIM_SIZE.h"
d676f916b2 Jean*0021
0022 #include "EEPARAMS.h"
0023 #include "PARAMS.h"
d2b04ae38b Jean*0024 #include "GRID.h"
d676f916b2 Jean*0025
65007c221b Jean*0026 #include "AIM_PARAMS.h"
1a72cb671e Jean*0027
10308cbe80 Jean*0028 #include "AIM_TAVE.h"
d676f916b2 Jean*0029 #include "com_physvar.h"
b6caddd47f Jean*0030 #include "com_forcing.h"
d676f916b2 Jean*0031
90299b0597 Jean*0032
d4a066fa68 Jean*0033
90299b0597 Jean*0034
0035
d4a066fa68 Jean*0036
90299b0597 Jean*0037 INTEGER bi, bj
d676f916b2 Jean*0038 _RL myTime
90299b0597 Jean*0039 INTEGER myIter, myThid
0040
d676f916b2 Jean*0041
0042 #ifdef ALLOW_AIM
90299b0597 Jean*0043
0044 LOGICAL DIFFERENT_MULTIPLE
0045 EXTERNAL DIFFERENT_MULTIPLE
0046 #ifdef ALLOW_DIAGNOSTICS
0047 LOGICAL DIAGNOSTICS_IS_ON
0048 EXTERNAL DIAGNOSTICS_IS_ON
0049 #endif
d676f916b2 Jean*0050
90299b0597 Jean*0051
d4a066fa68 Jean*0052 INTEGER J
ab33782b56 Jean*0053 CHARACTER*(10) suff
d4a066fa68 Jean*0054 #ifdef ALLOW_AIM_TAVE
0055 INTEGER i, k, I2, Katm
0056 _RL DDTT
0057 #endif
e749d70ece Jean*0058 #ifdef ALLOW_DIAGNOSTICS
0059 _RL tmpVar(NGP)
0060 #endif
90299b0597 Jean*0061 #ifdef ALLOW_MNC
b22b541fe9 Ed H*0062 CHARACTER*(1) pf
90299b0597 Jean*0063 #endif
d676f916b2 Jean*0064
0065
0066
e749d70ece Jean*0067
e204a6fa13 Jean*0068
0069
044a9a9d92 Jean*0070 DO J=1,NGP
e749d70ece Jean*0071 dTsurf(J,1,myThid) = fMask1(J,1,myThid)*dTsurf(J,1,myThid)
e204a6fa13 Jean*0072
e749d70ece Jean*0073 & + fMask1(J,3,myThid)*dTsurf(J,3,myThid)
0074 dTsurf(J,1,myThid) = ABS(dTsurf(J,1,myThid))
044a9a9d92 Jean*0075 ENDDO
e749d70ece Jean*0076
ab33782b56 Jean*0077 IF ( DIFFERENT_MULTIPLE( aim_tendFreq,
0078 & myTime+deltaTClock, deltaTClock )
abe521d840 Jean*0079 & ) THEN
044a9a9d92 Jean*0080
78ad6fc820 Ed H*0081
0082 IF ( aim_snapshot_mdsio ) THEN
044a9a9d92 Jean*0083
ab33782b56 Jean*0084 IF ( rwSuffixType.EQ.0 ) THEN
0085 WRITE(suff,'(I10.10)') myIter+1
0086 ELSE
0087 CALL RW_GET_SUFFIX( suff,
0088 & myTime+deltaTClock, myIter+1, myThid )
0089 ENDIF
044a9a9d92 Jean*0090
ab33782b56 Jean*0091 CALL AIM_WRITE_PHYS( 'aim_dT_RSW.', suff, Nr, TT_RSW,
044a9a9d92 Jean*0092 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0093 CALL AIM_WRITE_PHYS( 'aim_dT_RLW.', suff, Nr, TT_RLW,
044a9a9d92 Jean*0094 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0095 CALL AIM_WRITE_PHYS( 'aim_dT_CNV.', suff, Nr, TT_CNV,
044a9a9d92 Jean*0096 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0097 CALL AIM_WRITE_PHYS( 'aim_dT_PBL.', suff, Nr, TT_PBL,
044a9a9d92 Jean*0098 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0099 CALL AIM_WRITE_PHYS( 'aim_dT_LSC.', suff, Nr, TT_LSC,
044a9a9d92 Jean*0100 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0101 CALL AIM_WRITE_PHYS( 'aim_dQ_CNV.', suff, Nr, QT_CNV,
044a9a9d92 Jean*0102 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0103 CALL AIM_WRITE_PHYS( 'aim_dQ_PBL.', suff, Nr, QT_PBL,
044a9a9d92 Jean*0104 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0105 CALL AIM_WRITE_PHYS( 'aim_dQ_LSC.', suff, Nr, QT_LSC,
044a9a9d92 Jean*0106 & 0, bi, bj, 1, myIter, myThid )
e749d70ece Jean*0107 #ifdef ALLOW_CLR_SKY_DIAG
044a9a9d92 Jean*0108
0109 IF ( aim_clrSkyDiag ) THEN
ab33782b56 Jean*0110 CALL AIM_WRITE_PHYS( 'aim_dT_clskySW.', suff, Nr, TT_SWclr,
044a9a9d92 Jean*0111 & 0, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0112 CALL AIM_WRITE_PHYS( 'aim_dT_clskyLW.', suff, Nr, TT_LWclr,
044a9a9d92 Jean*0113 & 0, bi, bj, 1, myIter, myThid )
0114 ENDIF
e749d70ece Jean*0115 #endif /* ALLOW_CLR_SKY_DIAG */
78ad6fc820 Ed H*0116
044a9a9d92 Jean*0117
78ad6fc820 Ed H*0118 ENDIF
0119
0120 #ifdef ALLOW_MNC
044a9a9d92 Jean*0121
0122
0123 IF ( .FALSE. ) THEN
0124
0125
0126
90299b0597 Jean*0127 IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
0128 pf(1:1) = 'D'
0129 ELSE
0130 pf(1:1) = 'R'
0131 ENDIF
0132
044a9a9d92 Jean*0133 IF ( bi.EQ.1 .AND. bj.EQ.1 ) THEN
0134 WRITE(suff,'(a)') 'aim_tend'
0135 CALL MNC_CW_SET_UDIM(suff, -1, myThid)
0136 CALL MNC_CW_RL_W_S('D',suff,0,0,'T',myTime,myThid)
0137 CALL MNC_CW_SET_UDIM(suff, 0, myThid)
0138 CALL MNC_CW_I_W_S('I',suff,0,0,'iter',myIter,myThid)
0139 ENDIF
0140
0141 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dT_RSW',TT_RSW,myThid)
0142 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dT_RLW',TT_RLW,myThid)
0143 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dT_CNV',TT_CNV,myThid)
0144 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dT_PBL',TT_PBL,myThid)
0145 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dT_LSC',TT_LSC,myThid)
0146 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dQ_CNV',QT_CNV,myThid)
0147 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dQ_PBL',QT_PBL,myThid)
0148 CALL MNC_CW_RL_W(pf,suff,bi,bj,'aim_dQ_LSC',QT_LSC,myThid)
0149
0150
78ad6fc820 Ed H*0151 ENDIF
044a9a9d92 Jean*0152 #endif /* ALLOW_MNC */
78ad6fc820 Ed H*0153
044a9a9d92 Jean*0154
d676f916b2 Jean*0155 ENDIF
0156
044a9a9d92 Jean*0157 IF ( DIFFERENT_MULTIPLE( aim_diagFreq,
0158 & myTime+deltaTClock, deltaTClock )
abe521d840 Jean*0159 & ) THEN
044a9a9d92 Jean*0160
78ad6fc820 Ed H*0161
0162 IF ( aim_snapshot_mdsio ) THEN
044a9a9d92 Jean*0163
ab33782b56 Jean*0164 IF ( rwSuffixType.EQ.0 ) THEN
0165 WRITE(suff,'(I10.10)') myIter+1
0166 ELSE
0167 CALL RW_GET_SUFFIX( suff,
0168 & myTime+deltaTClock, myIter+1, myThid )
0169 ENDIF
d676f916b2 Jean*0170
0171
ab33782b56 Jean*0172 CALL AIM_WRITE_PHYS( 'aim_RelHum.', suff, Nr, RH,
044a9a9d92 Jean*0173 & 0, bi, bj, 1, myIter, myThid )
d676f916b2 Jean*0174
0175
ab33782b56 Jean*0176 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 4, DRAG,
044a9a9d92 Jean*0177 & 1, bi, bj, 1, myIter, myThid )
ab33782b56 Jean*0178 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, SPEED0,
044a9a9d92 Jean*0179 & 1, bi, bj, 2, myIter, myThid )
ab33782b56 Jean*0180 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, TSR,
044a9a9d92 Jean*0181 & 1, bi, bj, 3, myIter, myThid )
ab33782b56 Jean*0182 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, OLR,
044a9a9d92 Jean*0183 & 1, bi, bj, 4, myIter, myThid )
ab33782b56 Jean*0184 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 4, SSR,
044a9a9d92 Jean*0185 & 1, bi, bj, 5, myIter, myThid )
ab33782b56 Jean*0186 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 4, SLR,
044a9a9d92 Jean*0187 & 1, bi, bj, 6, myIter, myThid )
ab33782b56 Jean*0188 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 4, SHF,
044a9a9d92 Jean*0189 & 1, bi, bj, 7, myIter, myThid )
ab33782b56 Jean*0190 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 4, EVAP,
044a9a9d92 Jean*0191 & 1, bi, bj, 8, myIter, myThid )
ab33782b56 Jean*0192 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, PRECNV,
044a9a9d92 Jean*0193 & 1, bi, bj, 9, myIter, myThid )
ab33782b56 Jean*0194 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, PRECLS,
044a9a9d92 Jean*0195 & 1, bi, bj,10, myIter, myThid )
ab33782b56 Jean*0196 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, CLOUDC,
044a9a9d92 Jean*0197 & 1, bi, bj,11, myIter, myThid )
ab33782b56 Jean*0198 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, CLTOP,
044a9a9d92 Jean*0199 & 1, bi, bj,12, myIter, myThid )
ab33782b56 Jean*0200 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, CBMF,
044a9a9d92 Jean*0201 & 1, bi, bj,13, myIter, myThid )
ab33782b56 Jean*0202 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, T0,
044a9a9d92 Jean*0203 & 1, bi, bj,14, myIter, myThid )
ab33782b56 Jean*0204 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, Q0,
044a9a9d92 Jean*0205 & 1, bi, bj,15, myIter, myThid )
ab33782b56 Jean*0206 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 1, EnPrec,
044a9a9d92 Jean*0207 & 1, bi, bj,16, myIter, myThid )
ab33782b56 Jean*0208 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 4, alb1,
044a9a9d92 Jean*0209 & 1, bi, bj,17, myIter, myThid )
ab33782b56 Jean*0210 CALL AIM_WRITE_PHYS( 'aimPhyDiag.', suff, 3, dTsurf,
044a9a9d92 Jean*0211 & 1, bi, bj,18, myIter, myThid )
e749d70ece Jean*0212 #ifdef ALLOW_CLR_SKY_DIAG
0213
044a9a9d92 Jean*0214 IF ( aim_clrSkyDiag ) THEN
ab33782b56 Jean*0215 CALL AIM_WRITE_PHYS('aimPhyDiag.', suff, 1, TSWclr,
044a9a9d92 Jean*0216 & 1, bi, bj,19, myIter, myThid )
ab33782b56 Jean*0217 CALL AIM_WRITE_PHYS('aimPhyDiag.', suff, 1, OLWclr,
044a9a9d92 Jean*0218 & 1, bi, bj,20, myIter, myThid )
ab33782b56 Jean*0219 CALL AIM_WRITE_PHYS('aimPhyDiag.', suff, 1, SSWclr,
044a9a9d92 Jean*0220 & 1, bi, bj,21, myIter, myThid )
ab33782b56 Jean*0221 CALL AIM_WRITE_PHYS('aimPhyDiag.', suff, 1, SLWclr,
044a9a9d92 Jean*0222 & 1, bi, bj,22, myIter, myThid )
0223 ENDIF
e749d70ece Jean*0224 #endif /* ALLOW_CLR_SKY_DIAG */
044a9a9d92 Jean*0225
0226
78ad6fc820 Ed H*0227 ENDIF
0228
0229 #ifdef ALLOW_MNC
0230 IF ( useMNC .AND. aim_snapshot_mnc ) THEN
044a9a9d92 Jean*0231
0232
90299b0597 Jean*0233 IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
0234 pf(1:1) = 'D'
0235 ELSE
0236 pf(1:1) = 'R'
0237 ENDIF
0238
044a9a9d92 Jean*0239 IF ( bi.EQ.1 .AND. bj.EQ.1 ) THEN
37b353148c Davi*0240 WRITE(suff,'(a)') 'aim_phys'
044a9a9d92 Jean*0241 CALL MNC_CW_SET_UDIM(suff, -1, myThid)
37b353148c Davi*0242 CALL MNC_CW_RL_W_S('D',suff,0,0,'T',myTime+deltaTClock,myThid)
044a9a9d92 Jean*0243 CALL MNC_CW_SET_UDIM(suff, 0, myThid)
37b353148c Davi*0244 CALL MNC_CW_I_W_S('I',suff,0,0,'iter',myIter+1,myThid)
044a9a9d92 Jean*0245 ENDIF
0246
0247 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0248 & 'aim_DRAG0',DRAG(1,0,myThid),myThid)
044a9a9d92 Jean*0249 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0250 & 'aim_SPEED0',SPEED0(1,myThid),myThid)
044a9a9d92 Jean*0251 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0252 & 'aim_TSR',TSR(1,myThid),myThid)
044a9a9d92 Jean*0253 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0254 & 'aim_OLR',OLR(1,myThid),myThid)
044a9a9d92 Jean*0255 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0256 & 'aim_SSR0',SSR(1,0,myThid),myThid)
044a9a9d92 Jean*0257 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0258 & 'aim_SLR0',SLR(1,0,myThid),myThid)
044a9a9d92 Jean*0259 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0260 & 'aim_SHF0',SHF(1,0,myThid),myThid)
044a9a9d92 Jean*0261 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0262 & 'aim_EVAP0',EVAP(1,0,myThid),myThid)
044a9a9d92 Jean*0263 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0264 & 'aim_PRECNV',PRECNV(1,myThid),myThid)
044a9a9d92 Jean*0265 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0266 & 'aim_PRECLS',PRECLS(1,myThid),myThid)
044a9a9d92 Jean*0267 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0268 & 'aim_CLOUDC',CLOUDC(1,myThid),myThid)
044a9a9d92 Jean*0269 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0270 & 'aim_CLTOP',CLTOP(1,myThid),myThid)
044a9a9d92 Jean*0271 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0272 & 'aim_CBMF',CBMF(1,myThid),myThid)
044a9a9d92 Jean*0273 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0274 & 'aim_T0',T0(1,myThid),myThid)
044a9a9d92 Jean*0275 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0276 & 'aim_Q0',Q0(1,myThid),myThid)
044a9a9d92 Jean*0277 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0278 & 'aim_EnPrec',EnPrec(1,myThid),myThid)
044a9a9d92 Jean*0279 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0280 & 'aim_alb10',alb1(1,0,myThid),myThid)
044a9a9d92 Jean*0281 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0282 & 'aim_dTsurf1',dTsurf(1,1,myThid),myThid)
044a9a9d92 Jean*0283 #ifdef ALLOW_CLR_SKY_DIAG
0284
0285 IF ( aim_clrSkyDiag ) THEN
0286 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0287 & 'aim_TSWclr',TSWclr(1,myThid),myThid)
044a9a9d92 Jean*0288 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0289 & 'aim_OLWclr',OLWclr(1,myThid),myThid)
044a9a9d92 Jean*0290 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0291 & 'aim_SSWclr',SSWclr(1,myThid),myThid)
044a9a9d92 Jean*0292 CALL MNC_CW_RL_W(pf,suff,bi,bj,
78ad6fc820 Ed H*0293 & 'aim_SLWclr',SLWclr(1,myThid),myThid)
044a9a9d92 Jean*0294 ENDIF
0295 #endif /* ALLOW_CLR_SKY_DIAG */
abe521d840 Jean*0296
044a9a9d92 Jean*0297
78ad6fc820 Ed H*0298 ENDIF
044a9a9d92 Jean*0299 #endif /* ALLOW_MNC */
78ad6fc820 Ed H*0300
044a9a9d92 Jean*0301
d676f916b2 Jean*0302 ENDIF
0303
0304
0305
e749d70ece Jean*0306
0307 DO J=1,NGP
ab33782b56 Jean*0308 CLTOP(J,myThid)=CLTOP(J,myThid)*CLOUDC(J,myThid)
e749d70ece Jean*0309 ENDDO
0310
3a474aa258 Jean*0311 #ifdef ALLOW_AIM_TAVE
d676f916b2 Jean*0312
ab33782b56 Jean*0313 IF ( aim_taveFreq.GT.0. ) THEN
d676f916b2 Jean*0314
e204a6fa13 Jean*0315 DDTT = deltaTClock
d676f916b2 Jean*0316
d4a066fa68 Jean*0317 DO j=1,sNy
0318 DO i=1,sNx
0319 I2 = i+(j-1)*sNx
d676f916b2 Jean*0320 TSRtave(i,j,bi,bj) = TSRtave(i,j,bi,bj)
0321 & + TSR(I2,myThid)*DDTT
0322 OLRtave(i,j,bi,bj) = OLRtave(i,j,bi,bj)
0323 & + OLR(I2,myThid)*DDTT
0324 SSRtave(i,j,bi,bj) = SSRtave(i,j,bi,bj)
b3097ed02d Jean*0325 & + SSR(I2,0,myThid)*DDTT
d676f916b2 Jean*0326 SLRtave(i,j,bi,bj) = SLRtave(i,j,bi,bj)
b3097ed02d Jean*0327 & + SLR(I2,0,myThid)*DDTT
d676f916b2 Jean*0328 SHFtave(i,j,bi,bj) = SHFtave(i,j,bi,bj)
b3097ed02d Jean*0329 & + SHF(I2,0,myThid)*DDTT
d676f916b2 Jean*0330 EVAPtave(i,j,bi,bj) = EVAPtave(i,j,bi,bj)
b3097ed02d Jean*0331 & + EVAP(I2,0,myThid)*DDTT
d676f916b2 Jean*0332 PRECNVtave(i,j,bi,bj) = PRECNVtave(i,j,bi,bj)
0333 & + PRECNV(I2,myThid)*DDTT
0334 PRECLStave(i,j,bi,bj) = PRECLStave(i,j,bi,bj)
0335 & + PRECLS(I2,myThid)*DDTT
0336 CLOUDCtave(i,j,bi,bj) = CLOUDCtave(i,j,bi,bj)
0337 & + CLOUDC(I2,myThid)*DDTT
3a474aa258 Jean*0338 CLTOPtave(i,j,bi,bj) = CLTOPtave(i,j,bi,bj)
0339 & + CLTOP(I2,myThid)*DDTT
0340 CBMFtave(i,j,bi,bj) = CBMFtave(i,j,bi,bj)
0341 & + CBMF(I2,myThid)*DDTT
0342 DRAGtave(i,j,bi,bj) = DRAGtave(i,j,bi,bj)
b3097ed02d Jean*0343 & + DRAG(I2,0,myThid)*DDTT
3a474aa258 Jean*0344 aimV0tave(i,j,bi,bj) = aimV0tave(i,j,bi,bj)
0345 & + SPEED0(I2,myThid)*DDTT
0346 aimT0tave(i,j,bi,bj) = aimT0tave(i,j,bi,bj)
0347 & + T0(I2,myThid)*DDTT
0348 aimQ0tave(i,j,bi,bj) = aimQ0tave(i,j,bi,bj)
0349 & + Q0(I2,myThid)*DDTT
b3097ed02d Jean*0350 EnFxPrtave(i,j,bi,bj) = EnFxPrtave(i,j,bi,bj)
0351 & + EnPrec(I2,myThid)
0352 & *(PRECNV(I2,myThid)+
0353 & PRECLS(I2,myThid))*DDTT
e749d70ece Jean*0354 albedotave(i,j,bi,bj) = albedotave(i,j,bi,bj)
0355 & + alb1(I2,0,myThid)*DDTT
0356 dTsurftave(i,j,bi,bj) = dTsurftave(i,j,bi,bj)
0357 & + dTsurf(I2,1,myThid)*DDTT
3a474aa258 Jean*0358 ENDDO
0359 ENDDO
0360
0361
0362 DO k=1,Nr
0363 Katm = _KD2KA( k )
0364 DO j=1,sNy
0365 DO i=1,sNx
0366 I2 = i+(j-1)*sNx
0367 aimRHtave(i,j,k,bi,bj) = aimRHtave(i,j,k,bi,bj)
0368 & + RH(I2,Katm,myThid)*DDTT
0369 ENDDO
d676f916b2 Jean*0370 ENDDO
0371 ENDDO
0372
0373
10308cbe80 Jean*0374 aim_timeAve(bi,bj) = aim_timeAve(bi,bj)+DDTT
d676f916b2 Jean*0375
0376 ENDIF
0377
3a474aa258 Jean*0378 #endif /* ALLOW_AIM_TAVE */
d676f916b2 Jean*0379
9340658285 Jean*0380
abe521d840 Jean*0381
0382 #ifdef ALLOW_DIAGNOSTICS
ab33782b56 Jean*0383 IF ( useDiagnostics ) THEN
9340658285 Jean*0384 CALL DIAGNOSTICS_FILL( TT_RSW(1,1,myThid),
1392931580 Jean*0385 & 'RADSW ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0386 CALL DIAGNOSTICS_FILL( TT_RLW(1,1,myThid),
1392931580 Jean*0387 & 'RADLW ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0388 CALL DIAGNOSTICS_FILL( TT_CNV(1,1,myThid),
1392931580 Jean*0389 & 'DTCONV ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0390 CALL DIAGNOSTICS_FILL( TT_PBL(1,1,myThid),
1392931580 Jean*0391 & 'TURBT ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0392 CALL DIAGNOSTICS_FILL( TT_LSC(1,1,myThid),
1392931580 Jean*0393 & 'DTLS ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0394 CALL DIAGNOSTICS_FILL( QT_CNV(1,1,myThid),
1392931580 Jean*0395 & 'DQCONV ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0396 CALL DIAGNOSTICS_FILL( QT_PBL(1,1,myThid),
1392931580 Jean*0397 & 'TURBQ ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0398 CALL DIAGNOSTICS_FILL( QT_LSC(1,1,myThid),
1392931580 Jean*0399 & 'DQLS ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0400 CALL DIAGNOSTICS_FILL( RH(1,1,myThid),
1392931580 Jean*0401 & 'RELHUM ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0402 CALL DIAGNOSTICS_FILL( TSR(1,myThid),
abe521d840 Jean*0403 & 'TSR ', 1, 1 , 3,bi,bj, myThid )
9340658285 Jean*0404 CALL DIAGNOSTICS_FILL( OLR(1,myThid),
0405 & 'OLR ', 1, 1 , 3,bi,bj, myThid )
0406 CALL DIAGNOSTICS_FILL( SSR(1,0,myThid),
0407 & 'RADSWG ', 1, 1 , 3,bi,bj, myThid )
0408 CALL DIAGNOSTICS_FILL( SLR(1,0,myThid),
0409 & 'RADLWG ', 1, 1 , 3,bi,bj, myThid )
0410 CALL DIAGNOSTICS_FILL( SHF(1,0,myThid),
0411 & 'HFLUX ', 1, 1 , 3,bi,bj, myThid )
0412 CALL DIAGNOSTICS_FILL( EVAP(1,0,myThid),
0413 & 'EVAP ', 1, 1 , 3,bi,bj, myThid )
0414 CALL DIAGNOSTICS_FILL( PRECNV(1,myThid),
0415 & 'PRECON ', 1, 1 , 3,bi,bj, myThid )
0416 CALL DIAGNOSTICS_FILL( PRECLS(1,myThid),
0417 & 'PRECLS ', 1, 1 , 3,bi,bj, myThid )
0418 CALL DIAGNOSTICS_FILL( CLOUDC(1,myThid),
0419 & 'CLDFRC ', 1, 1 , 3,bi,bj, myThid )
0420 CALL DIAGNOSTICS_FILL( CLTOP(1,myThid),
0421 & 'CLDPRS ', 1, 1 , 3,bi,bj, myThid )
abe521d840 Jean*0422
0423
9340658285 Jean*0424 CALL DIAGNOSTICS_FILL( CBMF(1,myThid),
0425 & 'CLDMAS ', 1, 1 , 3,bi,bj, myThid )
0426 CALL DIAGNOSTICS_FILL( DRAG(1,0,myThid),
abe521d840 Jean*0427 & 'DRAG ', 1, 1 , 3,bi,bj, myThid )
9340658285 Jean*0428 CALL DIAGNOSTICS_FILL( SPEED0(1,myThid),
0429 & 'WINDS ', 1, 1 , 3,bi,bj, myThid )
0430 CALL DIAGNOSTICS_FILL( T0(1,myThid),
0431 & 'TS ', 1, 1 , 3,bi,bj, myThid )
0432 CALL DIAGNOSTICS_FILL( Q0(1,myThid),
0433 & 'QS ', 1, 1 , 3,bi,bj, myThid )
0434 IF ( DIAGNOSTICS_IS_ON('ENPREC ',myThid) ) THEN
0435 DO J=1,NGP
0436 tmpVar(J) = EnPrec(J,myThid)
0437 & *(PRECNV(J,myThid)+PRECLS(J,myThid))
0438 ENDDO
0439 CALL DIAGNOSTICS_FILL( tmpVar,
0440 & 'ENPREC ', 1, 1 , 3,bi,bj, myThid )
0441 ENDIF
0442 CALL DIAGNOSTICS_FILL( alb1(1,0,myThid),
0443 & 'ALBVISDF', 1, 1 , 3,bi,bj, myThid )
0444 CALL DIAGNOSTICS_FILL( dTsurf(1,1,myThid),
5cbcb662ee Andr*0445 & 'DTSIMPL ', 1, 1 , 3,bi,bj, myThid )
e749d70ece Jean*0446 #ifdef ALLOW_CLR_SKY_DIAG
abe521d840 Jean*0447 IF ( aim_clrSkyDiag ) THEN
9340658285 Jean*0448 CALL DIAGNOSTICS_FILL( TT_SWclr(1,1,myThid),
1392931580 Jean*0449 & 'SWCLR ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0450 CALL DIAGNOSTICS_FILL( TT_LWclr(1,1,myThid),
1392931580 Jean*0451 & 'LWCLR ',-1, Nr, 3,bi,bj, myThid )
9340658285 Jean*0452 CALL DIAGNOSTICS_FILL( TSWclr(1,myThid),
abe521d840 Jean*0453 & 'TSRCLR ', 1, 1 , 3,bi,bj, myThid )
9340658285 Jean*0454 CALL DIAGNOSTICS_FILL( OLWclr(1,myThid),
0455 & 'OLRCLR ', 1, 1 , 3,bi,bj, myThid )
0456 CALL DIAGNOSTICS_FILL( SSWclr(1,myThid),
0457 & 'SWGCLR ', 1, 1 , 3,bi,bj, myThid )
0458 CALL DIAGNOSTICS_FILL( SLWclr(1,myThid),
0459 & 'LWGCLR ', 1, 1 , 3,bi,bj, myThid )
e749d70ece Jean*0460 ENDIF
0461 #endif /* ALLOW_CLR_SKY_DIAG */
0462
0463 ENDIF
0464 #endif /* ALLOW_DIAGNOSTICS */
6c0f3858f1 Andr*0465
d676f916b2 Jean*0466 #endif /* ALLOW_AIM */
0467
0468 RETURN
0469 END