/[MITgcm]/MITgcm/pkg/longstep/longstep_average_3d.F
ViewVC logotype

Contents of /MITgcm/pkg/longstep/longstep_average_3d.F

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


Revision 1.3 - (show annotations) (download)
Sun Jun 28 16:35:48 2009 UTC (14 years, 11 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, checkpoint62, 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, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61s, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.2: +4 -5 lines
fix for Multi-Threaded.

1 C $Header: /u/gcmpack/MITgcm/pkg/longstep/longstep_average_3d.F,v 1.2 2009/06/27 02:40:41 jmc Exp $
2 C $Name: $
3
4 #include "LONGSTEP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: LONGSTEP_AVERAGE_3D
8 C !INTERFACE:
9 SUBROUTINE LONGSTEP_AVERAGE_3D(
10 I lsCnt,
11 U lsFld,
12 I myNr, myThid)
13
14 C !DESCRIPTION: \bv
15 C *==========================================================*
16 C | SUBROUTINE LONGSTEP_AVERAGE_3D
17 C | o compute longstep average for one field (incl. overlap)
18 C *==========================================================*
19 C \ev
20
21 C !USES:
22 IMPLICIT NONE
23 C == Global variables ===
24 #include "SIZE.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27 #include "GRID.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C == Routine arguments ==
31 C lsCnt :: Counter to update
32 C lsFld :: average to update
33 C myNr :: number of levels to update
34 C myThid :: my Thread Id number
35 INTEGER myNr
36 _RL lsFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNr,nSx,nSy)
37 INTEGER lsCnt(nSx,nSy)
38 INTEGER myThid
39
40 #ifdef ALLOW_LONGSTEP
41 C !LOCAL VARIABLES:
42 C == Local variables ==
43 INTEGER i,j,k,bi,bj
44 _RL factor
45 CEOP
46
47 DO bj=myByLo(myThid), myByHi(myThid)
48 DO bi=myBxLo(myThid), myBxHi(myThid)
49 factor = FLOAT(lsCnt(bi,bj))
50 IF (lsCnt(bi,bj).NE.0) factor = 1. _d 0 / factor
51 DO k = 1,myNr
52 DO j = 1-OLy,sNy+OLy
53 DO i = 1-OLx,sNx+OLx
54 lsFld(i,j,k,bi,bj) = lsFld(i,j,k,bi,bj)*factor
55 ENDDO
56 ENDDO
57 ENDDO
58 ENDDO
59 ENDDO
60 #endif /* ALLOW_LONGSTEP */
61
62 RETURN
63 END
64

  ViewVC Help
Powered by ViewVC 1.1.22