FMS
2026.01.01-dev
Flexible Modeling System
mpp_domains_reduce.inc
1
! -*-f90-*-
2
3
!***********************************************************************
4
!* Apache License 2.0
5
!*
6
!* This file is part of the GFDL Flexible Modeling System (FMS).
7
!*
8
!* Licensed under the Apache License, Version 2.0 (the "License");
9
!* you may not use this file except in compliance with the License.
10
!* You may obtain a copy of the License at
11
!*
12
!* http://www.apache.org/licenses/LICENSE-2.0
13
!*
14
!* FMS is distributed in the hope that it will be useful, but WITHOUT
15
!* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
16
!* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
17
!* PARTICULAR PURPOSE. See the License for the specific language
18
!* governing permissions and limitations under the License.
19
!***********************************************************************
20
!> @file
21
!> @brief Routines for calculating data from distributed arrays
22
23
!> @addtogroup mpp_domains_mod
24
!> @{
25
26
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
! !
28
! MPP_GLOBAL_REDUCE: get global max/min of field !
29
! !
30
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31
32
#undef MPP_GLOBAL_REDUCE_2D_
33
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_max_r8_2d
34
#undef MPP_GLOBAL_REDUCE_3D_
35
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_max_r8_3d
36
#undef MPP_GLOBAL_REDUCE_4D_
37
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_max_r8_4d
38
#undef MPP_GLOBAL_REDUCE_5D_
39
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_max_r8_5d
40
#undef MPP_TYPE_
41
#define MPP_TYPE_ real(r8_kind)
42
#undef REDUCE_VAL_
43
#define REDUCE_VAL_ maxval
44
#undef REDUCE_LOC_
45
#define REDUCE_LOC_ maxloc
46
#undef MPP_REDUCE_
47
#define MPP_REDUCE_ mpp_max
48
#include <mpp_global_reduce.fh>
49
50
#undef MPP_GLOBAL_REDUCE_2D_
51
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_min_r8_2d
52
#undef MPP_GLOBAL_REDUCE_3D_
53
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_min_r8_3d
54
#undef MPP_GLOBAL_REDUCE_4D_
55
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_min_r8_4d
56
#undef MPP_GLOBAL_REDUCE_5D_
57
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_min_r8_5d
58
#undef MPP_TYPE_
59
#define MPP_TYPE_ real(r8_kind)
60
#undef REDUCE_VAL_
61
#define REDUCE_VAL_ minval
62
#undef REDUCE_LOC_
63
#define REDUCE_LOC_ minloc
64
#undef MPP_REDUCE_
65
#define MPP_REDUCE_ mpp_min
66
#include <mpp_global_reduce.fh>
67
68
#undef MPP_GLOBAL_REDUCE_2D_
69
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_max_r4_2d
70
#undef MPP_GLOBAL_REDUCE_3D_
71
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_max_r4_3d
72
#undef MPP_GLOBAL_REDUCE_4D_
73
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_max_r4_4d
74
#undef MPP_GLOBAL_REDUCE_5D_
75
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_max_r4_5d
76
#undef MPP_TYPE_
77
#define MPP_TYPE_ real(r4_kind)
78
#undef REDUCE_VAL_
79
#define REDUCE_VAL_ maxval
80
#undef REDUCE_LOC_
81
#define REDUCE_LOC_ maxloc
82
#undef MPP_REDUCE_
83
#define MPP_REDUCE_ mpp_max
84
#include <mpp_global_reduce.fh>
85
86
#undef MPP_GLOBAL_REDUCE_2D_
87
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_min_r4_2d
88
#undef MPP_GLOBAL_REDUCE_3D_
89
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_min_r4_3d
90
#undef MPP_GLOBAL_REDUCE_4D_
91
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_min_r4_4d
92
#undef MPP_GLOBAL_REDUCE_5D_
93
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_min_r4_5d
94
#undef MPP_TYPE_
95
#define MPP_TYPE_ real(r4_kind)
96
#undef REDUCE_VAL_
97
#define REDUCE_VAL_ minval
98
#undef REDUCE_LOC_
99
#define REDUCE_LOC_ minloc
100
#undef MPP_REDUCE_
101
#define MPP_REDUCE_ mpp_min
102
#include <mpp_global_reduce.fh>
103
104
#undef MPP_GLOBAL_REDUCE_2D_
105
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_max_i8_2d
106
#undef MPP_GLOBAL_REDUCE_3D_
107
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_max_i8_3d
108
#undef MPP_GLOBAL_REDUCE_4D_
109
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_max_i8_4d
110
#undef MPP_GLOBAL_REDUCE_5D_
111
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_max_i8_5d
112
#undef MPP_TYPE_
113
#define MPP_TYPE_ integer(i8_kind)
114
#undef REDUCE_VAL_
115
#define REDUCE_VAL_ maxval
116
#undef REDUCE_LOC_
117
#define REDUCE_LOC_ maxloc
118
#undef MPP_REDUCE_
119
#define MPP_REDUCE_ mpp_max
120
#include <mpp_global_reduce.fh>
121
122
#undef MPP_GLOBAL_REDUCE_2D_
123
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_min_i8_2d
124
#undef MPP_GLOBAL_REDUCE_3D_
125
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_min_i8_3d
126
#undef MPP_GLOBAL_REDUCE_4D_
127
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_min_i8_4d
128
#undef MPP_GLOBAL_REDUCE_5D_
129
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_min_i8_5d
130
#undef MPP_TYPE_
131
#define MPP_TYPE_ integer(i8_kind)
132
#undef REDUCE_VAL_
133
#define REDUCE_VAL_ minval
134
#undef REDUCE_LOC_
135
#define REDUCE_LOC_ minloc
136
#undef MPP_REDUCE_
137
#define MPP_REDUCE_ mpp_min
138
#include <mpp_global_reduce.fh>
139
140
#undef MPP_GLOBAL_REDUCE_2D_
141
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_max_i4_2d
142
#undef MPP_GLOBAL_REDUCE_3D_
143
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_max_i4_3d
144
#undef MPP_GLOBAL_REDUCE_4D_
145
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_max_i4_4d
146
#undef MPP_GLOBAL_REDUCE_5D_
147
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_max_i4_5d
148
#undef MPP_TYPE_
149
#define MPP_TYPE_ integer(i4_kind)
150
#undef REDUCE_VAL_
151
#define REDUCE_VAL_ maxval
152
#undef REDUCE_LOC_
153
#define REDUCE_LOC_ maxloc
154
#undef MPP_REDUCE_
155
#define MPP_REDUCE_ mpp_max
156
#include <mpp_global_reduce.fh>
157
158
#undef MPP_GLOBAL_REDUCE_2D_
159
#define MPP_GLOBAL_REDUCE_2D_ mpp_global_min_i4_2d
160
#undef MPP_GLOBAL_REDUCE_3D_
161
#define MPP_GLOBAL_REDUCE_3D_ mpp_global_min_i4_3d
162
#undef MPP_GLOBAL_REDUCE_4D_
163
#define MPP_GLOBAL_REDUCE_4D_ mpp_global_min_i4_4d
164
#undef MPP_GLOBAL_REDUCE_5D_
165
#define MPP_GLOBAL_REDUCE_5D_ mpp_global_min_i4_5d
166
#undef MPP_TYPE_
167
#define MPP_TYPE_ integer(i4_kind)
168
#undef REDUCE_VAL_
169
#define REDUCE_VAL_ minval
170
#undef REDUCE_LOC_
171
#define REDUCE_LOC_ minloc
172
#undef MPP_REDUCE_
173
#define MPP_REDUCE_ mpp_min
174
#include <mpp_global_reduce.fh>
175
176
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
177
! !
178
! MPP_GLOBAL_SUM: global sum of field !
179
! !
180
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
181
#define DO_EFP_SUM_
182
#undef MPP_GLOBAL_SUM_
183
#define MPP_GLOBAL_SUM_ mpp_global_sum_r8_2d
184
#undef MPP_EXTRA_INDICES_
185
#define MPP_EXTRA_INDICES_
186
#undef MPP_TYPE_
187
#define MPP_TYPE_ real(r8_kind)
188
#include <mpp_global_sum.fh>
189
190
#undef MPP_GLOBAL_SUM_
191
#define MPP_GLOBAL_SUM_ mpp_global_sum_r8_3d
192
#undef MPP_EXTRA_INDICES_
193
#define MPP_EXTRA_INDICES_ ,:
194
#undef MPP_TYPE_
195
#define MPP_TYPE_ real(r8_kind)
196
#include <mpp_global_sum.fh>
197
198
#undef MPP_GLOBAL_SUM_
199
#define MPP_GLOBAL_SUM_ mpp_global_sum_r8_4d
200
#undef MPP_EXTRA_INDICES_
201
#define MPP_EXTRA_INDICES_ ,:,:
202
#undef MPP_TYPE_
203
#define MPP_TYPE_ real(r8_kind)
204
#include <mpp_global_sum.fh>
205
206
#undef MPP_GLOBAL_SUM_
207
#define MPP_GLOBAL_SUM_ mpp_global_sum_r8_5d
208
#undef MPP_EXTRA_INDICES_
209
#define MPP_EXTRA_INDICES_ ,:,:,:
210
#undef MPP_TYPE_
211
#define MPP_TYPE_ real(r8_kind)
212
#include <mpp_global_sum.fh>
213
214
#undef MPP_GLOBAL_SUM_
215
#define MPP_GLOBAL_SUM_ mpp_global_sum_r4_2d
216
#undef MPP_EXTRA_INDICES_
217
#define MPP_EXTRA_INDICES_
218
#undef MPP_TYPE_
219
#define MPP_TYPE_ real(r4_kind)
220
#include <mpp_global_sum.fh>
221
222
#undef MPP_GLOBAL_SUM_
223
#define MPP_GLOBAL_SUM_ mpp_global_sum_r4_3d
224
#undef MPP_EXTRA_INDICES_
225
#define MPP_EXTRA_INDICES_ ,:
226
#undef MPP_TYPE_
227
#define MPP_TYPE_ real(r4_kind)
228
#include <mpp_global_sum.fh>
229
230
#undef MPP_GLOBAL_SUM_
231
#define MPP_GLOBAL_SUM_ mpp_global_sum_r4_4d
232
#undef MPP_EXTRA_INDICES_
233
#define MPP_EXTRA_INDICES_ ,:,:
234
#undef MPP_TYPE_
235
#define MPP_TYPE_ real(r4_kind)
236
#include <mpp_global_sum.fh>
237
238
#undef MPP_GLOBAL_SUM_
239
#define MPP_GLOBAL_SUM_ mpp_global_sum_r4_5d
240
#undef MPP_EXTRA_INDICES_
241
#define MPP_EXTRA_INDICES_ ,:,:,:
242
#undef MPP_TYPE_
243
#define MPP_TYPE_ real(r4_kind)
244
#include <mpp_global_sum.fh>
245
246
#undef DO_EFP_SUM_
247
248
#ifdef OVERLOAD_C4
249
#undef MPP_GLOBAL_SUM_
250
#define MPP_GLOBAL_SUM_ mpp_global_sum_c4_2d
251
#undef MPP_EXTRA_INDICES_
252
#define MPP_EXTRA_INDICES_
253
#undef MPP_TYPE_
254
#define MPP_TYPE_ complex(c4_kind)
255
#include <mpp_global_sum.fh>
256
257
#undef MPP_GLOBAL_SUM_
258
#define MPP_GLOBAL_SUM_ mpp_global_sum_c4_3d
259
#undef MPP_EXTRA_INDICES_
260
#define MPP_EXTRA_INDICES_ ,:
261
#undef MPP_TYPE_
262
#define MPP_TYPE_ complex(c4_kind)
263
#include <mpp_global_sum.fh>
264
265
#undef MPP_GLOBAL_SUM_
266
#define MPP_GLOBAL_SUM_ mpp_global_sum_c4_4d
267
#undef MPP_EXTRA_INDICES_
268
#define MPP_EXTRA_INDICES_ ,:,:
269
#undef MPP_TYPE_
270
#define MPP_TYPE_ complex(c4_kind)
271
#include <mpp_global_sum.fh>
272
273
#undef MPP_GLOBAL_SUM_
274
#define MPP_GLOBAL_SUM_ mpp_global_sum_c4_5d
275
#undef MPP_EXTRA_INDICES_
276
#define MPP_EXTRA_INDICES_ ,:,:,:
277
#undef MPP_TYPE_
278
#define MPP_TYPE_ complex(c4_kind)
279
#include <mpp_global_sum.fh>
280
#endif
281
282
#ifdef OVERLOAD_C8
283
#undef MPP_GLOBAL_SUM_
284
#define MPP_GLOBAL_SUM_ mpp_global_sum_c8_2d
285
#undef MPP_EXTRA_INDICES_
286
#define MPP_EXTRA_INDICES_
287
#undef MPP_TYPE_
288
#define MPP_TYPE_ complex(c8_kind)
289
#include <mpp_global_sum.fh>
290
291
#undef MPP_GLOBAL_SUM_
292
#define MPP_GLOBAL_SUM_ mpp_global_sum_c8_3d
293
#undef MPP_EXTRA_INDICES_
294
#define MPP_EXTRA_INDICES_ ,:
295
#undef MPP_TYPE_
296
#define MPP_TYPE_ complex(c8_kind)
297
#include <mpp_global_sum.fh>
298
299
#undef MPP_GLOBAL_SUM_
300
#define MPP_GLOBAL_SUM_ mpp_global_sum_c8_4d
301
#undef MPP_EXTRA_INDICES_
302
#define MPP_EXTRA_INDICES_ ,:,:
303
#undef MPP_TYPE_
304
#define MPP_TYPE_ complex(c8_kind)
305
#include <mpp_global_sum.fh>
306
307
#undef MPP_GLOBAL_SUM_
308
#define MPP_GLOBAL_SUM_ mpp_global_sum_c8_5d
309
#undef MPP_EXTRA_INDICES_
310
#define MPP_EXTRA_INDICES_ ,:,:,:
311
#undef MPP_TYPE_
312
#define MPP_TYPE_ complex(c8_kind)
313
#include <mpp_global_sum.fh>
314
#endif
315
316
#undef MPP_GLOBAL_SUM_
317
#define MPP_GLOBAL_SUM_ mpp_global_sum_i8_2d
318
#undef MPP_EXTRA_INDICES_
319
#define MPP_EXTRA_INDICES_
320
#undef MPP_TYPE_
321
#define MPP_TYPE_ integer(i8_kind)
322
#include <mpp_global_sum.fh>
323
324
#undef MPP_GLOBAL_SUM_
325
#define MPP_GLOBAL_SUM_ mpp_global_sum_i8_3d
326
#undef MPP_EXTRA_INDICES_
327
#define MPP_EXTRA_INDICES_ ,:
328
#undef MPP_TYPE_
329
#define MPP_TYPE_ integer(i8_kind)
330
#include <mpp_global_sum.fh>
331
332
#undef MPP_GLOBAL_SUM_
333
#define MPP_GLOBAL_SUM_ mpp_global_sum_i8_4d
334
#undef MPP_EXTRA_INDICES_
335
#define MPP_EXTRA_INDICES_ ,:,:
336
#undef MPP_TYPE_
337
#define MPP_TYPE_ integer(i8_kind)
338
#include <mpp_global_sum.fh>
339
340
#undef MPP_GLOBAL_SUM_
341
#define MPP_GLOBAL_SUM_ mpp_global_sum_i8_5d
342
#undef MPP_EXTRA_INDICES_
343
#define MPP_EXTRA_INDICES_ ,:,:,:
344
#undef MPP_TYPE_
345
#define MPP_TYPE_ integer(i8_kind)
346
#include <mpp_global_sum.fh>
347
348
#undef MPP_GLOBAL_SUM_
349
#define MPP_GLOBAL_SUM_ mpp_global_sum_i4_2d
350
#undef MPP_EXTRA_INDICES_
351
#define MPP_EXTRA_INDICES_
352
#undef MPP_TYPE_
353
#define MPP_TYPE_ integer(i4_kind)
354
#include <mpp_global_sum.fh>
355
356
#undef MPP_GLOBAL_SUM_
357
#define MPP_GLOBAL_SUM_ mpp_global_sum_i4_3d
358
#undef MPP_EXTRA_INDICES_
359
#define MPP_EXTRA_INDICES_ ,:
360
#undef MPP_TYPE_
361
#define MPP_TYPE_ integer(i4_kind)
362
#include <mpp_global_sum.fh>
363
364
#undef MPP_GLOBAL_SUM_
365
#define MPP_GLOBAL_SUM_ mpp_global_sum_i4_4d
366
#undef MPP_EXTRA_INDICES_
367
#define MPP_EXTRA_INDICES_ ,:,:
368
#undef MPP_TYPE_
369
#define MPP_TYPE_ integer(i4_kind)
370
#include <mpp_global_sum.fh>
371
372
#undef MPP_GLOBAL_SUM_
373
#define MPP_GLOBAL_SUM_ mpp_global_sum_i4_5d
374
#undef MPP_EXTRA_INDICES_
375
#define MPP_EXTRA_INDICES_ ,:,:,:
376
#undef MPP_TYPE_
377
#define MPP_TYPE_ integer(i4_kind)
378
#include <mpp_global_sum.fh>
379
380
381
!gag
382
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
383
! !
384
! MPP_GLOBAL_SUM_TL: global sum of forward and tangent-linear fields !
385
! !
386
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
387
388
#undef MPP_GLOBAL_SUM_TL_
389
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r8_2d
390
#undef MPP_EXTRA_INDICES_
391
#define MPP_EXTRA_INDICES_
392
#undef MPP_TYPE_
393
#define MPP_TYPE_ real(r8_kind)
394
#include <mpp_global_sum_tl.fh>
395
396
#undef MPP_GLOBAL_SUM_TL_
397
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r8_3d
398
#undef MPP_EXTRA_INDICES_
399
#define MPP_EXTRA_INDICES_ ,:
400
#undef MPP_TYPE_
401
#define MPP_TYPE_ real(r8_kind)
402
#include <mpp_global_sum_tl.fh>
403
404
#undef MPP_GLOBAL_SUM_TL_
405
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r8_4d
406
#undef MPP_EXTRA_INDICES_
407
#define MPP_EXTRA_INDICES_ ,:,:
408
#undef MPP_TYPE_
409
#define MPP_TYPE_ real(r8_kind)
410
#include <mpp_global_sum_tl.fh>
411
412
#undef MPP_GLOBAL_SUM_TL_
413
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r8_5d
414
#undef MPP_EXTRA_INDICES_
415
#define MPP_EXTRA_INDICES_ ,:,:,:
416
#undef MPP_TYPE_
417
#define MPP_TYPE_ real(r8_kind)
418
#include <mpp_global_sum_tl.fh>
419
420
#ifdef OVERLOAD_C8
421
#undef MPP_GLOBAL_SUM_TL_
422
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c8_2d
423
#undef MPP_EXTRA_INDICES_
424
#define MPP_EXTRA_INDICES_
425
#undef MPP_TYPE_
426
#define MPP_TYPE_ complex(c8_kind)
427
#include <mpp_global_sum_tl.fh>
428
429
#undef MPP_GLOBAL_SUM_TL_
430
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c8_3d
431
#undef MPP_EXTRA_INDICES_
432
#define MPP_EXTRA_INDICES_ ,:
433
#undef MPP_TYPE_
434
#define MPP_TYPE_ complex(c8_kind)
435
#include <mpp_global_sum_tl.fh>
436
437
#undef MPP_GLOBAL_SUM_TL_
438
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c8_4d
439
#undef MPP_EXTRA_INDICES_
440
#define MPP_EXTRA_INDICES_ ,:,:
441
#undef MPP_TYPE_
442
#define MPP_TYPE_ complex(c8_kind)
443
#include <mpp_global_sum_tl.fh>
444
445
#undef MPP_GLOBAL_SUM_TL_
446
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c8_5d
447
#undef MPP_EXTRA_INDICES_
448
#define MPP_EXTRA_INDICES_ ,:,:,:
449
#undef MPP_TYPE_
450
#define MPP_TYPE_ complex(c8_kind)
451
#include <mpp_global_sum_tl.fh>
452
#endif
453
454
#undef MPP_GLOBAL_SUM_TL_
455
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r4_2d
456
#undef MPP_EXTRA_INDICES_
457
#define MPP_EXTRA_INDICES_
458
#undef MPP_TYPE_
459
#define MPP_TYPE_ real(r4_kind)
460
#include <mpp_global_sum_tl.fh>
461
462
#undef MPP_GLOBAL_SUM_TL_
463
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r4_3d
464
#undef MPP_EXTRA_INDICES_
465
#define MPP_EXTRA_INDICES_ ,:
466
#undef MPP_TYPE_
467
#define MPP_TYPE_ real(r4_kind)
468
#include <mpp_global_sum_tl.fh>
469
470
#undef MPP_GLOBAL_SUM_TL_
471
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r4_4d
472
#undef MPP_EXTRA_INDICES_
473
#define MPP_EXTRA_INDICES_ ,:,:
474
#undef MPP_TYPE_
475
#define MPP_TYPE_ real(r4_kind)
476
#include <mpp_global_sum_tl.fh>
477
478
#undef MPP_GLOBAL_SUM_TL_
479
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_r4_5d
480
#undef MPP_EXTRA_INDICES_
481
#define MPP_EXTRA_INDICES_ ,:,:,:
482
#undef MPP_TYPE_
483
#define MPP_TYPE_ real(r4_kind)
484
#include <mpp_global_sum_tl.fh>
485
486
#ifdef OVERLOAD_C4
487
#undef MPP_GLOBAL_SUM_TL_
488
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c4_2d
489
#undef MPP_EXTRA_INDICES_
490
#define MPP_EXTRA_INDICES_
491
#undef MPP_TYPE_
492
#define MPP_TYPE_ complex(c4_kind)
493
#include <mpp_global_sum_tl.fh>
494
495
#undef MPP_GLOBAL_SUM_TL_
496
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c4_3d
497
#undef MPP_EXTRA_INDICES_
498
#define MPP_EXTRA_INDICES_ ,:
499
#undef MPP_TYPE_
500
#define MPP_TYPE_ complex(c4_kind)
501
#include <mpp_global_sum_tl.fh>
502
503
#undef MPP_GLOBAL_SUM_TL_
504
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c4_4d
505
#undef MPP_EXTRA_INDICES_
506
#define MPP_EXTRA_INDICES_ ,:,:
507
#undef MPP_TYPE_
508
#define MPP_TYPE_ complex(c4_kind)
509
#include <mpp_global_sum_tl.fh>
510
511
#undef MPP_GLOBAL_SUM_TL_
512
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_c4_5d
513
#undef MPP_EXTRA_INDICES_
514
#define MPP_EXTRA_INDICES_ ,:,:,:
515
#undef MPP_TYPE_
516
#define MPP_TYPE_ complex(c4_kind)
517
#include <mpp_global_sum_tl.fh>
518
#endif
519
520
#undef MPP_GLOBAL_SUM_TL_
521
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i8_2d
522
#undef MPP_EXTRA_INDICES_
523
#define MPP_EXTRA_INDICES_
524
#undef MPP_TYPE_
525
#define MPP_TYPE_ integer(i8_kind)
526
#include <mpp_global_sum_tl.fh>
527
528
#undef MPP_GLOBAL_SUM_TL_
529
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i8_3d
530
#undef MPP_EXTRA_INDICES_
531
#define MPP_EXTRA_INDICES_ ,:
532
#undef MPP_TYPE_
533
#define MPP_TYPE_ integer(i8_kind)
534
#include <mpp_global_sum_tl.fh>
535
536
#undef MPP_GLOBAL_SUM_TL_
537
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i8_4d
538
#undef MPP_EXTRA_INDICES_
539
#define MPP_EXTRA_INDICES_ ,:,:
540
#undef MPP_TYPE_
541
#define MPP_TYPE_ integer(i8_kind)
542
#include <mpp_global_sum_tl.fh>
543
544
#undef MPP_GLOBAL_SUM_TL_
545
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i8_5d
546
#undef MPP_EXTRA_INDICES_
547
#define MPP_EXTRA_INDICES_ ,:,:,:
548
#undef MPP_TYPE_
549
#define MPP_TYPE_ integer(i8_kind)
550
#include <mpp_global_sum_tl.fh>
551
552
#undef MPP_GLOBAL_SUM_TL_
553
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i4_2d
554
#undef MPP_EXTRA_INDICES_
555
#define MPP_EXTRA_INDICES_
556
#undef MPP_TYPE_
557
#define MPP_TYPE_ integer(i4_kind)
558
#include <mpp_global_sum_tl.fh>
559
560
#undef MPP_GLOBAL_SUM_TL_
561
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i4_3d
562
#undef MPP_EXTRA_INDICES_
563
#define MPP_EXTRA_INDICES_ ,:
564
#undef MPP_TYPE_
565
#define MPP_TYPE_ integer(i4_kind)
566
#include <mpp_global_sum_tl.fh>
567
568
#undef MPP_GLOBAL_SUM_TL_
569
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i4_4d
570
#undef MPP_EXTRA_INDICES_
571
#define MPP_EXTRA_INDICES_ ,:,:
572
#undef MPP_TYPE_
573
#define MPP_TYPE_ integer(i4_kind)
574
#include <mpp_global_sum_tl.fh>
575
576
#undef MPP_GLOBAL_SUM_TL_
577
#define MPP_GLOBAL_SUM_TL_ mpp_global_sum_tl_i4_5d
578
#undef MPP_EXTRA_INDICES_
579
#define MPP_EXTRA_INDICES_ ,:,:,:
580
#undef MPP_TYPE_
581
#define MPP_TYPE_ integer(i4_kind)
582
#include <mpp_global_sum_tl.fh>
583
!gag
584
585
!bnc
586
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
587
! !
588
! MPP_GLOBAL_SUM_AD: global adjoint sum of field !
589
! !
590
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
591
592
#undef MPP_GLOBAL_SUM_AD_
593
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r8_2d
594
#undef MPP_EXTRA_INDICES_
595
#define MPP_EXTRA_INDICES_
596
#undef MPP_TYPE_
597
#define MPP_TYPE_ real(r8_kind)
598
#include <mpp_global_sum_ad.fh>
599
600
#undef MPP_GLOBAL_SUM_AD_
601
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r8_3d
602
#undef MPP_EXTRA_INDICES_
603
#define MPP_EXTRA_INDICES_ ,:
604
#undef MPP_TYPE_
605
#define MPP_TYPE_ real(r8_kind)
606
#include <mpp_global_sum_ad.fh>
607
608
#undef MPP_GLOBAL_SUM_AD_
609
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r8_4d
610
#undef MPP_EXTRA_INDICES_
611
#define MPP_EXTRA_INDICES_ ,:,:
612
#undef MPP_TYPE_
613
#define MPP_TYPE_ real(r8_kind)
614
#include <mpp_global_sum_ad.fh>
615
616
#undef MPP_GLOBAL_SUM_AD_
617
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r8_5d
618
#undef MPP_EXTRA_INDICES_
619
#define MPP_EXTRA_INDICES_ ,:,:,:
620
#undef MPP_TYPE_
621
#define MPP_TYPE_ real(r8_kind)
622
#include <mpp_global_sum_ad.fh>
623
624
#ifdef OVERLOAD_C8
625
#undef MPP_GLOBAL_SUM_AD_
626
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c8_2d
627
#undef MPP_EXTRA_INDICES_
628
#define MPP_EXTRA_INDICES_
629
#undef MPP_TYPE_
630
#define MPP_TYPE_ complex(c8_kind)
631
#include <mpp_global_sum_ad.fh>
632
633
#undef MPP_GLOBAL_SUM_AD_
634
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c8_3d
635
#undef MPP_EXTRA_INDICES_
636
#define MPP_EXTRA_INDICES_ ,:
637
#undef MPP_TYPE_
638
#define MPP_TYPE_ complex(c8_kind)
639
#include <mpp_global_sum_ad.fh>
640
641
#undef MPP_GLOBAL_SUM_AD_
642
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c8_4d
643
#undef MPP_EXTRA_INDICES_
644
#define MPP_EXTRA_INDICES_ ,:,:
645
#undef MPP_TYPE_
646
#define MPP_TYPE_ complex(c8_kind)
647
#include <mpp_global_sum_ad.fh>
648
649
#undef MPP_GLOBAL_SUM_AD_
650
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c8_5d
651
#undef MPP_EXTRA_INDICES_
652
#define MPP_EXTRA_INDICES_ ,:,:,:
653
#undef MPP_TYPE_
654
#define MPP_TYPE_ complex(c8_kind)
655
#include <mpp_global_sum_ad.fh>
656
#endif
657
658
#undef MPP_GLOBAL_SUM_AD_
659
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r4_2d
660
#undef MPP_EXTRA_INDICES_
661
#define MPP_EXTRA_INDICES_
662
#undef MPP_TYPE_
663
#define MPP_TYPE_ real(r4_kind)
664
#include <mpp_global_sum_ad.fh>
665
666
#undef MPP_GLOBAL_SUM_AD_
667
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r4_3d
668
#undef MPP_EXTRA_INDICES_
669
#define MPP_EXTRA_INDICES_ ,:
670
#undef MPP_TYPE_
671
#define MPP_TYPE_ real(r4_kind)
672
#include <mpp_global_sum_ad.fh>
673
674
#undef MPP_GLOBAL_SUM_AD_
675
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r4_4d
676
#undef MPP_EXTRA_INDICES_
677
#define MPP_EXTRA_INDICES_ ,:,:
678
#undef MPP_TYPE_
679
#define MPP_TYPE_ real(r4_kind)
680
#include <mpp_global_sum_ad.fh>
681
682
#undef MPP_GLOBAL_SUM_AD_
683
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_r4_5d
684
#undef MPP_EXTRA_INDICES_
685
#define MPP_EXTRA_INDICES_ ,:,:,:
686
#undef MPP_TYPE_
687
#define MPP_TYPE_ real(r4_kind)
688
#include <mpp_global_sum_ad.fh>
689
690
#ifdef OVERLOAD_C4
691
#undef MPP_GLOBAL_SUM_AD_
692
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c4_2d
693
#undef MPP_EXTRA_INDICES_
694
#define MPP_EXTRA_INDICES_
695
#undef MPP_TYPE_
696
#define MPP_TYPE_ complex(c4_kind)
697
#include <mpp_global_sum_ad.fh>
698
699
#undef MPP_GLOBAL_SUM_AD_
700
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c4_3d
701
#undef MPP_EXTRA_INDICES_
702
#define MPP_EXTRA_INDICES_ ,:
703
#undef MPP_TYPE_
704
#define MPP_TYPE_ complex(c4_kind)
705
#include <mpp_global_sum_ad.fh>
706
707
#undef MPP_GLOBAL_SUM_AD_
708
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c4_4d
709
#undef MPP_EXTRA_INDICES_
710
#define MPP_EXTRA_INDICES_ ,:,:
711
#undef MPP_TYPE_
712
#define MPP_TYPE_ complex(c4_kind)
713
#include <mpp_global_sum_ad.fh>
714
715
#undef MPP_GLOBAL_SUM_AD_
716
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_c4_5d
717
#undef MPP_EXTRA_INDICES_
718
#define MPP_EXTRA_INDICES_ ,:,:,:
719
#undef MPP_TYPE_
720
#define MPP_TYPE_ complex(c4_kind)
721
#include <mpp_global_sum_ad.fh>
722
#endif
723
724
#undef MPP_GLOBAL_SUM_AD_
725
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i8_2d
726
#undef MPP_EXTRA_INDICES_
727
#define MPP_EXTRA_INDICES_
728
#undef MPP_TYPE_
729
#define MPP_TYPE_ integer(i8_kind)
730
#include <mpp_global_sum_ad.fh>
731
732
#undef MPP_GLOBAL_SUM_AD_
733
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i8_3d
734
#undef MPP_EXTRA_INDICES_
735
#define MPP_EXTRA_INDICES_ ,:
736
#undef MPP_TYPE_
737
#define MPP_TYPE_ integer(i8_kind)
738
#include <mpp_global_sum_ad.fh>
739
740
#undef MPP_GLOBAL_SUM_AD_
741
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i8_4d
742
#undef MPP_EXTRA_INDICES_
743
#define MPP_EXTRA_INDICES_ ,:,:
744
#undef MPP_TYPE_
745
#define MPP_TYPE_ integer(i8_kind)
746
#include <mpp_global_sum_ad.fh>
747
748
#undef MPP_GLOBAL_SUM_AD_
749
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i8_5d
750
#undef MPP_EXTRA_INDICES_
751
#define MPP_EXTRA_INDICES_ ,:,:,:
752
#undef MPP_TYPE_
753
#define MPP_TYPE_ integer(i8_kind)
754
#include <mpp_global_sum_ad.fh>
755
756
#undef MPP_GLOBAL_SUM_AD_
757
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i4_2d
758
#undef MPP_EXTRA_INDICES_
759
#define MPP_EXTRA_INDICES_
760
#undef MPP_TYPE_
761
#define MPP_TYPE_ integer(i4_kind)
762
#include <mpp_global_sum_ad.fh>
763
764
#undef MPP_GLOBAL_SUM_AD_
765
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i4_3d
766
#undef MPP_EXTRA_INDICES_
767
#define MPP_EXTRA_INDICES_ ,:
768
#undef MPP_TYPE_
769
#define MPP_TYPE_ integer(i4_kind)
770
#include <mpp_global_sum_ad.fh>
771
772
#undef MPP_GLOBAL_SUM_AD_
773
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i4_4d
774
#undef MPP_EXTRA_INDICES_
775
#define MPP_EXTRA_INDICES_ ,:,:
776
#undef MPP_TYPE_
777
#define MPP_TYPE_ integer(i4_kind)
778
#include <mpp_global_sum_ad.fh>
779
780
#undef MPP_GLOBAL_SUM_AD_
781
#define MPP_GLOBAL_SUM_AD_ mpp_global_sum_ad_i4_5d
782
#undef MPP_EXTRA_INDICES_
783
#define MPP_EXTRA_INDICES_ ,:,:,:
784
#undef MPP_TYPE_
785
#define MPP_TYPE_ integer(i4_kind)
786
#include <mpp_global_sum_ad.fh>
787
!bnc
788
789
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
790
! !
791
! MPP_GLOBAL_FIELD: get global field from domain field !
792
! !
793
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
794
795
#define MPP_TYPE_INIT_VALUE 0.
796
#undef MPP_GLOBAL_FIELD_2D_AD_
797
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_r8_2d_ad
798
#undef MPP_GLOBAL_FIELD_3D_AD_
799
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_r8_3d_ad
800
#undef MPP_GLOBAL_FIELD_4D_AD_
801
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_r8_4d_ad
802
#undef MPP_GLOBAL_FIELD_5D_AD_
803
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_r8_5d_ad
804
#undef MPP_TYPE_
805
#define MPP_TYPE_ real(r8_kind)
806
#include <mpp_global_field_ad.fh>
807
808
#ifdef OVERLOAD_C8
809
#undef MPP_GLOBAL_FIELD_2D_AD_
810
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_c8_2d_ad
811
#undef MPP_GLOBAL_FIELD_3D_AD_
812
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_c8_3d_ad
813
#undef MPP_GLOBAL_FIELD_4D_AD_
814
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_c8_4d_ad
815
#undef MPP_GLOBAL_FIELD_5D_AD_
816
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_c8_5d_ad
817
#undef MPP_TYPE_
818
#define MPP_TYPE_ complex(c8_kind)
819
#include <mpp_global_field_ad.fh>
820
#endif
821
822
#undef MPP_TYPE_INIT_VALUE
823
#define MPP_TYPE_INIT_VALUE 0
824
#undef MPP_GLOBAL_FIELD_2D_AD_
825
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_i8_2d_ad
826
#undef MPP_GLOBAL_FIELD_3D_AD_
827
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_i8_3d_ad
828
#undef MPP_GLOBAL_FIELD_4D_AD_
829
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_i8_4d_ad
830
#undef MPP_GLOBAL_FIELD_5D_AD_
831
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_i8_5d_ad
832
#undef MPP_TYPE_
833
#define MPP_TYPE_ integer(i8_kind)
834
#include <mpp_global_field_ad.fh>
835
836
#undef MPP_TYPE_INIT_VALUE
837
#define MPP_TYPE_INIT_VALUE .false.
838
#undef MPP_GLOBAL_FIELD_2D_AD_
839
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_l8_2d_ad
840
#undef MPP_GLOBAL_FIELD_3D_AD_
841
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_l8_3d_ad
842
#undef MPP_GLOBAL_FIELD_4D_AD_
843
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_l8_4d_ad
844
#undef MPP_GLOBAL_FIELD_5D_AD_
845
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_l8_5d_ad
846
#undef MPP_TYPE_
847
#define MPP_TYPE_ logical(l8_kind)
848
#include <mpp_global_field_ad.fh>
849
850
#undef MPP_TYPE_INIT_VALUE
851
#define MPP_TYPE_INIT_VALUE 0.
852
#undef MPP_GLOBAL_FIELD_2D_AD_
853
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_r4_2d_ad
854
#undef MPP_GLOBAL_FIELD_3D_AD_
855
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_r4_3d_ad
856
#undef MPP_GLOBAL_FIELD_4D_AD_
857
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_r4_4d_ad
858
#undef MPP_GLOBAL_FIELD_5D_AD_
859
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_r4_5d_ad
860
#undef MPP_TYPE_
861
#define MPP_TYPE_ real(r4_kind)
862
#include <mpp_global_field_ad.fh>
863
864
#ifdef OVERLOAD_C4
865
#undef MPP_GLOBAL_FIELD_2D_AD_
866
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_c4_2d_ad
867
#undef MPP_GLOBAL_FIELD_3D_AD_
868
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_c4_3d_ad
869
#undef MPP_GLOBAL_FIELD_4D_AD_
870
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_c4_4d_ad
871
#undef MPP_GLOBAL_FIELD_5D_AD_
872
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_c4_5d_ad
873
#undef MPP_TYPE_
874
#define MPP_TYPE_ complex(c4_kind)
875
#include <mpp_global_field_ad.fh>
876
#endif
877
878
#undef MPP_TYPE_INIT_VALUE
879
#define MPP_TYPE_INIT_VALUE 0
880
#undef MPP_GLOBAL_FIELD_2D_AD_
881
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_i4_2d_ad
882
#undef MPP_GLOBAL_FIELD_3D_AD_
883
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_i4_3d_ad
884
#undef MPP_GLOBAL_FIELD_4D_AD_
885
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_i4_4d_ad
886
#undef MPP_GLOBAL_FIELD_5D_AD_
887
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_i4_5d_ad
888
#undef MPP_TYPE_
889
#define MPP_TYPE_ integer(i4_kind)
890
#include <mpp_global_field_ad.fh>
891
892
#undef MPP_TYPE_INIT_VALUE
893
#define MPP_TYPE_INIT_VALUE .false.
894
#undef MPP_GLOBAL_FIELD_2D_AD_
895
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_l4_2d_ad
896
#undef MPP_GLOBAL_FIELD_3D_AD_
897
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_l4_3d_ad
898
#undef MPP_GLOBAL_FIELD_4D_AD_
899
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_l4_4d_ad
900
#undef MPP_GLOBAL_FIELD_5D_AD_
901
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_l4_5d_ad
902
#undef MPP_TYPE_
903
#define MPP_TYPE_ logical(l4_kind)
904
#include <mpp_global_field_ad.fh>
905
#undef MPP_TYPE_INIT_VALUE
906
907
!****************************************************
908
#ifndef __NVCOMPILER
909
910
#undef MPP_GLOBAL_FIELD_
911
#define MPP_GLOBAL_FIELD_ mpp_global_field_r8
912
#undef MPP_TYPE_
913
#define MPP_TYPE_ real(r8_kind)
914
#undef DEFAULT_VALUE_
915
#define DEFAULT_VALUE_ 0._r8_kind
916
#include <mpp_global_field.fh>
917
918
#ifdef OVERLOAD_C8
919
#undef MPP_GLOBAL_FIELD_
920
#define MPP_GLOBAL_FIELD_ mpp_global_field_c8
921
#undef MPP_TYPE_
922
#define MPP_TYPE_ complex(c8_kind)
923
#undef DEFAULT_VALUE_
924
#define DEFAULT_VALUE_ (0._r8_kind,0._r8_kind)
925
#include <mpp_global_field.fh>
926
#endif
927
928
#undef MPP_GLOBAL_FIELD_
929
#define MPP_GLOBAL_FIELD_ mpp_global_field_i8
930
#undef MPP_TYPE_
931
#define MPP_TYPE_ integer(i8_kind)
932
#undef DEFAULT_VALUE_
933
#define DEFAULT_VALUE_ 0_i8_kind
934
#include <mpp_global_field.fh>
935
936
#undef MPP_GLOBAL_FIELD_
937
#define MPP_GLOBAL_FIELD_ mpp_global_field_l8
938
#undef MPP_TYPE_
939
#define MPP_TYPE_ logical(l8_kind)
940
#undef DEFAULT_VALUE_
941
#define DEFAULT_VALUE_ .false._l8_kind
942
#include <mpp_global_field.fh>
943
944
#undef MPP_GLOBAL_FIELD_
945
#define MPP_GLOBAL_FIELD_ mpp_global_field_r4
946
#undef MPP_TYPE_
947
#define MPP_TYPE_ real(r4_kind)
948
#undef DEFAULT_VALUE_
949
#define DEFAULT_VALUE_ 0._r4_kind
950
#include <mpp_global_field.fh>
951
952
#ifdef OVERLOAD_C4
953
#undef MPP_GLOBAL_FIELD_
954
#define MPP_GLOBAL_FIELD_ mpp_global_field_c4
955
#undef MPP_TYPE_
956
#define MPP_TYPE_ complex(c4_kind)
957
#undef DEFAULT_VALUE_
958
#define DEFAULT_VALUE_ (0._r4_kind,0._r4_kind)
959
#include <mpp_global_field.fh>
960
#endif
961
962
#undef MPP_GLOBAL_FIELD_
963
#define MPP_GLOBAL_FIELD_ mpp_global_field_i4
964
#undef MPP_TYPE_
965
#define MPP_TYPE_ integer(i4_kind)
966
#undef DEFAULT_VALUE_
967
#define DEFAULT_VALUE_ 0_i4_kind
968
#include <mpp_global_field.fh>
969
970
#undef MPP_GLOBAL_FIELD_
971
#define MPP_GLOBAL_FIELD_ mpp_global_field_l4
972
#undef MPP_TYPE_
973
#define MPP_TYPE_ logical(l4_kind)
974
#undef DEFAULT_VALUE_
975
#define DEFAULT_VALUE_ .false._l4_kind
976
#include <mpp_global_field.fh>
977
978
979
!! if __NVCOMPILER is defined, use compatibility version
980
#else
981
982
#undef MPP_TYPE_
983
#define MPP_TYPE_ real(r8_kind)
984
#undef DEFAULT_VALUE_
985
#define DEFAULT_VALUE_ 0._r8_kind
986
#undef MPP_GLOBAL_FIELD_2D_
987
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_r8_2d
988
#undef MPP_GLOBAL_FIELD_3D_
989
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_r8_3d
990
#undef MPP_GLOBAL_FIELD_4D_
991
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_r8_4d
992
#undef MPP_GLOBAL_FIELD_5D_
993
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_r8_5d
994
#include <mpp_global_field_compat.fh>
995
996
#undef MPP_TYPE_
997
#define MPP_TYPE_ integer(i8_kind)
998
#undef DEFAULT_VALUE_
999
#define DEFAULT_VALUE_ 0_i8_kind
1000
#undef MPP_GLOBAL_FIELD_2D_
1001
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_i8_2d
1002
#undef MPP_GLOBAL_FIELD_3D_
1003
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_i8_3d
1004
#undef MPP_GLOBAL_FIELD_4D_
1005
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_i8_4d
1006
#undef MPP_GLOBAL_FIELD_5D_
1007
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_i8_5d
1008
#include <mpp_global_field_compat.fh>
1009
1010
#ifdef OVERLOAD_C8
1011
#undef MPP_TYPE_
1012
#define MPP_TYPE_ complex(c8_kind)
1013
#undef DEFAULT_VALUE_
1014
#define DEFAULT_VALUE_ (0._r8_kind,0._r8_kind)
1015
#undef MPP_GLOBAL_FIELD_2D_
1016
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_c8_2d
1017
#undef MPP_GLOBAL_FIELD_3D_
1018
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_c8_3d
1019
#undef MPP_GLOBAL_FIELD_4D_
1020
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_c8_4d
1021
#undef MPP_GLOBAL_FIELD_5D_
1022
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_c8_5d
1023
#include <mpp_global_field_compat.fh>
1024
#endif
1025
1026
#ifdef OVERLOAD_C4
1027
#undef MPP_TYPE_
1028
#define MPP_TYPE_ complex(c4_kind)
1029
#undef DEFAULT_VALUE_
1030
#define DEFAULT_VALUE_ (0._r4_kind,0._r4_kind)
1031
#undef MPP_GLOBAL_FIELD_2D_
1032
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_c4_2d
1033
#undef MPP_GLOBAL_FIELD_3D_
1034
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_c4_3d
1035
#undef MPP_GLOBAL_FIELD_4D_
1036
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_c4_4d
1037
#undef MPP_GLOBAL_FIELD_5D_
1038
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_c4_5d
1039
#include <mpp_global_field_compat.fh>
1040
#endif
1041
1042
#undef MPP_TYPE_
1043
#define MPP_TYPE_ logical(l8_kind)
1044
#undef DEFAULT_VALUE_
1045
#define DEFAULT_VALUE_ .false._l8_kind
1046
#undef MPP_GLOBAL_FIELD_2D_
1047
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_l8_2d
1048
#undef MPP_GLOBAL_FIELD_3D_
1049
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_l8_3d
1050
#undef MPP_GLOBAL_FIELD_4D_
1051
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_l8_4d
1052
#undef MPP_GLOBAL_FIELD_5D_
1053
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_l8_5d
1054
#include <mpp_global_field_compat.fh>
1055
1056
#undef MPP_TYPE_
1057
#define MPP_TYPE_ real(r4_kind)
1058
#undef DEFAULT_VALUE_
1059
#define DEFAULT_VALUE_ 0._r4_kind
1060
#undef MPP_GLOBAL_FIELD_2D_
1061
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_r4_2d
1062
#undef MPP_GLOBAL_FIELD_3D_
1063
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_r4_3d
1064
#undef MPP_GLOBAL_FIELD_4D_
1065
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_r4_4d
1066
#undef MPP_GLOBAL_FIELD_5D_
1067
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_r4_5d
1068
#include <mpp_global_field_compat.fh>
1069
1070
#undef MPP_TYPE_
1071
#define MPP_TYPE_ integer(i4_kind)
1072
#undef DEFAULT_VALUE_
1073
#define DEFAULT_VALUE_ 0_i4_kind
1074
#undef MPP_GLOBAL_FIELD_2D_
1075
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_i4_2d
1076
#undef MPP_GLOBAL_FIELD_3D_
1077
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_i4_3d
1078
#undef MPP_GLOBAL_FIELD_4D_
1079
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_i4_4d
1080
#undef MPP_GLOBAL_FIELD_5D_
1081
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_i4_5d
1082
#include <mpp_global_field_compat.fh>
1083
1084
#undef MPP_TYPE_
1085
#define MPP_TYPE_ logical(l4_kind)
1086
#undef DEFAULT_VALUE_
1087
#define DEFAULT_VALUE_ .false._l4_kind
1088
#undef MPP_GLOBAL_FIELD_2D_
1089
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field_l4_2d
1090
#undef MPP_GLOBAL_FIELD_3D_
1091
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field_l4_3d
1092
#undef MPP_GLOBAL_FIELD_4D_
1093
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field_l4_4d
1094
#undef MPP_GLOBAL_FIELD_5D_
1095
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field_l4_5d
1096
#include <mpp_global_field_compat.fh>
1097
#endif
1098
!****************************************************
1099
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1100
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_r8_3d_ad
1101
#undef MPP_TYPE_
1102
#define MPP_TYPE_ real(r8_kind)
1103
#include <mpp_do_global_field_ad.fh>
1104
1105
#ifdef OVERLOAD_C8
1106
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1107
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_c8_3d_ad
1108
#undef MPP_TYPE_
1109
#define MPP_TYPE_ complex(c8_kind)
1110
#include <mpp_do_global_field_ad.fh>
1111
#endif
1112
1113
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1114
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_i8_3d_ad
1115
#undef MPP_TYPE_
1116
#define MPP_TYPE_ integer(i8_kind)
1117
#include <mpp_do_global_field_ad.fh>
1118
1119
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1120
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_l8_3d_ad
1121
#define LOGICAL_VARIABLE
1122
#undef MPP_TYPE_
1123
#define MPP_TYPE_ logical(l8_kind)
1124
#include <mpp_do_global_field_ad.fh>
1125
#undef LOGICAL_VARIABLE
1126
1127
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1128
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_r4_3d_ad
1129
#undef MPP_TYPE_
1130
#define MPP_TYPE_ real(r4_kind)
1131
#include <mpp_do_global_field_ad.fh>
1132
1133
#ifdef OVERLOAD_C4
1134
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1135
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_c4_3d_ad
1136
#undef MPP_TYPE_
1137
#define MPP_TYPE_ complex(c4_kind)
1138
#include <mpp_do_global_field_ad.fh>
1139
#endif
1140
1141
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1142
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_i4_3d_ad
1143
#undef MPP_TYPE_
1144
#define MPP_TYPE_ integer(i4_kind)
1145
#include <mpp_do_global_field_ad.fh>
1146
1147
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1148
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_l4_3d_ad
1149
#define LOGICAL_VARIABLE
1150
#undef MPP_TYPE_
1151
#define MPP_TYPE_ logical(l4_kind)
1152
#include <mpp_do_global_field_ad.fh>
1153
#undef LOGICAL_VARIABLE
1154
!> @}
mpp
include
mpp_domains_reduce.inc
Generated by
1.9.1