FMS
2025.04
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_
797
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_r8_2d
798
#undef MPP_GLOBAL_FIELD_3D_
799
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_r8_3d
800
#undef MPP_GLOBAL_FIELD_4D_
801
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_r8_4d
802
#undef MPP_GLOBAL_FIELD_5D_
803
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_r8_5d
804
#undef MPP_TYPE_
805
#define MPP_TYPE_ real(r8_kind)
806
#include <mpp_global_field.fh>
807
808
#ifdef OVERLOAD_C8
809
#undef MPP_GLOBAL_FIELD_2D_
810
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_c8_2d
811
#undef MPP_GLOBAL_FIELD_3D_
812
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_c8_3d
813
#undef MPP_GLOBAL_FIELD_4D_
814
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_c8_4d
815
#undef MPP_GLOBAL_FIELD_5D_
816
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_c8_5d
817
#undef MPP_TYPE_
818
#define MPP_TYPE_ complex(c8_kind)
819
#include <mpp_global_field.fh>
820
#endif
821
822
#undef MPP_TYPE_INIT_VALUE
823
#define MPP_TYPE_INIT_VALUE 0
824
#undef MPP_GLOBAL_FIELD_2D_
825
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_i8_2d
826
#undef MPP_GLOBAL_FIELD_3D_
827
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_i8_3d
828
#undef MPP_GLOBAL_FIELD_4D_
829
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_i8_4d
830
#undef MPP_GLOBAL_FIELD_5D_
831
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_i8_5d
832
#undef MPP_TYPE_
833
#define MPP_TYPE_ integer(i8_kind)
834
#include <mpp_global_field.fh>
835
836
#undef MPP_TYPE_INIT_VALUE
837
#define MPP_TYPE_INIT_VALUE .false.
838
#undef MPP_GLOBAL_FIELD_2D_
839
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_l8_2d
840
#undef MPP_GLOBAL_FIELD_3D_
841
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_l8_3d
842
#undef MPP_GLOBAL_FIELD_4D_
843
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_l8_4d
844
#undef MPP_GLOBAL_FIELD_5D_
845
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_l8_5d
846
#undef MPP_TYPE_
847
#define MPP_TYPE_ logical(l8_kind)
848
#include <mpp_global_field.fh>
849
850
#undef MPP_TYPE_INIT_VALUE
851
#define MPP_TYPE_INIT_VALUE 0.
852
#undef MPP_GLOBAL_FIELD_2D_
853
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_r4_2d
854
#undef MPP_GLOBAL_FIELD_3D_
855
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_r4_3d
856
#undef MPP_GLOBAL_FIELD_4D_
857
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_r4_4d
858
#undef MPP_GLOBAL_FIELD_5D_
859
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_r4_5d
860
#undef MPP_TYPE_
861
#define MPP_TYPE_ real(r4_kind)
862
#include <mpp_global_field.fh>
863
864
#ifdef OVERLOAD_C4
865
#undef MPP_GLOBAL_FIELD_2D_
866
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_c4_2d
867
#undef MPP_GLOBAL_FIELD_3D_
868
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_c4_3d
869
#undef MPP_GLOBAL_FIELD_4D_
870
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_c4_4d
871
#undef MPP_GLOBAL_FIELD_5D_
872
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_c4_5d
873
#undef MPP_TYPE_
874
#define MPP_TYPE_ complex(c4_kind)
875
#include <mpp_global_field.fh>
876
#endif
877
878
#undef MPP_TYPE_INIT_VALUE
879
#define MPP_TYPE_INIT_VALUE 0
880
#undef MPP_GLOBAL_FIELD_2D_
881
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_i4_2d
882
#undef MPP_GLOBAL_FIELD_3D_
883
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_i4_3d
884
#undef MPP_GLOBAL_FIELD_4D_
885
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_i4_4d
886
#undef MPP_GLOBAL_FIELD_5D_
887
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_i4_5d
888
#undef MPP_TYPE_
889
#define MPP_TYPE_ integer(i4_kind)
890
#include <mpp_global_field.fh>
891
892
#undef MPP_TYPE_INIT_VALUE
893
#define MPP_TYPE_INIT_VALUE .false.
894
#undef MPP_GLOBAL_FIELD_2D_
895
#define MPP_GLOBAL_FIELD_2D_ mpp_global_field2D_l4_2d
896
#undef MPP_GLOBAL_FIELD_3D_
897
#define MPP_GLOBAL_FIELD_3D_ mpp_global_field2D_l4_3d
898
#undef MPP_GLOBAL_FIELD_4D_
899
#define MPP_GLOBAL_FIELD_4D_ mpp_global_field2D_l4_4d
900
#undef MPP_GLOBAL_FIELD_5D_
901
#define MPP_GLOBAL_FIELD_5D_ mpp_global_field2D_l4_5d
902
#undef MPP_TYPE_
903
#define MPP_TYPE_ logical(l4_kind)
904
#include <mpp_global_field.fh>
905
#undef MPP_TYPE_INIT_VALUE
906
907
!****************************************************
908
#define MPP_TYPE_INIT_VALUE 0.
909
#undef MPP_GLOBAL_FIELD_2D_AD_
910
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_r8_2d_ad
911
#undef MPP_GLOBAL_FIELD_3D_AD_
912
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_r8_3d_ad
913
#undef MPP_GLOBAL_FIELD_4D_AD_
914
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_r8_4d_ad
915
#undef MPP_GLOBAL_FIELD_5D_AD_
916
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_r8_5d_ad
917
#undef MPP_TYPE_
918
#define MPP_TYPE_ real(r8_kind)
919
#include <mpp_global_field_ad.fh>
920
921
#ifdef OVERLOAD_C8
922
#undef MPP_GLOBAL_FIELD_2D_AD_
923
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_c8_2d_ad
924
#undef MPP_GLOBAL_FIELD_3D_AD_
925
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_c8_3d_ad
926
#undef MPP_GLOBAL_FIELD_4D_AD_
927
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_c8_4d_ad
928
#undef MPP_GLOBAL_FIELD_5D_AD_
929
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_c8_5d_ad
930
#undef MPP_TYPE_
931
#define MPP_TYPE_ complex(c8_kind)
932
#include <mpp_global_field_ad.fh>
933
#endif
934
935
#undef MPP_TYPE_INIT_VALUE
936
#define MPP_TYPE_INIT_VALUE 0
937
#undef MPP_GLOBAL_FIELD_2D_AD_
938
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_i8_2d_ad
939
#undef MPP_GLOBAL_FIELD_3D_AD_
940
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_i8_3d_ad
941
#undef MPP_GLOBAL_FIELD_4D_AD_
942
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_i8_4d_ad
943
#undef MPP_GLOBAL_FIELD_5D_AD_
944
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_i8_5d_ad
945
#undef MPP_TYPE_
946
#define MPP_TYPE_ integer(i8_kind)
947
#include <mpp_global_field_ad.fh>
948
949
#undef MPP_TYPE_INIT_VALUE
950
#define MPP_TYPE_INIT_VALUE .false.
951
#undef MPP_GLOBAL_FIELD_2D_AD_
952
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_l8_2d_ad
953
#undef MPP_GLOBAL_FIELD_3D_AD_
954
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_l8_3d_ad
955
#undef MPP_GLOBAL_FIELD_4D_AD_
956
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_l8_4d_ad
957
#undef MPP_GLOBAL_FIELD_5D_AD_
958
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_l8_5d_ad
959
#undef MPP_TYPE_
960
#define MPP_TYPE_ logical(l8_kind)
961
#include <mpp_global_field_ad.fh>
962
963
#undef MPP_TYPE_INIT_VALUE
964
#define MPP_TYPE_INIT_VALUE 0.
965
#undef MPP_GLOBAL_FIELD_2D_AD_
966
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_r4_2d_ad
967
#undef MPP_GLOBAL_FIELD_3D_AD_
968
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_r4_3d_ad
969
#undef MPP_GLOBAL_FIELD_4D_AD_
970
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_r4_4d_ad
971
#undef MPP_GLOBAL_FIELD_5D_AD_
972
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_r4_5d_ad
973
#undef MPP_TYPE_
974
#define MPP_TYPE_ real(r4_kind)
975
#include <mpp_global_field_ad.fh>
976
977
#ifdef OVERLOAD_C4
978
#undef MPP_GLOBAL_FIELD_2D_AD_
979
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_c4_2d_ad
980
#undef MPP_GLOBAL_FIELD_3D_AD_
981
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_c4_3d_ad
982
#undef MPP_GLOBAL_FIELD_4D_AD_
983
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_c4_4d_ad
984
#undef MPP_GLOBAL_FIELD_5D_AD_
985
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_c4_5d_ad
986
#undef MPP_TYPE_
987
#define MPP_TYPE_ complex(c4_kind)
988
#include <mpp_global_field_ad.fh>
989
#endif
990
991
#undef MPP_TYPE_INIT_VALUE
992
#define MPP_TYPE_INIT_VALUE 0
993
#undef MPP_GLOBAL_FIELD_2D_AD_
994
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_i4_2d_ad
995
#undef MPP_GLOBAL_FIELD_3D_AD_
996
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_i4_3d_ad
997
#undef MPP_GLOBAL_FIELD_4D_AD_
998
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_i4_4d_ad
999
#undef MPP_GLOBAL_FIELD_5D_AD_
1000
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_i4_5d_ad
1001
#undef MPP_TYPE_
1002
#define MPP_TYPE_ integer(i4_kind)
1003
#include <mpp_global_field_ad.fh>
1004
1005
#undef MPP_TYPE_INIT_VALUE
1006
#define MPP_TYPE_INIT_VALUE .false.
1007
#undef MPP_GLOBAL_FIELD_2D_AD_
1008
#define MPP_GLOBAL_FIELD_2D_AD_ mpp_global_field2D_l4_2d_ad
1009
#undef MPP_GLOBAL_FIELD_3D_AD_
1010
#define MPP_GLOBAL_FIELD_3D_AD_ mpp_global_field2D_l4_3d_ad
1011
#undef MPP_GLOBAL_FIELD_4D_AD_
1012
#define MPP_GLOBAL_FIELD_4D_AD_ mpp_global_field2D_l4_4d_ad
1013
#undef MPP_GLOBAL_FIELD_5D_AD_
1014
#define MPP_GLOBAL_FIELD_5D_AD_ mpp_global_field2D_l4_5d_ad
1015
#undef MPP_TYPE_
1016
#define MPP_TYPE_ logical(l4_kind)
1017
#include <mpp_global_field_ad.fh>
1018
#undef MPP_TYPE_INIT_VALUE
1019
1020
!****************************************************
1021
#undef MPP_DO_GLOBAL_FIELD_3D_
1022
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1023
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_r8_3d
1024
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_r8_3d
1025
#undef MPP_TYPE_
1026
#define MPP_TYPE_ real(r8_kind)
1027
#include <mpp_do_global_field.fh>
1028
1029
#ifdef OVERLOAD_C8
1030
#undef MPP_DO_GLOBAL_FIELD_3D_
1031
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1032
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_c8_3d
1033
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_c8_3d
1034
#undef MPP_TYPE_
1035
#define MPP_TYPE_ complex(c8_kind)
1036
#include <mpp_do_global_field.fh>
1037
#endif
1038
1039
#undef MPP_DO_GLOBAL_FIELD_3D_
1040
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1041
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_i8_3d
1042
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_i8_3d
1043
#undef MPP_TYPE_
1044
#define MPP_TYPE_ integer(i8_kind)
1045
#include <mpp_do_global_field.fh>
1046
1047
#undef MPP_DO_GLOBAL_FIELD_3D_
1048
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1049
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_l8_3d
1050
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_l8_3d
1051
#define LOGICAL_VARIABLE
1052
#undef MPP_TYPE_
1053
#define MPP_TYPE_ logical(l8_kind)
1054
#include <mpp_do_global_field.fh>
1055
#undef LOGICAL_VARIABLE
1056
1057
#undef MPP_DO_GLOBAL_FIELD_3D_
1058
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1059
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_r4_3d
1060
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_r4_3d
1061
#undef MPP_TYPE_
1062
#define MPP_TYPE_ real(r4_kind)
1063
#include <mpp_do_global_field.fh>
1064
1065
#ifdef OVERLOAD_C4
1066
#undef MPP_DO_GLOBAL_FIELD_3D_
1067
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1068
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_c4_3d
1069
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_c4_3d
1070
#undef MPP_TYPE_
1071
#define MPP_TYPE_ complex(c4_kind)
1072
#include <mpp_do_global_field.fh>
1073
#endif
1074
1075
#undef MPP_DO_GLOBAL_FIELD_3D_
1076
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1077
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_i4_3d
1078
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_i4_3d
1079
#undef MPP_TYPE_
1080
#define MPP_TYPE_ integer(i4_kind)
1081
#include <mpp_do_global_field.fh>
1082
1083
#undef MPP_DO_GLOBAL_FIELD_3D_
1084
#undef MPP_DO_GLOBAL_FIELD_A2A_3D_
1085
#define MPP_DO_GLOBAL_FIELD_3D_ mpp_do_global_field2D_l4_3d
1086
#define MPP_DO_GLOBAL_FIELD_A2A_3D_ mpp_do_global_field2D_a2a_l4_3d
1087
#define LOGICAL_VARIABLE
1088
#undef MPP_TYPE_
1089
#define MPP_TYPE_ logical(l4_kind)
1090
#include <mpp_do_global_field.fh>
1091
#undef LOGICAL_VARIABLE
1092
!****************************************************
1093
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1094
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_r8_3d_ad
1095
#undef MPP_TYPE_
1096
#define MPP_TYPE_ real(r8_kind)
1097
#include <mpp_do_global_field_ad.fh>
1098
1099
#ifdef OVERLOAD_C8
1100
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1101
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_c8_3d_ad
1102
#undef MPP_TYPE_
1103
#define MPP_TYPE_ complex(c8_kind)
1104
#include <mpp_do_global_field_ad.fh>
1105
#endif
1106
1107
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1108
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_i8_3d_ad
1109
#undef MPP_TYPE_
1110
#define MPP_TYPE_ integer(i8_kind)
1111
#include <mpp_do_global_field_ad.fh>
1112
1113
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1114
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_l8_3d_ad
1115
#define LOGICAL_VARIABLE
1116
#undef MPP_TYPE_
1117
#define MPP_TYPE_ logical(l8_kind)
1118
#include <mpp_do_global_field_ad.fh>
1119
#undef LOGICAL_VARIABLE
1120
1121
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1122
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_r4_3d_ad
1123
#undef MPP_TYPE_
1124
#define MPP_TYPE_ real(r4_kind)
1125
#include <mpp_do_global_field_ad.fh>
1126
1127
#ifdef OVERLOAD_C4
1128
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1129
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_c4_3d_ad
1130
#undef MPP_TYPE_
1131
#define MPP_TYPE_ complex(c4_kind)
1132
#include <mpp_do_global_field_ad.fh>
1133
#endif
1134
1135
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1136
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_i4_3d_ad
1137
#undef MPP_TYPE_
1138
#define MPP_TYPE_ integer(i4_kind)
1139
#include <mpp_do_global_field_ad.fh>
1140
1141
#undef MPP_DO_GLOBAL_FIELD_3D_AD_
1142
#define MPP_DO_GLOBAL_FIELD_3D_AD_ mpp_do_global_field2D_l4_3d_ad
1143
#define LOGICAL_VARIABLE
1144
#undef MPP_TYPE_
1145
#define MPP_TYPE_ logical(l4_kind)
1146
#include <mpp_do_global_field_ad.fh>
1147
#undef LOGICAL_VARIABLE
1148
!> @}
mpp
include
mpp_domains_reduce.inc
Generated by
1.9.1