/[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.1 - (show annotations) (download)
Fri Jun 26 23:10:10 2009 UTC (14 years, 11 months ago) by jahn
Branch: MAIN
add package longstep

1 C $Header$
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 _RL lsFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNr,nSx,nSy)
36 INTEGER lsCnt
37 INTEGER myNr
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 factor = FLOAT(lsCnt)
48 IF (lsCnt.NE.0) factor = 1. _d 0 / factor
49
50 DO bj=myByLo(myThid), myByHi(myThid)
51 DO bi=myBxLo(myThid), myBxHi(myThid)
52 DO k = 1,myNr
53 DO j = 1-OLy,sNy+OLy
54 DO i = 1-OLx,sNx+OLx
55 lsFld(i,j,k,bi,bj) = lsFld(i,j,k,bi,bj)*factor
56 ENDDO
57 ENDDO
58 ENDDO
59 ENDDO
60 ENDDO
61 #endif /* ALLOW_LONGSTEP */
62
63 RETURN
64 END
65

  ViewVC Help
Powered by ViewVC 1.1.22