module_MPPINIT.F

References to this file elsewhere.
1 !
2 !NCEP_MESO:MEDIATION_LAYER: SET UP DOMAIN DECOMPOSITION VARIABLES
3 !
4 !
5 !----------------------------------------------------------------------
6 !
7       MODULE MODULE_MPPINIT
8 !
9 !----------------------------------------------------------------------
10       USE MODULE_MPP
11 !----------------------------------------------------------------------
12 !
13       CONTAINS
14 !
15 !**********************************************************************
16       SUBROUTINE MPPINIT(IDS,IDE,JDS,JDE,KDS,KDE                       &
17                         ,IMS,IME,JMS,JME,KMS,KME                       &
18                         ,IPS,IPE,JPS,JPE,KPS,KPE)
19 !**********************************************************************
20 !$$$  SUBPROGRAM DOCUMENTATION BLOCK
21 !                .      .    .
22 ! SUBPROGRAM:    MPPINIT     SET UP DECOMPOSITION VARIABLES
23 !   PRGRMMR: BLACK           ORG: W/NP22     DATE: 98-10-28
24 !
25 ! ABSTRACT:
26 !     MPPINIT DETERMINES ALL RELEVANT VALUES FOR DIMENSIONS OF THE
27 !     DISTRIBUTED SUBDOMAINS AND THEIR HALOES.
28 !
29 ! PROGRAM HISTORY LOG:
30 !   97-??-??  MEYS       - ORIGINATOR
31 !   97-??-??  BLACK      - CHANGES MADE FOR CLARITY
32 !   98-10-29  BLACK      - REWRITTEN FOR CLARITY
33 !
34 ! USAGE: CALL MPPINIT FROM MAIN PROGRAM NCEP_MESO
35 !   INPUT ARGUMENT LIST:
36 
37 !   OUTPUT ARGUMENT LIST:
38 !     NONE
39 !
40 !   OUTPUT FILES:
41 !     NONE
42 !
43 !   SUBPROGRAMS CALLED:
44 !
45 !     UNIQUE:
46 !        NONE
47 !
48 !     LIBRARY:
49 !        NONE
50 !
51 ! ATTRIBUTES:
52 !   LANGUAGE: FORTRAN 90
53 !   MACHINE : IBM SP
54 !$$$
55 !----------------------------------------------------------------------
56 !
57       IMPLICIT NONE
58 !
59 !----------------------------------------------------------------------
60       INTEGER,INTENT(IN) :: IDS,IDE,JDS,JDE,KDS,KDE                    &
61                            ,IMS,IME,JMS,JME,KMS,KME                    &
62                            ,IPS,IPE,JPS,JPE,KPS,KPE
63 !----------------------------------------------------------------------
64 !**********************************************************************
65 !----------------------------------------------------------------------
66 
67       CALL wrf_get_myproc ( MYPE )
68       CALL wrf_get_nproc  ( NPES )
69       CALL wrf_get_dm_communicator ( mpi_comm_comp )
70 
71 !jm
72       MYIS    = MAX( IPS-0, IDS+0 )
73       MYIS_P1 = MAX( IPS-1, IDS+0 )
74       MYIS_P2 = MAX( IPS-2, IDS+0 )
75       MYIS_P3 = MAX( IPS-3, IDS+0 )
76       MYIS_P4 = MAX( IPS-4, IDS+0 )
77       MYIS_P5 = MAX( IPS-5, IDS+0 )
78 !
79       MYIS1   = MAX( IPS-0, IDS+1 )
80       MYIS1_P1= MAX( IPS-1, IDS+1 )
81       MYIS1_P2= MAX( IPS-2, IDS+1 )
82       MYIS1_P3= MAX( IPS-3, IDS+1 )
83       MYIS1_P4= MAX( IPS-4, IDS+1 )
84       MYIS1_P5= MAX( IPS-5, IDS+1 )
85 !
86       MYIS2   = MAX( IPS-0, IDS+2 )
87       MYIS2_P1= MAX( IPS-1, IDS+2 )
88       MYIS2_P2= MAX( IPS-2, IDS+2 )
89       MYIS2_P3= MAX( IPS-3, IDS+2 )
90       MYIS2_P4= MAX( IPS-4, IDS+2 )
91       MYIS2_P5= MAX( IPS-5, IDS+2 )
92 !
93       MYIS3   = MAX( IPS-0, IDS+3 )
94       MYIS3_P1= MAX( IPS-1, IDS+3 )
95       MYIS3_P2= MAX( IPS-2, IDS+3 )
96       MYIS3_P3= MAX( IPS-3, IDS+3 )
97       MYIS3_P4= MAX( IPS-4, IDS+3 )
98       MYIS3_P5= MAX( IPS-5, IDS+3 )
99 !
100       MYIS4   = MAX( IPS-0, IDS+4 )
101       MYIS4_P1= MAX( IPS-1, IDS+4 )
102       MYIS4_P2= MAX( IPS-2, IDS+4 )
103       MYIS4_P3= MAX( IPS-3, IDS+4 )
104       MYIS4_P4= MAX( IPS-4, IDS+4 )
105       MYIS4_P5= MAX( IPS-5, IDS+4 )
106 !
107       MYIS5   = MAX( IPS-0, IDS+5 )
108       MYIS5_P1= MAX( IPS-1, IDS+5 )
109       MYIS5_P2= MAX( IPS-2, IDS+5 )
110       MYIS5_P3= MAX( IPS-3, IDS+5 )
111       MYIS5_P4= MAX( IPS-4, IDS+5 )
112       MYIS5_P5= MAX( IPS-5, IDS+5 )
113 
114 !jm
115       MYIE    = MIN( IPE+0, IDE-0 )
116       MYIE_P1 = MIN( IPE+1, IDE-0 )
117       MYIE_P2 = MIN( IPE+2, IDE-0 )
118       MYIE_P3 = MIN( IPE+3, IDE-0 )
119       MYIE_P4 = MIN( IPE+4, IDE-0 )
120       MYIE_P5 = MIN( IPE+5, IDE-0 )
121 !
122       MYIE1   = MIN( IPE+0, IDE-1 )
123       MYIE1_P1= MIN( IPE+1, IDE-1 )
124       MYIE1_P2= MIN( IPE+2, IDE-1 )
125       MYIE1_P3= MIN( IPE+3, IDE-1 )
126       MYIE1_P4= MIN( IPE+4, IDE-1 )
127       MYIE1_P5= MIN( IPE+5, IDE-1 )
128 !
129       MYIE2   = MIN( IPE+0, IDE-2 )
130       MYIE2_P1= MIN( IPE+1, IDE-2 )
131       MYIE2_P2= MIN( IPE+2, IDE-2 )
132       MYIE2_P3= MIN( IPE+3, IDE-2 )
133       MYIE2_P4= MIN( IPE+4, IDE-2 )
134       MYIE2_P5= MIN( IPE+5, IDE-2 )
135 !
136       MYIE3   = MIN( IPE+0, IDE-3 )
137       MYIE3_P1= MIN( IPE+1, IDE-3 )
138       MYIE3_P2= MIN( IPE+2, IDE-3 )
139       MYIE3_P3= MIN( IPE+3, IDE-3 )
140       MYIE3_P4= MIN( IPE+4, IDE-3 )
141       MYIE3_P5= MIN( IPE+5, IDE-3 )
142 !
143       MYIE4   = MIN( IPE+0, IDE-4 )
144       MYIE4_P1= MIN( IPE+1, IDE-4 )
145       MYIE4_P2= MIN( IPE+2, IDE-4 )
146       MYIE4_P3= MIN( IPE+3, IDE-4 )
147       MYIE4_P4= MIN( IPE+4, IDE-4 )
148       MYIE4_P5= MIN( IPE+5, IDE-4 )
149 !
150       MYIE5   = MIN( IPE+0, IDE-5 )
151       MYIE5_P1= MIN( IPE+1, IDE-5 )
152       MYIE5_P2= MIN( IPE+2, IDE-5 )
153       MYIE5_P3= MIN( IPE+3, IDE-5 )
154       MYIE5_P4= MIN( IPE+4, IDE-5 )
155       MYIE5_P5= MIN( IPE+5, IDE-5 )
156 
157 !jm
158       MYJS    = MAX( JPS-0, JDS+0 )
159       MYJS_P1 = MAX( JPS-1, JDS+0 )
160       MYJS_P2 = MAX( JPS-2, JDS+0 )
161       MYJS_P3 = MAX( JPS-3, JDS+0 )
162       MYJS_P4 = MAX( JPS-4, JDS+0 )
163       MYJS_P5 = MAX( JPS-5, JDS+0 )
164 !
165       MYJS1   = MAX( JPS-0, JDS+1 )
166       MYJS1_P1= MAX( JPS-1, JDS+1 )
167       MYJS1_P2= MAX( JPS-2, JDS+1 )
168       MYJS1_P3= MAX( JPS-3, JDS+1 )
169       MYJS1_P4= MAX( JPS-4, JDS+1 )
170       MYJS1_P5= MAX( JPS-5, JDS+1 )
171 !
172       MYJS2   = MAX( JPS-0, JDS+2 )
173       MYJS2_P1= MAX( JPS-1, JDS+2 )
174       MYJS2_P2= MAX( JPS-2, JDS+2 )
175       MYJS2_P3= MAX( JPS-3, JDS+2 )
176       MYJS2_P4= MAX( JPS-4, JDS+2 )
177       MYJS2_P5= MAX( JPS-5, JDS+2 )
178 !
179       MYJS3   = MAX( JPS-0, JDS+3 )
180       MYJS3_P1= MAX( JPS-1, JDS+3 )
181       MYJS3_P2= MAX( JPS-2, JDS+3 )
182       MYJS3_P3= MAX( JPS-3, JDS+3 )
183       MYJS3_P4= MAX( JPS-4, JDS+3 )
184       MYJS3_P5= MAX( JPS-5, JDS+3 )
185 !
186       MYJS4   = MAX( JPS-0, JDS+4 )
187       MYJS4_P1= MAX( JPS-1, JDS+4 )
188       MYJS4_P2= MAX( JPS-2, JDS+4 )
189       MYJS4_P3= MAX( JPS-3, JDS+4 )
190       MYJS4_P4= MAX( JPS-4, JDS+4 )
191       MYJS4_P5= MAX( JPS-5, JDS+4 )
192 !
193       MYJS5   = MAX( JPS-0, JDS+5 )
194       MYJS5_P1= MAX( JPS-1, JDS+5 )
195       MYJS5_P2= MAX( JPS-2, JDS+5 )
196       MYJS5_P3= MAX( JPS-3, JDS+5 )
197       MYJS5_P4= MAX( JPS-4, JDS+5 )
198       MYJS5_P5= MAX( JPS-5, JDS+5 )
199 !
200 !jm
201       MYJE    = MIN( JPE+0, JDE-0 )
202       MYJE_P1 = MIN( JPE+1, JDE-0 )
203       MYJE_P2 = MIN( JPE+2, JDE-0 )
204       MYJE_P3 = MIN( JPE+3, JDE-0 )
205       MYJE_P4 = MIN( JPE+4, JDE-0 )
206       MYJE_P5 = MIN( JPE+5, JDE-0 )
207 !
208       MYJE1   = MIN( JPE+0, JDE-1 )
209       MYJE1_P1= MIN( JPE+1, JDE-1 )
210       MYJE1_P2= MIN( JPE+2, JDE-1 )
211       MYJE1_P3= MIN( JPE+3, JDE-1 )
212       MYJE1_P4= MIN( JPE+4, JDE-1 )
213       MYJE1_P5= MIN( JPE+5, JDE-1 )
214 !
215       MYJE2   = MIN( JPE+0, JDE-2 )
216       MYJE2_P1= MIN( JPE+1, JDE-2 )
217       MYJE2_P2= MIN( JPE+2, JDE-2 )
218       MYJE2_P3= MIN( JPE+3, JDE-2 )
219       MYJE2_P4= MIN( JPE+4, JDE-2 )
220       MYJE2_P5= MIN( JPE+5, JDE-2 )
221 !
222       MYJE3   = MIN( JPE+0, JDE-3 )
223       MYJE3_P1= MIN( JPE+1, JDE-3 )
224       MYJE3_P2= MIN( JPE+2, JDE-3 )
225       MYJE3_P3= MIN( JPE+3, JDE-3 )
226       MYJE3_P4= MIN( JPE+4, JDE-3 )
227       MYJE3_P5= MIN( JPE+5, JDE-3 )
228 !
229       MYJE4   = MIN( JPE+0, JDE-4 )
230       MYJE4_P1= MIN( JPE+1, JDE-4 )
231       MYJE4_P2= MIN( JPE+2, JDE-4 )
232       MYJE4_P3= MIN( JPE+3, JDE-4 )
233       MYJE4_P4= MIN( JPE+4, JDE-4 )
234       MYJE4_P5= MIN( JPE+5, JDE-4 )
235 !
236       MYJE5   = MIN( JPE+0, JDE-5 )
237       MYJE5_P1= MIN( JPE+1, JDE-5 )
238       MYJE5_P2= MIN( JPE+2, JDE-5 )
239       MYJE5_P3= MIN( JPE+3, JDE-5 )
240       MYJE5_P4= MIN( JPE+4, JDE-5 )
241       MYJE5_P5= MIN( JPE+5, JDE-5 )
242 
243 !----------------------------------------------------------------------
244       END SUBROUTINE MPPINIT
245 !**********************************************************************
246 !----------------------------------------------------------------------
247 !----------------------------------------------------------------------
248 !jm!**********************************************************************
249 !jm!----------------------------------------------------------------------
250 !jm!
251 !jm!**********************************************************************
252 !jm      SUBROUTINE GOSSIP(IDS,IDE,JDS,JDE,KDS,KDE                        &
253 !jm                       ,IMS,IME,JMS,JME,KMS,KME                        &
254 !jm                       ,ITS,ITE,JTS,JTE,KTS,KTE)
255 !jm!**********************************************************************
256 !jm!$$$  SUBPROGRAM DOCUMENTATION BLOCK
257 !jm!                .      .    .
258 !jm! SUBPROGRAM:    GOSSIP      EXCHANGE OF FIELDS BETWEEN PROCESSORS
259 !jm!   PRGRMMR: BLACK           ORG: W/NP2      DATE: 97-08-30
260 !jm!
261 !jm! ABSTRACT:
262 !jm!     GOSSIP EXCHANGES MANY FIELDS BETWEEN PROCESSORS
263 !jm!     IN ORDER TO FILL THE HALOES
264 !jm!
265 !jm! PROGRAM HISTORY LOG:
266 !jm!   97-05-??  MEYS       - ORIGINATOR
267 !jm!   98-10-23  BLACK      - MODIFIED FOR CURRENT VERSION OF MODEL 
268 !jm!   01-03-21  BLACK      - CONVERTED TO WRF FORMAT
269 !jm!
270 !jm! USAGE: CALL GOSSIP FROM MAIN PROGRAM EBU
271 !jm!   INPUT ARGUMENT LIST:
272 !jm!       IMS - TASKS'S STARTING I ADDRESS
273 !jm!       IME - TASKS'S ENDING I ADDRESS
274 !jm!       JMS - TASKS'S STARTING J ADDRESS
275 !jm!       JME - TASKS'S ENDING J ADDRESS
276 !jm!       KMS - TASKS'S STARTING K ADDRESS
277 !jm!       KME - TASKS'S ENDING K ADDRESS
278 !jm!
279 !jm!   OUTPUT ARGUMENT LIST:
280 !jm!     NONE
281 !jm!
282 !jm!   OUTPUT FILES:
283 !jm!     NONE
284 !jm!
285 !jm!   SUBPROGRAMS CALLED:
286 !jm!
287 !jm!     UNIQUE: EXCH
288 !jm!
289 !jm!     LIBRARY: NONE
290 !jm!
291 !jm! ATTRIBUTES:
292 !jm!   LANGUAGE: FORTRAN 90
293 !jm!   MACHINE : IBM SP
294 !jm!$$$
295 !jm!**********************************************************************
296 !jm!----------------------------------------------------------------------
297 !jm!
298 !jm      IMPLICIT NONE
299 !jm!
300 !jm!----------------------------------------------------------------------
301 !jm      INTEGER,INTENT(IN) :: IDS,IDE,JDS,JDE,KDS,KDE                    &
302 !jm                           ,IMS,IME,JMS,JME,KMS,KME                    &
303 !jm                           ,ITS,ITE,JTS,JTE,KTS,KTE
304 !jm!
305 !jm      INTEGER :: J
306 !jm!----------------------------------------------------------------------
307 !jm!**********************************************************************
308 !jm!
309 !jm!***  THE NHB ARRAYS
310 !jm!
311 !jm      CALL EXCH(LMH,1,5,5,IMS,IME,JMS,JME,KMS,KME)
312 !jm      CALL EXCH(LMV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
313 !jm      CALL EXCH(HBM2,1,5,5,IMS,IME,JMS,JME,KMS,KME)
314 !jm      CALL EXCH(HBM3,1,5,5,IMS,IME,JMS,JME,KMS,KME)
315 !jm      CALL EXCH(VBM2,1,5,5,IMS,IME,JMS,JME,KMS,KME)
316 !jm      CALL EXCH(VBM3,1,5,5,IMS,IME,JMS,JME,KMS,KME)
317 !jm      CALL EXCH(SM,1,5,5,IMS,IME,JMS,JME,KMS,KME)
318 !jm      CALL EXCH(SICE,1,5,5,IMS,IME,JMS,JME,KMS,KME)
319 !jm      CALL EXCH(HTM,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
320 !jm      CALL EXCH(VTM,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
321 !jm      CALL EXCH(DX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
322 !jm      CALL EXCH(WPDAR,1,5,5,IMS,IME,JMS,JME,KMS,KME)
323 !jm      CALL EXCH(CPGFU,1,5,5,IMS,IME,JMS,JME,KMS,KME)
324 !jm      CALL EXCH(CURV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
325 !jm      CALL EXCH(FCP,1,5,5,IMS,IME,JMS,JME,KMS,KME)
326 !jm      CALL EXCH(FDIV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
327 !jm      CALL EXCH(FAD,1,5,5,IMS,IME,JMS,JME,KMS,KME)
328 !jm      CALL EXCH(F,1,5,5,IMS,IME,JMS,JME,KMS,KME)
329 !jm      CALL EXCH(DDMPU,1,5,5,IMS,IME,JMS,JME,KMS,KME)
330 !jm      CALL EXCH(DDMPV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
331 !jm      CALL EXCH(GLAT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
332 !jm      CALL EXCH(GLON,1,5,5,IMS,IME,JMS,JME,KMS,KME)
333 !jm      CALL EXCH(EPSR,1,5,5,IMS,IME,JMS,JME,KMS,KME)
334 !jm      CALL EXCH(TG,1,5,5,IMS,IME,JMS,JME,KMS,KME)
335 !jm      CALL EXCH(GFFC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
336 !jm      CALL EXCH(SST,1,5,5,IMS,IME,JMS,JME,KMS,KME)
337 !jm      CALL EXCH(ALBASE,1,5,5,IMS,IME,JMS,JME,KMS,KME)
338 !jm      CALL EXCH(HDAC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
339 !jm      CALL EXCH(HDACV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
340 !jm      CALL EXCH(IVGTYP,1,5,5,IMS,IME,JMS,JME,KMS,KME)
341 !jm      CALL EXCH(ISLTYP,1,5,5,IMS,IME,JMS,JME,KMS,KME)
342 !jm      CALL EXCH(ISLOPE,1,5,5,IMS,IME,JMS,JME,KMS,KME)
343 !jm      CALL EXCH(VEGFRC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
344 !jm!
345 !jm!***  THE RESTRT FILE ARRAYS
346 !jm!
347 !jm      CALL EXCH (OMGALF,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
348 !jm      CALL EXCH (PD,1,5,5,IMS,IME,JMS,JME,KMS,KME)
349 !jm      CALL EXCH (RES,1,5,5,IMS,IME,JMS,JME,KMS,KME)
350 !jm      CALL EXCH (FIS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
351 !jm      CALL EXCH (T,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
352 !jm      CALL EXCH (U,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
353 !jm      CALL EXCH (V,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
354 !jm      CALL EXCH (Q,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
355 !jm      CALL EXCH (Q2,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
356 !jm      CALL EXCH (CWM,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
357 !jm      CALL EXCH (TRAIN,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
358 !jm      CALL EXCH (TCUCN,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
359 !jm      CALL EXCH (RSWIN,1,5,5,IMS,IME,JMS,JME,KMS,KME)
360 !jm      CALL EXCH (RSWOUT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
361 !jm      CALL EXCH (TG,1,5,5,IMS,IME,JMS,JME,KMS,KME)
362 !jm      CALL EXCH (Z0,1,5,5,IMS,IME,JMS,JME,KMS,KME)
363 !jm      CALL EXCH (AKMS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
364 !jm      CALL EXCH (CZEN,1,5,5,IMS,IME,JMS,JME,KMS,KME)
365 !jm      CALL EXCH (AKHS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
366 !jm      CALL EXCH (THS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
367 !jm      CALL EXCH (QS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
368 !jm      CALL EXCH (TWBS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
369 !jm      CALL EXCH (QWBS,1,5,5,IMS,IME,JMS,JME,KMS,KME)
370 !jm      CALL EXCH (HBOT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
371 !jm      CALL EXCH (CFRACL,1,5,5,IMS,IME,JMS,JME,KMS,KME)
372 !jm      CALL EXCH (THZ0,1,5,5,IMS,IME,JMS,JME,KMS,KME)
373 !jm      CALL EXCH (QZ0,1,5,5,IMS,IME,JMS,JME,KMS,KME)
374 !jm      CALL EXCH (UZ0,1,5,5,IMS,IME,JMS,JME,KMS,KME)
375 !jm      CALL EXCH (VZ0,1,5,5,IMS,IME,JMS,JME,KMS,KME)
376 !jm      CALL EXCH (USTAR,1,5,5,IMS,IME,JMS,JME,KMS,KME)
377 !jm      CALL EXCH (HTOP,1,5,5,IMS,IME,JMS,JME,KMS,KME)
378 !jm      CALL EXCH (CFRACM,1,5,5,IMS,IME,JMS,JME,KMS,KME)
379 !jm      CALL EXCH (SNO,1,5,5,IMS,IME,JMS,JME,KMS,KME)
380 !jm      CALL EXCH (SI,1,5,5,IMS,IME,JMS,JME,KMS,KME)
381 !jm      CALL EXCH (CLDEFI,1,5,5,IMS,IME,JMS,JME,KMS,KME)
382 !jm      CALL EXCH (RF,1,5,5,IMS,IME,JMS,JME,KMS,KME)
383 !jm      CALL EXCH (CUPPT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
384 !jm      CALL EXCH (CFRACH,1,5,5,IMS,IME,JMS,JME,KMS,KME)
385 !jm      CALL EXCH (SOILTB,1,5,5,IMS,IME,JMS,JME,KMS,KME)
386 !jm      CALL EXCH (SFCEXC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
387 !jm      CALL EXCH (SMSTAV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
388 !jm      CALL EXCH (SMSTOT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
389 !jm      CALL EXCH (GRNFLX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
390 !jm      CALL EXCH (PCTSNO,1,5,5,IMS,IME,JMS,JME,KMS,KME)
391 !jm      CALL EXCH (RLWIN,1,5,5,IMS,IME,JMS,JME,KMS,KME)
392 !jm      CALL EXCH (RADOT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
393 !jm      CALL EXCH (CZMEAN,1,5,5,IMS,IME,JMS,JME,KMS,KME)
394 !jm      CALL EXCH (SIGT4,1,5,5,IMS,IME,JMS,JME,KMS,KME)
395 !jm      CALL EXCH (U00,1,5,5,IMS,IME,JMS,JME,KMS,KME)
396 !jm      CALL EXCH (LC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
397 !jm      CALL EXCH (SR,1,5,5,IMS,IME,JMS,JME,KMS,KME)
398 !jm      CALL EXCH (PREC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
399 !jm      CALL EXCH (ACPREC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
400 !jm      CALL EXCH (ACCLIQ,1,5,5,IMS,IME,JMS,JME,KMS,KME)
401 !jm      CALL EXCH (CUPREC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
402 !jm      CALL EXCH (ACFRCV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
403 !jm      CALL EXCH (NCFRCV,1,5,5,IMS,IME,JMS,JME,KMS,KME)
404 !jm      CALL EXCH (ACFRST,1,5,5,IMS,IME,JMS,JME,KMS,KME)
405 !jm      CALL EXCH (NCFRST,1,5,5,IMS,IME,JMS,JME,KMS,KME)
406 !jm      CALL EXCH (ACSNOW,1,5,5,IMS,IME,JMS,JME,KMS,KME)
407 !jm      CALL EXCH (ACSNOM,1,5,5,IMS,IME,JMS,JME,KMS,KME)
408 !jm      CALL EXCH (SSROFF,1,5,5,IMS,IME,JMS,JME,KMS,KME)
409 !jm      CALL EXCH (BGROFF,1,5,5,IMS,IME,JMS,JME,KMS,KME)
410 !jm      CALL EXCH (SFCSHX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
411 !jm      CALL EXCH (SFCLHX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
412 !jm      CALL EXCH (SUBSHX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
413 !jm      CALL EXCH (SNOPCX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
414 !jm      CALL EXCH (SFCUVX,1,5,5,IMS,IME,JMS,JME,KMS,KME)
415 !jm      CALL EXCH (SFCEVP,1,5,5,IMS,IME,JMS,JME,KMS,KME)
416 !jm      CALL EXCH (POTEVP,1,5,5,IMS,IME,JMS,JME,KMS,KME)
417 !jm      CALL EXCH (ASWIN,1,5,5,IMS,IME,JMS,JME,KMS,KME)
418 !jm      CALL EXCH (ASWOUT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
419 !jm      CALL EXCH (ASWTOA,1,5,5,IMS,IME,JMS,JME,KMS,KME)
420 !jm      CALL EXCH (ALWIN,1,5,5,IMS,IME,JMS,JME,KMS,KME)
421 !jm      CALL EXCH (ALWOUT,1,5,5,IMS,IME,JMS,JME,KMS,KME)
422 !jm      CALL EXCH (ALWTOA,1,5,5,IMS,IME,JMS,JME,KMS,KME)
423 !jm      CALL EXCH (SMC,NSOIL,5,5,IMS,IME,JMS,JME,KMS,KME)
424 !jm      CALL EXCH (CMC,1,5,5,IMS,IME,JMS,JME,KMS,KME)
425 !jm      CALL EXCH (STC,NSOIL,5,5,IMS,IME,JMS,JME,KMS,KME)
426 !jm      CALL EXCH (SH2O,NSOIL,5,5,IMS,IME,JMS,JME,KMS,KME)
427 !jm      CALL EXCH (ALBEDO,1,5,5,IMS,IME,JMS,JME,KMS,KME)
428 !jm!
429 !jm      CALL EXCH (PINT,LM+1,5,5,IMS,IME,JMS,JME,KMS,KME)
430 !jm      CALL EXCH (Z,LM+1,5,5,IMS,IME,JMS,JME,KMS,KME)
431 !jm      CALL EXCH (DWDT,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
432 !jm      CALL EXCH (TOLD,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
433 !jm      CALL EXCH (UOLD,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
434 !jm      CALL EXCH (VOLD,LM,5,5,IMS,IME,JMS,JME,KMS,KME)
435 !jm!
436 !jm      DO J=MYJS_P4,MYJE_P4
437 !jm        IVW(J)=IVWG(J+MY_JS_GLB-1)
438 !jm        IVE(J)=IVEG(J+MY_JS_GLB-1)
439 !jm        IHE(J)=IHEG(J+MY_JS_GLB-1)
440 !jm        IHW(J)=IHWG(J+MY_JS_GLB-1)
441 !jm      ENDDO
442 !jm!
443 !jm!----------------------------------------------------------------------
444 !jm      END SUBROUTINE GOSSIP
445 !----------------------------------------------------------------------
446       END MODULE MODULE_MPPINIT
447