1 |
C $Header: /u/gcmpack/MITgcm/pkg/timeave/timeave_normaliz.F,v 1.4 2009/09/16 15:44:04 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "CPP_EEOPTIONS.h" |
5 |
|
6 |
CBOP 0 |
7 |
C !ROUTINE: TIMEAVE_NORMALIZE |
8 |
|
9 |
C !INTERFACE: |
10 |
SUBROUTINE TIMEAVE_NORMALIZE( |
11 |
U fldtave, |
12 |
I timeave_cumul, Ksize, |
13 |
I bi, bj, myThid ) |
14 |
|
15 |
C !DESCRIPTION: |
16 |
C *==========================================================* |
17 |
C | SUBROUTINE TIMEAVE_NORMALIZE |
18 |
C | o Get average of field : Normalize by cumulated time |
19 |
C *==========================================================* |
20 |
|
21 |
C !USES: |
22 |
IMPLICIT NONE |
23 |
C == Global variables === |
24 |
#include "SIZE.h" |
25 |
#include "EEPARAMS.h" |
26 |
|
27 |
C !INPUT/OUTPUT PARAMETERS: |
28 |
C fldtave :: time averaged Field |
29 |
C timeave_cumul :: cumulated time for average |
30 |
C Ksize :: 3rd dimension of local array (fldtave) |
31 |
C bi, bj :: indices of tile to process |
32 |
C myThid :: my Thread Id number |
33 |
INTEGER Ksize |
34 |
_RL fldtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Ksize,nSx,nSy) |
35 |
_RL timeave_cumul(nSx,nSy) |
36 |
INTEGER bi, bj |
37 |
INTEGER myThid |
38 |
CEOP |
39 |
|
40 |
C !LOCAL VARIABLES: |
41 |
C i,j,k :: Loop counters |
42 |
INTEGER i, j, k |
43 |
|
44 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
45 |
|
46 |
C DO bj = myByLo(myThid), myByHi(myThid) |
47 |
C DO bi = myBxLo(myThid), myBxHi(myThid) |
48 |
IF ( timeave_cumul(bi,bj) .NE. 0. _d 0 ) THEN |
49 |
DO k=1,Ksize |
50 |
DO j=1,sNy |
51 |
DO i=1,sNx |
52 |
fldtave(i,j,k,bi,bj) = fldtave(i,j,k,bi,bj) |
53 |
& / timeave_cumul(bi,bj) |
54 |
ENDDO |
55 |
ENDDO |
56 |
ENDDO |
57 |
ENDIF |
58 |
C ENDDO |
59 |
C ENDDO |
60 |
|
61 |
RETURN |
62 |
END |