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

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

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


Revision 1.6 - (hide annotations) (download)
Tue Jun 16 15:20:08 1998 UTC (26 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint11, checkpoint10, checkpoint13, checkpoint12, checkpoint15, checkpoint14, checkpoint9, checkpoint8, branch-point-rdot
Branch point for: branch-rdot
Changes since 1.5: +5 -5 lines
E-implemented the theta* and salt* time-stepping scheme.
We did this so that theta/salt/u/v would all be at the same
time-level at the end of dynamics() to make I/O easier.

1 adcroft 1.6 C $Header: /u/gcmpack/models/MITgcmUV/model/src/do_gterm_blocking_exchanges.F,v 1.5 1998/06/10 16:05:39 adcroft Exp $
2 cnh 1.1
3 adcroft 1.4 #include "CPP_OPTIONS.h"
4 cnh 1.1
5     SUBROUTINE DO_GTERM_BLOCKING_EXCHANGES(myThid)
6     C /==========================================================\
7     C | SUBROUTINE DO_THE_MODEL_IO |
8     C | o Controlling routine for IO in model main time-stepping |
9     C | loop. |
10     C |==========================================================|
11     C | Many systems do not have thread safe IO so it is easier |
12     C | to lump everything together and do dumping of fields |
13     C | and updating of forcing terms in a single place. |
14     C | The approach to IO used here is that writes are only |
15     C | performed by thread 1 and that a process only writes out |
16     C | its data ( since it doen't know about anyone elses data!)|
17     C | Reading on the other hand is assumed to be from a file |
18     C | containing all the data for all the processes. Only the |
19     C | portion of data of interest to this process is actually |
20     C | loaded. To work well this assumes the existence of some |
21     C | reliable tool to join datasets together at the end of a |
22     C | run. |
23     C | Notes |
24     C | ===== |
25     C | We allow thread 2-nThreads to continue whilst thread 1 |
26     C | does IO. The assumption is that the other threads won't |
27     C | do anything to update their interior regions before |
28     C | thread 1 has finished writing them out. |
29     C \==========================================================/
30    
31     C == Global variables ===
32     #include "SIZE.h"
33     #include "EEPARAMS.h"
34     #include "DYNVARS.h"
35    
36     C == Routine arguments ==
37     C myThid - Thread number for this instance of the routine.
38     INTEGER myThid
39    
40 adcroft 1.4 c _EXCH_XYZ_R8( Gu , myThid )
41     c _EXCH_XYZ_R8( Gv , myThid )
42     c _EXCH_XYZ_R8( Gt , myThid )
43 adcroft 1.5 c _EXCH_XYZ_R8( Gs , myThid )
44 adcroft 1.4 _EXCH_XYZ_R8( gUNm1 , myThid )
45     _EXCH_XYZ_R8( gVNm1 , myThid )
46 adcroft 1.6 _EXCH_XYZ_R8( gTNm1 , myThid )
47     _EXCH_XYZ_R8( gSNm1 , myThid )
48 adcroft 1.4 c _EXCH_XYZ_R8( uVel , myThid )
49     c _EXCH_XYZ_R8( vVel , myThid )
50 adcroft 1.6 c _EXCH_XYZ_R8( theta , myThid )
51     c _EXCH_XYZ_R8( salt , myThid )
52 cnh 1.3 #ifdef ALLOW_CD
53     _EXCH_XYZ_R8( guCD , myThid )
54     _EXCH_XYZ_R8( gvCD , myThid )
55     #endif
56 cnh 1.1 CcnhDebugStarts
57     Cdbg _EXCH_XYZ_R8( phSave , myThid )
58     CcnhDebugEnds
59    
60     RETURN
61     END
62    

  ViewVC Help
Powered by ViewVC 1.1.22