/[MITgcm]/MITgcm/pkg/gmredi/gmredi_do_exch.F
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/gmredi_do_exch.F

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


Revision 1.1 - (show annotations) (download)
Thu Jan 27 20:33:48 2011 UTC (13 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, 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, checkpoint63, checkpoint62s, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
new S/R to exchange GM variables when necessary

1 C $Header: $
2 C $Name: $
3
4 #include "GMREDI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GMREDI_DO_EXCH
8 C !INTERFACE:
9 SUBROUTINE GMREDI_DO_EXCH(
10 I myTime, myIter, myThid )
11
12 C !DESCRIPTION: \bv
13 C *==========================================================*
14 C | SUBROUTINE GMREDI_DO_EXCH
15 C | o Apply Exchanges to GM-Redi variables when necessary
16 C *==========================================================*
17 C \ev
18
19 C !USES:
20 IMPLICIT NONE
21
22 C == Global variables ==
23 #include "SIZE.h"
24 #include "EEPARAMS.h"
25 #include "PARAMS.h"
26 #include "GMREDI.h"
27
28 C !INPUT/OUTPUT PARAMETERS:
29 C myTime :: Current time in simulation
30 C myIter :: Current iteration number in simulation
31 C myThid :: my Thread Id. number
32 _RL myTime
33 INTEGER myIter
34 INTEGER myThid
35 CEOP
36
37 C !LOCAL VARIABLES:
38
39 #ifdef GM_BOLUS_ADVEC
40 C For multi-dim advection, need valid bolus velocity in halo regions
41 C near CS-corners: Because of sigmaR averaging @ U & V points, that
42 C would require calling FILL_CS_CORNER_TR before each averaging (similar
43 C to what is done in grad_sigma.F), near CS-corner values are not right.
44 C This exchange fixes this Pb. Fix also a similar Pb with VisbeckK or
45 C with GM-bolus 2-D mapping factor (GM_bolFac2d).
46 IF ( useCubedSphereExchange
47 & .AND. GM_AdvForm
48 & .AND. .NOT.GM_AdvSeparate
49 & .AND. useMultiDimAdvec ) THEN
50 #ifdef ALLOW_DEBUG
51 IF (debugMode) CALL DEBUG_CALL('EXCH_UV(GM_PsiX,Y)',myThid)
52 #endif
53 CALL EXCH_UV_XYZ_RL( GM_PsiX, GM_PsiY, .TRUE., myThid )
54 ENDIF
55 #endif /* GM_BOLUS_ADVEC */
56
57 RETURN
58 END

  ViewVC Help
Powered by ViewVC 1.1.22