/[MITgcm]/MITgcm/pkg/timeave/timeave_statvars.F
ViewVC logotype

Contents of /MITgcm/pkg/timeave/timeave_statvars.F

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


Revision 1.2 - (show annotations) (download)
Tue May 29 14:01:40 2001 UTC (22 years, 11 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint40pre3, checkpoint40pre1, checkpoint40pre7, checkpoint40pre6, checkpoint40pre9, checkpoint40pre8, release1_b1, checkpoint43, checkpoint40pre2, checkpoint40pre4, checkpoint40pre5, ecco-branch-mod1, release1_beta1, checkpoint42, checkpoint40, checkpoint41
Branch point for: release1, ecco-branch, release1_coupled
Changes since 1.1: +10 -1 lines
Merge from branch pre38:
 o essential mods for cubed sphere
 o debugged atmosphere, dynamcis + physics (aim)
 o new packages (mom_vecinv, mom_fluxform, ...)

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/timeave/timeave_statvars.F,v 1.1.2.1 2001/05/02 21:17:49 adcroft Exp $
2 C $Name: $
3 #include "CPP_OPTIONS.h"
4
5 SUBROUTINE TIMEAVE_STATVARS(
6 I myTime, myIter, bi, bj, myThid)
7 C /==========================================================\
8 C | SUBROUTINE TIMEAVE_STATVARS |
9 C | o Time averaging routine for eta, U, V, W, T, S, UT, VT |
10 C | in model main time-stepping |
11 C \==========================================================/
12 IMPLICIT NONE
13
14 C == Global variables ===
15 #include "SIZE.h"
16 #include "EEPARAMS.h"
17 #include "PARAMS.h"
18 #include "DYNVARS.h"
19 #include "TIMEAVE_STATV.h"
20
21 LOGICAL DIFFERENT_MULTIPLE
22 EXTERNAL DIFFERENT_MULTIPLE
23
24 C == Routine arguments ==
25 C myThid - Thread number for this instance of the routine.
26 C myIter - Iteration number
27 C myTime - Current time of simulation ( s )
28 INTEGER myThid
29 INTEGER myIter, bi, bj
30 _RL myTime
31
32 C == Local variables ==
33 INTEGER K
34 _RL DDTT
35
36 C- Initialize fields for the first call ever
37 IF ( myIter .EQ. nIter0 ) THEN
38 CALL TIMEAVE_RESET(etaTave, 1, bi, bj, myThid)
39 CALL TIMEAVE_RESET(thetatave, Nr, bi, bj, myThid)
40 CALL TIMEAVE_RESET(salttave, Nr, bi, bj, myThid)
41 CALL TIMEAVE_RESET(uVeltave, Nr, bi, bj, myThid)
42 CALL TIMEAVE_RESET(vVeltave, Nr, bi, bj, myThid)
43 CALL TIMEAVE_RESET(wVeltave, Nr, bi, bj, myThid)
44 CALL TIMEAVE_RESET(TTtave, Nr, bi, bj, myThid)
45 CALL TIMEAVE_RESET(UUtave, Nr, bi, bj, myThid)
46 CALL TIMEAVE_RESET(VVtave, Nr, bi, bj, myThid)
47 CALL TIMEAVE_RESET(uttave, Nr, bi, bj, myThid)
48 CALL TIMEAVE_RESET(vttave, Nr, bi, bj, myThid)
49 CALL TIMEAVE_RESET(phiHydtave,Nr,bi, bj, myThid)
50 CALL TIMEAVE_RESET(ConvectCountTave,Nr,bi,bj,myThid)
51 DO K=1,Nr
52 TimeAve_half(k,bi,bj)=0.
53 TimeAve_full(k,bi,bj)=0.
54 ENDDO
55 ENDIF
56
57 C-- Cumulate state-variables with Half or Full time step :
58 IF ( myIter .EQ. nIter0 .OR.
59 & DIFFERENT_MULTIPLE(taveFreq, myTime, myTime-deltaTClock)) THEN
60 DDTT=0.5*deltaTclock
61 ELSE
62 DDTT=deltaTclock
63 ENDIF
64
65 C- Time Averages of single fields
66 CALL TIMEAVE_CUMULATE(etaTave, etaN, 1 , DDTT, bi, bj, myThid)
67 CALL TIMEAVE_CUMULATE(thetatave,theta, Nr, DDTT, bi, bj, myThid)
68 CALL TIMEAVE_CUMULATE(salttave, salt, Nr, DDTT, bi, bj, myThid)
69 CALL TIMEAVE_CUMULATE(uVeltave, uVel, Nr, DDTT, bi, bj, myThid)
70 CALL TIMEAVE_CUMULATE(vVeltave, vVel, Nr, DDTT, bi, bj, myThid)
71
72 C- Time Averages of "double" fields
73 CALL TIMEAVE_CUMUL_2V(TTtave, theta, theta, Nr, 0, DDTT,
74 & bi, bj, myThid)
75 CALL TIMEAVE_CUMUL_2V(UUtave, uVel, uVel, Nr, 0, DDTT,
76 & bi, bj, myThid)
77 CALL TIMEAVE_CUMUL_2V(VVtave, vVel, vVel, Nr, 0, DDTT,
78 & bi, bj, myThid)
79 CALL TIMEAVE_CUMUL_2V(uttave, theta, uVel, Nr, 1, DDTT,
80 & bi, bj, myThid)
81 CALL TIMEAVE_CUMUL_2V(vttave, theta, vVel, Nr, 2, DDTT,
82 & bi, bj, myThid)
83
84 C- Keep record of how much time has been integrated over
85 DO K=1,Nr
86 TimeAve_half(k,bi,bj)=TimeAve_half(k,bi,bj)+DDTT
87 ENDDO
88
89 C- Time Averages of "intermediate" fields
90 IF ( myIter .NE. nIter0 ) THEN
91 CALL TIMEAVE_CUMULATE(wVeltave, wVel, Nr, deltaTclock,
92 & bi, bj, myThid)
93 DO K=1,Nr
94 TimeAve_full(k,bi,bj)=TimeAve_full(k,bi,bj)+deltaTclock
95 ENDDO
96 ENDIF
97
98 RETURN
99 END

  ViewVC Help
Powered by ViewVC 1.1.22