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

Contents 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 - (show annotations) (download)
Tue Jun 16 15:20:08 1998 UTC (25 years, 10 months 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 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
3 #include "CPP_OPTIONS.h"
4
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 c _EXCH_XYZ_R8( Gu , myThid )
41 c _EXCH_XYZ_R8( Gv , myThid )
42 c _EXCH_XYZ_R8( Gt , myThid )
43 c _EXCH_XYZ_R8( Gs , myThid )
44 _EXCH_XYZ_R8( gUNm1 , myThid )
45 _EXCH_XYZ_R8( gVNm1 , myThid )
46 _EXCH_XYZ_R8( gTNm1 , myThid )
47 _EXCH_XYZ_R8( gSNm1 , myThid )
48 c _EXCH_XYZ_R8( uVel , myThid )
49 c _EXCH_XYZ_R8( vVel , myThid )
50 c _EXCH_XYZ_R8( theta , myThid )
51 c _EXCH_XYZ_R8( salt , myThid )
52 #ifdef ALLOW_CD
53 _EXCH_XYZ_R8( guCD , myThid )
54 _EXCH_XYZ_R8( gvCD , myThid )
55 #endif
56 CcnhDebugStarts
57 Cdbg _EXCH_XYZ_R8( phSave , myThid )
58 CcnhDebugEnds
59
60 RETURN
61 END
62

  ViewVC Help
Powered by ViewVC 1.1.22