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