/[MITgcm]/MITgcm/diags/src/timeaver_2fld_xyz.F
ViewVC logotype

Contents of /MITgcm/diags/src/timeaver_2fld_xyz.F

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


Revision 1.5 - (show annotations) (download)
Sun Feb 4 14:38:41 2001 UTC (23 years, 4 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint35
Changes since 1.4: +2 -0 lines
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

1 C $Header: $
2 C $Name: $
3 #include "CPP_EEOPTIONS.h"
4
5 CStartofinterface
6 SUBROUTINE TIMEAVER_2FLD_XYZ( fld1, fld2, fldtave, dir, deltaT,
7 I bi, bj, K, myThid )
8 C /==========================================================\
9 C | SUBROUTINE TIMEAVER_2FLD_XYZ |
10 C | o Sum over time a product of two arrays depending on the |
11 C | type of the second array (tracer_grid, u_grid, v_grid) |
12 C | The first array must be on tracer_grid |
13 C \==========================================================/
14 IMPLICIT NONE
15
16 C == Global variables ===
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "AVER.h"
20
21 C == Routine arguments ==
22 C myThid - Thread number for this instance of the routine.
23 C dir - type of grid for 2nd array (0: tracer, 1: zonal, 2 merid)
24 C fld - Input Field
25 C fldtave - time averaged Field
26 _RL fld1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
27 _RL fld2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
28 _RL fldtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
29 INTEGER dir
30 _RL deltaT
31 INTEGER bi, bj, K, myThid
32
33 CEndofinterface
34
35 C == Local variables ==
36 C i,j,k,bi,bj - Loop counters
37 INTEGER i, j
38
39 IF ( dir.eq.0 ) THEN
40
41 C DO bj = myByLo(myThid), myByHi(myThid)
42 C DO bi = myBxLo(myThid), myBxHi(myThid)
43 C DO k=1,Nr
44 DO j=1,sNy
45 DO i=1,sNx
46 fldtave(i,j,k,bi,bj)= fldtave(i,j,k,bi,bj)
47 & + fld1(i,j,k,bi,bj)*fld2(i,j,k,bi,bj)*deltaT
48 ENDDO
49 ENDDO
50 C ENDDO
51 C ENDDO
52 C ENDDO
53
54 ELSEIF ( dir.eq.1 ) THEN
55
56 C DO bj = myByLo(myThid), myByHi(myThid)
57 C DO bi = myBxLo(myThid), myBxHi(myThid)
58 C DO k=1,Nr
59 DO j=1,sNy
60 DO i=1,sNx
61 fldtave(i,j,k,bi,bj)= fldtave(i,j,k,bi,bj)
62 & + .5 * ( fld1(i-1,j,k,bi,bj) + fld1(i,j,k,bi,bj) )
63 & * fld2(i,j,k,bi,bj)
64 & * deltaT
65 ENDDO
66 ENDDO
67 C ENDDO
68 C ENDDO
69 C ENDDO
70
71 ELSEIF ( dir.eq.2 ) THEN
72
73 C DO bj = myByLo(myThid), myByHi(myThid)
74 C DO bi = myBxLo(myThid), myBxHi(myThid)
75 C DO k=1,Nr
76 DO j=1,sNy
77 DO i=1,sNx
78 fldtave(i,j,k,bi,bj)= fldtave(i,j,k,bi,bj)
79 & + .5 * ( fld1(i,j-1,k,bi,bj) + fld1(i,j,k,bi,bj) )
80 & * fld2(i,j,k,bi,bj)
81 & * deltaT
82 ENDDO
83 ENDDO
84 C ENDDO
85 C ENDDO
86 C ENDDO
87
88 ENDIF
89
90 RETURN
91 END

  ViewVC Help
Powered by ViewVC 1.1.22