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

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

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


Revision 1.11 - (hide annotations) (download)
Thu Aug 7 17:32:03 2014 UTC (9 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65r, checkpoint65p, checkpoint65q, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65o
Changes since 1.10: +5 -5 lines
move CYCLE_TRACER calls from tracers_correction_step.F to temp/salt/ptracer_integrate.F
 so that theta,salt and pTracers arrays are already updated when leaving
 S/R THERMODYANMICS while adjustments (filters, conv.adjustment) are still
 applied later, in S/R TRACERS_CORRECTION_STEP.

1 jmc 1.11 C $Header: /u/gcmpack/MITgcm/model/src/do_stagger_fields_exchanges.F,v 1.10 2014/08/03 03:17:15 jmc Exp $
2 jmc 1.1 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 jmc 1.4 C | o Exchange edge info of Active tracers fields (U,V)
14     C | (needed when using stagger time Step + multiDimAdvec)
15 jmc 1.1 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 jmc 1.8 INTEGER myThid
33 jmc 1.1 CEOP
34    
35 jmc 1.9 IF ( .NOT.useOffLine ) THEN
36     C- Apply Exchanges on dynamics state variable, except in Off-Line mode
37    
38 jmc 1.8 C- note: use less common EXCH S/R here (instead of usual ones) to
39     C force TAF to also generate AD version for these rare ones
40 jmc 1.10 IF ( staggerTimeStep ) THEN
41 jmc 1.8 c CALL EXCH_UV_XYZ_RL( uVel,vVel, .TRUE., myThid )
42     CALL EXCH_UV_3D_RL( uVel, vVel, .TRUE., Nr, myThid )
43     c IF ( .NOT.implicitIntGravWave )
44     c & _EXCH_XYZ_RL( wVel, myThid )
45 jmc 1.6 IF ( .NOT.implicitIntGravWave )
46 jmc 1.8 & CALL EXCH_3D_RL( wVel, Nr, myThid )
47 jmc 1.1 ENDIF
48 jmc 1.6 c #ifdef ALLOW_NONHYDROSTATIC
49     IF ( implicitIntGravWave ) THEN
50 jmc 1.11 c _EXCH_XYZ_RL( theta, myThid )
51     c _EXCH_XYZ_RL( salt , myThid )
52     CALL EXCH_SM_3D_RL( theta, .FALSE., Nr, myThid )
53     CALL EXCH_SM_3D_RL( salt , .FALSE., Nr, myThid )
54 jmc 1.6 ENDIF
55     c #endif
56 jmc 1.1
57 jmc 1.9 C- if not useOffLine: end
58     ENDIF
59    
60 jmc 1.1 RETURN
61     END

  ViewVC Help
Powered by ViewVC 1.1.22