/[MITgcm]/MITgcm/model/src/do_stagger_fields_exchanges.F
ViewVC logotype

Contents of /MITgcm/model/src/do_stagger_fields_exchanges.F

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


Revision 1.8 - (show annotations) (download)
Fri Jul 27 18:56:40 2012 UTC (11 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f
Changes since 1.7: +13 -6 lines
use less common EXCH S/R here (instead of usual ones) to
force TAF to also generate AD version for these rare ones

1 C $Header: /u/gcmpack/MITgcm/model/src/do_stagger_fields_exchanges.F,v 1.7 2009/04/28 18:01:14 jmc Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: DO_STAGGER_FIELDS_EXCHANGES
8 C !INTERFACE:
9 SUBROUTINE DO_STAGGER_FIELDS_EXCHANGES(myTime, myIter, myThid)
10 C !DESCRIPTION: \bv
11 C *==========================================================*
12 C | SUBROUTINE DO_STAGGER_FIELDS_EXCHANGES
13 C | o Exchange edge info of Active tracers fields (U,V)
14 C | (needed when using stagger time Step + multiDimAdvec)
15 C *==========================================================*
16 C \ev
17 C !USES:
18 IMPLICIT NONE
19 C == Global variables ===
20 #include "SIZE.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "DYNVARS.h"
24
25 C !INPUT/OUTPUT PARAMETERS:
26 C == Routine arguments ==
27 C myTime :: Current time in simulation
28 C myIter :: Current iteration number in simulation
29 C myThid :: Thread number for this instance of the routine.
30 _RL myTime
31 INTEGER myIter
32 INTEGER myThid
33 CEOP
34
35 C- note: use less common EXCH S/R here (instead of usual ones) to
36 C force TAF to also generate AD version for these rare ones
37 IF ( staggerTimeStep .AND. useMultiDimAdvec) THEN
38 c CALL EXCH_UV_XYZ_RL( uVel,vVel, .TRUE., myThid )
39 CALL EXCH_UV_3D_RL( uVel, vVel, .TRUE., Nr, myThid )
40 c IF ( .NOT.implicitIntGravWave )
41 c & _EXCH_XYZ_RL( wVel, myThid )
42 IF ( .NOT.implicitIntGravWave )
43 & CALL EXCH_3D_RL( wVel, Nr, myThid )
44 ENDIF
45 c #ifdef ALLOW_NONHYDROSTATIC
46 IF ( implicitIntGravWave ) THEN
47 c _EXCH_XYZ_RL( gT , myThid )
48 c _EXCH_XYZ_RL( gS , myThid )
49 CALL EXCH_SM_3D_RL( gT, .FALSE., Nr, myThid )
50 CALL EXCH_SM_3D_RL( gS, .FALSE., Nr, myThid )
51 ENDIF
52 c #endif
53
54 RETURN
55 END

  ViewVC Help
Powered by ViewVC 1.1.22