/[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.4 - (show annotations) (download)
Mon Nov 16 23:11:21 2015 UTC (8 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, HEAD
Changes since 1.3: +2 -2 lines
- fix wrong truncation (single prec) from "FLOAT" function in expressions
  like: deltaT*FLOAT(myIter) when myIter is large:
  a) replaced by DFLOAT (if not seen by TAF);
  b) remove "FLOAT" and use implicit type conversion (if seen by TAF).

1 C $Header: /u/gcmpack/MITgcm/pkg/longstep/longstep_average_3d.F,v 1.3 2009/06/28 16:35:48 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 = 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