/[MITgcm]/MITgcm/pkg/ocn_compon_interf/ocn_cpl_diags.F
ViewVC logotype

Annotation of /MITgcm/pkg/ocn_compon_interf/ocn_cpl_diags.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (hide annotations) (download)
Sun Jan 3 19:26:54 2010 UTC (14 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint63, checkpoint65p, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.3: +91 -70 lines
- rename: CPL_DIAGS.h --> CPL_TAVE.h
- use simpler (no level index) cumulative-time counter: CPL_timeAve(bi,bj)
- cumulate fields only if doing time-ave output (cpl_taveFreq > 0)

1 jmc 1.4 C $Header: /u/gcmpack/MITgcm/pkg/ocn_compon_interf/ocn_cpl_diags.F,v 1.3 2007/05/10 21:15:52 jscott Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7 jmc 1.4 CBOP
8     C !ROUTINE: OCN_CPL_DIAGS
9     C !INTERFACE:
10     SUBROUTINE OCN_CPL_DIAGS( myTime, myIter, myThid )
11    
12     C !DESCRIPTION: \bv
13     C *==========================================================*
14     C | S/R OCN_CPL_DIAGS
15     C | o Calculate CPL time-average diagnostics
16     C *==========================================================*
17     C \ev
18    
19     C !USES:
20 jmc 1.1 IMPLICIT NONE
21    
22     C === Global variables ===
23     #include "SIZE.h"
24     #include "EEPARAMS.h"
25     #include "PARAMS.h"
26 jmc 1.4 #include "CPL_PARAMS.h"
27 jscott 1.3 #include "OCNIDS.h"
28 jmc 1.1 #include "OCNCPL.h"
29 jmc 1.4 #include "CPL_TAVE.h"
30 jmc 1.1
31 jmc 1.4 C !INPUT/OUTPUT PARAMETERS:
32     C myTime :: Current time in simulation (s)
33     C myIter :: Current Iteration number
34     C myThid :: my Thread Id number
35 jmc 1.1 _RL myTime
36 jmc 1.4 INTEGER myIter
37 jmc 1.1 INTEGER myThid
38 jmc 1.4 CEOP
39 jmc 1.1
40     #ifdef COMPONENT_MODULE
41 jmc 1.4 #ifdef ALLOW_TIMEAVE
42 jmc 1.1
43 jmc 1.4 C !LOCAL VARIABLES:
44     C bi, bj :: Tile indices
45     INTEGER bi, bj
46     INTEGER i,j
47 jmc 1.1 _RL DDTT
48    
49 jmc 1.4 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
50    
51     c IF ( cpl_taveFreq.GT.0. _d 0 ) THEN
52     C-- note: will activate this "if" (and remove the one in front of
53     C OCN_CPL_DIAGS call) to do other diags than time-ave.
54    
55     DO bj=myByLo(myThid),myByHi(myThid)
56     DO bi=myBxLo(myThid),myBxHi(myThid)
57    
58     DDTT = deltaTclock
59     DO j=1,sNy
60     DO i=1,sNx
61     SLPtave(i,j,bi,bj) = SLPtave(i,j,bi,bj)
62     & + DDTT * atmSLPr(i,j,bi,bj)
63     HFtave(i,j,bi,bj) = HFtave(i,j,bi,bj)
64     & + DDTT * HeatFlux(i,j,bi,bj)
65     QSWtave(i,j,bi,bj) = QSWtave(i,j,bi,bj)
66     & + DDTT * qShortWave(i,j,bi,bj)
67     c QLTtave(i,j,bi,bj) = QLTtave(i,j,bi,bj)
68     c & + DDTT * qLatent(i,j,bi,bj)
69     c QSNtave(i,j,bi,bj) = QSNtave(i,j,bi,bj)
70     c & + DDTT * qSensible(i,j,bi,bj)
71     c QLWtave(i,j,bi,bj) = QLWtave(i,j,bi,bj)
72     c & + DDTT * qLongWave(i,j,bi,bj)
73     c UGtave(i,j,bi,bj) = UGtave(i,j,bi,bj)
74     c & + DDTT * uVelGround(i,j,bi,bj)
75     c VGtave(i,j,bi,bj) = VGtave(i,j,bi,bj)
76     c & + DDTT * vVelGround(i,j,bi,bj)
77     TXtave(i,j,bi,bj) = TXtave(i,j,bi,bj)
78     & + DDTT * tauX(i,j,bi,bj)
79     TYtave(i,j,bi,bj) = TYtave(i,j,bi,bj)
80     & + DDTT * tauY(i,j,bi,bj)
81     FWtave(i,j,bi,bj) = FWtave(i,j,bi,bj)
82     & + DDTT * FWFlux(i,j,bi,bj)
83     SFxtave(i,j,bi,bj) = SFxtave(i,j,bi,bj)
84     & + DDTT * iceSaltFlx(i,j,bi,bj)
85     SICtave(i,j,bi,bj) = SICtave(i,j,bi,bj)
86     & + DDTT * seaIceMass(i,j,bi,bj)
87     MXLtave(i,j,bi,bj) = MXLtave(i,j,bi,bj)
88     & + DDTT * ocMxlD2cpl(i,j,bi,bj)
89     SSTtave(i,j,bi,bj) = SSTtave(i,j,bi,bj)
90     & + DDTT * SSTocn2cpl(i,j,bi,bj)
91     SSStave(i,j,bi,bj) = SSStave(i,j,bi,bj)
92     & + DDTT * SSSocn2cpl(i,j,bi,bj)
93     vSqtave(i,j,bi,bj) = vSqtave(i,j,bi,bj)
94     & + DDTT * vSqocn2cpl(i,j,bi,bj)
95     IF ( ocnCpl_exchange_DIC ) THEN
96     aCO2tave(i,j,bi,bj) = aCO2tave(i,j,bi,bj)
97     & + DDTT * airCO2(i,j,bi,bj)
98     sWSpdtave(i,j,bi,bj) = sWSpdtave(i,j,bi,bj)
99     & + DDTT * surfWSpeed(i,j,bi,bj)
100     iceftave(i,j,bi,bj) = iceftave(i,j,bi,bj)
101     & + DDTT * fracIce(i,j,bi,bj)
102     fCO2tave(i,j,bi,bj) = fCO2tave(i,j,bi,bj)
103     & + DDTT * fluxCO2cpl(i,j,bi,bj)
104     ENDIF
105     ENDDO
106     ENDDO
107 jmc 1.1
108 jmc 1.4 C- Keep record of how much time has been integrated over
109     CPL_timeAve(bi,bj) = CPL_timeAve(bi,bj)+DDTT
110 jmc 1.1
111 jmc 1.4 C-- end bi,bj loops
112     ENDDO
113 jmc 1.1 ENDDO
114    
115 jmc 1.4 C-- end if cpl_taveFreq > 0
116     c ENDIF
117 jmc 1.1 #endif /* ALLOW_TIMEAVE */
118     #endif /* COMPONENT_MODULE */
119    
120     RETURN
121     END

  ViewVC Help
Powered by ViewVC 1.1.22