PDI 1.3.1

the PDI data interface

pdif.h
1 !******************************************************************************
2 ! Copyright (C) 2015-2020 Commissariat a l'energie atomique et aux energies alternatives (CEA)
3 ! Copyright (C) 2021 Centre national de la recherche scientifique (CNRS)
4 ! All rights reserved.
5 !
6 ! Redistribution and use in source and binary forms, with or without
7 ! modification, are permitted provided that the following conditions are met:
8 ! * Redistributions of source code must retain the above copyright
9 ! notice, this list of conditions and the following disclaimer.
10 ! * Redistributions in binary form must reproduce the above copyright
11 ! notice, this list of conditions and the following disclaimer in the
12 ! documentation and/or other materials provided with the distribution.
13 ! * Neither the name of CEA nor the names of its contributors may be used to
14 ! endorse or promote products derived from this software without specific
15 ! prior written permission.
16 !
17 ! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 ! THE SOFTWARE.
24 !******************************************************************************
25 
26 
27 !> These are the values for enum PDI_inout_t
28 !! \{
29 integer, parameter :: PDI_NONE = 0
30 integer, parameter :: PDI_IN = 1
31 integer, parameter :: PDI_OUT = 2
32 integer, parameter :: PDI_INOUT = 3
33 !> \}
34 
35 
36 interface
37 
38  !=============================================================================
39  !< initializes PDI
40  !! \param[IN] treeconf the configuration
41  !! \param[OUT] err for error status (optional)
42  subroutine PDI_init(treeconf, err)
43  use paraconf
44  type(PC_tree_t), intent(IN) :: treeconf
45  integer, intent(OUT), optional :: err
46  endsubroutine PDI_init
47  !=============================================================================
48 
49 
50  !=============================================================================
51  !< finalizes PDI
52  !! \param[OUT] err for error status (optional)
53  subroutine PDI_finalize(err)
54  integer, intent(OUT), optional :: err
55  endsubroutine PDI_finalize
56  !=============================================================================
57 
58 
59  !=============================================================================
60  !< triggers a PDI "event"
61  !! \param[IN] event the event name
62  !! \param[OUT] err for error status (optional)
63  subroutine PDI_event(event, err)
64  character(len=*), intent(IN) :: event
65  integer, intent(OUT), optional :: err
66  endsubroutine PDI_event
67  !=============================================================================
68 
69 
70  !=============================================================================
71  !< wrapper for PDI_release :
72  !! releases ownership of a data shared with PDI. PDI is then responsible to
73  !! free the associated memory whenever necessary.
74  !! \param[IN] name name of the data to release
75  !! \param[OUT] err for error status (optional)
76  !! \pre ownership of the data buffer is shared between PDI and the user code
77  !! \pre PDI owns the data buffer
78  subroutine PDI_release(name, err)
79  character(len=*), intent(IN) :: name
80  integer, intent(OUT), optional :: err
81  endsubroutine PDI_release
82  !=============================================================================
83 
84 
85  !=============================================================================
86  !< wrapper for PDI_reclaim :
87  !! reclaims ownership of a data buffer shared with PDI. PDI is then
88  !! responsible to free the associated memory whenever necessary.
89  !! \param[IN] name name of the data to reclaim
90  !! \param[OUT] err for error status (optional)
91  !! \pre ownership of the data buffer is shared between PDI and the user code
92  !! \post the user code owns the data buffer
93  subroutine PDI_reclaim(name, err)
94  character(len=*), intent(IN) :: name
95  integer, intent(OUT), optional :: err
96  endsubroutine PDI_reclaim
97  !=============================================================================
98 
99 
100  !=============================================================================
101  !< Begin a transaction. All the ::PDI_expose will be exposed together.
102  !!
103  !! This requires a ::PDI_transaction_end to close the transaction.
104  !!
105  !! \param[in] name the name of the transaction (an event thus named will be
106  !! triggered when all data become available)
107  !! \param[out] err an error status
108  subroutine PDI_transaction_begin( name, err )
109  character(len=*), intent(IN) :: name
110  integer, intent(OUT), optional :: err
111  endsubroutine PDI_transaction_begin
112  !=============================================================================
113 
114 
115  !=============================================================================
116  !< Ends the previously opened transaction.
117  !! \param[out] err an error status
118  subroutine PDI_transaction_end( err )
119  integer, intent(OUT), optional :: err
120  endsubroutine PDI_transaction_end
121  !=============================================================================
122 
123 endinterface
124 
125 
126 interface PDI_share
127 
128  !=============================================================================
129  !< shares some data with PDI. the user code should not modify it before
130  !! a call to either PDI_release or PDI_reclaim.
131  !! \param[IN] name the data name
132  !! \param[IN,OUT] data the data to share
133  !! \param[IN] access whether the data can be accessed for read or write by
134  !! PDI
135  !! \param[OUT] err for error status (optional)
136  !! \pre the user code owns the data buffer
137  !! \post ownership of the data buffer is shared between PDI and the user code
138  !!
139  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
140  !! * PDI_IN means PDI can set the buffer content
141  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
142  subroutine PDI_share_CHARACTER1_0D( name, data, access, err )
143  character(len=*), intent(IN) :: name
144  CHARACTER(KIND=1), target, asynchronous :: data
145  integer, intent(IN) :: access
146  integer, intent(OUT), optional :: err
147  endsubroutine PDI_share_CHARACTER1_0D
148  !=============================================================================
149 
150 
151  !=============================================================================
152  !< shares some data with PDI. the user code should not modify it before
153  !! a call to either PDI_release or PDI_reclaim.
154  !! \param[IN] name the data name
155  !! \param[IN,OUT] data the data to share
156  !! \param[IN] access whether the data can be accessed for read or write by
157  !! PDI
158  !! \param[OUT] err for error status (optional)
159  !! \pre the user code owns the data buffer
160  !! \post ownership of the data buffer is shared between PDI and the user code
161  !!
162  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
163  !! * PDI_IN means PDI can set the buffer content
164  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
165  subroutine PDI_share_CHARACTER1_1D( name, data, access, err )
166  character(len=*), intent(IN) :: name
167  CHARACTER(KIND=1), target, asynchronous :: data(:)
168  integer, intent(IN) :: access
169  integer, intent(OUT), optional :: err
170  endsubroutine PDI_share_CHARACTER1_1D
171  !=============================================================================
172 
173 
174  !=============================================================================
175  !< shares some data with PDI. the user code should not modify it before
176  !! a call to either PDI_release or PDI_reclaim.
177  !! \param[IN] name the data name
178  !! \param[IN,OUT] data the data to share
179  !! \param[IN] access whether the data can be accessed for read or write by
180  !! PDI
181  !! \param[OUT] err for error status (optional)
182  !! \pre the user code owns the data buffer
183  !! \post ownership of the data buffer is shared between PDI and the user code
184  !!
185  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
186  !! * PDI_IN means PDI can set the buffer content
187  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
188  subroutine PDI_share_CHARACTER1_2D( name, data, access, err )
189  character(len=*), intent(IN) :: name
190  CHARACTER(KIND=1), target, asynchronous :: data(:,:)
191  integer, intent(IN) :: access
192  integer, intent(OUT), optional :: err
193  endsubroutine PDI_share_CHARACTER1_2D
194  !=============================================================================
195 
196 
197  !=============================================================================
198  !< shares some data with PDI. the user code should not modify it before
199  !! a call to either PDI_release or PDI_reclaim.
200  !! \param[IN] name the data name
201  !! \param[IN,OUT] data the data to share
202  !! \param[IN] access whether the data can be accessed for read or write by
203  !! PDI
204  !! \param[OUT] err for error status (optional)
205  !! \pre the user code owns the data buffer
206  !! \post ownership of the data buffer is shared between PDI and the user code
207  !!
208  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
209  !! * PDI_IN means PDI can set the buffer content
210  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
211  subroutine PDI_share_CHARACTER1_3D( name, data, access, err )
212  character(len=*), intent(IN) :: name
213  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:)
214  integer, intent(IN) :: access
215  integer, intent(OUT), optional :: err
216  endsubroutine PDI_share_CHARACTER1_3D
217  !=============================================================================
218 
219 
220  !=============================================================================
221  !< shares some data with PDI. the user code should not modify it before
222  !! a call to either PDI_release or PDI_reclaim.
223  !! \param[IN] name the data name
224  !! \param[IN,OUT] data the data to share
225  !! \param[IN] access whether the data can be accessed for read or write by
226  !! PDI
227  !! \param[OUT] err for error status (optional)
228  !! \pre the user code owns the data buffer
229  !! \post ownership of the data buffer is shared between PDI and the user code
230  !!
231  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
232  !! * PDI_IN means PDI can set the buffer content
233  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
234  subroutine PDI_share_CHARACTER1_4D( name, data, access, err )
235  character(len=*), intent(IN) :: name
236  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:)
237  integer, intent(IN) :: access
238  integer, intent(OUT), optional :: err
239  endsubroutine PDI_share_CHARACTER1_4D
240  !=============================================================================
241 
242 
243  !=============================================================================
244  !< shares some data with PDI. the user code should not modify it before
245  !! a call to either PDI_release or PDI_reclaim.
246  !! \param[IN] name the data name
247  !! \param[IN,OUT] data the data to share
248  !! \param[IN] access whether the data can be accessed for read or write by
249  !! PDI
250  !! \param[OUT] err for error status (optional)
251  !! \pre the user code owns the data buffer
252  !! \post ownership of the data buffer is shared between PDI and the user code
253  !!
254  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
255  !! * PDI_IN means PDI can set the buffer content
256  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
257  subroutine PDI_share_CHARACTER1_5D( name, data, access, err )
258  character(len=*), intent(IN) :: name
259  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:,:)
260  integer, intent(IN) :: access
261  integer, intent(OUT), optional :: err
262  endsubroutine PDI_share_CHARACTER1_5D
263  !=============================================================================
264 
265 
266  !=============================================================================
267  !< shares some data with PDI. the user code should not modify it before
268  !! a call to either PDI_release or PDI_reclaim.
269  !! \param[IN] name the data name
270  !! \param[IN,OUT] data the data to share
271  !! \param[IN] access whether the data can be accessed for read or write by
272  !! PDI
273  !! \param[OUT] err for error status (optional)
274  !! \pre the user code owns the data buffer
275  !! \post ownership of the data buffer is shared between PDI and the user code
276  !!
277  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
278  !! * PDI_IN means PDI can set the buffer content
279  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
280  subroutine PDI_share_CHARACTER1_6D( name, data, access, err )
281  character(len=*), intent(IN) :: name
282  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:)
283  integer, intent(IN) :: access
284  integer, intent(OUT), optional :: err
285  endsubroutine PDI_share_CHARACTER1_6D
286  !=============================================================================
287 
288 
289  !=============================================================================
290  !< shares some data with PDI. the user code should not modify it before
291  !! a call to either PDI_release or PDI_reclaim.
292  !! \param[IN] name the data name
293  !! \param[IN,OUT] data the data to share
294  !! \param[IN] access whether the data can be accessed for read or write by
295  !! PDI
296  !! \param[OUT] err for error status (optional)
297  !! \pre the user code owns the data buffer
298  !! \post ownership of the data buffer is shared between PDI and the user code
299  !!
300  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
301  !! * PDI_IN means PDI can set the buffer content
302  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
303  subroutine PDI_share_CHARACTER1_7D( name, data, access, err )
304  character(len=*), intent(IN) :: name
305  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:,:)
306  integer, intent(IN) :: access
307  integer, intent(OUT), optional :: err
308  endsubroutine PDI_share_CHARACTER1_7D
309  !=============================================================================
310 
311 
312  !=============================================================================
313  !< shares some data with PDI. the user code should not modify it before
314  !! a call to either PDI_release or PDI_reclaim.
315  !! \param[IN] name the data name
316  !! \param[IN,OUT] data the data to share
317  !! \param[IN] access whether the data can be accessed for read or write by
318  !! PDI
319  !! \param[OUT] err for error status (optional)
320  !! \pre the user code owns the data buffer
321  !! \post ownership of the data buffer is shared between PDI and the user code
322  !!
323  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
324  !! * PDI_IN means PDI can set the buffer content
325  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
326  subroutine PDI_share_CHARACTER4_0D( name, data, access, err )
327  character(len=*), intent(IN) :: name
328  CHARACTER(KIND=4), target, asynchronous :: data
329  integer, intent(IN) :: access
330  integer, intent(OUT), optional :: err
331  endsubroutine PDI_share_CHARACTER4_0D
332  !=============================================================================
333 
334 
335  !=============================================================================
336  !< shares some data with PDI. the user code should not modify it before
337  !! a call to either PDI_release or PDI_reclaim.
338  !! \param[IN] name the data name
339  !! \param[IN,OUT] data the data to share
340  !! \param[IN] access whether the data can be accessed for read or write by
341  !! PDI
342  !! \param[OUT] err for error status (optional)
343  !! \pre the user code owns the data buffer
344  !! \post ownership of the data buffer is shared between PDI and the user code
345  !!
346  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
347  !! * PDI_IN means PDI can set the buffer content
348  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
349  subroutine PDI_share_CHARACTER4_1D( name, data, access, err )
350  character(len=*), intent(IN) :: name
351  CHARACTER(KIND=4), target, asynchronous :: data(:)
352  integer, intent(IN) :: access
353  integer, intent(OUT), optional :: err
354  endsubroutine PDI_share_CHARACTER4_1D
355  !=============================================================================
356 
357 
358  !=============================================================================
359  !< shares some data with PDI. the user code should not modify it before
360  !! a call to either PDI_release or PDI_reclaim.
361  !! \param[IN] name the data name
362  !! \param[IN,OUT] data the data to share
363  !! \param[IN] access whether the data can be accessed for read or write by
364  !! PDI
365  !! \param[OUT] err for error status (optional)
366  !! \pre the user code owns the data buffer
367  !! \post ownership of the data buffer is shared between PDI and the user code
368  !!
369  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
370  !! * PDI_IN means PDI can set the buffer content
371  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
372  subroutine PDI_share_CHARACTER4_2D( name, data, access, err )
373  character(len=*), intent(IN) :: name
374  CHARACTER(KIND=4), target, asynchronous :: data(:,:)
375  integer, intent(IN) :: access
376  integer, intent(OUT), optional :: err
377  endsubroutine PDI_share_CHARACTER4_2D
378  !=============================================================================
379 
380 
381  !=============================================================================
382  !< shares some data with PDI. the user code should not modify it before
383  !! a call to either PDI_release or PDI_reclaim.
384  !! \param[IN] name the data name
385  !! \param[IN,OUT] data the data to share
386  !! \param[IN] access whether the data can be accessed for read or write by
387  !! PDI
388  !! \param[OUT] err for error status (optional)
389  !! \pre the user code owns the data buffer
390  !! \post ownership of the data buffer is shared between PDI and the user code
391  !!
392  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
393  !! * PDI_IN means PDI can set the buffer content
394  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
395  subroutine PDI_share_CHARACTER4_3D( name, data, access, err )
396  character(len=*), intent(IN) :: name
397  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:)
398  integer, intent(IN) :: access
399  integer, intent(OUT), optional :: err
400  endsubroutine PDI_share_CHARACTER4_3D
401  !=============================================================================
402 
403 
404  !=============================================================================
405  !< shares some data with PDI. the user code should not modify it before
406  !! a call to either PDI_release or PDI_reclaim.
407  !! \param[IN] name the data name
408  !! \param[IN,OUT] data the data to share
409  !! \param[IN] access whether the data can be accessed for read or write by
410  !! PDI
411  !! \param[OUT] err for error status (optional)
412  !! \pre the user code owns the data buffer
413  !! \post ownership of the data buffer is shared between PDI and the user code
414  !!
415  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
416  !! * PDI_IN means PDI can set the buffer content
417  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
418  subroutine PDI_share_CHARACTER4_4D( name, data, access, err )
419  character(len=*), intent(IN) :: name
420  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:)
421  integer, intent(IN) :: access
422  integer, intent(OUT), optional :: err
423  endsubroutine PDI_share_CHARACTER4_4D
424  !=============================================================================
425 
426 
427  !=============================================================================
428  !< shares some data with PDI. the user code should not modify it before
429  !! a call to either PDI_release or PDI_reclaim.
430  !! \param[IN] name the data name
431  !! \param[IN,OUT] data the data to share
432  !! \param[IN] access whether the data can be accessed for read or write by
433  !! PDI
434  !! \param[OUT] err for error status (optional)
435  !! \pre the user code owns the data buffer
436  !! \post ownership of the data buffer is shared between PDI and the user code
437  !!
438  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
439  !! * PDI_IN means PDI can set the buffer content
440  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
441  subroutine PDI_share_CHARACTER4_5D( name, data, access, err )
442  character(len=*), intent(IN) :: name
443  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:,:)
444  integer, intent(IN) :: access
445  integer, intent(OUT), optional :: err
446  endsubroutine PDI_share_CHARACTER4_5D
447  !=============================================================================
448 
449 
450  !=============================================================================
451  !< shares some data with PDI. the user code should not modify it before
452  !! a call to either PDI_release or PDI_reclaim.
453  !! \param[IN] name the data name
454  !! \param[IN,OUT] data the data to share
455  !! \param[IN] access whether the data can be accessed for read or write by
456  !! PDI
457  !! \param[OUT] err for error status (optional)
458  !! \pre the user code owns the data buffer
459  !! \post ownership of the data buffer is shared between PDI and the user code
460  !!
461  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
462  !! * PDI_IN means PDI can set the buffer content
463  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
464  subroutine PDI_share_CHARACTER4_6D( name, data, access, err )
465  character(len=*), intent(IN) :: name
466  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
467  integer, intent(IN) :: access
468  integer, intent(OUT), optional :: err
469  endsubroutine PDI_share_CHARACTER4_6D
470  !=============================================================================
471 
472 
473  !=============================================================================
474  !< shares some data with PDI. the user code should not modify it before
475  !! a call to either PDI_release or PDI_reclaim.
476  !! \param[IN] name the data name
477  !! \param[IN,OUT] data the data to share
478  !! \param[IN] access whether the data can be accessed for read or write by
479  !! PDI
480  !! \param[OUT] err for error status (optional)
481  !! \pre the user code owns the data buffer
482  !! \post ownership of the data buffer is shared between PDI and the user code
483  !!
484  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
485  !! * PDI_IN means PDI can set the buffer content
486  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
487  subroutine PDI_share_CHARACTER4_7D( name, data, access, err )
488  character(len=*), intent(IN) :: name
489  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
490  integer, intent(IN) :: access
491  integer, intent(OUT), optional :: err
492  endsubroutine PDI_share_CHARACTER4_7D
493  !=============================================================================
494 
495 
496  !=============================================================================
497  !< shares some data with PDI. the user code should not modify it before
498  !! a call to either PDI_release or PDI_reclaim.
499  !! \param[IN] name the data name
500  !! \param[IN,OUT] data the data to share
501  !! \param[IN] access whether the data can be accessed for read or write by
502  !! PDI
503  !! \param[OUT] err for error status (optional)
504  !! \pre the user code owns the data buffer
505  !! \post ownership of the data buffer is shared between PDI and the user code
506  !!
507  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
508  !! * PDI_IN means PDI can set the buffer content
509  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
510  subroutine PDI_share_COMPLEX4_0D( name, data, access, err )
511  character(len=*), intent(IN) :: name
512  COMPLEX(KIND=4), target, asynchronous :: data
513  integer, intent(IN) :: access
514  integer, intent(OUT), optional :: err
515  endsubroutine PDI_share_COMPLEX4_0D
516  !=============================================================================
517 
518 
519  !=============================================================================
520  !< shares some data with PDI. the user code should not modify it before
521  !! a call to either PDI_release or PDI_reclaim.
522  !! \param[IN] name the data name
523  !! \param[IN,OUT] data the data to share
524  !! \param[IN] access whether the data can be accessed for read or write by
525  !! PDI
526  !! \param[OUT] err for error status (optional)
527  !! \pre the user code owns the data buffer
528  !! \post ownership of the data buffer is shared between PDI and the user code
529  !!
530  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
531  !! * PDI_IN means PDI can set the buffer content
532  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
533  subroutine PDI_share_COMPLEX4_1D( name, data, access, err )
534  character(len=*), intent(IN) :: name
535  COMPLEX(KIND=4), target, asynchronous :: data(:)
536  integer, intent(IN) :: access
537  integer, intent(OUT), optional :: err
538  endsubroutine PDI_share_COMPLEX4_1D
539  !=============================================================================
540 
541 
542  !=============================================================================
543  !< shares some data with PDI. the user code should not modify it before
544  !! a call to either PDI_release or PDI_reclaim.
545  !! \param[IN] name the data name
546  !! \param[IN,OUT] data the data to share
547  !! \param[IN] access whether the data can be accessed for read or write by
548  !! PDI
549  !! \param[OUT] err for error status (optional)
550  !! \pre the user code owns the data buffer
551  !! \post ownership of the data buffer is shared between PDI and the user code
552  !!
553  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
554  !! * PDI_IN means PDI can set the buffer content
555  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
556  subroutine PDI_share_COMPLEX4_2D( name, data, access, err )
557  character(len=*), intent(IN) :: name
558  COMPLEX(KIND=4), target, asynchronous :: data(:,:)
559  integer, intent(IN) :: access
560  integer, intent(OUT), optional :: err
561  endsubroutine PDI_share_COMPLEX4_2D
562  !=============================================================================
563 
564 
565  !=============================================================================
566  !< shares some data with PDI. the user code should not modify it before
567  !! a call to either PDI_release or PDI_reclaim.
568  !! \param[IN] name the data name
569  !! \param[IN,OUT] data the data to share
570  !! \param[IN] access whether the data can be accessed for read or write by
571  !! PDI
572  !! \param[OUT] err for error status (optional)
573  !! \pre the user code owns the data buffer
574  !! \post ownership of the data buffer is shared between PDI and the user code
575  !!
576  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
577  !! * PDI_IN means PDI can set the buffer content
578  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
579  subroutine PDI_share_COMPLEX4_3D( name, data, access, err )
580  character(len=*), intent(IN) :: name
581  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:)
582  integer, intent(IN) :: access
583  integer, intent(OUT), optional :: err
584  endsubroutine PDI_share_COMPLEX4_3D
585  !=============================================================================
586 
587 
588  !=============================================================================
589  !< shares some data with PDI. the user code should not modify it before
590  !! a call to either PDI_release or PDI_reclaim.
591  !! \param[IN] name the data name
592  !! \param[IN,OUT] data the data to share
593  !! \param[IN] access whether the data can be accessed for read or write by
594  !! PDI
595  !! \param[OUT] err for error status (optional)
596  !! \pre the user code owns the data buffer
597  !! \post ownership of the data buffer is shared between PDI and the user code
598  !!
599  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
600  !! * PDI_IN means PDI can set the buffer content
601  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
602  subroutine PDI_share_COMPLEX4_4D( name, data, access, err )
603  character(len=*), intent(IN) :: name
604  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:)
605  integer, intent(IN) :: access
606  integer, intent(OUT), optional :: err
607  endsubroutine PDI_share_COMPLEX4_4D
608  !=============================================================================
609 
610 
611  !=============================================================================
612  !< shares some data with PDI. the user code should not modify it before
613  !! a call to either PDI_release or PDI_reclaim.
614  !! \param[IN] name the data name
615  !! \param[IN,OUT] data the data to share
616  !! \param[IN] access whether the data can be accessed for read or write by
617  !! PDI
618  !! \param[OUT] err for error status (optional)
619  !! \pre the user code owns the data buffer
620  !! \post ownership of the data buffer is shared between PDI and the user code
621  !!
622  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
623  !! * PDI_IN means PDI can set the buffer content
624  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
625  subroutine PDI_share_COMPLEX4_5D( name, data, access, err )
626  character(len=*), intent(IN) :: name
627  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:,:)
628  integer, intent(IN) :: access
629  integer, intent(OUT), optional :: err
630  endsubroutine PDI_share_COMPLEX4_5D
631  !=============================================================================
632 
633 
634  !=============================================================================
635  !< shares some data with PDI. the user code should not modify it before
636  !! a call to either PDI_release or PDI_reclaim.
637  !! \param[IN] name the data name
638  !! \param[IN,OUT] data the data to share
639  !! \param[IN] access whether the data can be accessed for read or write by
640  !! PDI
641  !! \param[OUT] err for error status (optional)
642  !! \pre the user code owns the data buffer
643  !! \post ownership of the data buffer is shared between PDI and the user code
644  !!
645  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
646  !! * PDI_IN means PDI can set the buffer content
647  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
648  subroutine PDI_share_COMPLEX4_6D( name, data, access, err )
649  character(len=*), intent(IN) :: name
650  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
651  integer, intent(IN) :: access
652  integer, intent(OUT), optional :: err
653  endsubroutine PDI_share_COMPLEX4_6D
654  !=============================================================================
655 
656 
657  !=============================================================================
658  !< shares some data with PDI. the user code should not modify it before
659  !! a call to either PDI_release or PDI_reclaim.
660  !! \param[IN] name the data name
661  !! \param[IN,OUT] data the data to share
662  !! \param[IN] access whether the data can be accessed for read or write by
663  !! PDI
664  !! \param[OUT] err for error status (optional)
665  !! \pre the user code owns the data buffer
666  !! \post ownership of the data buffer is shared between PDI and the user code
667  !!
668  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
669  !! * PDI_IN means PDI can set the buffer content
670  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
671  subroutine PDI_share_COMPLEX4_7D( name, data, access, err )
672  character(len=*), intent(IN) :: name
673  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
674  integer, intent(IN) :: access
675  integer, intent(OUT), optional :: err
676  endsubroutine PDI_share_COMPLEX4_7D
677  !=============================================================================
678 
679 
680  !=============================================================================
681  !< shares some data with PDI. the user code should not modify it before
682  !! a call to either PDI_release or PDI_reclaim.
683  !! \param[IN] name the data name
684  !! \param[IN,OUT] data the data to share
685  !! \param[IN] access whether the data can be accessed for read or write by
686  !! PDI
687  !! \param[OUT] err for error status (optional)
688  !! \pre the user code owns the data buffer
689  !! \post ownership of the data buffer is shared between PDI and the user code
690  !!
691  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
692  !! * PDI_IN means PDI can set the buffer content
693  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
694  subroutine PDI_share_COMPLEX8_0D( name, data, access, err )
695  character(len=*), intent(IN) :: name
696  COMPLEX(KIND=8), target, asynchronous :: data
697  integer, intent(IN) :: access
698  integer, intent(OUT), optional :: err
699  endsubroutine PDI_share_COMPLEX8_0D
700  !=============================================================================
701 
702 
703  !=============================================================================
704  !< shares some data with PDI. the user code should not modify it before
705  !! a call to either PDI_release or PDI_reclaim.
706  !! \param[IN] name the data name
707  !! \param[IN,OUT] data the data to share
708  !! \param[IN] access whether the data can be accessed for read or write by
709  !! PDI
710  !! \param[OUT] err for error status (optional)
711  !! \pre the user code owns the data buffer
712  !! \post ownership of the data buffer is shared between PDI and the user code
713  !!
714  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
715  !! * PDI_IN means PDI can set the buffer content
716  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
717  subroutine PDI_share_COMPLEX8_1D( name, data, access, err )
718  character(len=*), intent(IN) :: name
719  COMPLEX(KIND=8), target, asynchronous :: data(:)
720  integer, intent(IN) :: access
721  integer, intent(OUT), optional :: err
722  endsubroutine PDI_share_COMPLEX8_1D
723  !=============================================================================
724 
725 
726  !=============================================================================
727  !< shares some data with PDI. the user code should not modify it before
728  !! a call to either PDI_release or PDI_reclaim.
729  !! \param[IN] name the data name
730  !! \param[IN,OUT] data the data to share
731  !! \param[IN] access whether the data can be accessed for read or write by
732  !! PDI
733  !! \param[OUT] err for error status (optional)
734  !! \pre the user code owns the data buffer
735  !! \post ownership of the data buffer is shared between PDI and the user code
736  !!
737  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
738  !! * PDI_IN means PDI can set the buffer content
739  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
740  subroutine PDI_share_COMPLEX8_2D( name, data, access, err )
741  character(len=*), intent(IN) :: name
742  COMPLEX(KIND=8), target, asynchronous :: data(:,:)
743  integer, intent(IN) :: access
744  integer, intent(OUT), optional :: err
745  endsubroutine PDI_share_COMPLEX8_2D
746  !=============================================================================
747 
748 
749  !=============================================================================
750  !< shares some data with PDI. the user code should not modify it before
751  !! a call to either PDI_release or PDI_reclaim.
752  !! \param[IN] name the data name
753  !! \param[IN,OUT] data the data to share
754  !! \param[IN] access whether the data can be accessed for read or write by
755  !! PDI
756  !! \param[OUT] err for error status (optional)
757  !! \pre the user code owns the data buffer
758  !! \post ownership of the data buffer is shared between PDI and the user code
759  !!
760  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
761  !! * PDI_IN means PDI can set the buffer content
762  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
763  subroutine PDI_share_COMPLEX8_3D( name, data, access, err )
764  character(len=*), intent(IN) :: name
765  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:)
766  integer, intent(IN) :: access
767  integer, intent(OUT), optional :: err
768  endsubroutine PDI_share_COMPLEX8_3D
769  !=============================================================================
770 
771 
772  !=============================================================================
773  !< shares some data with PDI. the user code should not modify it before
774  !! a call to either PDI_release or PDI_reclaim.
775  !! \param[IN] name the data name
776  !! \param[IN,OUT] data the data to share
777  !! \param[IN] access whether the data can be accessed for read or write by
778  !! PDI
779  !! \param[OUT] err for error status (optional)
780  !! \pre the user code owns the data buffer
781  !! \post ownership of the data buffer is shared between PDI and the user code
782  !!
783  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
784  !! * PDI_IN means PDI can set the buffer content
785  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
786  subroutine PDI_share_COMPLEX8_4D( name, data, access, err )
787  character(len=*), intent(IN) :: name
788  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:)
789  integer, intent(IN) :: access
790  integer, intent(OUT), optional :: err
791  endsubroutine PDI_share_COMPLEX8_4D
792  !=============================================================================
793 
794 
795  !=============================================================================
796  !< shares some data with PDI. the user code should not modify it before
797  !! a call to either PDI_release or PDI_reclaim.
798  !! \param[IN] name the data name
799  !! \param[IN,OUT] data the data to share
800  !! \param[IN] access whether the data can be accessed for read or write by
801  !! PDI
802  !! \param[OUT] err for error status (optional)
803  !! \pre the user code owns the data buffer
804  !! \post ownership of the data buffer is shared between PDI and the user code
805  !!
806  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
807  !! * PDI_IN means PDI can set the buffer content
808  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
809  subroutine PDI_share_COMPLEX8_5D( name, data, access, err )
810  character(len=*), intent(IN) :: name
811  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:,:)
812  integer, intent(IN) :: access
813  integer, intent(OUT), optional :: err
814  endsubroutine PDI_share_COMPLEX8_5D
815  !=============================================================================
816 
817 
818  !=============================================================================
819  !< shares some data with PDI. the user code should not modify it before
820  !! a call to either PDI_release or PDI_reclaim.
821  !! \param[IN] name the data name
822  !! \param[IN,OUT] data the data to share
823  !! \param[IN] access whether the data can be accessed for read or write by
824  !! PDI
825  !! \param[OUT] err for error status (optional)
826  !! \pre the user code owns the data buffer
827  !! \post ownership of the data buffer is shared between PDI and the user code
828  !!
829  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
830  !! * PDI_IN means PDI can set the buffer content
831  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
832  subroutine PDI_share_COMPLEX8_6D( name, data, access, err )
833  character(len=*), intent(IN) :: name
834  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
835  integer, intent(IN) :: access
836  integer, intent(OUT), optional :: err
837  endsubroutine PDI_share_COMPLEX8_6D
838  !=============================================================================
839 
840 
841  !=============================================================================
842  !< shares some data with PDI. the user code should not modify it before
843  !! a call to either PDI_release or PDI_reclaim.
844  !! \param[IN] name the data name
845  !! \param[IN,OUT] data the data to share
846  !! \param[IN] access whether the data can be accessed for read or write by
847  !! PDI
848  !! \param[OUT] err for error status (optional)
849  !! \pre the user code owns the data buffer
850  !! \post ownership of the data buffer is shared between PDI and the user code
851  !!
852  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
853  !! * PDI_IN means PDI can set the buffer content
854  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
855  subroutine PDI_share_COMPLEX8_7D( name, data, access, err )
856  character(len=*), intent(IN) :: name
857  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
858  integer, intent(IN) :: access
859  integer, intent(OUT), optional :: err
860  endsubroutine PDI_share_COMPLEX8_7D
861  !=============================================================================
862 
863 
864  !=============================================================================
865  !< shares some data with PDI. the user code should not modify it before
866  !! a call to either PDI_release or PDI_reclaim.
867  !! \param[IN] name the data name
868  !! \param[IN,OUT] data the data to share
869  !! \param[IN] access whether the data can be accessed for read or write by
870  !! PDI
871  !! \param[OUT] err for error status (optional)
872  !! \pre the user code owns the data buffer
873  !! \post ownership of the data buffer is shared between PDI and the user code
874  !!
875  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
876  !! * PDI_IN means PDI can set the buffer content
877  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
878  subroutine PDI_share_COMPLEX16_0D( name, data, access, err )
879  character(len=*), intent(IN) :: name
880  COMPLEX(KIND=16), target, asynchronous :: data
881  integer, intent(IN) :: access
882  integer, intent(OUT), optional :: err
883  endsubroutine PDI_share_COMPLEX16_0D
884  !=============================================================================
885 
886 
887  !=============================================================================
888  !< shares some data with PDI. the user code should not modify it before
889  !! a call to either PDI_release or PDI_reclaim.
890  !! \param[IN] name the data name
891  !! \param[IN,OUT] data the data to share
892  !! \param[IN] access whether the data can be accessed for read or write by
893  !! PDI
894  !! \param[OUT] err for error status (optional)
895  !! \pre the user code owns the data buffer
896  !! \post ownership of the data buffer is shared between PDI and the user code
897  !!
898  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
899  !! * PDI_IN means PDI can set the buffer content
900  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
901  subroutine PDI_share_COMPLEX16_1D( name, data, access, err )
902  character(len=*), intent(IN) :: name
903  COMPLEX(KIND=16), target, asynchronous :: data(:)
904  integer, intent(IN) :: access
905  integer, intent(OUT), optional :: err
906  endsubroutine PDI_share_COMPLEX16_1D
907  !=============================================================================
908 
909 
910  !=============================================================================
911  !< shares some data with PDI. the user code should not modify it before
912  !! a call to either PDI_release or PDI_reclaim.
913  !! \param[IN] name the data name
914  !! \param[IN,OUT] data the data to share
915  !! \param[IN] access whether the data can be accessed for read or write by
916  !! PDI
917  !! \param[OUT] err for error status (optional)
918  !! \pre the user code owns the data buffer
919  !! \post ownership of the data buffer is shared between PDI and the user code
920  !!
921  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
922  !! * PDI_IN means PDI can set the buffer content
923  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
924  subroutine PDI_share_COMPLEX16_2D( name, data, access, err )
925  character(len=*), intent(IN) :: name
926  COMPLEX(KIND=16), target, asynchronous :: data(:,:)
927  integer, intent(IN) :: access
928  integer, intent(OUT), optional :: err
929  endsubroutine PDI_share_COMPLEX16_2D
930  !=============================================================================
931 
932 
933  !=============================================================================
934  !< shares some data with PDI. the user code should not modify it before
935  !! a call to either PDI_release or PDI_reclaim.
936  !! \param[IN] name the data name
937  !! \param[IN,OUT] data the data to share
938  !! \param[IN] access whether the data can be accessed for read or write by
939  !! PDI
940  !! \param[OUT] err for error status (optional)
941  !! \pre the user code owns the data buffer
942  !! \post ownership of the data buffer is shared between PDI and the user code
943  !!
944  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
945  !! * PDI_IN means PDI can set the buffer content
946  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
947  subroutine PDI_share_COMPLEX16_3D( name, data, access, err )
948  character(len=*), intent(IN) :: name
949  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:)
950  integer, intent(IN) :: access
951  integer, intent(OUT), optional :: err
952  endsubroutine PDI_share_COMPLEX16_3D
953  !=============================================================================
954 
955 
956  !=============================================================================
957  !< shares some data with PDI. the user code should not modify it before
958  !! a call to either PDI_release or PDI_reclaim.
959  !! \param[IN] name the data name
960  !! \param[IN,OUT] data the data to share
961  !! \param[IN] access whether the data can be accessed for read or write by
962  !! PDI
963  !! \param[OUT] err for error status (optional)
964  !! \pre the user code owns the data buffer
965  !! \post ownership of the data buffer is shared between PDI and the user code
966  !!
967  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
968  !! * PDI_IN means PDI can set the buffer content
969  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
970  subroutine PDI_share_COMPLEX16_4D( name, data, access, err )
971  character(len=*), intent(IN) :: name
972  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:)
973  integer, intent(IN) :: access
974  integer, intent(OUT), optional :: err
975  endsubroutine PDI_share_COMPLEX16_4D
976  !=============================================================================
977 
978 
979  !=============================================================================
980  !< shares some data with PDI. the user code should not modify it before
981  !! a call to either PDI_release or PDI_reclaim.
982  !! \param[IN] name the data name
983  !! \param[IN,OUT] data the data to share
984  !! \param[IN] access whether the data can be accessed for read or write by
985  !! PDI
986  !! \param[OUT] err for error status (optional)
987  !! \pre the user code owns the data buffer
988  !! \post ownership of the data buffer is shared between PDI and the user code
989  !!
990  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
991  !! * PDI_IN means PDI can set the buffer content
992  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
993  subroutine PDI_share_COMPLEX16_5D( name, data, access, err )
994  character(len=*), intent(IN) :: name
995  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:,:)
996  integer, intent(IN) :: access
997  integer, intent(OUT), optional :: err
998  endsubroutine PDI_share_COMPLEX16_5D
999  !=============================================================================
1000 
1001 
1002  !=============================================================================
1003  !< shares some data with PDI. the user code should not modify it before
1004  !! a call to either PDI_release or PDI_reclaim.
1005  !! \param[IN] name the data name
1006  !! \param[IN,OUT] data the data to share
1007  !! \param[IN] access whether the data can be accessed for read or write by
1008  !! PDI
1009  !! \param[OUT] err for error status (optional)
1010  !! \pre the user code owns the data buffer
1011  !! \post ownership of the data buffer is shared between PDI and the user code
1012  !!
1013  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1014  !! * PDI_IN means PDI can set the buffer content
1015  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1016  subroutine PDI_share_COMPLEX16_6D( name, data, access, err )
1017  character(len=*), intent(IN) :: name
1018  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
1019  integer, intent(IN) :: access
1020  integer, intent(OUT), optional :: err
1021  endsubroutine PDI_share_COMPLEX16_6D
1022  !=============================================================================
1023 
1024 
1025  !=============================================================================
1026  !< shares some data with PDI. the user code should not modify it before
1027  !! a call to either PDI_release or PDI_reclaim.
1028  !! \param[IN] name the data name
1029  !! \param[IN,OUT] data the data to share
1030  !! \param[IN] access whether the data can be accessed for read or write by
1031  !! PDI
1032  !! \param[OUT] err for error status (optional)
1033  !! \pre the user code owns the data buffer
1034  !! \post ownership of the data buffer is shared between PDI and the user code
1035  !!
1036  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1037  !! * PDI_IN means PDI can set the buffer content
1038  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1039  subroutine PDI_share_COMPLEX16_7D( name, data, access, err )
1040  character(len=*), intent(IN) :: name
1041  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
1042  integer, intent(IN) :: access
1043  integer, intent(OUT), optional :: err
1044  endsubroutine PDI_share_COMPLEX16_7D
1045  !=============================================================================
1046 
1047 
1048  !=============================================================================
1049  !< shares some data with PDI. the user code should not modify it before
1050  !! a call to either PDI_release or PDI_reclaim.
1051  !! \param[IN] name the data name
1052  !! \param[IN,OUT] data the data to share
1053  !! \param[IN] access whether the data can be accessed for read or write by
1054  !! PDI
1055  !! \param[OUT] err for error status (optional)
1056  !! \pre the user code owns the data buffer
1057  !! \post ownership of the data buffer is shared between PDI and the user code
1058  !!
1059  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1060  !! * PDI_IN means PDI can set the buffer content
1061  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1062  subroutine PDI_share_INTEGER1_0D( name, data, access, err )
1063  character(len=*), intent(IN) :: name
1064  INTEGER(KIND=1), target, asynchronous :: data
1065  integer, intent(IN) :: access
1066  integer, intent(OUT), optional :: err
1067  endsubroutine PDI_share_INTEGER1_0D
1068  !=============================================================================
1069 
1070 
1071  !=============================================================================
1072  !< shares some data with PDI. the user code should not modify it before
1073  !! a call to either PDI_release or PDI_reclaim.
1074  !! \param[IN] name the data name
1075  !! \param[IN,OUT] data the data to share
1076  !! \param[IN] access whether the data can be accessed for read or write by
1077  !! PDI
1078  !! \param[OUT] err for error status (optional)
1079  !! \pre the user code owns the data buffer
1080  !! \post ownership of the data buffer is shared between PDI and the user code
1081  !!
1082  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1083  !! * PDI_IN means PDI can set the buffer content
1084  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1085  subroutine PDI_share_INTEGER1_1D( name, data, access, err )
1086  character(len=*), intent(IN) :: name
1087  INTEGER(KIND=1), target, asynchronous :: data(:)
1088  integer, intent(IN) :: access
1089  integer, intent(OUT), optional :: err
1090  endsubroutine PDI_share_INTEGER1_1D
1091  !=============================================================================
1092 
1093 
1094  !=============================================================================
1095  !< shares some data with PDI. the user code should not modify it before
1096  !! a call to either PDI_release or PDI_reclaim.
1097  !! \param[IN] name the data name
1098  !! \param[IN,OUT] data the data to share
1099  !! \param[IN] access whether the data can be accessed for read or write by
1100  !! PDI
1101  !! \param[OUT] err for error status (optional)
1102  !! \pre the user code owns the data buffer
1103  !! \post ownership of the data buffer is shared between PDI and the user code
1104  !!
1105  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1106  !! * PDI_IN means PDI can set the buffer content
1107  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1108  subroutine PDI_share_INTEGER1_2D( name, data, access, err )
1109  character(len=*), intent(IN) :: name
1110  INTEGER(KIND=1), target, asynchronous :: data(:,:)
1111  integer, intent(IN) :: access
1112  integer, intent(OUT), optional :: err
1113  endsubroutine PDI_share_INTEGER1_2D
1114  !=============================================================================
1115 
1116 
1117  !=============================================================================
1118  !< shares some data with PDI. the user code should not modify it before
1119  !! a call to either PDI_release or PDI_reclaim.
1120  !! \param[IN] name the data name
1121  !! \param[IN,OUT] data the data to share
1122  !! \param[IN] access whether the data can be accessed for read or write by
1123  !! PDI
1124  !! \param[OUT] err for error status (optional)
1125  !! \pre the user code owns the data buffer
1126  !! \post ownership of the data buffer is shared between PDI and the user code
1127  !!
1128  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1129  !! * PDI_IN means PDI can set the buffer content
1130  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1131  subroutine PDI_share_INTEGER1_3D( name, data, access, err )
1132  character(len=*), intent(IN) :: name
1133  INTEGER(KIND=1), target, asynchronous :: data(:,:,:)
1134  integer, intent(IN) :: access
1135  integer, intent(OUT), optional :: err
1136  endsubroutine PDI_share_INTEGER1_3D
1137  !=============================================================================
1138 
1139 
1140  !=============================================================================
1141  !< shares some data with PDI. the user code should not modify it before
1142  !! a call to either PDI_release or PDI_reclaim.
1143  !! \param[IN] name the data name
1144  !! \param[IN,OUT] data the data to share
1145  !! \param[IN] access whether the data can be accessed for read or write by
1146  !! PDI
1147  !! \param[OUT] err for error status (optional)
1148  !! \pre the user code owns the data buffer
1149  !! \post ownership of the data buffer is shared between PDI and the user code
1150  !!
1151  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1152  !! * PDI_IN means PDI can set the buffer content
1153  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1154  subroutine PDI_share_INTEGER1_4D( name, data, access, err )
1155  character(len=*), intent(IN) :: name
1156  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:)
1157  integer, intent(IN) :: access
1158  integer, intent(OUT), optional :: err
1159  endsubroutine PDI_share_INTEGER1_4D
1160  !=============================================================================
1161 
1162 
1163  !=============================================================================
1164  !< shares some data with PDI. the user code should not modify it before
1165  !! a call to either PDI_release or PDI_reclaim.
1166  !! \param[IN] name the data name
1167  !! \param[IN,OUT] data the data to share
1168  !! \param[IN] access whether the data can be accessed for read or write by
1169  !! PDI
1170  !! \param[OUT] err for error status (optional)
1171  !! \pre the user code owns the data buffer
1172  !! \post ownership of the data buffer is shared between PDI and the user code
1173  !!
1174  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1175  !! * PDI_IN means PDI can set the buffer content
1176  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1177  subroutine PDI_share_INTEGER1_5D( name, data, access, err )
1178  character(len=*), intent(IN) :: name
1179  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:,:)
1180  integer, intent(IN) :: access
1181  integer, intent(OUT), optional :: err
1182  endsubroutine PDI_share_INTEGER1_5D
1183  !=============================================================================
1184 
1185 
1186  !=============================================================================
1187  !< shares some data with PDI. the user code should not modify it before
1188  !! a call to either PDI_release or PDI_reclaim.
1189  !! \param[IN] name the data name
1190  !! \param[IN,OUT] data the data to share
1191  !! \param[IN] access whether the data can be accessed for read or write by
1192  !! PDI
1193  !! \param[OUT] err for error status (optional)
1194  !! \pre the user code owns the data buffer
1195  !! \post ownership of the data buffer is shared between PDI and the user code
1196  !!
1197  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1198  !! * PDI_IN means PDI can set the buffer content
1199  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1200  subroutine PDI_share_INTEGER1_6D( name, data, access, err )
1201  character(len=*), intent(IN) :: name
1202  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:)
1203  integer, intent(IN) :: access
1204  integer, intent(OUT), optional :: err
1205  endsubroutine PDI_share_INTEGER1_6D
1206  !=============================================================================
1207 
1208 
1209  !=============================================================================
1210  !< shares some data with PDI. the user code should not modify it before
1211  !! a call to either PDI_release or PDI_reclaim.
1212  !! \param[IN] name the data name
1213  !! \param[IN,OUT] data the data to share
1214  !! \param[IN] access whether the data can be accessed for read or write by
1215  !! PDI
1216  !! \param[OUT] err for error status (optional)
1217  !! \pre the user code owns the data buffer
1218  !! \post ownership of the data buffer is shared between PDI and the user code
1219  !!
1220  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1221  !! * PDI_IN means PDI can set the buffer content
1222  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1223  subroutine PDI_share_INTEGER1_7D( name, data, access, err )
1224  character(len=*), intent(IN) :: name
1225  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:,:)
1226  integer, intent(IN) :: access
1227  integer, intent(OUT), optional :: err
1228  endsubroutine PDI_share_INTEGER1_7D
1229  !=============================================================================
1230 
1231 
1232  !=============================================================================
1233  !< shares some data with PDI. the user code should not modify it before
1234  !! a call to either PDI_release or PDI_reclaim.
1235  !! \param[IN] name the data name
1236  !! \param[IN,OUT] data the data to share
1237  !! \param[IN] access whether the data can be accessed for read or write by
1238  !! PDI
1239  !! \param[OUT] err for error status (optional)
1240  !! \pre the user code owns the data buffer
1241  !! \post ownership of the data buffer is shared between PDI and the user code
1242  !!
1243  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1244  !! * PDI_IN means PDI can set the buffer content
1245  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1246  subroutine PDI_share_INTEGER2_0D( name, data, access, err )
1247  character(len=*), intent(IN) :: name
1248  INTEGER(KIND=2), target, asynchronous :: data
1249  integer, intent(IN) :: access
1250  integer, intent(OUT), optional :: err
1251  endsubroutine PDI_share_INTEGER2_0D
1252  !=============================================================================
1253 
1254 
1255  !=============================================================================
1256  !< shares some data with PDI. the user code should not modify it before
1257  !! a call to either PDI_release or PDI_reclaim.
1258  !! \param[IN] name the data name
1259  !! \param[IN,OUT] data the data to share
1260  !! \param[IN] access whether the data can be accessed for read or write by
1261  !! PDI
1262  !! \param[OUT] err for error status (optional)
1263  !! \pre the user code owns the data buffer
1264  !! \post ownership of the data buffer is shared between PDI and the user code
1265  !!
1266  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1267  !! * PDI_IN means PDI can set the buffer content
1268  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1269  subroutine PDI_share_INTEGER2_1D( name, data, access, err )
1270  character(len=*), intent(IN) :: name
1271  INTEGER(KIND=2), target, asynchronous :: data(:)
1272  integer, intent(IN) :: access
1273  integer, intent(OUT), optional :: err
1274  endsubroutine PDI_share_INTEGER2_1D
1275  !=============================================================================
1276 
1277 
1278  !=============================================================================
1279  !< shares some data with PDI. the user code should not modify it before
1280  !! a call to either PDI_release or PDI_reclaim.
1281  !! \param[IN] name the data name
1282  !! \param[IN,OUT] data the data to share
1283  !! \param[IN] access whether the data can be accessed for read or write by
1284  !! PDI
1285  !! \param[OUT] err for error status (optional)
1286  !! \pre the user code owns the data buffer
1287  !! \post ownership of the data buffer is shared between PDI and the user code
1288  !!
1289  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1290  !! * PDI_IN means PDI can set the buffer content
1291  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1292  subroutine PDI_share_INTEGER2_2D( name, data, access, err )
1293  character(len=*), intent(IN) :: name
1294  INTEGER(KIND=2), target, asynchronous :: data(:,:)
1295  integer, intent(IN) :: access
1296  integer, intent(OUT), optional :: err
1297  endsubroutine PDI_share_INTEGER2_2D
1298  !=============================================================================
1299 
1300 
1301  !=============================================================================
1302  !< shares some data with PDI. the user code should not modify it before
1303  !! a call to either PDI_release or PDI_reclaim.
1304  !! \param[IN] name the data name
1305  !! \param[IN,OUT] data the data to share
1306  !! \param[IN] access whether the data can be accessed for read or write by
1307  !! PDI
1308  !! \param[OUT] err for error status (optional)
1309  !! \pre the user code owns the data buffer
1310  !! \post ownership of the data buffer is shared between PDI and the user code
1311  !!
1312  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1313  !! * PDI_IN means PDI can set the buffer content
1314  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1315  subroutine PDI_share_INTEGER2_3D( name, data, access, err )
1316  character(len=*), intent(IN) :: name
1317  INTEGER(KIND=2), target, asynchronous :: data(:,:,:)
1318  integer, intent(IN) :: access
1319  integer, intent(OUT), optional :: err
1320  endsubroutine PDI_share_INTEGER2_3D
1321  !=============================================================================
1322 
1323 
1324  !=============================================================================
1325  !< shares some data with PDI. the user code should not modify it before
1326  !! a call to either PDI_release or PDI_reclaim.
1327  !! \param[IN] name the data name
1328  !! \param[IN,OUT] data the data to share
1329  !! \param[IN] access whether the data can be accessed for read or write by
1330  !! PDI
1331  !! \param[OUT] err for error status (optional)
1332  !! \pre the user code owns the data buffer
1333  !! \post ownership of the data buffer is shared between PDI and the user code
1334  !!
1335  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1336  !! * PDI_IN means PDI can set the buffer content
1337  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1338  subroutine PDI_share_INTEGER2_4D( name, data, access, err )
1339  character(len=*), intent(IN) :: name
1340  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:)
1341  integer, intent(IN) :: access
1342  integer, intent(OUT), optional :: err
1343  endsubroutine PDI_share_INTEGER2_4D
1344  !=============================================================================
1345 
1346 
1347  !=============================================================================
1348  !< shares some data with PDI. the user code should not modify it before
1349  !! a call to either PDI_release or PDI_reclaim.
1350  !! \param[IN] name the data name
1351  !! \param[IN,OUT] data the data to share
1352  !! \param[IN] access whether the data can be accessed for read or write by
1353  !! PDI
1354  !! \param[OUT] err for error status (optional)
1355  !! \pre the user code owns the data buffer
1356  !! \post ownership of the data buffer is shared between PDI and the user code
1357  !!
1358  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1359  !! * PDI_IN means PDI can set the buffer content
1360  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1361  subroutine PDI_share_INTEGER2_5D( name, data, access, err )
1362  character(len=*), intent(IN) :: name
1363  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:,:)
1364  integer, intent(IN) :: access
1365  integer, intent(OUT), optional :: err
1366  endsubroutine PDI_share_INTEGER2_5D
1367  !=============================================================================
1368 
1369 
1370  !=============================================================================
1371  !< shares some data with PDI. the user code should not modify it before
1372  !! a call to either PDI_release or PDI_reclaim.
1373  !! \param[IN] name the data name
1374  !! \param[IN,OUT] data the data to share
1375  !! \param[IN] access whether the data can be accessed for read or write by
1376  !! PDI
1377  !! \param[OUT] err for error status (optional)
1378  !! \pre the user code owns the data buffer
1379  !! \post ownership of the data buffer is shared between PDI and the user code
1380  !!
1381  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1382  !! * PDI_IN means PDI can set the buffer content
1383  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1384  subroutine PDI_share_INTEGER2_6D( name, data, access, err )
1385  character(len=*), intent(IN) :: name
1386  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:,:,:)
1387  integer, intent(IN) :: access
1388  integer, intent(OUT), optional :: err
1389  endsubroutine PDI_share_INTEGER2_6D
1390  !=============================================================================
1391 
1392 
1393  !=============================================================================
1394  !< shares some data with PDI. the user code should not modify it before
1395  !! a call to either PDI_release or PDI_reclaim.
1396  !! \param[IN] name the data name
1397  !! \param[IN,OUT] data the data to share
1398  !! \param[IN] access whether the data can be accessed for read or write by
1399  !! PDI
1400  !! \param[OUT] err for error status (optional)
1401  !! \pre the user code owns the data buffer
1402  !! \post ownership of the data buffer is shared between PDI and the user code
1403  !!
1404  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1405  !! * PDI_IN means PDI can set the buffer content
1406  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1407  subroutine PDI_share_INTEGER2_7D( name, data, access, err )
1408  character(len=*), intent(IN) :: name
1409  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:,:,:,:)
1410  integer, intent(IN) :: access
1411  integer, intent(OUT), optional :: err
1412  endsubroutine PDI_share_INTEGER2_7D
1413  !=============================================================================
1414 
1415 
1416  !=============================================================================
1417  !< shares some data with PDI. the user code should not modify it before
1418  !! a call to either PDI_release or PDI_reclaim.
1419  !! \param[IN] name the data name
1420  !! \param[IN,OUT] data the data to share
1421  !! \param[IN] access whether the data can be accessed for read or write by
1422  !! PDI
1423  !! \param[OUT] err for error status (optional)
1424  !! \pre the user code owns the data buffer
1425  !! \post ownership of the data buffer is shared between PDI and the user code
1426  !!
1427  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1428  !! * PDI_IN means PDI can set the buffer content
1429  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1430  subroutine PDI_share_INTEGER4_0D( name, data, access, err )
1431  character(len=*), intent(IN) :: name
1432  INTEGER(KIND=4), target, asynchronous :: data
1433  integer, intent(IN) :: access
1434  integer, intent(OUT), optional :: err
1435  endsubroutine PDI_share_INTEGER4_0D
1436  !=============================================================================
1437 
1438 
1439  !=============================================================================
1440  !< shares some data with PDI. the user code should not modify it before
1441  !! a call to either PDI_release or PDI_reclaim.
1442  !! \param[IN] name the data name
1443  !! \param[IN,OUT] data the data to share
1444  !! \param[IN] access whether the data can be accessed for read or write by
1445  !! PDI
1446  !! \param[OUT] err for error status (optional)
1447  !! \pre the user code owns the data buffer
1448  !! \post ownership of the data buffer is shared between PDI and the user code
1449  !!
1450  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1451  !! * PDI_IN means PDI can set the buffer content
1452  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1453  subroutine PDI_share_INTEGER4_1D( name, data, access, err )
1454  character(len=*), intent(IN) :: name
1455  INTEGER(KIND=4), target, asynchronous :: data(:)
1456  integer, intent(IN) :: access
1457  integer, intent(OUT), optional :: err
1458  endsubroutine PDI_share_INTEGER4_1D
1459  !=============================================================================
1460 
1461 
1462  !=============================================================================
1463  !< shares some data with PDI. the user code should not modify it before
1464  !! a call to either PDI_release or PDI_reclaim.
1465  !! \param[IN] name the data name
1466  !! \param[IN,OUT] data the data to share
1467  !! \param[IN] access whether the data can be accessed for read or write by
1468  !! PDI
1469  !! \param[OUT] err for error status (optional)
1470  !! \pre the user code owns the data buffer
1471  !! \post ownership of the data buffer is shared between PDI and the user code
1472  !!
1473  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1474  !! * PDI_IN means PDI can set the buffer content
1475  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1476  subroutine PDI_share_INTEGER4_2D( name, data, access, err )
1477  character(len=*), intent(IN) :: name
1478  INTEGER(KIND=4), target, asynchronous :: data(:,:)
1479  integer, intent(IN) :: access
1480  integer, intent(OUT), optional :: err
1481  endsubroutine PDI_share_INTEGER4_2D
1482  !=============================================================================
1483 
1484 
1485  !=============================================================================
1486  !< shares some data with PDI. the user code should not modify it before
1487  !! a call to either PDI_release or PDI_reclaim.
1488  !! \param[IN] name the data name
1489  !! \param[IN,OUT] data the data to share
1490  !! \param[IN] access whether the data can be accessed for read or write by
1491  !! PDI
1492  !! \param[OUT] err for error status (optional)
1493  !! \pre the user code owns the data buffer
1494  !! \post ownership of the data buffer is shared between PDI and the user code
1495  !!
1496  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1497  !! * PDI_IN means PDI can set the buffer content
1498  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1499  subroutine PDI_share_INTEGER4_3D( name, data, access, err )
1500  character(len=*), intent(IN) :: name
1501  INTEGER(KIND=4), target, asynchronous :: data(:,:,:)
1502  integer, intent(IN) :: access
1503  integer, intent(OUT), optional :: err
1504  endsubroutine PDI_share_INTEGER4_3D
1505  !=============================================================================
1506 
1507 
1508  !=============================================================================
1509  !< shares some data with PDI. the user code should not modify it before
1510  !! a call to either PDI_release or PDI_reclaim.
1511  !! \param[IN] name the data name
1512  !! \param[IN,OUT] data the data to share
1513  !! \param[IN] access whether the data can be accessed for read or write by
1514  !! PDI
1515  !! \param[OUT] err for error status (optional)
1516  !! \pre the user code owns the data buffer
1517  !! \post ownership of the data buffer is shared between PDI and the user code
1518  !!
1519  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1520  !! * PDI_IN means PDI can set the buffer content
1521  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1522  subroutine PDI_share_INTEGER4_4D( name, data, access, err )
1523  character(len=*), intent(IN) :: name
1524  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:)
1525  integer, intent(IN) :: access
1526  integer, intent(OUT), optional :: err
1527  endsubroutine PDI_share_INTEGER4_4D
1528  !=============================================================================
1529 
1530 
1531  !=============================================================================
1532  !< shares some data with PDI. the user code should not modify it before
1533  !! a call to either PDI_release or PDI_reclaim.
1534  !! \param[IN] name the data name
1535  !! \param[IN,OUT] data the data to share
1536  !! \param[IN] access whether the data can be accessed for read or write by
1537  !! PDI
1538  !! \param[OUT] err for error status (optional)
1539  !! \pre the user code owns the data buffer
1540  !! \post ownership of the data buffer is shared between PDI and the user code
1541  !!
1542  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1543  !! * PDI_IN means PDI can set the buffer content
1544  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1545  subroutine PDI_share_INTEGER4_5D( name, data, access, err )
1546  character(len=*), intent(IN) :: name
1547  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:,:)
1548  integer, intent(IN) :: access
1549  integer, intent(OUT), optional :: err
1550  endsubroutine PDI_share_INTEGER4_5D
1551  !=============================================================================
1552 
1553 
1554  !=============================================================================
1555  !< shares some data with PDI. the user code should not modify it before
1556  !! a call to either PDI_release or PDI_reclaim.
1557  !! \param[IN] name the data name
1558  !! \param[IN,OUT] data the data to share
1559  !! \param[IN] access whether the data can be accessed for read or write by
1560  !! PDI
1561  !! \param[OUT] err for error status (optional)
1562  !! \pre the user code owns the data buffer
1563  !! \post ownership of the data buffer is shared between PDI and the user code
1564  !!
1565  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1566  !! * PDI_IN means PDI can set the buffer content
1567  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1568  subroutine PDI_share_INTEGER4_6D( name, data, access, err )
1569  character(len=*), intent(IN) :: name
1570  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
1571  integer, intent(IN) :: access
1572  integer, intent(OUT), optional :: err
1573  endsubroutine PDI_share_INTEGER4_6D
1574  !=============================================================================
1575 
1576 
1577  !=============================================================================
1578  !< shares some data with PDI. the user code should not modify it before
1579  !! a call to either PDI_release or PDI_reclaim.
1580  !! \param[IN] name the data name
1581  !! \param[IN,OUT] data the data to share
1582  !! \param[IN] access whether the data can be accessed for read or write by
1583  !! PDI
1584  !! \param[OUT] err for error status (optional)
1585  !! \pre the user code owns the data buffer
1586  !! \post ownership of the data buffer is shared between PDI and the user code
1587  !!
1588  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1589  !! * PDI_IN means PDI can set the buffer content
1590  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1591  subroutine PDI_share_INTEGER4_7D( name, data, access, err )
1592  character(len=*), intent(IN) :: name
1593  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
1594  integer, intent(IN) :: access
1595  integer, intent(OUT), optional :: err
1596  endsubroutine PDI_share_INTEGER4_7D
1597  !=============================================================================
1598 
1599 
1600  !=============================================================================
1601  !< shares some data with PDI. the user code should not modify it before
1602  !! a call to either PDI_release or PDI_reclaim.
1603  !! \param[IN] name the data name
1604  !! \param[IN,OUT] data the data to share
1605  !! \param[IN] access whether the data can be accessed for read or write by
1606  !! PDI
1607  !! \param[OUT] err for error status (optional)
1608  !! \pre the user code owns the data buffer
1609  !! \post ownership of the data buffer is shared between PDI and the user code
1610  !!
1611  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1612  !! * PDI_IN means PDI can set the buffer content
1613  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1614  subroutine PDI_share_INTEGER8_0D( name, data, access, err )
1615  character(len=*), intent(IN) :: name
1616  INTEGER(KIND=8), target, asynchronous :: data
1617  integer, intent(IN) :: access
1618  integer, intent(OUT), optional :: err
1619  endsubroutine PDI_share_INTEGER8_0D
1620  !=============================================================================
1621 
1622 
1623  !=============================================================================
1624  !< shares some data with PDI. the user code should not modify it before
1625  !! a call to either PDI_release or PDI_reclaim.
1626  !! \param[IN] name the data name
1627  !! \param[IN,OUT] data the data to share
1628  !! \param[IN] access whether the data can be accessed for read or write by
1629  !! PDI
1630  !! \param[OUT] err for error status (optional)
1631  !! \pre the user code owns the data buffer
1632  !! \post ownership of the data buffer is shared between PDI and the user code
1633  !!
1634  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1635  !! * PDI_IN means PDI can set the buffer content
1636  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1637  subroutine PDI_share_INTEGER8_1D( name, data, access, err )
1638  character(len=*), intent(IN) :: name
1639  INTEGER(KIND=8), target, asynchronous :: data(:)
1640  integer, intent(IN) :: access
1641  integer, intent(OUT), optional :: err
1642  endsubroutine PDI_share_INTEGER8_1D
1643  !=============================================================================
1644 
1645 
1646  !=============================================================================
1647  !< shares some data with PDI. the user code should not modify it before
1648  !! a call to either PDI_release or PDI_reclaim.
1649  !! \param[IN] name the data name
1650  !! \param[IN,OUT] data the data to share
1651  !! \param[IN] access whether the data can be accessed for read or write by
1652  !! PDI
1653  !! \param[OUT] err for error status (optional)
1654  !! \pre the user code owns the data buffer
1655  !! \post ownership of the data buffer is shared between PDI and the user code
1656  !!
1657  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1658  !! * PDI_IN means PDI can set the buffer content
1659  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1660  subroutine PDI_share_INTEGER8_2D( name, data, access, err )
1661  character(len=*), intent(IN) :: name
1662  INTEGER(KIND=8), target, asynchronous :: data(:,:)
1663  integer, intent(IN) :: access
1664  integer, intent(OUT), optional :: err
1665  endsubroutine PDI_share_INTEGER8_2D
1666  !=============================================================================
1667 
1668 
1669  !=============================================================================
1670  !< shares some data with PDI. the user code should not modify it before
1671  !! a call to either PDI_release or PDI_reclaim.
1672  !! \param[IN] name the data name
1673  !! \param[IN,OUT] data the data to share
1674  !! \param[IN] access whether the data can be accessed for read or write by
1675  !! PDI
1676  !! \param[OUT] err for error status (optional)
1677  !! \pre the user code owns the data buffer
1678  !! \post ownership of the data buffer is shared between PDI and the user code
1679  !!
1680  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1681  !! * PDI_IN means PDI can set the buffer content
1682  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1683  subroutine PDI_share_INTEGER8_3D( name, data, access, err )
1684  character(len=*), intent(IN) :: name
1685  INTEGER(KIND=8), target, asynchronous :: data(:,:,:)
1686  integer, intent(IN) :: access
1687  integer, intent(OUT), optional :: err
1688  endsubroutine PDI_share_INTEGER8_3D
1689  !=============================================================================
1690 
1691 
1692  !=============================================================================
1693  !< shares some data with PDI. the user code should not modify it before
1694  !! a call to either PDI_release or PDI_reclaim.
1695  !! \param[IN] name the data name
1696  !! \param[IN,OUT] data the data to share
1697  !! \param[IN] access whether the data can be accessed for read or write by
1698  !! PDI
1699  !! \param[OUT] err for error status (optional)
1700  !! \pre the user code owns the data buffer
1701  !! \post ownership of the data buffer is shared between PDI and the user code
1702  !!
1703  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1704  !! * PDI_IN means PDI can set the buffer content
1705  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1706  subroutine PDI_share_INTEGER8_4D( name, data, access, err )
1707  character(len=*), intent(IN) :: name
1708  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:)
1709  integer, intent(IN) :: access
1710  integer, intent(OUT), optional :: err
1711  endsubroutine PDI_share_INTEGER8_4D
1712  !=============================================================================
1713 
1714 
1715  !=============================================================================
1716  !< shares some data with PDI. the user code should not modify it before
1717  !! a call to either PDI_release or PDI_reclaim.
1718  !! \param[IN] name the data name
1719  !! \param[IN,OUT] data the data to share
1720  !! \param[IN] access whether the data can be accessed for read or write by
1721  !! PDI
1722  !! \param[OUT] err for error status (optional)
1723  !! \pre the user code owns the data buffer
1724  !! \post ownership of the data buffer is shared between PDI and the user code
1725  !!
1726  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1727  !! * PDI_IN means PDI can set the buffer content
1728  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1729  subroutine PDI_share_INTEGER8_5D( name, data, access, err )
1730  character(len=*), intent(IN) :: name
1731  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:,:)
1732  integer, intent(IN) :: access
1733  integer, intent(OUT), optional :: err
1734  endsubroutine PDI_share_INTEGER8_5D
1735  !=============================================================================
1736 
1737 
1738  !=============================================================================
1739  !< shares some data with PDI. the user code should not modify it before
1740  !! a call to either PDI_release or PDI_reclaim.
1741  !! \param[IN] name the data name
1742  !! \param[IN,OUT] data the data to share
1743  !! \param[IN] access whether the data can be accessed for read or write by
1744  !! PDI
1745  !! \param[OUT] err for error status (optional)
1746  !! \pre the user code owns the data buffer
1747  !! \post ownership of the data buffer is shared between PDI and the user code
1748  !!
1749  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1750  !! * PDI_IN means PDI can set the buffer content
1751  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1752  subroutine PDI_share_INTEGER8_6D( name, data, access, err )
1753  character(len=*), intent(IN) :: name
1754  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
1755  integer, intent(IN) :: access
1756  integer, intent(OUT), optional :: err
1757  endsubroutine PDI_share_INTEGER8_6D
1758  !=============================================================================
1759 
1760 
1761  !=============================================================================
1762  !< shares some data with PDI. the user code should not modify it before
1763  !! a call to either PDI_release or PDI_reclaim.
1764  !! \param[IN] name the data name
1765  !! \param[IN,OUT] data the data to share
1766  !! \param[IN] access whether the data can be accessed for read or write by
1767  !! PDI
1768  !! \param[OUT] err for error status (optional)
1769  !! \pre the user code owns the data buffer
1770  !! \post ownership of the data buffer is shared between PDI and the user code
1771  !!
1772  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1773  !! * PDI_IN means PDI can set the buffer content
1774  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1775  subroutine PDI_share_INTEGER8_7D( name, data, access, err )
1776  character(len=*), intent(IN) :: name
1777  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
1778  integer, intent(IN) :: access
1779  integer, intent(OUT), optional :: err
1780  endsubroutine PDI_share_INTEGER8_7D
1781  !=============================================================================
1782 
1783 
1784  !=============================================================================
1785  !< shares some data with PDI. the user code should not modify it before
1786  !! a call to either PDI_release or PDI_reclaim.
1787  !! \param[IN] name the data name
1788  !! \param[IN,OUT] data the data to share
1789  !! \param[IN] access whether the data can be accessed for read or write by
1790  !! PDI
1791  !! \param[OUT] err for error status (optional)
1792  !! \pre the user code owns the data buffer
1793  !! \post ownership of the data buffer is shared between PDI and the user code
1794  !!
1795  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1796  !! * PDI_IN means PDI can set the buffer content
1797  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1798  subroutine PDI_share_INTEGER16_0D( name, data, access, err )
1799  character(len=*), intent(IN) :: name
1800  INTEGER(KIND=16), target, asynchronous :: data
1801  integer, intent(IN) :: access
1802  integer, intent(OUT), optional :: err
1803  endsubroutine PDI_share_INTEGER16_0D
1804  !=============================================================================
1805 
1806 
1807  !=============================================================================
1808  !< shares some data with PDI. the user code should not modify it before
1809  !! a call to either PDI_release or PDI_reclaim.
1810  !! \param[IN] name the data name
1811  !! \param[IN,OUT] data the data to share
1812  !! \param[IN] access whether the data can be accessed for read or write by
1813  !! PDI
1814  !! \param[OUT] err for error status (optional)
1815  !! \pre the user code owns the data buffer
1816  !! \post ownership of the data buffer is shared between PDI and the user code
1817  !!
1818  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1819  !! * PDI_IN means PDI can set the buffer content
1820  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1821  subroutine PDI_share_INTEGER16_1D( name, data, access, err )
1822  character(len=*), intent(IN) :: name
1823  INTEGER(KIND=16), target, asynchronous :: data(:)
1824  integer, intent(IN) :: access
1825  integer, intent(OUT), optional :: err
1826  endsubroutine PDI_share_INTEGER16_1D
1827  !=============================================================================
1828 
1829 
1830  !=============================================================================
1831  !< shares some data with PDI. the user code should not modify it before
1832  !! a call to either PDI_release or PDI_reclaim.
1833  !! \param[IN] name the data name
1834  !! \param[IN,OUT] data the data to share
1835  !! \param[IN] access whether the data can be accessed for read or write by
1836  !! PDI
1837  !! \param[OUT] err for error status (optional)
1838  !! \pre the user code owns the data buffer
1839  !! \post ownership of the data buffer is shared between PDI and the user code
1840  !!
1841  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1842  !! * PDI_IN means PDI can set the buffer content
1843  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1844  subroutine PDI_share_INTEGER16_2D( name, data, access, err )
1845  character(len=*), intent(IN) :: name
1846  INTEGER(KIND=16), target, asynchronous :: data(:,:)
1847  integer, intent(IN) :: access
1848  integer, intent(OUT), optional :: err
1849  endsubroutine PDI_share_INTEGER16_2D
1850  !=============================================================================
1851 
1852 
1853  !=============================================================================
1854  !< shares some data with PDI. the user code should not modify it before
1855  !! a call to either PDI_release or PDI_reclaim.
1856  !! \param[IN] name the data name
1857  !! \param[IN,OUT] data the data to share
1858  !! \param[IN] access whether the data can be accessed for read or write by
1859  !! PDI
1860  !! \param[OUT] err for error status (optional)
1861  !! \pre the user code owns the data buffer
1862  !! \post ownership of the data buffer is shared between PDI and the user code
1863  !!
1864  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1865  !! * PDI_IN means PDI can set the buffer content
1866  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1867  subroutine PDI_share_INTEGER16_3D( name, data, access, err )
1868  character(len=*), intent(IN) :: name
1869  INTEGER(KIND=16), target, asynchronous :: data(:,:,:)
1870  integer, intent(IN) :: access
1871  integer, intent(OUT), optional :: err
1872  endsubroutine PDI_share_INTEGER16_3D
1873  !=============================================================================
1874 
1875 
1876  !=============================================================================
1877  !< shares some data with PDI. the user code should not modify it before
1878  !! a call to either PDI_release or PDI_reclaim.
1879  !! \param[IN] name the data name
1880  !! \param[IN,OUT] data the data to share
1881  !! \param[IN] access whether the data can be accessed for read or write by
1882  !! PDI
1883  !! \param[OUT] err for error status (optional)
1884  !! \pre the user code owns the data buffer
1885  !! \post ownership of the data buffer is shared between PDI and the user code
1886  !!
1887  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1888  !! * PDI_IN means PDI can set the buffer content
1889  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1890  subroutine PDI_share_INTEGER16_4D( name, data, access, err )
1891  character(len=*), intent(IN) :: name
1892  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:)
1893  integer, intent(IN) :: access
1894  integer, intent(OUT), optional :: err
1895  endsubroutine PDI_share_INTEGER16_4D
1896  !=============================================================================
1897 
1898 
1899  !=============================================================================
1900  !< shares some data with PDI. the user code should not modify it before
1901  !! a call to either PDI_release or PDI_reclaim.
1902  !! \param[IN] name the data name
1903  !! \param[IN,OUT] data the data to share
1904  !! \param[IN] access whether the data can be accessed for read or write by
1905  !! PDI
1906  !! \param[OUT] err for error status (optional)
1907  !! \pre the user code owns the data buffer
1908  !! \post ownership of the data buffer is shared between PDI and the user code
1909  !!
1910  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1911  !! * PDI_IN means PDI can set the buffer content
1912  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1913  subroutine PDI_share_INTEGER16_5D( name, data, access, err )
1914  character(len=*), intent(IN) :: name
1915  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:,:)
1916  integer, intent(IN) :: access
1917  integer, intent(OUT), optional :: err
1918  endsubroutine PDI_share_INTEGER16_5D
1919  !=============================================================================
1920 
1921 
1922  !=============================================================================
1923  !< shares some data with PDI. the user code should not modify it before
1924  !! a call to either PDI_release or PDI_reclaim.
1925  !! \param[IN] name the data name
1926  !! \param[IN,OUT] data the data to share
1927  !! \param[IN] access whether the data can be accessed for read or write by
1928  !! PDI
1929  !! \param[OUT] err for error status (optional)
1930  !! \pre the user code owns the data buffer
1931  !! \post ownership of the data buffer is shared between PDI and the user code
1932  !!
1933  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1934  !! * PDI_IN means PDI can set the buffer content
1935  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1936  subroutine PDI_share_INTEGER16_6D( name, data, access, err )
1937  character(len=*), intent(IN) :: name
1938  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
1939  integer, intent(IN) :: access
1940  integer, intent(OUT), optional :: err
1941  endsubroutine PDI_share_INTEGER16_6D
1942  !=============================================================================
1943 
1944 
1945  !=============================================================================
1946  !< shares some data with PDI. the user code should not modify it before
1947  !! a call to either PDI_release or PDI_reclaim.
1948  !! \param[IN] name the data name
1949  !! \param[IN,OUT] data the data to share
1950  !! \param[IN] access whether the data can be accessed for read or write by
1951  !! PDI
1952  !! \param[OUT] err for error status (optional)
1953  !! \pre the user code owns the data buffer
1954  !! \post ownership of the data buffer is shared between PDI and the user code
1955  !!
1956  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1957  !! * PDI_IN means PDI can set the buffer content
1958  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1959  subroutine PDI_share_INTEGER16_7D( name, data, access, err )
1960  character(len=*), intent(IN) :: name
1961  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
1962  integer, intent(IN) :: access
1963  integer, intent(OUT), optional :: err
1964  endsubroutine PDI_share_INTEGER16_7D
1965  !=============================================================================
1966 
1967 
1968  !=============================================================================
1969  !< shares some data with PDI. the user code should not modify it before
1970  !! a call to either PDI_release or PDI_reclaim.
1971  !! \param[IN] name the data name
1972  !! \param[IN,OUT] data the data to share
1973  !! \param[IN] access whether the data can be accessed for read or write by
1974  !! PDI
1975  !! \param[OUT] err for error status (optional)
1976  !! \pre the user code owns the data buffer
1977  !! \post ownership of the data buffer is shared between PDI and the user code
1978  !!
1979  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1980  !! * PDI_IN means PDI can set the buffer content
1981  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1982  subroutine PDI_share_LOGICAL1_0D( name, data, access, err )
1983  character(len=*), intent(IN) :: name
1984  LOGICAL(KIND=1), target, asynchronous :: data
1985  integer, intent(IN) :: access
1986  integer, intent(OUT), optional :: err
1987  endsubroutine PDI_share_LOGICAL1_0D
1988  !=============================================================================
1989 
1990 
1991  !=============================================================================
1992  !< shares some data with PDI. the user code should not modify it before
1993  !! a call to either PDI_release or PDI_reclaim.
1994  !! \param[IN] name the data name
1995  !! \param[IN,OUT] data the data to share
1996  !! \param[IN] access whether the data can be accessed for read or write by
1997  !! PDI
1998  !! \param[OUT] err for error status (optional)
1999  !! \pre the user code owns the data buffer
2000  !! \post ownership of the data buffer is shared between PDI and the user code
2001  !!
2002  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2003  !! * PDI_IN means PDI can set the buffer content
2004  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2005  subroutine PDI_share_LOGICAL1_1D( name, data, access, err )
2006  character(len=*), intent(IN) :: name
2007  LOGICAL(KIND=1), target, asynchronous :: data(:)
2008  integer, intent(IN) :: access
2009  integer, intent(OUT), optional :: err
2010  endsubroutine PDI_share_LOGICAL1_1D
2011  !=============================================================================
2012 
2013 
2014  !=============================================================================
2015  !< shares some data with PDI. the user code should not modify it before
2016  !! a call to either PDI_release or PDI_reclaim.
2017  !! \param[IN] name the data name
2018  !! \param[IN,OUT] data the data to share
2019  !! \param[IN] access whether the data can be accessed for read or write by
2020  !! PDI
2021  !! \param[OUT] err for error status (optional)
2022  !! \pre the user code owns the data buffer
2023  !! \post ownership of the data buffer is shared between PDI and the user code
2024  !!
2025  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2026  !! * PDI_IN means PDI can set the buffer content
2027  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2028  subroutine PDI_share_LOGICAL1_2D( name, data, access, err )
2029  character(len=*), intent(IN) :: name
2030  LOGICAL(KIND=1), target, asynchronous :: data(:,:)
2031  integer, intent(IN) :: access
2032  integer, intent(OUT), optional :: err
2033  endsubroutine PDI_share_LOGICAL1_2D
2034  !=============================================================================
2035 
2036 
2037  !=============================================================================
2038  !< shares some data with PDI. the user code should not modify it before
2039  !! a call to either PDI_release or PDI_reclaim.
2040  !! \param[IN] name the data name
2041  !! \param[IN,OUT] data the data to share
2042  !! \param[IN] access whether the data can be accessed for read or write by
2043  !! PDI
2044  !! \param[OUT] err for error status (optional)
2045  !! \pre the user code owns the data buffer
2046  !! \post ownership of the data buffer is shared between PDI and the user code
2047  !!
2048  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2049  !! * PDI_IN means PDI can set the buffer content
2050  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2051  subroutine PDI_share_LOGICAL1_3D( name, data, access, err )
2052  character(len=*), intent(IN) :: name
2053  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:)
2054  integer, intent(IN) :: access
2055  integer, intent(OUT), optional :: err
2056  endsubroutine PDI_share_LOGICAL1_3D
2057  !=============================================================================
2058 
2059 
2060  !=============================================================================
2061  !< shares some data with PDI. the user code should not modify it before
2062  !! a call to either PDI_release or PDI_reclaim.
2063  !! \param[IN] name the data name
2064  !! \param[IN,OUT] data the data to share
2065  !! \param[IN] access whether the data can be accessed for read or write by
2066  !! PDI
2067  !! \param[OUT] err for error status (optional)
2068  !! \pre the user code owns the data buffer
2069  !! \post ownership of the data buffer is shared between PDI and the user code
2070  !!
2071  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2072  !! * PDI_IN means PDI can set the buffer content
2073  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2074  subroutine PDI_share_LOGICAL1_4D( name, data, access, err )
2075  character(len=*), intent(IN) :: name
2076  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:)
2077  integer, intent(IN) :: access
2078  integer, intent(OUT), optional :: err
2079  endsubroutine PDI_share_LOGICAL1_4D
2080  !=============================================================================
2081 
2082 
2083  !=============================================================================
2084  !< shares some data with PDI. the user code should not modify it before
2085  !! a call to either PDI_release or PDI_reclaim.
2086  !! \param[IN] name the data name
2087  !! \param[IN,OUT] data the data to share
2088  !! \param[IN] access whether the data can be accessed for read or write by
2089  !! PDI
2090  !! \param[OUT] err for error status (optional)
2091  !! \pre the user code owns the data buffer
2092  !! \post ownership of the data buffer is shared between PDI and the user code
2093  !!
2094  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2095  !! * PDI_IN means PDI can set the buffer content
2096  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2097  subroutine PDI_share_LOGICAL1_5D( name, data, access, err )
2098  character(len=*), intent(IN) :: name
2099  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:,:)
2100  integer, intent(IN) :: access
2101  integer, intent(OUT), optional :: err
2102  endsubroutine PDI_share_LOGICAL1_5D
2103  !=============================================================================
2104 
2105 
2106  !=============================================================================
2107  !< shares some data with PDI. the user code should not modify it before
2108  !! a call to either PDI_release or PDI_reclaim.
2109  !! \param[IN] name the data name
2110  !! \param[IN,OUT] data the data to share
2111  !! \param[IN] access whether the data can be accessed for read or write by
2112  !! PDI
2113  !! \param[OUT] err for error status (optional)
2114  !! \pre the user code owns the data buffer
2115  !! \post ownership of the data buffer is shared between PDI and the user code
2116  !!
2117  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2118  !! * PDI_IN means PDI can set the buffer content
2119  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2120  subroutine PDI_share_LOGICAL1_6D( name, data, access, err )
2121  character(len=*), intent(IN) :: name
2122  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:,:,:)
2123  integer, intent(IN) :: access
2124  integer, intent(OUT), optional :: err
2125  endsubroutine PDI_share_LOGICAL1_6D
2126  !=============================================================================
2127 
2128 
2129  !=============================================================================
2130  !< shares some data with PDI. the user code should not modify it before
2131  !! a call to either PDI_release or PDI_reclaim.
2132  !! \param[IN] name the data name
2133  !! \param[IN,OUT] data the data to share
2134  !! \param[IN] access whether the data can be accessed for read or write by
2135  !! PDI
2136  !! \param[OUT] err for error status (optional)
2137  !! \pre the user code owns the data buffer
2138  !! \post ownership of the data buffer is shared between PDI and the user code
2139  !!
2140  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2141  !! * PDI_IN means PDI can set the buffer content
2142  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2143  subroutine PDI_share_LOGICAL1_7D( name, data, access, err )
2144  character(len=*), intent(IN) :: name
2145  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:,:,:,:)
2146  integer, intent(IN) :: access
2147  integer, intent(OUT), optional :: err
2148  endsubroutine PDI_share_LOGICAL1_7D
2149  !=============================================================================
2150 
2151 
2152  !=============================================================================
2153  !< shares some data with PDI. the user code should not modify it before
2154  !! a call to either PDI_release or PDI_reclaim.
2155  !! \param[IN] name the data name
2156  !! \param[IN,OUT] data the data to share
2157  !! \param[IN] access whether the data can be accessed for read or write by
2158  !! PDI
2159  !! \param[OUT] err for error status (optional)
2160  !! \pre the user code owns the data buffer
2161  !! \post ownership of the data buffer is shared between PDI and the user code
2162  !!
2163  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2164  !! * PDI_IN means PDI can set the buffer content
2165  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2166  subroutine PDI_share_LOGICAL2_0D( name, data, access, err )
2167  character(len=*), intent(IN) :: name
2168  LOGICAL(KIND=2), target, asynchronous :: data
2169  integer, intent(IN) :: access
2170  integer, intent(OUT), optional :: err
2171  endsubroutine PDI_share_LOGICAL2_0D
2172  !=============================================================================
2173 
2174 
2175  !=============================================================================
2176  !< shares some data with PDI. the user code should not modify it before
2177  !! a call to either PDI_release or PDI_reclaim.
2178  !! \param[IN] name the data name
2179  !! \param[IN,OUT] data the data to share
2180  !! \param[IN] access whether the data can be accessed for read or write by
2181  !! PDI
2182  !! \param[OUT] err for error status (optional)
2183  !! \pre the user code owns the data buffer
2184  !! \post ownership of the data buffer is shared between PDI and the user code
2185  !!
2186  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2187  !! * PDI_IN means PDI can set the buffer content
2188  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2189  subroutine PDI_share_LOGICAL2_1D( name, data, access, err )
2190  character(len=*), intent(IN) :: name
2191  LOGICAL(KIND=2), target, asynchronous :: data(:)
2192  integer, intent(IN) :: access
2193  integer, intent(OUT), optional :: err
2194  endsubroutine PDI_share_LOGICAL2_1D
2195  !=============================================================================
2196 
2197 
2198  !=============================================================================
2199  !< shares some data with PDI. the user code should not modify it before
2200  !! a call to either PDI_release or PDI_reclaim.
2201  !! \param[IN] name the data name
2202  !! \param[IN,OUT] data the data to share
2203  !! \param[IN] access whether the data can be accessed for read or write by
2204  !! PDI
2205  !! \param[OUT] err for error status (optional)
2206  !! \pre the user code owns the data buffer
2207  !! \post ownership of the data buffer is shared between PDI and the user code
2208  !!
2209  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2210  !! * PDI_IN means PDI can set the buffer content
2211  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2212  subroutine PDI_share_LOGICAL2_2D( name, data, access, err )
2213  character(len=*), intent(IN) :: name
2214  LOGICAL(KIND=2), target, asynchronous :: data(:,:)
2215  integer, intent(IN) :: access
2216  integer, intent(OUT), optional :: err
2217  endsubroutine PDI_share_LOGICAL2_2D
2218  !=============================================================================
2219 
2220 
2221  !=============================================================================
2222  !< shares some data with PDI. the user code should not modify it before
2223  !! a call to either PDI_release or PDI_reclaim.
2224  !! \param[IN] name the data name
2225  !! \param[IN,OUT] data the data to share
2226  !! \param[IN] access whether the data can be accessed for read or write by
2227  !! PDI
2228  !! \param[OUT] err for error status (optional)
2229  !! \pre the user code owns the data buffer
2230  !! \post ownership of the data buffer is shared between PDI and the user code
2231  !!
2232  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2233  !! * PDI_IN means PDI can set the buffer content
2234  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2235  subroutine PDI_share_LOGICAL2_3D( name, data, access, err )
2236  character(len=*), intent(IN) :: name
2237  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:)
2238  integer, intent(IN) :: access
2239  integer, intent(OUT), optional :: err
2240  endsubroutine PDI_share_LOGICAL2_3D
2241  !=============================================================================
2242 
2243 
2244  !=============================================================================
2245  !< shares some data with PDI. the user code should not modify it before
2246  !! a call to either PDI_release or PDI_reclaim.
2247  !! \param[IN] name the data name
2248  !! \param[IN,OUT] data the data to share
2249  !! \param[IN] access whether the data can be accessed for read or write by
2250  !! PDI
2251  !! \param[OUT] err for error status (optional)
2252  !! \pre the user code owns the data buffer
2253  !! \post ownership of the data buffer is shared between PDI and the user code
2254  !!
2255  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2256  !! * PDI_IN means PDI can set the buffer content
2257  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2258  subroutine PDI_share_LOGICAL2_4D( name, data, access, err )
2259  character(len=*), intent(IN) :: name
2260  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:)
2261  integer, intent(IN) :: access
2262  integer, intent(OUT), optional :: err
2263  endsubroutine PDI_share_LOGICAL2_4D
2264  !=============================================================================
2265 
2266 
2267  !=============================================================================
2268  !< shares some data with PDI. the user code should not modify it before
2269  !! a call to either PDI_release or PDI_reclaim.
2270  !! \param[IN] name the data name
2271  !! \param[IN,OUT] data the data to share
2272  !! \param[IN] access whether the data can be accessed for read or write by
2273  !! PDI
2274  !! \param[OUT] err for error status (optional)
2275  !! \pre the user code owns the data buffer
2276  !! \post ownership of the data buffer is shared between PDI and the user code
2277  !!
2278  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2279  !! * PDI_IN means PDI can set the buffer content
2280  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2281  subroutine PDI_share_LOGICAL2_5D( name, data, access, err )
2282  character(len=*), intent(IN) :: name
2283  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:,:)
2284  integer, intent(IN) :: access
2285  integer, intent(OUT), optional :: err
2286  endsubroutine PDI_share_LOGICAL2_5D
2287  !=============================================================================
2288 
2289 
2290  !=============================================================================
2291  !< shares some data with PDI. the user code should not modify it before
2292  !! a call to either PDI_release or PDI_reclaim.
2293  !! \param[IN] name the data name
2294  !! \param[IN,OUT] data the data to share
2295  !! \param[IN] access whether the data can be accessed for read or write by
2296  !! PDI
2297  !! \param[OUT] err for error status (optional)
2298  !! \pre the user code owns the data buffer
2299  !! \post ownership of the data buffer is shared between PDI and the user code
2300  !!
2301  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2302  !! * PDI_IN means PDI can set the buffer content
2303  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2304  subroutine PDI_share_LOGICAL2_6D( name, data, access, err )
2305  character(len=*), intent(IN) :: name
2306  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:,:,:)
2307  integer, intent(IN) :: access
2308  integer, intent(OUT), optional :: err
2309  endsubroutine PDI_share_LOGICAL2_6D
2310  !=============================================================================
2311 
2312 
2313  !=============================================================================
2314  !< shares some data with PDI. the user code should not modify it before
2315  !! a call to either PDI_release or PDI_reclaim.
2316  !! \param[IN] name the data name
2317  !! \param[IN,OUT] data the data to share
2318  !! \param[IN] access whether the data can be accessed for read or write by
2319  !! PDI
2320  !! \param[OUT] err for error status (optional)
2321  !! \pre the user code owns the data buffer
2322  !! \post ownership of the data buffer is shared between PDI and the user code
2323  !!
2324  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2325  !! * PDI_IN means PDI can set the buffer content
2326  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2327  subroutine PDI_share_LOGICAL2_7D( name, data, access, err )
2328  character(len=*), intent(IN) :: name
2329  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:,:,:,:)
2330  integer, intent(IN) :: access
2331  integer, intent(OUT), optional :: err
2332  endsubroutine PDI_share_LOGICAL2_7D
2333  !=============================================================================
2334 
2335 
2336  !=============================================================================
2337  !< shares some data with PDI. the user code should not modify it before
2338  !! a call to either PDI_release or PDI_reclaim.
2339  !! \param[IN] name the data name
2340  !! \param[IN,OUT] data the data to share
2341  !! \param[IN] access whether the data can be accessed for read or write by
2342  !! PDI
2343  !! \param[OUT] err for error status (optional)
2344  !! \pre the user code owns the data buffer
2345  !! \post ownership of the data buffer is shared between PDI and the user code
2346  !!
2347  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2348  !! * PDI_IN means PDI can set the buffer content
2349  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2350  subroutine PDI_share_LOGICAL4_0D( name, data, access, err )
2351  character(len=*), intent(IN) :: name
2352  LOGICAL(KIND=4), target, asynchronous :: data
2353  integer, intent(IN) :: access
2354  integer, intent(OUT), optional :: err
2355  endsubroutine PDI_share_LOGICAL4_0D
2356  !=============================================================================
2357 
2358 
2359  !=============================================================================
2360  !< shares some data with PDI. the user code should not modify it before
2361  !! a call to either PDI_release or PDI_reclaim.
2362  !! \param[IN] name the data name
2363  !! \param[IN,OUT] data the data to share
2364  !! \param[IN] access whether the data can be accessed for read or write by
2365  !! PDI
2366  !! \param[OUT] err for error status (optional)
2367  !! \pre the user code owns the data buffer
2368  !! \post ownership of the data buffer is shared between PDI and the user code
2369  !!
2370  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2371  !! * PDI_IN means PDI can set the buffer content
2372  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2373  subroutine PDI_share_LOGICAL4_1D( name, data, access, err )
2374  character(len=*), intent(IN) :: name
2375  LOGICAL(KIND=4), target, asynchronous :: data(:)
2376  integer, intent(IN) :: access
2377  integer, intent(OUT), optional :: err
2378  endsubroutine PDI_share_LOGICAL4_1D
2379  !=============================================================================
2380 
2381 
2382  !=============================================================================
2383  !< shares some data with PDI. the user code should not modify it before
2384  !! a call to either PDI_release or PDI_reclaim.
2385  !! \param[IN] name the data name
2386  !! \param[IN,OUT] data the data to share
2387  !! \param[IN] access whether the data can be accessed for read or write by
2388  !! PDI
2389  !! \param[OUT] err for error status (optional)
2390  !! \pre the user code owns the data buffer
2391  !! \post ownership of the data buffer is shared between PDI and the user code
2392  !!
2393  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2394  !! * PDI_IN means PDI can set the buffer content
2395  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2396  subroutine PDI_share_LOGICAL4_2D( name, data, access, err )
2397  character(len=*), intent(IN) :: name
2398  LOGICAL(KIND=4), target, asynchronous :: data(:,:)
2399  integer, intent(IN) :: access
2400  integer, intent(OUT), optional :: err
2401  endsubroutine PDI_share_LOGICAL4_2D
2402  !=============================================================================
2403 
2404 
2405  !=============================================================================
2406  !< shares some data with PDI. the user code should not modify it before
2407  !! a call to either PDI_release or PDI_reclaim.
2408  !! \param[IN] name the data name
2409  !! \param[IN,OUT] data the data to share
2410  !! \param[IN] access whether the data can be accessed for read or write by
2411  !! PDI
2412  !! \param[OUT] err for error status (optional)
2413  !! \pre the user code owns the data buffer
2414  !! \post ownership of the data buffer is shared between PDI and the user code
2415  !!
2416  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2417  !! * PDI_IN means PDI can set the buffer content
2418  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2419  subroutine PDI_share_LOGICAL4_3D( name, data, access, err )
2420  character(len=*), intent(IN) :: name
2421  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:)
2422  integer, intent(IN) :: access
2423  integer, intent(OUT), optional :: err
2424  endsubroutine PDI_share_LOGICAL4_3D
2425  !=============================================================================
2426 
2427 
2428  !=============================================================================
2429  !< shares some data with PDI. the user code should not modify it before
2430  !! a call to either PDI_release or PDI_reclaim.
2431  !! \param[IN] name the data name
2432  !! \param[IN,OUT] data the data to share
2433  !! \param[IN] access whether the data can be accessed for read or write by
2434  !! PDI
2435  !! \param[OUT] err for error status (optional)
2436  !! \pre the user code owns the data buffer
2437  !! \post ownership of the data buffer is shared between PDI and the user code
2438  !!
2439  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2440  !! * PDI_IN means PDI can set the buffer content
2441  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2442  subroutine PDI_share_LOGICAL4_4D( name, data, access, err )
2443  character(len=*), intent(IN) :: name
2444  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:)
2445  integer, intent(IN) :: access
2446  integer, intent(OUT), optional :: err
2447  endsubroutine PDI_share_LOGICAL4_4D
2448  !=============================================================================
2449 
2450 
2451  !=============================================================================
2452  !< shares some data with PDI. the user code should not modify it before
2453  !! a call to either PDI_release or PDI_reclaim.
2454  !! \param[IN] name the data name
2455  !! \param[IN,OUT] data the data to share
2456  !! \param[IN] access whether the data can be accessed for read or write by
2457  !! PDI
2458  !! \param[OUT] err for error status (optional)
2459  !! \pre the user code owns the data buffer
2460  !! \post ownership of the data buffer is shared between PDI and the user code
2461  !!
2462  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2463  !! * PDI_IN means PDI can set the buffer content
2464  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2465  subroutine PDI_share_LOGICAL4_5D( name, data, access, err )
2466  character(len=*), intent(IN) :: name
2467  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:,:)
2468  integer, intent(IN) :: access
2469  integer, intent(OUT), optional :: err
2470  endsubroutine PDI_share_LOGICAL4_5D
2471  !=============================================================================
2472 
2473 
2474  !=============================================================================
2475  !< shares some data with PDI. the user code should not modify it before
2476  !! a call to either PDI_release or PDI_reclaim.
2477  !! \param[IN] name the data name
2478  !! \param[IN,OUT] data the data to share
2479  !! \param[IN] access whether the data can be accessed for read or write by
2480  !! PDI
2481  !! \param[OUT] err for error status (optional)
2482  !! \pre the user code owns the data buffer
2483  !! \post ownership of the data buffer is shared between PDI and the user code
2484  !!
2485  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2486  !! * PDI_IN means PDI can set the buffer content
2487  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2488  subroutine PDI_share_LOGICAL4_6D( name, data, access, err )
2489  character(len=*), intent(IN) :: name
2490  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
2491  integer, intent(IN) :: access
2492  integer, intent(OUT), optional :: err
2493  endsubroutine PDI_share_LOGICAL4_6D
2494  !=============================================================================
2495 
2496 
2497  !=============================================================================
2498  !< shares some data with PDI. the user code should not modify it before
2499  !! a call to either PDI_release or PDI_reclaim.
2500  !! \param[IN] name the data name
2501  !! \param[IN,OUT] data the data to share
2502  !! \param[IN] access whether the data can be accessed for read or write by
2503  !! PDI
2504  !! \param[OUT] err for error status (optional)
2505  !! \pre the user code owns the data buffer
2506  !! \post ownership of the data buffer is shared between PDI and the user code
2507  !!
2508  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2509  !! * PDI_IN means PDI can set the buffer content
2510  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2511  subroutine PDI_share_LOGICAL4_7D( name, data, access, err )
2512  character(len=*), intent(IN) :: name
2513  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
2514  integer, intent(IN) :: access
2515  integer, intent(OUT), optional :: err
2516  endsubroutine PDI_share_LOGICAL4_7D
2517  !=============================================================================
2518 
2519 
2520  !=============================================================================
2521  !< shares some data with PDI. the user code should not modify it before
2522  !! a call to either PDI_release or PDI_reclaim.
2523  !! \param[IN] name the data name
2524  !! \param[IN,OUT] data the data to share
2525  !! \param[IN] access whether the data can be accessed for read or write by
2526  !! PDI
2527  !! \param[OUT] err for error status (optional)
2528  !! \pre the user code owns the data buffer
2529  !! \post ownership of the data buffer is shared between PDI and the user code
2530  !!
2531  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2532  !! * PDI_IN means PDI can set the buffer content
2533  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2534  subroutine PDI_share_LOGICAL8_0D( name, data, access, err )
2535  character(len=*), intent(IN) :: name
2536  LOGICAL(KIND=8), target, asynchronous :: data
2537  integer, intent(IN) :: access
2538  integer, intent(OUT), optional :: err
2539  endsubroutine PDI_share_LOGICAL8_0D
2540  !=============================================================================
2541 
2542 
2543  !=============================================================================
2544  !< shares some data with PDI. the user code should not modify it before
2545  !! a call to either PDI_release or PDI_reclaim.
2546  !! \param[IN] name the data name
2547  !! \param[IN,OUT] data the data to share
2548  !! \param[IN] access whether the data can be accessed for read or write by
2549  !! PDI
2550  !! \param[OUT] err for error status (optional)
2551  !! \pre the user code owns the data buffer
2552  !! \post ownership of the data buffer is shared between PDI and the user code
2553  !!
2554  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2555  !! * PDI_IN means PDI can set the buffer content
2556  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2557  subroutine PDI_share_LOGICAL8_1D( name, data, access, err )
2558  character(len=*), intent(IN) :: name
2559  LOGICAL(KIND=8), target, asynchronous :: data(:)
2560  integer, intent(IN) :: access
2561  integer, intent(OUT), optional :: err
2562  endsubroutine PDI_share_LOGICAL8_1D
2563  !=============================================================================
2564 
2565 
2566  !=============================================================================
2567  !< shares some data with PDI. the user code should not modify it before
2568  !! a call to either PDI_release or PDI_reclaim.
2569  !! \param[IN] name the data name
2570  !! \param[IN,OUT] data the data to share
2571  !! \param[IN] access whether the data can be accessed for read or write by
2572  !! PDI
2573  !! \param[OUT] err for error status (optional)
2574  !! \pre the user code owns the data buffer
2575  !! \post ownership of the data buffer is shared between PDI and the user code
2576  !!
2577  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2578  !! * PDI_IN means PDI can set the buffer content
2579  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2580  subroutine PDI_share_LOGICAL8_2D( name, data, access, err )
2581  character(len=*), intent(IN) :: name
2582  LOGICAL(KIND=8), target, asynchronous :: data(:,:)
2583  integer, intent(IN) :: access
2584  integer, intent(OUT), optional :: err
2585  endsubroutine PDI_share_LOGICAL8_2D
2586  !=============================================================================
2587 
2588 
2589  !=============================================================================
2590  !< shares some data with PDI. the user code should not modify it before
2591  !! a call to either PDI_release or PDI_reclaim.
2592  !! \param[IN] name the data name
2593  !! \param[IN,OUT] data the data to share
2594  !! \param[IN] access whether the data can be accessed for read or write by
2595  !! PDI
2596  !! \param[OUT] err for error status (optional)
2597  !! \pre the user code owns the data buffer
2598  !! \post ownership of the data buffer is shared between PDI and the user code
2599  !!
2600  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2601  !! * PDI_IN means PDI can set the buffer content
2602  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2603  subroutine PDI_share_LOGICAL8_3D( name, data, access, err )
2604  character(len=*), intent(IN) :: name
2605  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:)
2606  integer, intent(IN) :: access
2607  integer, intent(OUT), optional :: err
2608  endsubroutine PDI_share_LOGICAL8_3D
2609  !=============================================================================
2610 
2611 
2612  !=============================================================================
2613  !< shares some data with PDI. the user code should not modify it before
2614  !! a call to either PDI_release or PDI_reclaim.
2615  !! \param[IN] name the data name
2616  !! \param[IN,OUT] data the data to share
2617  !! \param[IN] access whether the data can be accessed for read or write by
2618  !! PDI
2619  !! \param[OUT] err for error status (optional)
2620  !! \pre the user code owns the data buffer
2621  !! \post ownership of the data buffer is shared between PDI and the user code
2622  !!
2623  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2624  !! * PDI_IN means PDI can set the buffer content
2625  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2626  subroutine PDI_share_LOGICAL8_4D( name, data, access, err )
2627  character(len=*), intent(IN) :: name
2628  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:)
2629  integer, intent(IN) :: access
2630  integer, intent(OUT), optional :: err
2631  endsubroutine PDI_share_LOGICAL8_4D
2632  !=============================================================================
2633 
2634 
2635  !=============================================================================
2636  !< shares some data with PDI. the user code should not modify it before
2637  !! a call to either PDI_release or PDI_reclaim.
2638  !! \param[IN] name the data name
2639  !! \param[IN,OUT] data the data to share
2640  !! \param[IN] access whether the data can be accessed for read or write by
2641  !! PDI
2642  !! \param[OUT] err for error status (optional)
2643  !! \pre the user code owns the data buffer
2644  !! \post ownership of the data buffer is shared between PDI and the user code
2645  !!
2646  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2647  !! * PDI_IN means PDI can set the buffer content
2648  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2649  subroutine PDI_share_LOGICAL8_5D( name, data, access, err )
2650  character(len=*), intent(IN) :: name
2651  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:,:)
2652  integer, intent(IN) :: access
2653  integer, intent(OUT), optional :: err
2654  endsubroutine PDI_share_LOGICAL8_5D
2655  !=============================================================================
2656 
2657 
2658  !=============================================================================
2659  !< shares some data with PDI. the user code should not modify it before
2660  !! a call to either PDI_release or PDI_reclaim.
2661  !! \param[IN] name the data name
2662  !! \param[IN,OUT] data the data to share
2663  !! \param[IN] access whether the data can be accessed for read or write by
2664  !! PDI
2665  !! \param[OUT] err for error status (optional)
2666  !! \pre the user code owns the data buffer
2667  !! \post ownership of the data buffer is shared between PDI and the user code
2668  !!
2669  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2670  !! * PDI_IN means PDI can set the buffer content
2671  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2672  subroutine PDI_share_LOGICAL8_6D( name, data, access, err )
2673  character(len=*), intent(IN) :: name
2674  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
2675  integer, intent(IN) :: access
2676  integer, intent(OUT), optional :: err
2677  endsubroutine PDI_share_LOGICAL8_6D
2678  !=============================================================================
2679 
2680 
2681  !=============================================================================
2682  !< shares some data with PDI. the user code should not modify it before
2683  !! a call to either PDI_release or PDI_reclaim.
2684  !! \param[IN] name the data name
2685  !! \param[IN,OUT] data the data to share
2686  !! \param[IN] access whether the data can be accessed for read or write by
2687  !! PDI
2688  !! \param[OUT] err for error status (optional)
2689  !! \pre the user code owns the data buffer
2690  !! \post ownership of the data buffer is shared between PDI and the user code
2691  !!
2692  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2693  !! * PDI_IN means PDI can set the buffer content
2694  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2695  subroutine PDI_share_LOGICAL8_7D( name, data, access, err )
2696  character(len=*), intent(IN) :: name
2697  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
2698  integer, intent(IN) :: access
2699  integer, intent(OUT), optional :: err
2700  endsubroutine PDI_share_LOGICAL8_7D
2701  !=============================================================================
2702 
2703 
2704  !=============================================================================
2705  !< shares some data with PDI. the user code should not modify it before
2706  !! a call to either PDI_release or PDI_reclaim.
2707  !! \param[IN] name the data name
2708  !! \param[IN,OUT] data the data to share
2709  !! \param[IN] access whether the data can be accessed for read or write by
2710  !! PDI
2711  !! \param[OUT] err for error status (optional)
2712  !! \pre the user code owns the data buffer
2713  !! \post ownership of the data buffer is shared between PDI and the user code
2714  !!
2715  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2716  !! * PDI_IN means PDI can set the buffer content
2717  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2718  subroutine PDI_share_LOGICAL16_0D( name, data, access, err )
2719  character(len=*), intent(IN) :: name
2720  LOGICAL(KIND=16), target, asynchronous :: data
2721  integer, intent(IN) :: access
2722  integer, intent(OUT), optional :: err
2723  endsubroutine PDI_share_LOGICAL16_0D
2724  !=============================================================================
2725 
2726 
2727  !=============================================================================
2728  !< shares some data with PDI. the user code should not modify it before
2729  !! a call to either PDI_release or PDI_reclaim.
2730  !! \param[IN] name the data name
2731  !! \param[IN,OUT] data the data to share
2732  !! \param[IN] access whether the data can be accessed for read or write by
2733  !! PDI
2734  !! \param[OUT] err for error status (optional)
2735  !! \pre the user code owns the data buffer
2736  !! \post ownership of the data buffer is shared between PDI and the user code
2737  !!
2738  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2739  !! * PDI_IN means PDI can set the buffer content
2740  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2741  subroutine PDI_share_LOGICAL16_1D( name, data, access, err )
2742  character(len=*), intent(IN) :: name
2743  LOGICAL(KIND=16), target, asynchronous :: data(:)
2744  integer, intent(IN) :: access
2745  integer, intent(OUT), optional :: err
2746  endsubroutine PDI_share_LOGICAL16_1D
2747  !=============================================================================
2748 
2749 
2750  !=============================================================================
2751  !< shares some data with PDI. the user code should not modify it before
2752  !! a call to either PDI_release or PDI_reclaim.
2753  !! \param[IN] name the data name
2754  !! \param[IN,OUT] data the data to share
2755  !! \param[IN] access whether the data can be accessed for read or write by
2756  !! PDI
2757  !! \param[OUT] err for error status (optional)
2758  !! \pre the user code owns the data buffer
2759  !! \post ownership of the data buffer is shared between PDI and the user code
2760  !!
2761  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2762  !! * PDI_IN means PDI can set the buffer content
2763  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2764  subroutine PDI_share_LOGICAL16_2D( name, data, access, err )
2765  character(len=*), intent(IN) :: name
2766  LOGICAL(KIND=16), target, asynchronous :: data(:,:)
2767  integer, intent(IN) :: access
2768  integer, intent(OUT), optional :: err
2769  endsubroutine PDI_share_LOGICAL16_2D
2770  !=============================================================================
2771 
2772 
2773  !=============================================================================
2774  !< shares some data with PDI. the user code should not modify it before
2775  !! a call to either PDI_release or PDI_reclaim.
2776  !! \param[IN] name the data name
2777  !! \param[IN,OUT] data the data to share
2778  !! \param[IN] access whether the data can be accessed for read or write by
2779  !! PDI
2780  !! \param[OUT] err for error status (optional)
2781  !! \pre the user code owns the data buffer
2782  !! \post ownership of the data buffer is shared between PDI and the user code
2783  !!
2784  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2785  !! * PDI_IN means PDI can set the buffer content
2786  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2787  subroutine PDI_share_LOGICAL16_3D( name, data, access, err )
2788  character(len=*), intent(IN) :: name
2789  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:)
2790  integer, intent(IN) :: access
2791  integer, intent(OUT), optional :: err
2792  endsubroutine PDI_share_LOGICAL16_3D
2793  !=============================================================================
2794 
2795 
2796  !=============================================================================
2797  !< shares some data with PDI. the user code should not modify it before
2798  !! a call to either PDI_release or PDI_reclaim.
2799  !! \param[IN] name the data name
2800  !! \param[IN,OUT] data the data to share
2801  !! \param[IN] access whether the data can be accessed for read or write by
2802  !! PDI
2803  !! \param[OUT] err for error status (optional)
2804  !! \pre the user code owns the data buffer
2805  !! \post ownership of the data buffer is shared between PDI and the user code
2806  !!
2807  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2808  !! * PDI_IN means PDI can set the buffer content
2809  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2810  subroutine PDI_share_LOGICAL16_4D( name, data, access, err )
2811  character(len=*), intent(IN) :: name
2812  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:)
2813  integer, intent(IN) :: access
2814  integer, intent(OUT), optional :: err
2815  endsubroutine PDI_share_LOGICAL16_4D
2816  !=============================================================================
2817 
2818 
2819  !=============================================================================
2820  !< shares some data with PDI. the user code should not modify it before
2821  !! a call to either PDI_release or PDI_reclaim.
2822  !! \param[IN] name the data name
2823  !! \param[IN,OUT] data the data to share
2824  !! \param[IN] access whether the data can be accessed for read or write by
2825  !! PDI
2826  !! \param[OUT] err for error status (optional)
2827  !! \pre the user code owns the data buffer
2828  !! \post ownership of the data buffer is shared between PDI and the user code
2829  !!
2830  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2831  !! * PDI_IN means PDI can set the buffer content
2832  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2833  subroutine PDI_share_LOGICAL16_5D( name, data, access, err )
2834  character(len=*), intent(IN) :: name
2835  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:,:)
2836  integer, intent(IN) :: access
2837  integer, intent(OUT), optional :: err
2838  endsubroutine PDI_share_LOGICAL16_5D
2839  !=============================================================================
2840 
2841 
2842  !=============================================================================
2843  !< shares some data with PDI. the user code should not modify it before
2844  !! a call to either PDI_release or PDI_reclaim.
2845  !! \param[IN] name the data name
2846  !! \param[IN,OUT] data the data to share
2847  !! \param[IN] access whether the data can be accessed for read or write by
2848  !! PDI
2849  !! \param[OUT] err for error status (optional)
2850  !! \pre the user code owns the data buffer
2851  !! \post ownership of the data buffer is shared between PDI and the user code
2852  !!
2853  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2854  !! * PDI_IN means PDI can set the buffer content
2855  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2856  subroutine PDI_share_LOGICAL16_6D( name, data, access, err )
2857  character(len=*), intent(IN) :: name
2858  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
2859  integer, intent(IN) :: access
2860  integer, intent(OUT), optional :: err
2861  endsubroutine PDI_share_LOGICAL16_6D
2862  !=============================================================================
2863 
2864 
2865  !=============================================================================
2866  !< shares some data with PDI. the user code should not modify it before
2867  !! a call to either PDI_release or PDI_reclaim.
2868  !! \param[IN] name the data name
2869  !! \param[IN,OUT] data the data to share
2870  !! \param[IN] access whether the data can be accessed for read or write by
2871  !! PDI
2872  !! \param[OUT] err for error status (optional)
2873  !! \pre the user code owns the data buffer
2874  !! \post ownership of the data buffer is shared between PDI and the user code
2875  !!
2876  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2877  !! * PDI_IN means PDI can set the buffer content
2878  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2879  subroutine PDI_share_LOGICAL16_7D( name, data, access, err )
2880  character(len=*), intent(IN) :: name
2881  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
2882  integer, intent(IN) :: access
2883  integer, intent(OUT), optional :: err
2884  endsubroutine PDI_share_LOGICAL16_7D
2885  !=============================================================================
2886 
2887 
2888  !=============================================================================
2889  !< shares some data with PDI. the user code should not modify it before
2890  !! a call to either PDI_release or PDI_reclaim.
2891  !! \param[IN] name the data name
2892  !! \param[IN,OUT] data the data to share
2893  !! \param[IN] access whether the data can be accessed for read or write by
2894  !! PDI
2895  !! \param[OUT] err for error status (optional)
2896  !! \pre the user code owns the data buffer
2897  !! \post ownership of the data buffer is shared between PDI and the user code
2898  !!
2899  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2900  !! * PDI_IN means PDI can set the buffer content
2901  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2902  subroutine PDI_share_REAL4_0D( name, data, access, err )
2903  character(len=*), intent(IN) :: name
2904  REAL(KIND=4), target, asynchronous :: data
2905  integer, intent(IN) :: access
2906  integer, intent(OUT), optional :: err
2907  endsubroutine PDI_share_REAL4_0D
2908  !=============================================================================
2909 
2910 
2911  !=============================================================================
2912  !< shares some data with PDI. the user code should not modify it before
2913  !! a call to either PDI_release or PDI_reclaim.
2914  !! \param[IN] name the data name
2915  !! \param[IN,OUT] data the data to share
2916  !! \param[IN] access whether the data can be accessed for read or write by
2917  !! PDI
2918  !! \param[OUT] err for error status (optional)
2919  !! \pre the user code owns the data buffer
2920  !! \post ownership of the data buffer is shared between PDI and the user code
2921  !!
2922  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2923  !! * PDI_IN means PDI can set the buffer content
2924  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2925  subroutine PDI_share_REAL4_1D( name, data, access, err )
2926  character(len=*), intent(IN) :: name
2927  REAL(KIND=4), target, asynchronous :: data(:)
2928  integer, intent(IN) :: access
2929  integer, intent(OUT), optional :: err
2930  endsubroutine PDI_share_REAL4_1D
2931  !=============================================================================
2932 
2933 
2934  !=============================================================================
2935  !< shares some data with PDI. the user code should not modify it before
2936  !! a call to either PDI_release or PDI_reclaim.
2937  !! \param[IN] name the data name
2938  !! \param[IN,OUT] data the data to share
2939  !! \param[IN] access whether the data can be accessed for read or write by
2940  !! PDI
2941  !! \param[OUT] err for error status (optional)
2942  !! \pre the user code owns the data buffer
2943  !! \post ownership of the data buffer is shared between PDI and the user code
2944  !!
2945  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2946  !! * PDI_IN means PDI can set the buffer content
2947  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2948  subroutine PDI_share_REAL4_2D( name, data, access, err )
2949  character(len=*), intent(IN) :: name
2950  REAL(KIND=4), target, asynchronous :: data(:,:)
2951  integer, intent(IN) :: access
2952  integer, intent(OUT), optional :: err
2953  endsubroutine PDI_share_REAL4_2D
2954  !=============================================================================
2955 
2956 
2957  !=============================================================================
2958  !< shares some data with PDI. the user code should not modify it before
2959  !! a call to either PDI_release or PDI_reclaim.
2960  !! \param[IN] name the data name
2961  !! \param[IN,OUT] data the data to share
2962  !! \param[IN] access whether the data can be accessed for read or write by
2963  !! PDI
2964  !! \param[OUT] err for error status (optional)
2965  !! \pre the user code owns the data buffer
2966  !! \post ownership of the data buffer is shared between PDI and the user code
2967  !!
2968  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2969  !! * PDI_IN means PDI can set the buffer content
2970  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2971  subroutine PDI_share_REAL4_3D( name, data, access, err )
2972  character(len=*), intent(IN) :: name
2973  REAL(KIND=4), target, asynchronous :: data(:,:,:)
2974  integer, intent(IN) :: access
2975  integer, intent(OUT), optional :: err
2976  endsubroutine PDI_share_REAL4_3D
2977  !=============================================================================
2978 
2979 
2980  !=============================================================================
2981  !< shares some data with PDI. the user code should not modify it before
2982  !! a call to either PDI_release or PDI_reclaim.
2983  !! \param[IN] name the data name
2984  !! \param[IN,OUT] data the data to share
2985  !! \param[IN] access whether the data can be accessed for read or write by
2986  !! PDI
2987  !! \param[OUT] err for error status (optional)
2988  !! \pre the user code owns the data buffer
2989  !! \post ownership of the data buffer is shared between PDI and the user code
2990  !!
2991  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2992  !! * PDI_IN means PDI can set the buffer content
2993  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2994  subroutine PDI_share_REAL4_4D( name, data, access, err )
2995  character(len=*), intent(IN) :: name
2996  REAL(KIND=4), target, asynchronous :: data(:,:,:,:)
2997  integer, intent(IN) :: access
2998  integer, intent(OUT), optional :: err
2999  endsubroutine PDI_share_REAL4_4D
3000  !=============================================================================
3001 
3002 
3003  !=============================================================================
3004  !< shares some data with PDI. the user code should not modify it before
3005  !! a call to either PDI_release or PDI_reclaim.
3006  !! \param[IN] name the data name
3007  !! \param[IN,OUT] data the data to share
3008  !! \param[IN] access whether the data can be accessed for read or write by
3009  !! PDI
3010  !! \param[OUT] err for error status (optional)
3011  !! \pre the user code owns the data buffer
3012  !! \post ownership of the data buffer is shared between PDI and the user code
3013  !!
3014  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3015  !! * PDI_IN means PDI can set the buffer content
3016  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3017  subroutine PDI_share_REAL4_5D( name, data, access, err )
3018  character(len=*), intent(IN) :: name
3019  REAL(KIND=4), target, asynchronous :: data(:,:,:,:,:)
3020  integer, intent(IN) :: access
3021  integer, intent(OUT), optional :: err
3022  endsubroutine PDI_share_REAL4_5D
3023  !=============================================================================
3024 
3025 
3026  !=============================================================================
3027  !< shares some data with PDI. the user code should not modify it before
3028  !! a call to either PDI_release or PDI_reclaim.
3029  !! \param[IN] name the data name
3030  !! \param[IN,OUT] data the data to share
3031  !! \param[IN] access whether the data can be accessed for read or write by
3032  !! PDI
3033  !! \param[OUT] err for error status (optional)
3034  !! \pre the user code owns the data buffer
3035  !! \post ownership of the data buffer is shared between PDI and the user code
3036  !!
3037  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3038  !! * PDI_IN means PDI can set the buffer content
3039  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3040  subroutine PDI_share_REAL4_6D( name, data, access, err )
3041  character(len=*), intent(IN) :: name
3042  REAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
3043  integer, intent(IN) :: access
3044  integer, intent(OUT), optional :: err
3045  endsubroutine PDI_share_REAL4_6D
3046  !=============================================================================
3047 
3048 
3049  !=============================================================================
3050  !< shares some data with PDI. the user code should not modify it before
3051  !! a call to either PDI_release or PDI_reclaim.
3052  !! \param[IN] name the data name
3053  !! \param[IN,OUT] data the data to share
3054  !! \param[IN] access whether the data can be accessed for read or write by
3055  !! PDI
3056  !! \param[OUT] err for error status (optional)
3057  !! \pre the user code owns the data buffer
3058  !! \post ownership of the data buffer is shared between PDI and the user code
3059  !!
3060  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3061  !! * PDI_IN means PDI can set the buffer content
3062  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3063  subroutine PDI_share_REAL4_7D( name, data, access, err )
3064  character(len=*), intent(IN) :: name
3065  REAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
3066  integer, intent(IN) :: access
3067  integer, intent(OUT), optional :: err
3068  endsubroutine PDI_share_REAL4_7D
3069  !=============================================================================
3070 
3071 
3072  !=============================================================================
3073  !< shares some data with PDI. the user code should not modify it before
3074  !! a call to either PDI_release or PDI_reclaim.
3075  !! \param[IN] name the data name
3076  !! \param[IN,OUT] data the data to share
3077  !! \param[IN] access whether the data can be accessed for read or write by
3078  !! PDI
3079  !! \param[OUT] err for error status (optional)
3080  !! \pre the user code owns the data buffer
3081  !! \post ownership of the data buffer is shared between PDI and the user code
3082  !!
3083  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3084  !! * PDI_IN means PDI can set the buffer content
3085  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3086  subroutine PDI_share_REAL8_0D( name, data, access, err )
3087  character(len=*), intent(IN) :: name
3088  REAL(KIND=8), target, asynchronous :: data
3089  integer, intent(IN) :: access
3090  integer, intent(OUT), optional :: err
3091  endsubroutine PDI_share_REAL8_0D
3092  !=============================================================================
3093 
3094 
3095  !=============================================================================
3096  !< shares some data with PDI. the user code should not modify it before
3097  !! a call to either PDI_release or PDI_reclaim.
3098  !! \param[IN] name the data name
3099  !! \param[IN,OUT] data the data to share
3100  !! \param[IN] access whether the data can be accessed for read or write by
3101  !! PDI
3102  !! \param[OUT] err for error status (optional)
3103  !! \pre the user code owns the data buffer
3104  !! \post ownership of the data buffer is shared between PDI and the user code
3105  !!
3106  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3107  !! * PDI_IN means PDI can set the buffer content
3108  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3109  subroutine PDI_share_REAL8_1D( name, data, access, err )
3110  character(len=*), intent(IN) :: name
3111  REAL(KIND=8), target, asynchronous :: data(:)
3112  integer, intent(IN) :: access
3113  integer, intent(OUT), optional :: err
3114  endsubroutine PDI_share_REAL8_1D
3115  !=============================================================================
3116 
3117 
3118  !=============================================================================
3119  !< shares some data with PDI. the user code should not modify it before
3120  !! a call to either PDI_release or PDI_reclaim.
3121  !! \param[IN] name the data name
3122  !! \param[IN,OUT] data the data to share
3123  !! \param[IN] access whether the data can be accessed for read or write by
3124  !! PDI
3125  !! \param[OUT] err for error status (optional)
3126  !! \pre the user code owns the data buffer
3127  !! \post ownership of the data buffer is shared between PDI and the user code
3128  !!
3129  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3130  !! * PDI_IN means PDI can set the buffer content
3131  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3132  subroutine PDI_share_REAL8_2D( name, data, access, err )
3133  character(len=*), intent(IN) :: name
3134  REAL(KIND=8), target, asynchronous :: data(:,:)
3135  integer, intent(IN) :: access
3136  integer, intent(OUT), optional :: err
3137  endsubroutine PDI_share_REAL8_2D
3138  !=============================================================================
3139 
3140 
3141  !=============================================================================
3142  !< shares some data with PDI. the user code should not modify it before
3143  !! a call to either PDI_release or PDI_reclaim.
3144  !! \param[IN] name the data name
3145  !! \param[IN,OUT] data the data to share
3146  !! \param[IN] access whether the data can be accessed for read or write by
3147  !! PDI
3148  !! \param[OUT] err for error status (optional)
3149  !! \pre the user code owns the data buffer
3150  !! \post ownership of the data buffer is shared between PDI and the user code
3151  !!
3152  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3153  !! * PDI_IN means PDI can set the buffer content
3154  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3155  subroutine PDI_share_REAL8_3D( name, data, access, err )
3156  character(len=*), intent(IN) :: name
3157  REAL(KIND=8), target, asynchronous :: data(:,:,:)
3158  integer, intent(IN) :: access
3159  integer, intent(OUT), optional :: err
3160  endsubroutine PDI_share_REAL8_3D
3161  !=============================================================================
3162 
3163 
3164  !=============================================================================
3165  !< shares some data with PDI. the user code should not modify it before
3166  !! a call to either PDI_release or PDI_reclaim.
3167  !! \param[IN] name the data name
3168  !! \param[IN,OUT] data the data to share
3169  !! \param[IN] access whether the data can be accessed for read or write by
3170  !! PDI
3171  !! \param[OUT] err for error status (optional)
3172  !! \pre the user code owns the data buffer
3173  !! \post ownership of the data buffer is shared between PDI and the user code
3174  !!
3175  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3176  !! * PDI_IN means PDI can set the buffer content
3177  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3178  subroutine PDI_share_REAL8_4D( name, data, access, err )
3179  character(len=*), intent(IN) :: name
3180  REAL(KIND=8), target, asynchronous :: data(:,:,:,:)
3181  integer, intent(IN) :: access
3182  integer, intent(OUT), optional :: err
3183  endsubroutine PDI_share_REAL8_4D
3184  !=============================================================================
3185 
3186 
3187  !=============================================================================
3188  !< shares some data with PDI. the user code should not modify it before
3189  !! a call to either PDI_release or PDI_reclaim.
3190  !! \param[IN] name the data name
3191  !! \param[IN,OUT] data the data to share
3192  !! \param[IN] access whether the data can be accessed for read or write by
3193  !! PDI
3194  !! \param[OUT] err for error status (optional)
3195  !! \pre the user code owns the data buffer
3196  !! \post ownership of the data buffer is shared between PDI and the user code
3197  !!
3198  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3199  !! * PDI_IN means PDI can set the buffer content
3200  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3201  subroutine PDI_share_REAL8_5D( name, data, access, err )
3202  character(len=*), intent(IN) :: name
3203  REAL(KIND=8), target, asynchronous :: data(:,:,:,:,:)
3204  integer, intent(IN) :: access
3205  integer, intent(OUT), optional :: err
3206  endsubroutine PDI_share_REAL8_5D
3207  !=============================================================================
3208 
3209 
3210  !=============================================================================
3211  !< shares some data with PDI. the user code should not modify it before
3212  !! a call to either PDI_release or PDI_reclaim.
3213  !! \param[IN] name the data name
3214  !! \param[IN,OUT] data the data to share
3215  !! \param[IN] access whether the data can be accessed for read or write by
3216  !! PDI
3217  !! \param[OUT] err for error status (optional)
3218  !! \pre the user code owns the data buffer
3219  !! \post ownership of the data buffer is shared between PDI and the user code
3220  !!
3221  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3222  !! * PDI_IN means PDI can set the buffer content
3223  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3224  subroutine PDI_share_REAL8_6D( name, data, access, err )
3225  character(len=*), intent(IN) :: name
3226  REAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
3227  integer, intent(IN) :: access
3228  integer, intent(OUT), optional :: err
3229  endsubroutine PDI_share_REAL8_6D
3230  !=============================================================================
3231 
3232 
3233  !=============================================================================
3234  !< shares some data with PDI. the user code should not modify it before
3235  !! a call to either PDI_release or PDI_reclaim.
3236  !! \param[IN] name the data name
3237  !! \param[IN,OUT] data the data to share
3238  !! \param[IN] access whether the data can be accessed for read or write by
3239  !! PDI
3240  !! \param[OUT] err for error status (optional)
3241  !! \pre the user code owns the data buffer
3242  !! \post ownership of the data buffer is shared between PDI and the user code
3243  !!
3244  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3245  !! * PDI_IN means PDI can set the buffer content
3246  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3247  subroutine PDI_share_REAL8_7D( name, data, access, err )
3248  character(len=*), intent(IN) :: name
3249  REAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
3250  integer, intent(IN) :: access
3251  integer, intent(OUT), optional :: err
3252  endsubroutine PDI_share_REAL8_7D
3253  !=============================================================================
3254 
3255 
3256  !=============================================================================
3257  !< shares some data with PDI. the user code should not modify it before
3258  !! a call to either PDI_release or PDI_reclaim.
3259  !! \param[IN] name the data name
3260  !! \param[IN,OUT] data the data to share
3261  !! \param[IN] access whether the data can be accessed for read or write by
3262  !! PDI
3263  !! \param[OUT] err for error status (optional)
3264  !! \pre the user code owns the data buffer
3265  !! \post ownership of the data buffer is shared between PDI and the user code
3266  !!
3267  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3268  !! * PDI_IN means PDI can set the buffer content
3269  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3270  subroutine PDI_share_REAL16_0D( name, data, access, err )
3271  character(len=*), intent(IN) :: name
3272  REAL(KIND=16), target, asynchronous :: data
3273  integer, intent(IN) :: access
3274  integer, intent(OUT), optional :: err
3275  endsubroutine PDI_share_REAL16_0D
3276  !=============================================================================
3277 
3278 
3279  !=============================================================================
3280  !< shares some data with PDI. the user code should not modify it before
3281  !! a call to either PDI_release or PDI_reclaim.
3282  !! \param[IN] name the data name
3283  !! \param[IN,OUT] data the data to share
3284  !! \param[IN] access whether the data can be accessed for read or write by
3285  !! PDI
3286  !! \param[OUT] err for error status (optional)
3287  !! \pre the user code owns the data buffer
3288  !! \post ownership of the data buffer is shared between PDI and the user code
3289  !!
3290  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3291  !! * PDI_IN means PDI can set the buffer content
3292  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3293  subroutine PDI_share_REAL16_1D( name, data, access, err )
3294  character(len=*), intent(IN) :: name
3295  REAL(KIND=16), target, asynchronous :: data(:)
3296  integer, intent(IN) :: access
3297  integer, intent(OUT), optional :: err
3298  endsubroutine PDI_share_REAL16_1D
3299  !=============================================================================
3300 
3301 
3302  !=============================================================================
3303  !< shares some data with PDI. the user code should not modify it before
3304  !! a call to either PDI_release or PDI_reclaim.
3305  !! \param[IN] name the data name
3306  !! \param[IN,OUT] data the data to share
3307  !! \param[IN] access whether the data can be accessed for read or write by
3308  !! PDI
3309  !! \param[OUT] err for error status (optional)
3310  !! \pre the user code owns the data buffer
3311  !! \post ownership of the data buffer is shared between PDI and the user code
3312  !!
3313  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3314  !! * PDI_IN means PDI can set the buffer content
3315  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3316  subroutine PDI_share_REAL16_2D( name, data, access, err )
3317  character(len=*), intent(IN) :: name
3318  REAL(KIND=16), target, asynchronous :: data(:,:)
3319  integer, intent(IN) :: access
3320  integer, intent(OUT), optional :: err
3321  endsubroutine PDI_share_REAL16_2D
3322  !=============================================================================
3323 
3324 
3325  !=============================================================================
3326  !< shares some data with PDI. the user code should not modify it before
3327  !! a call to either PDI_release or PDI_reclaim.
3328  !! \param[IN] name the data name
3329  !! \param[IN,OUT] data the data to share
3330  !! \param[IN] access whether the data can be accessed for read or write by
3331  !! PDI
3332  !! \param[OUT] err for error status (optional)
3333  !! \pre the user code owns the data buffer
3334  !! \post ownership of the data buffer is shared between PDI and the user code
3335  !!
3336  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3337  !! * PDI_IN means PDI can set the buffer content
3338  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3339  subroutine PDI_share_REAL16_3D( name, data, access, err )
3340  character(len=*), intent(IN) :: name
3341  REAL(KIND=16), target, asynchronous :: data(:,:,:)
3342  integer, intent(IN) :: access
3343  integer, intent(OUT), optional :: err
3344  endsubroutine PDI_share_REAL16_3D
3345  !=============================================================================
3346 
3347 
3348  !=============================================================================
3349  !< shares some data with PDI. the user code should not modify it before
3350  !! a call to either PDI_release or PDI_reclaim.
3351  !! \param[IN] name the data name
3352  !! \param[IN,OUT] data the data to share
3353  !! \param[IN] access whether the data can be accessed for read or write by
3354  !! PDI
3355  !! \param[OUT] err for error status (optional)
3356  !! \pre the user code owns the data buffer
3357  !! \post ownership of the data buffer is shared between PDI and the user code
3358  !!
3359  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3360  !! * PDI_IN means PDI can set the buffer content
3361  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3362  subroutine PDI_share_REAL16_4D( name, data, access, err )
3363  character(len=*), intent(IN) :: name
3364  REAL(KIND=16), target, asynchronous :: data(:,:,:,:)
3365  integer, intent(IN) :: access
3366  integer, intent(OUT), optional :: err
3367  endsubroutine PDI_share_REAL16_4D
3368  !=============================================================================
3369 
3370 
3371  !=============================================================================
3372  !< shares some data with PDI. the user code should not modify it before
3373  !! a call to either PDI_release or PDI_reclaim.
3374  !! \param[IN] name the data name
3375  !! \param[IN,OUT] data the data to share
3376  !! \param[IN] access whether the data can be accessed for read or write by
3377  !! PDI
3378  !! \param[OUT] err for error status (optional)
3379  !! \pre the user code owns the data buffer
3380  !! \post ownership of the data buffer is shared between PDI and the user code
3381  !!
3382  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3383  !! * PDI_IN means PDI can set the buffer content
3384  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3385  subroutine PDI_share_REAL16_5D( name, data, access, err )
3386  character(len=*), intent(IN) :: name
3387  REAL(KIND=16), target, asynchronous :: data(:,:,:,:,:)
3388  integer, intent(IN) :: access
3389  integer, intent(OUT), optional :: err
3390  endsubroutine PDI_share_REAL16_5D
3391  !=============================================================================
3392 
3393 
3394  !=============================================================================
3395  !< shares some data with PDI. the user code should not modify it before
3396  !! a call to either PDI_release or PDI_reclaim.
3397  !! \param[IN] name the data name
3398  !! \param[IN,OUT] data the data to share
3399  !! \param[IN] access whether the data can be accessed for read or write by
3400  !! PDI
3401  !! \param[OUT] err for error status (optional)
3402  !! \pre the user code owns the data buffer
3403  !! \post ownership of the data buffer is shared between PDI and the user code
3404  !!
3405  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3406  !! * PDI_IN means PDI can set the buffer content
3407  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3408  subroutine PDI_share_REAL16_6D( name, data, access, err )
3409  character(len=*), intent(IN) :: name
3410  REAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
3411  integer, intent(IN) :: access
3412  integer, intent(OUT), optional :: err
3413  endsubroutine PDI_share_REAL16_6D
3414  !=============================================================================
3415 
3416 
3417  !=============================================================================
3418  !< shares some data with PDI. the user code should not modify it before
3419  !! a call to either PDI_release or PDI_reclaim.
3420  !! \param[IN] name the data name
3421  !! \param[IN,OUT] data the data to share
3422  !! \param[IN] access whether the data can be accessed for read or write by
3423  !! PDI
3424  !! \param[OUT] err for error status (optional)
3425  !! \pre the user code owns the data buffer
3426  !! \post ownership of the data buffer is shared between PDI and the user code
3427  !!
3428  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3429  !! * PDI_IN means PDI can set the buffer content
3430  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3431  subroutine PDI_share_REAL16_7D( name, data, access, err )
3432  character(len=*), intent(IN) :: name
3433  REAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
3434  integer, intent(IN) :: access
3435  integer, intent(OUT), optional :: err
3436  endsubroutine PDI_share_REAL16_7D
3437  !=============================================================================
3438 
3439 endinterface PDI_share
3440 
3441 
3442 interface PDI_expose
3443 
3444  !=============================================================================
3445  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3446  !! \param[IN] name the data name
3447  !! \param[IN] data the exposed data
3448  !! \param[IN] access whether the data can be accessed for read or write by
3449  !! PDI
3450  !! \param[OUT] err for error status (optional)
3451  subroutine PDI_expose_CHARACTER1_0D(name, data, access, err)
3452  character(len=*), intent(IN) :: name
3453  CHARACTER(KIND=1), target, asynchronous :: data
3454  integer, intent(IN) :: access
3455  integer, intent(OUT), optional :: err
3456  endsubroutine PDI_expose_CHARACTER1_0D
3457  !=============================================================================
3458 
3459 
3460  !=============================================================================
3461  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3462  !! \param[IN] name the data name
3463  !! \param[IN] data the exposed data
3464  !! \param[IN] access whether the data can be accessed for read or write by
3465  !! PDI
3466  !! \param[OUT] err for error status (optional)
3467  subroutine PDI_expose_CHARACTER1_1D(name, data, access, err)
3468  character(len=*), intent(IN) :: name
3469  CHARACTER(KIND=1), target, asynchronous :: data(:)
3470  integer, intent(IN) :: access
3471  integer, intent(OUT), optional :: err
3472  endsubroutine PDI_expose_CHARACTER1_1D
3473  !=============================================================================
3474 
3475 
3476  !=============================================================================
3477  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3478  !! \param[IN] name the data name
3479  !! \param[IN] data the exposed data
3480  !! \param[IN] access whether the data can be accessed for read or write by
3481  !! PDI
3482  !! \param[OUT] err for error status (optional)
3483  subroutine PDI_expose_CHARACTER1_2D(name, data, access, err)
3484  character(len=*), intent(IN) :: name
3485  CHARACTER(KIND=1), target, asynchronous :: data(:,:)
3486  integer, intent(IN) :: access
3487  integer, intent(OUT), optional :: err
3488  endsubroutine PDI_expose_CHARACTER1_2D
3489  !=============================================================================
3490 
3491 
3492  !=============================================================================
3493  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3494  !! \param[IN] name the data name
3495  !! \param[IN] data the exposed data
3496  !! \param[IN] access whether the data can be accessed for read or write by
3497  !! PDI
3498  !! \param[OUT] err for error status (optional)
3499  subroutine PDI_expose_CHARACTER1_3D(name, data, access, err)
3500  character(len=*), intent(IN) :: name
3501  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:)
3502  integer, intent(IN) :: access
3503  integer, intent(OUT), optional :: err
3504  endsubroutine PDI_expose_CHARACTER1_3D
3505  !=============================================================================
3506 
3507 
3508  !=============================================================================
3509  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3510  !! \param[IN] name the data name
3511  !! \param[IN] data the exposed data
3512  !! \param[IN] access whether the data can be accessed for read or write by
3513  !! PDI
3514  !! \param[OUT] err for error status (optional)
3515  subroutine PDI_expose_CHARACTER1_4D(name, data, access, err)
3516  character(len=*), intent(IN) :: name
3517  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:)
3518  integer, intent(IN) :: access
3519  integer, intent(OUT), optional :: err
3520  endsubroutine PDI_expose_CHARACTER1_4D
3521  !=============================================================================
3522 
3523 
3524  !=============================================================================
3525  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3526  !! \param[IN] name the data name
3527  !! \param[IN] data the exposed data
3528  !! \param[IN] access whether the data can be accessed for read or write by
3529  !! PDI
3530  !! \param[OUT] err for error status (optional)
3531  subroutine PDI_expose_CHARACTER1_5D(name, data, access, err)
3532  character(len=*), intent(IN) :: name
3533  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:,:)
3534  integer, intent(IN) :: access
3535  integer, intent(OUT), optional :: err
3536  endsubroutine PDI_expose_CHARACTER1_5D
3537  !=============================================================================
3538 
3539 
3540  !=============================================================================
3541  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3542  !! \param[IN] name the data name
3543  !! \param[IN] data the exposed data
3544  !! \param[IN] access whether the data can be accessed for read or write by
3545  !! PDI
3546  !! \param[OUT] err for error status (optional)
3547  subroutine PDI_expose_CHARACTER1_6D(name, data, access, err)
3548  character(len=*), intent(IN) :: name
3549  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:)
3550  integer, intent(IN) :: access
3551  integer, intent(OUT), optional :: err
3552  endsubroutine PDI_expose_CHARACTER1_6D
3553  !=============================================================================
3554 
3555 
3556  !=============================================================================
3557  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3558  !! \param[IN] name the data name
3559  !! \param[IN] data the exposed data
3560  !! \param[IN] access whether the data can be accessed for read or write by
3561  !! PDI
3562  !! \param[OUT] err for error status (optional)
3563  subroutine PDI_expose_CHARACTER1_7D(name, data, access, err)
3564  character(len=*), intent(IN) :: name
3565  CHARACTER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:,:)
3566  integer, intent(IN) :: access
3567  integer, intent(OUT), optional :: err
3568  endsubroutine PDI_expose_CHARACTER1_7D
3569  !=============================================================================
3570 
3571 
3572  !=============================================================================
3573  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3574  !! \param[IN] name the data name
3575  !! \param[IN] data the exposed data
3576  !! \param[IN] access whether the data can be accessed for read or write by
3577  !! PDI
3578  !! \param[OUT] err for error status (optional)
3579  subroutine PDI_expose_CHARACTER4_0D(name, data, access, err)
3580  character(len=*), intent(IN) :: name
3581  CHARACTER(KIND=4), target, asynchronous :: data
3582  integer, intent(IN) :: access
3583  integer, intent(OUT), optional :: err
3584  endsubroutine PDI_expose_CHARACTER4_0D
3585  !=============================================================================
3586 
3587 
3588  !=============================================================================
3589  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3590  !! \param[IN] name the data name
3591  !! \param[IN] data the exposed data
3592  !! \param[IN] access whether the data can be accessed for read or write by
3593  !! PDI
3594  !! \param[OUT] err for error status (optional)
3595  subroutine PDI_expose_CHARACTER4_1D(name, data, access, err)
3596  character(len=*), intent(IN) :: name
3597  CHARACTER(KIND=4), target, asynchronous :: data(:)
3598  integer, intent(IN) :: access
3599  integer, intent(OUT), optional :: err
3600  endsubroutine PDI_expose_CHARACTER4_1D
3601  !=============================================================================
3602 
3603 
3604  !=============================================================================
3605  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3606  !! \param[IN] name the data name
3607  !! \param[IN] data the exposed data
3608  !! \param[IN] access whether the data can be accessed for read or write by
3609  !! PDI
3610  !! \param[OUT] err for error status (optional)
3611  subroutine PDI_expose_CHARACTER4_2D(name, data, access, err)
3612  character(len=*), intent(IN) :: name
3613  CHARACTER(KIND=4), target, asynchronous :: data(:,:)
3614  integer, intent(IN) :: access
3615  integer, intent(OUT), optional :: err
3616  endsubroutine PDI_expose_CHARACTER4_2D
3617  !=============================================================================
3618 
3619 
3620  !=============================================================================
3621  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3622  !! \param[IN] name the data name
3623  !! \param[IN] data the exposed data
3624  !! \param[IN] access whether the data can be accessed for read or write by
3625  !! PDI
3626  !! \param[OUT] err for error status (optional)
3627  subroutine PDI_expose_CHARACTER4_3D(name, data, access, err)
3628  character(len=*), intent(IN) :: name
3629  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:)
3630  integer, intent(IN) :: access
3631  integer, intent(OUT), optional :: err
3632  endsubroutine PDI_expose_CHARACTER4_3D
3633  !=============================================================================
3634 
3635 
3636  !=============================================================================
3637  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3638  !! \param[IN] name the data name
3639  !! \param[IN] data the exposed data
3640  !! \param[IN] access whether the data can be accessed for read or write by
3641  !! PDI
3642  !! \param[OUT] err for error status (optional)
3643  subroutine PDI_expose_CHARACTER4_4D(name, data, access, err)
3644  character(len=*), intent(IN) :: name
3645  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:)
3646  integer, intent(IN) :: access
3647  integer, intent(OUT), optional :: err
3648  endsubroutine PDI_expose_CHARACTER4_4D
3649  !=============================================================================
3650 
3651 
3652  !=============================================================================
3653  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3654  !! \param[IN] name the data name
3655  !! \param[IN] data the exposed data
3656  !! \param[IN] access whether the data can be accessed for read or write by
3657  !! PDI
3658  !! \param[OUT] err for error status (optional)
3659  subroutine PDI_expose_CHARACTER4_5D(name, data, access, err)
3660  character(len=*), intent(IN) :: name
3661  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:,:)
3662  integer, intent(IN) :: access
3663  integer, intent(OUT), optional :: err
3664  endsubroutine PDI_expose_CHARACTER4_5D
3665  !=============================================================================
3666 
3667 
3668  !=============================================================================
3669  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3670  !! \param[IN] name the data name
3671  !! \param[IN] data the exposed data
3672  !! \param[IN] access whether the data can be accessed for read or write by
3673  !! PDI
3674  !! \param[OUT] err for error status (optional)
3675  subroutine PDI_expose_CHARACTER4_6D(name, data, access, err)
3676  character(len=*), intent(IN) :: name
3677  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
3678  integer, intent(IN) :: access
3679  integer, intent(OUT), optional :: err
3680  endsubroutine PDI_expose_CHARACTER4_6D
3681  !=============================================================================
3682 
3683 
3684  !=============================================================================
3685  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3686  !! \param[IN] name the data name
3687  !! \param[IN] data the exposed data
3688  !! \param[IN] access whether the data can be accessed for read or write by
3689  !! PDI
3690  !! \param[OUT] err for error status (optional)
3691  subroutine PDI_expose_CHARACTER4_7D(name, data, access, err)
3692  character(len=*), intent(IN) :: name
3693  CHARACTER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
3694  integer, intent(IN) :: access
3695  integer, intent(OUT), optional :: err
3696  endsubroutine PDI_expose_CHARACTER4_7D
3697  !=============================================================================
3698 
3699 
3700  !=============================================================================
3701  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3702  !! \param[IN] name the data name
3703  !! \param[IN] data the exposed data
3704  !! \param[IN] access whether the data can be accessed for read or write by
3705  !! PDI
3706  !! \param[OUT] err for error status (optional)
3707  subroutine PDI_expose_COMPLEX4_0D(name, data, access, err)
3708  character(len=*), intent(IN) :: name
3709  COMPLEX(KIND=4), target, asynchronous :: data
3710  integer, intent(IN) :: access
3711  integer, intent(OUT), optional :: err
3712  endsubroutine PDI_expose_COMPLEX4_0D
3713  !=============================================================================
3714 
3715 
3716  !=============================================================================
3717  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3718  !! \param[IN] name the data name
3719  !! \param[IN] data the exposed data
3720  !! \param[IN] access whether the data can be accessed for read or write by
3721  !! PDI
3722  !! \param[OUT] err for error status (optional)
3723  subroutine PDI_expose_COMPLEX4_1D(name, data, access, err)
3724  character(len=*), intent(IN) :: name
3725  COMPLEX(KIND=4), target, asynchronous :: data(:)
3726  integer, intent(IN) :: access
3727  integer, intent(OUT), optional :: err
3728  endsubroutine PDI_expose_COMPLEX4_1D
3729  !=============================================================================
3730 
3731 
3732  !=============================================================================
3733  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3734  !! \param[IN] name the data name
3735  !! \param[IN] data the exposed data
3736  !! \param[IN] access whether the data can be accessed for read or write by
3737  !! PDI
3738  !! \param[OUT] err for error status (optional)
3739  subroutine PDI_expose_COMPLEX4_2D(name, data, access, err)
3740  character(len=*), intent(IN) :: name
3741  COMPLEX(KIND=4), target, asynchronous :: data(:,:)
3742  integer, intent(IN) :: access
3743  integer, intent(OUT), optional :: err
3744  endsubroutine PDI_expose_COMPLEX4_2D
3745  !=============================================================================
3746 
3747 
3748  !=============================================================================
3749  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3750  !! \param[IN] name the data name
3751  !! \param[IN] data the exposed data
3752  !! \param[IN] access whether the data can be accessed for read or write by
3753  !! PDI
3754  !! \param[OUT] err for error status (optional)
3755  subroutine PDI_expose_COMPLEX4_3D(name, data, access, err)
3756  character(len=*), intent(IN) :: name
3757  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:)
3758  integer, intent(IN) :: access
3759  integer, intent(OUT), optional :: err
3760  endsubroutine PDI_expose_COMPLEX4_3D
3761  !=============================================================================
3762 
3763 
3764  !=============================================================================
3765  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3766  !! \param[IN] name the data name
3767  !! \param[IN] data the exposed data
3768  !! \param[IN] access whether the data can be accessed for read or write by
3769  !! PDI
3770  !! \param[OUT] err for error status (optional)
3771  subroutine PDI_expose_COMPLEX4_4D(name, data, access, err)
3772  character(len=*), intent(IN) :: name
3773  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:)
3774  integer, intent(IN) :: access
3775  integer, intent(OUT), optional :: err
3776  endsubroutine PDI_expose_COMPLEX4_4D
3777  !=============================================================================
3778 
3779 
3780  !=============================================================================
3781  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3782  !! \param[IN] name the data name
3783  !! \param[IN] data the exposed data
3784  !! \param[IN] access whether the data can be accessed for read or write by
3785  !! PDI
3786  !! \param[OUT] err for error status (optional)
3787  subroutine PDI_expose_COMPLEX4_5D(name, data, access, err)
3788  character(len=*), intent(IN) :: name
3789  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:,:)
3790  integer, intent(IN) :: access
3791  integer, intent(OUT), optional :: err
3792  endsubroutine PDI_expose_COMPLEX4_5D
3793  !=============================================================================
3794 
3795 
3796  !=============================================================================
3797  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3798  !! \param[IN] name the data name
3799  !! \param[IN] data the exposed data
3800  !! \param[IN] access whether the data can be accessed for read or write by
3801  !! PDI
3802  !! \param[OUT] err for error status (optional)
3803  subroutine PDI_expose_COMPLEX4_6D(name, data, access, err)
3804  character(len=*), intent(IN) :: name
3805  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
3806  integer, intent(IN) :: access
3807  integer, intent(OUT), optional :: err
3808  endsubroutine PDI_expose_COMPLEX4_6D
3809  !=============================================================================
3810 
3811 
3812  !=============================================================================
3813  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3814  !! \param[IN] name the data name
3815  !! \param[IN] data the exposed data
3816  !! \param[IN] access whether the data can be accessed for read or write by
3817  !! PDI
3818  !! \param[OUT] err for error status (optional)
3819  subroutine PDI_expose_COMPLEX4_7D(name, data, access, err)
3820  character(len=*), intent(IN) :: name
3821  COMPLEX(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
3822  integer, intent(IN) :: access
3823  integer, intent(OUT), optional :: err
3824  endsubroutine PDI_expose_COMPLEX4_7D
3825  !=============================================================================
3826 
3827 
3828  !=============================================================================
3829  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3830  !! \param[IN] name the data name
3831  !! \param[IN] data the exposed data
3832  !! \param[IN] access whether the data can be accessed for read or write by
3833  !! PDI
3834  !! \param[OUT] err for error status (optional)
3835  subroutine PDI_expose_COMPLEX8_0D(name, data, access, err)
3836  character(len=*), intent(IN) :: name
3837  COMPLEX(KIND=8), target, asynchronous :: data
3838  integer, intent(IN) :: access
3839  integer, intent(OUT), optional :: err
3840  endsubroutine PDI_expose_COMPLEX8_0D
3841  !=============================================================================
3842 
3843 
3844  !=============================================================================
3845  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3846  !! \param[IN] name the data name
3847  !! \param[IN] data the exposed data
3848  !! \param[IN] access whether the data can be accessed for read or write by
3849  !! PDI
3850  !! \param[OUT] err for error status (optional)
3851  subroutine PDI_expose_COMPLEX8_1D(name, data, access, err)
3852  character(len=*), intent(IN) :: name
3853  COMPLEX(KIND=8), target, asynchronous :: data(:)
3854  integer, intent(IN) :: access
3855  integer, intent(OUT), optional :: err
3856  endsubroutine PDI_expose_COMPLEX8_1D
3857  !=============================================================================
3858 
3859 
3860  !=============================================================================
3861  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3862  !! \param[IN] name the data name
3863  !! \param[IN] data the exposed data
3864  !! \param[IN] access whether the data can be accessed for read or write by
3865  !! PDI
3866  !! \param[OUT] err for error status (optional)
3867  subroutine PDI_expose_COMPLEX8_2D(name, data, access, err)
3868  character(len=*), intent(IN) :: name
3869  COMPLEX(KIND=8), target, asynchronous :: data(:,:)
3870  integer, intent(IN) :: access
3871  integer, intent(OUT), optional :: err
3872  endsubroutine PDI_expose_COMPLEX8_2D
3873  !=============================================================================
3874 
3875 
3876  !=============================================================================
3877  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3878  !! \param[IN] name the data name
3879  !! \param[IN] data the exposed data
3880  !! \param[IN] access whether the data can be accessed for read or write by
3881  !! PDI
3882  !! \param[OUT] err for error status (optional)
3883  subroutine PDI_expose_COMPLEX8_3D(name, data, access, err)
3884  character(len=*), intent(IN) :: name
3885  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:)
3886  integer, intent(IN) :: access
3887  integer, intent(OUT), optional :: err
3888  endsubroutine PDI_expose_COMPLEX8_3D
3889  !=============================================================================
3890 
3891 
3892  !=============================================================================
3893  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3894  !! \param[IN] name the data name
3895  !! \param[IN] data the exposed data
3896  !! \param[IN] access whether the data can be accessed for read or write by
3897  !! PDI
3898  !! \param[OUT] err for error status (optional)
3899  subroutine PDI_expose_COMPLEX8_4D(name, data, access, err)
3900  character(len=*), intent(IN) :: name
3901  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:)
3902  integer, intent(IN) :: access
3903  integer, intent(OUT), optional :: err
3904  endsubroutine PDI_expose_COMPLEX8_4D
3905  !=============================================================================
3906 
3907 
3908  !=============================================================================
3909  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3910  !! \param[IN] name the data name
3911  !! \param[IN] data the exposed data
3912  !! \param[IN] access whether the data can be accessed for read or write by
3913  !! PDI
3914  !! \param[OUT] err for error status (optional)
3915  subroutine PDI_expose_COMPLEX8_5D(name, data, access, err)
3916  character(len=*), intent(IN) :: name
3917  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:,:)
3918  integer, intent(IN) :: access
3919  integer, intent(OUT), optional :: err
3920  endsubroutine PDI_expose_COMPLEX8_5D
3921  !=============================================================================
3922 
3923 
3924  !=============================================================================
3925  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3926  !! \param[IN] name the data name
3927  !! \param[IN] data the exposed data
3928  !! \param[IN] access whether the data can be accessed for read or write by
3929  !! PDI
3930  !! \param[OUT] err for error status (optional)
3931  subroutine PDI_expose_COMPLEX8_6D(name, data, access, err)
3932  character(len=*), intent(IN) :: name
3933  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
3934  integer, intent(IN) :: access
3935  integer, intent(OUT), optional :: err
3936  endsubroutine PDI_expose_COMPLEX8_6D
3937  !=============================================================================
3938 
3939 
3940  !=============================================================================
3941  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3942  !! \param[IN] name the data name
3943  !! \param[IN] data the exposed data
3944  !! \param[IN] access whether the data can be accessed for read or write by
3945  !! PDI
3946  !! \param[OUT] err for error status (optional)
3947  subroutine PDI_expose_COMPLEX8_7D(name, data, access, err)
3948  character(len=*), intent(IN) :: name
3949  COMPLEX(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
3950  integer, intent(IN) :: access
3951  integer, intent(OUT), optional :: err
3952  endsubroutine PDI_expose_COMPLEX8_7D
3953  !=============================================================================
3954 
3955 
3956  !=============================================================================
3957  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3958  !! \param[IN] name the data name
3959  !! \param[IN] data the exposed data
3960  !! \param[IN] access whether the data can be accessed for read or write by
3961  !! PDI
3962  !! \param[OUT] err for error status (optional)
3963  subroutine PDI_expose_COMPLEX16_0D(name, data, access, err)
3964  character(len=*), intent(IN) :: name
3965  COMPLEX(KIND=16), target, asynchronous :: data
3966  integer, intent(IN) :: access
3967  integer, intent(OUT), optional :: err
3968  endsubroutine PDI_expose_COMPLEX16_0D
3969  !=============================================================================
3970 
3971 
3972  !=============================================================================
3973  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3974  !! \param[IN] name the data name
3975  !! \param[IN] data the exposed data
3976  !! \param[IN] access whether the data can be accessed for read or write by
3977  !! PDI
3978  !! \param[OUT] err for error status (optional)
3979  subroutine PDI_expose_COMPLEX16_1D(name, data, access, err)
3980  character(len=*), intent(IN) :: name
3981  COMPLEX(KIND=16), target, asynchronous :: data(:)
3982  integer, intent(IN) :: access
3983  integer, intent(OUT), optional :: err
3984  endsubroutine PDI_expose_COMPLEX16_1D
3985  !=============================================================================
3986 
3987 
3988  !=============================================================================
3989  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3990  !! \param[IN] name the data name
3991  !! \param[IN] data the exposed data
3992  !! \param[IN] access whether the data can be accessed for read or write by
3993  !! PDI
3994  !! \param[OUT] err for error status (optional)
3995  subroutine PDI_expose_COMPLEX16_2D(name, data, access, err)
3996  character(len=*), intent(IN) :: name
3997  COMPLEX(KIND=16), target, asynchronous :: data(:,:)
3998  integer, intent(IN) :: access
3999  integer, intent(OUT), optional :: err
4000  endsubroutine PDI_expose_COMPLEX16_2D
4001  !=============================================================================
4002 
4003 
4004  !=============================================================================
4005  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4006  !! \param[IN] name the data name
4007  !! \param[IN] data the exposed data
4008  !! \param[IN] access whether the data can be accessed for read or write by
4009  !! PDI
4010  !! \param[OUT] err for error status (optional)
4011  subroutine PDI_expose_COMPLEX16_3D(name, data, access, err)
4012  character(len=*), intent(IN) :: name
4013  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:)
4014  integer, intent(IN) :: access
4015  integer, intent(OUT), optional :: err
4016  endsubroutine PDI_expose_COMPLEX16_3D
4017  !=============================================================================
4018 
4019 
4020  !=============================================================================
4021  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4022  !! \param[IN] name the data name
4023  !! \param[IN] data the exposed data
4024  !! \param[IN] access whether the data can be accessed for read or write by
4025  !! PDI
4026  !! \param[OUT] err for error status (optional)
4027  subroutine PDI_expose_COMPLEX16_4D(name, data, access, err)
4028  character(len=*), intent(IN) :: name
4029  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:)
4030  integer, intent(IN) :: access
4031  integer, intent(OUT), optional :: err
4032  endsubroutine PDI_expose_COMPLEX16_4D
4033  !=============================================================================
4034 
4035 
4036  !=============================================================================
4037  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4038  !! \param[IN] name the data name
4039  !! \param[IN] data the exposed data
4040  !! \param[IN] access whether the data can be accessed for read or write by
4041  !! PDI
4042  !! \param[OUT] err for error status (optional)
4043  subroutine PDI_expose_COMPLEX16_5D(name, data, access, err)
4044  character(len=*), intent(IN) :: name
4045  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:,:)
4046  integer, intent(IN) :: access
4047  integer, intent(OUT), optional :: err
4048  endsubroutine PDI_expose_COMPLEX16_5D
4049  !=============================================================================
4050 
4051 
4052  !=============================================================================
4053  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4054  !! \param[IN] name the data name
4055  !! \param[IN] data the exposed data
4056  !! \param[IN] access whether the data can be accessed for read or write by
4057  !! PDI
4058  !! \param[OUT] err for error status (optional)
4059  subroutine PDI_expose_COMPLEX16_6D(name, data, access, err)
4060  character(len=*), intent(IN) :: name
4061  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
4062  integer, intent(IN) :: access
4063  integer, intent(OUT), optional :: err
4064  endsubroutine PDI_expose_COMPLEX16_6D
4065  !=============================================================================
4066 
4067 
4068  !=============================================================================
4069  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4070  !! \param[IN] name the data name
4071  !! \param[IN] data the exposed data
4072  !! \param[IN] access whether the data can be accessed for read or write by
4073  !! PDI
4074  !! \param[OUT] err for error status (optional)
4075  subroutine PDI_expose_COMPLEX16_7D(name, data, access, err)
4076  character(len=*), intent(IN) :: name
4077  COMPLEX(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
4078  integer, intent(IN) :: access
4079  integer, intent(OUT), optional :: err
4080  endsubroutine PDI_expose_COMPLEX16_7D
4081  !=============================================================================
4082 
4083 
4084  !=============================================================================
4085  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4086  !! \param[IN] name the data name
4087  !! \param[IN] data the exposed data
4088  !! \param[IN] access whether the data can be accessed for read or write by
4089  !! PDI
4090  !! \param[OUT] err for error status (optional)
4091  subroutine PDI_expose_INTEGER1_0D(name, data, access, err)
4092  character(len=*), intent(IN) :: name
4093  INTEGER(KIND=1), target, asynchronous :: data
4094  integer, intent(IN) :: access
4095  integer, intent(OUT), optional :: err
4096  endsubroutine PDI_expose_INTEGER1_0D
4097  !=============================================================================
4098 
4099 
4100  !=============================================================================
4101  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4102  !! \param[IN] name the data name
4103  !! \param[IN] data the exposed data
4104  !! \param[IN] access whether the data can be accessed for read or write by
4105  !! PDI
4106  !! \param[OUT] err for error status (optional)
4107  subroutine PDI_expose_INTEGER1_1D(name, data, access, err)
4108  character(len=*), intent(IN) :: name
4109  INTEGER(KIND=1), target, asynchronous :: data(:)
4110  integer, intent(IN) :: access
4111  integer, intent(OUT), optional :: err
4112  endsubroutine PDI_expose_INTEGER1_1D
4113  !=============================================================================
4114 
4115 
4116  !=============================================================================
4117  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4118  !! \param[IN] name the data name
4119  !! \param[IN] data the exposed data
4120  !! \param[IN] access whether the data can be accessed for read or write by
4121  !! PDI
4122  !! \param[OUT] err for error status (optional)
4123  subroutine PDI_expose_INTEGER1_2D(name, data, access, err)
4124  character(len=*), intent(IN) :: name
4125  INTEGER(KIND=1), target, asynchronous :: data(:,:)
4126  integer, intent(IN) :: access
4127  integer, intent(OUT), optional :: err
4128  endsubroutine PDI_expose_INTEGER1_2D
4129  !=============================================================================
4130 
4131 
4132  !=============================================================================
4133  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4134  !! \param[IN] name the data name
4135  !! \param[IN] data the exposed data
4136  !! \param[IN] access whether the data can be accessed for read or write by
4137  !! PDI
4138  !! \param[OUT] err for error status (optional)
4139  subroutine PDI_expose_INTEGER1_3D(name, data, access, err)
4140  character(len=*), intent(IN) :: name
4141  INTEGER(KIND=1), target, asynchronous :: data(:,:,:)
4142  integer, intent(IN) :: access
4143  integer, intent(OUT), optional :: err
4144  endsubroutine PDI_expose_INTEGER1_3D
4145  !=============================================================================
4146 
4147 
4148  !=============================================================================
4149  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4150  !! \param[IN] name the data name
4151  !! \param[IN] data the exposed data
4152  !! \param[IN] access whether the data can be accessed for read or write by
4153  !! PDI
4154  !! \param[OUT] err for error status (optional)
4155  subroutine PDI_expose_INTEGER1_4D(name, data, access, err)
4156  character(len=*), intent(IN) :: name
4157  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:)
4158  integer, intent(IN) :: access
4159  integer, intent(OUT), optional :: err
4160  endsubroutine PDI_expose_INTEGER1_4D
4161  !=============================================================================
4162 
4163 
4164  !=============================================================================
4165  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4166  !! \param[IN] name the data name
4167  !! \param[IN] data the exposed data
4168  !! \param[IN] access whether the data can be accessed for read or write by
4169  !! PDI
4170  !! \param[OUT] err for error status (optional)
4171  subroutine PDI_expose_INTEGER1_5D(name, data, access, err)
4172  character(len=*), intent(IN) :: name
4173  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:,:)
4174  integer, intent(IN) :: access
4175  integer, intent(OUT), optional :: err
4176  endsubroutine PDI_expose_INTEGER1_5D
4177  !=============================================================================
4178 
4179 
4180  !=============================================================================
4181  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4182  !! \param[IN] name the data name
4183  !! \param[IN] data the exposed data
4184  !! \param[IN] access whether the data can be accessed for read or write by
4185  !! PDI
4186  !! \param[OUT] err for error status (optional)
4187  subroutine PDI_expose_INTEGER1_6D(name, data, access, err)
4188  character(len=*), intent(IN) :: name
4189  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:)
4190  integer, intent(IN) :: access
4191  integer, intent(OUT), optional :: err
4192  endsubroutine PDI_expose_INTEGER1_6D
4193  !=============================================================================
4194 
4195 
4196  !=============================================================================
4197  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4198  !! \param[IN] name the data name
4199  !! \param[IN] data the exposed data
4200  !! \param[IN] access whether the data can be accessed for read or write by
4201  !! PDI
4202  !! \param[OUT] err for error status (optional)
4203  subroutine PDI_expose_INTEGER1_7D(name, data, access, err)
4204  character(len=*), intent(IN) :: name
4205  INTEGER(KIND=1), target, asynchronous :: data(:,:,:,:,:,:,:)
4206  integer, intent(IN) :: access
4207  integer, intent(OUT), optional :: err
4208  endsubroutine PDI_expose_INTEGER1_7D
4209  !=============================================================================
4210 
4211 
4212  !=============================================================================
4213  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4214  !! \param[IN] name the data name
4215  !! \param[IN] data the exposed data
4216  !! \param[IN] access whether the data can be accessed for read or write by
4217  !! PDI
4218  !! \param[OUT] err for error status (optional)
4219  subroutine PDI_expose_INTEGER2_0D(name, data, access, err)
4220  character(len=*), intent(IN) :: name
4221  INTEGER(KIND=2), target, asynchronous :: data
4222  integer, intent(IN) :: access
4223  integer, intent(OUT), optional :: err
4224  endsubroutine PDI_expose_INTEGER2_0D
4225  !=============================================================================
4226 
4227 
4228  !=============================================================================
4229  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4230  !! \param[IN] name the data name
4231  !! \param[IN] data the exposed data
4232  !! \param[IN] access whether the data can be accessed for read or write by
4233  !! PDI
4234  !! \param[OUT] err for error status (optional)
4235  subroutine PDI_expose_INTEGER2_1D(name, data, access, err)
4236  character(len=*), intent(IN) :: name
4237  INTEGER(KIND=2), target, asynchronous :: data(:)
4238  integer, intent(IN) :: access
4239  integer, intent(OUT), optional :: err
4240  endsubroutine PDI_expose_INTEGER2_1D
4241  !=============================================================================
4242 
4243 
4244  !=============================================================================
4245  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4246  !! \param[IN] name the data name
4247  !! \param[IN] data the exposed data
4248  !! \param[IN] access whether the data can be accessed for read or write by
4249  !! PDI
4250  !! \param[OUT] err for error status (optional)
4251  subroutine PDI_expose_INTEGER2_2D(name, data, access, err)
4252  character(len=*), intent(IN) :: name
4253  INTEGER(KIND=2), target, asynchronous :: data(:,:)
4254  integer, intent(IN) :: access
4255  integer, intent(OUT), optional :: err
4256  endsubroutine PDI_expose_INTEGER2_2D
4257  !=============================================================================
4258 
4259 
4260  !=============================================================================
4261  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4262  !! \param[IN] name the data name
4263  !! \param[IN] data the exposed data
4264  !! \param[IN] access whether the data can be accessed for read or write by
4265  !! PDI
4266  !! \param[OUT] err for error status (optional)
4267  subroutine PDI_expose_INTEGER2_3D(name, data, access, err)
4268  character(len=*), intent(IN) :: name
4269  INTEGER(KIND=2), target, asynchronous :: data(:,:,:)
4270  integer, intent(IN) :: access
4271  integer, intent(OUT), optional :: err
4272  endsubroutine PDI_expose_INTEGER2_3D
4273  !=============================================================================
4274 
4275 
4276  !=============================================================================
4277  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4278  !! \param[IN] name the data name
4279  !! \param[IN] data the exposed data
4280  !! \param[IN] access whether the data can be accessed for read or write by
4281  !! PDI
4282  !! \param[OUT] err for error status (optional)
4283  subroutine PDI_expose_INTEGER2_4D(name, data, access, err)
4284  character(len=*), intent(IN) :: name
4285  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:)
4286  integer, intent(IN) :: access
4287  integer, intent(OUT), optional :: err
4288  endsubroutine PDI_expose_INTEGER2_4D
4289  !=============================================================================
4290 
4291 
4292  !=============================================================================
4293  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4294  !! \param[IN] name the data name
4295  !! \param[IN] data the exposed data
4296  !! \param[IN] access whether the data can be accessed for read or write by
4297  !! PDI
4298  !! \param[OUT] err for error status (optional)
4299  subroutine PDI_expose_INTEGER2_5D(name, data, access, err)
4300  character(len=*), intent(IN) :: name
4301  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:,:)
4302  integer, intent(IN) :: access
4303  integer, intent(OUT), optional :: err
4304  endsubroutine PDI_expose_INTEGER2_5D
4305  !=============================================================================
4306 
4307 
4308  !=============================================================================
4309  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4310  !! \param[IN] name the data name
4311  !! \param[IN] data the exposed data
4312  !! \param[IN] access whether the data can be accessed for read or write by
4313  !! PDI
4314  !! \param[OUT] err for error status (optional)
4315  subroutine PDI_expose_INTEGER2_6D(name, data, access, err)
4316  character(len=*), intent(IN) :: name
4317  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:,:,:)
4318  integer, intent(IN) :: access
4319  integer, intent(OUT), optional :: err
4320  endsubroutine PDI_expose_INTEGER2_6D
4321  !=============================================================================
4322 
4323 
4324  !=============================================================================
4325  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4326  !! \param[IN] name the data name
4327  !! \param[IN] data the exposed data
4328  !! \param[IN] access whether the data can be accessed for read or write by
4329  !! PDI
4330  !! \param[OUT] err for error status (optional)
4331  subroutine PDI_expose_INTEGER2_7D(name, data, access, err)
4332  character(len=*), intent(IN) :: name
4333  INTEGER(KIND=2), target, asynchronous :: data(:,:,:,:,:,:,:)
4334  integer, intent(IN) :: access
4335  integer, intent(OUT), optional :: err
4336  endsubroutine PDI_expose_INTEGER2_7D
4337  !=============================================================================
4338 
4339 
4340  !=============================================================================
4341  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4342  !! \param[IN] name the data name
4343  !! \param[IN] data the exposed data
4344  !! \param[IN] access whether the data can be accessed for read or write by
4345  !! PDI
4346  !! \param[OUT] err for error status (optional)
4347  subroutine PDI_expose_INTEGER4_0D(name, data, access, err)
4348  character(len=*), intent(IN) :: name
4349  INTEGER(KIND=4), target, asynchronous :: data
4350  integer, intent(IN) :: access
4351  integer, intent(OUT), optional :: err
4352  endsubroutine PDI_expose_INTEGER4_0D
4353  !=============================================================================
4354 
4355 
4356  !=============================================================================
4357  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4358  !! \param[IN] name the data name
4359  !! \param[IN] data the exposed data
4360  !! \param[IN] access whether the data can be accessed for read or write by
4361  !! PDI
4362  !! \param[OUT] err for error status (optional)
4363  subroutine PDI_expose_INTEGER4_1D(name, data, access, err)
4364  character(len=*), intent(IN) :: name
4365  INTEGER(KIND=4), target, asynchronous :: data(:)
4366  integer, intent(IN) :: access
4367  integer, intent(OUT), optional :: err
4368  endsubroutine PDI_expose_INTEGER4_1D
4369  !=============================================================================
4370 
4371 
4372  !=============================================================================
4373  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4374  !! \param[IN] name the data name
4375  !! \param[IN] data the exposed data
4376  !! \param[IN] access whether the data can be accessed for read or write by
4377  !! PDI
4378  !! \param[OUT] err for error status (optional)
4379  subroutine PDI_expose_INTEGER4_2D(name, data, access, err)
4380  character(len=*), intent(IN) :: name
4381  INTEGER(KIND=4), target, asynchronous :: data(:,:)
4382  integer, intent(IN) :: access
4383  integer, intent(OUT), optional :: err
4384  endsubroutine PDI_expose_INTEGER4_2D
4385  !=============================================================================
4386 
4387 
4388  !=============================================================================
4389  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4390  !! \param[IN] name the data name
4391  !! \param[IN] data the exposed data
4392  !! \param[IN] access whether the data can be accessed for read or write by
4393  !! PDI
4394  !! \param[OUT] err for error status (optional)
4395  subroutine PDI_expose_INTEGER4_3D(name, data, access, err)
4396  character(len=*), intent(IN) :: name
4397  INTEGER(KIND=4), target, asynchronous :: data(:,:,:)
4398  integer, intent(IN) :: access
4399  integer, intent(OUT), optional :: err
4400  endsubroutine PDI_expose_INTEGER4_3D
4401  !=============================================================================
4402 
4403 
4404  !=============================================================================
4405  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4406  !! \param[IN] name the data name
4407  !! \param[IN] data the exposed data
4408  !! \param[IN] access whether the data can be accessed for read or write by
4409  !! PDI
4410  !! \param[OUT] err for error status (optional)
4411  subroutine PDI_expose_INTEGER4_4D(name, data, access, err)
4412  character(len=*), intent(IN) :: name
4413  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:)
4414  integer, intent(IN) :: access
4415  integer, intent(OUT), optional :: err
4416  endsubroutine PDI_expose_INTEGER4_4D
4417  !=============================================================================
4418 
4419 
4420  !=============================================================================
4421  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4422  !! \param[IN] name the data name
4423  !! \param[IN] data the exposed data
4424  !! \param[IN] access whether the data can be accessed for read or write by
4425  !! PDI
4426  !! \param[OUT] err for error status (optional)
4427  subroutine PDI_expose_INTEGER4_5D(name, data, access, err)
4428  character(len=*), intent(IN) :: name
4429  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:,:)
4430  integer, intent(IN) :: access
4431  integer, intent(OUT), optional :: err
4432  endsubroutine PDI_expose_INTEGER4_5D
4433  !=============================================================================
4434 
4435 
4436  !=============================================================================
4437  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4438  !! \param[IN] name the data name
4439  !! \param[IN] data the exposed data
4440  !! \param[IN] access whether the data can be accessed for read or write by
4441  !! PDI
4442  !! \param[OUT] err for error status (optional)
4443  subroutine PDI_expose_INTEGER4_6D(name, data, access, err)
4444  character(len=*), intent(IN) :: name
4445  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
4446  integer, intent(IN) :: access
4447  integer, intent(OUT), optional :: err
4448  endsubroutine PDI_expose_INTEGER4_6D
4449  !=============================================================================
4450 
4451 
4452  !=============================================================================
4453  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4454  !! \param[IN] name the data name
4455  !! \param[IN] data the exposed data
4456  !! \param[IN] access whether the data can be accessed for read or write by
4457  !! PDI
4458  !! \param[OUT] err for error status (optional)
4459  subroutine PDI_expose_INTEGER4_7D(name, data, access, err)
4460  character(len=*), intent(IN) :: name
4461  INTEGER(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
4462  integer, intent(IN) :: access
4463  integer, intent(OUT), optional :: err
4464  endsubroutine PDI_expose_INTEGER4_7D
4465  !=============================================================================
4466 
4467 
4468  !=============================================================================
4469  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4470  !! \param[IN] name the data name
4471  !! \param[IN] data the exposed data
4472  !! \param[IN] access whether the data can be accessed for read or write by
4473  !! PDI
4474  !! \param[OUT] err for error status (optional)
4475  subroutine PDI_expose_INTEGER8_0D(name, data, access, err)
4476  character(len=*), intent(IN) :: name
4477  INTEGER(KIND=8), target, asynchronous :: data
4478  integer, intent(IN) :: access
4479  integer, intent(OUT), optional :: err
4480  endsubroutine PDI_expose_INTEGER8_0D
4481  !=============================================================================
4482 
4483 
4484  !=============================================================================
4485  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4486  !! \param[IN] name the data name
4487  !! \param[IN] data the exposed data
4488  !! \param[IN] access whether the data can be accessed for read or write by
4489  !! PDI
4490  !! \param[OUT] err for error status (optional)
4491  subroutine PDI_expose_INTEGER8_1D(name, data, access, err)
4492  character(len=*), intent(IN) :: name
4493  INTEGER(KIND=8), target, asynchronous :: data(:)
4494  integer, intent(IN) :: access
4495  integer, intent(OUT), optional :: err
4496  endsubroutine PDI_expose_INTEGER8_1D
4497  !=============================================================================
4498 
4499 
4500  !=============================================================================
4501  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4502  !! \param[IN] name the data name
4503  !! \param[IN] data the exposed data
4504  !! \param[IN] access whether the data can be accessed for read or write by
4505  !! PDI
4506  !! \param[OUT] err for error status (optional)
4507  subroutine PDI_expose_INTEGER8_2D(name, data, access, err)
4508  character(len=*), intent(IN) :: name
4509  INTEGER(KIND=8), target, asynchronous :: data(:,:)
4510  integer, intent(IN) :: access
4511  integer, intent(OUT), optional :: err
4512  endsubroutine PDI_expose_INTEGER8_2D
4513  !=============================================================================
4514 
4515 
4516  !=============================================================================
4517  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4518  !! \param[IN] name the data name
4519  !! \param[IN] data the exposed data
4520  !! \param[IN] access whether the data can be accessed for read or write by
4521  !! PDI
4522  !! \param[OUT] err for error status (optional)
4523  subroutine PDI_expose_INTEGER8_3D(name, data, access, err)
4524  character(len=*), intent(IN) :: name
4525  INTEGER(KIND=8), target, asynchronous :: data(:,:,:)
4526  integer, intent(IN) :: access
4527  integer, intent(OUT), optional :: err
4528  endsubroutine PDI_expose_INTEGER8_3D
4529  !=============================================================================
4530 
4531 
4532  !=============================================================================
4533  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4534  !! \param[IN] name the data name
4535  !! \param[IN] data the exposed data
4536  !! \param[IN] access whether the data can be accessed for read or write by
4537  !! PDI
4538  !! \param[OUT] err for error status (optional)
4539  subroutine PDI_expose_INTEGER8_4D(name, data, access, err)
4540  character(len=*), intent(IN) :: name
4541  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:)
4542  integer, intent(IN) :: access
4543  integer, intent(OUT), optional :: err
4544  endsubroutine PDI_expose_INTEGER8_4D
4545  !=============================================================================
4546 
4547 
4548  !=============================================================================
4549  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4550  !! \param[IN] name the data name
4551  !! \param[IN] data the exposed data
4552  !! \param[IN] access whether the data can be accessed for read or write by
4553  !! PDI
4554  !! \param[OUT] err for error status (optional)
4555  subroutine PDI_expose_INTEGER8_5D(name, data, access, err)
4556  character(len=*), intent(IN) :: name
4557  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:,:)
4558  integer, intent(IN) :: access
4559  integer, intent(OUT), optional :: err
4560  endsubroutine PDI_expose_INTEGER8_5D
4561  !=============================================================================
4562 
4563 
4564  !=============================================================================
4565  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4566  !! \param[IN] name the data name
4567  !! \param[IN] data the exposed data
4568  !! \param[IN] access whether the data can be accessed for read or write by
4569  !! PDI
4570  !! \param[OUT] err for error status (optional)
4571  subroutine PDI_expose_INTEGER8_6D(name, data, access, err)
4572  character(len=*), intent(IN) :: name
4573  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
4574  integer, intent(IN) :: access
4575  integer, intent(OUT), optional :: err
4576  endsubroutine PDI_expose_INTEGER8_6D
4577  !=============================================================================
4578 
4579 
4580  !=============================================================================
4581  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4582  !! \param[IN] name the data name
4583  !! \param[IN] data the exposed data
4584  !! \param[IN] access whether the data can be accessed for read or write by
4585  !! PDI
4586  !! \param[OUT] err for error status (optional)
4587  subroutine PDI_expose_INTEGER8_7D(name, data, access, err)
4588  character(len=*), intent(IN) :: name
4589  INTEGER(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
4590  integer, intent(IN) :: access
4591  integer, intent(OUT), optional :: err
4592  endsubroutine PDI_expose_INTEGER8_7D
4593  !=============================================================================
4594 
4595 
4596  !=============================================================================
4597  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4598  !! \param[IN] name the data name
4599  !! \param[IN] data the exposed data
4600  !! \param[IN] access whether the data can be accessed for read or write by
4601  !! PDI
4602  !! \param[OUT] err for error status (optional)
4603  subroutine PDI_expose_INTEGER16_0D(name, data, access, err)
4604  character(len=*), intent(IN) :: name
4605  INTEGER(KIND=16), target, asynchronous :: data
4606  integer, intent(IN) :: access
4607  integer, intent(OUT), optional :: err
4608  endsubroutine PDI_expose_INTEGER16_0D
4609  !=============================================================================
4610 
4611 
4612  !=============================================================================
4613  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4614  !! \param[IN] name the data name
4615  !! \param[IN] data the exposed data
4616  !! \param[IN] access whether the data can be accessed for read or write by
4617  !! PDI
4618  !! \param[OUT] err for error status (optional)
4619  subroutine PDI_expose_INTEGER16_1D(name, data, access, err)
4620  character(len=*), intent(IN) :: name
4621  INTEGER(KIND=16), target, asynchronous :: data(:)
4622  integer, intent(IN) :: access
4623  integer, intent(OUT), optional :: err
4624  endsubroutine PDI_expose_INTEGER16_1D
4625  !=============================================================================
4626 
4627 
4628  !=============================================================================
4629  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4630  !! \param[IN] name the data name
4631  !! \param[IN] data the exposed data
4632  !! \param[IN] access whether the data can be accessed for read or write by
4633  !! PDI
4634  !! \param[OUT] err for error status (optional)
4635  subroutine PDI_expose_INTEGER16_2D(name, data, access, err)
4636  character(len=*), intent(IN) :: name
4637  INTEGER(KIND=16), target, asynchronous :: data(:,:)
4638  integer, intent(IN) :: access
4639  integer, intent(OUT), optional :: err
4640  endsubroutine PDI_expose_INTEGER16_2D
4641  !=============================================================================
4642 
4643 
4644  !=============================================================================
4645  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4646  !! \param[IN] name the data name
4647  !! \param[IN] data the exposed data
4648  !! \param[IN] access whether the data can be accessed for read or write by
4649  !! PDI
4650  !! \param[OUT] err for error status (optional)
4651  subroutine PDI_expose_INTEGER16_3D(name, data, access, err)
4652  character(len=*), intent(IN) :: name
4653  INTEGER(KIND=16), target, asynchronous :: data(:,:,:)
4654  integer, intent(IN) :: access
4655  integer, intent(OUT), optional :: err
4656  endsubroutine PDI_expose_INTEGER16_3D
4657  !=============================================================================
4658 
4659 
4660  !=============================================================================
4661  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4662  !! \param[IN] name the data name
4663  !! \param[IN] data the exposed data
4664  !! \param[IN] access whether the data can be accessed for read or write by
4665  !! PDI
4666  !! \param[OUT] err for error status (optional)
4667  subroutine PDI_expose_INTEGER16_4D(name, data, access, err)
4668  character(len=*), intent(IN) :: name
4669  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:)
4670  integer, intent(IN) :: access
4671  integer, intent(OUT), optional :: err
4672  endsubroutine PDI_expose_INTEGER16_4D
4673  !=============================================================================
4674 
4675 
4676  !=============================================================================
4677  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4678  !! \param[IN] name the data name
4679  !! \param[IN] data the exposed data
4680  !! \param[IN] access whether the data can be accessed for read or write by
4681  !! PDI
4682  !! \param[OUT] err for error status (optional)
4683  subroutine PDI_expose_INTEGER16_5D(name, data, access, err)
4684  character(len=*), intent(IN) :: name
4685  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:,:)
4686  integer, intent(IN) :: access
4687  integer, intent(OUT), optional :: err
4688  endsubroutine PDI_expose_INTEGER16_5D
4689  !=============================================================================
4690 
4691 
4692  !=============================================================================
4693  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4694  !! \param[IN] name the data name
4695  !! \param[IN] data the exposed data
4696  !! \param[IN] access whether the data can be accessed for read or write by
4697  !! PDI
4698  !! \param[OUT] err for error status (optional)
4699  subroutine PDI_expose_INTEGER16_6D(name, data, access, err)
4700  character(len=*), intent(IN) :: name
4701  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
4702  integer, intent(IN) :: access
4703  integer, intent(OUT), optional :: err
4704  endsubroutine PDI_expose_INTEGER16_6D
4705  !=============================================================================
4706 
4707 
4708  !=============================================================================
4709  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4710  !! \param[IN] name the data name
4711  !! \param[IN] data the exposed data
4712  !! \param[IN] access whether the data can be accessed for read or write by
4713  !! PDI
4714  !! \param[OUT] err for error status (optional)
4715  subroutine PDI_expose_INTEGER16_7D(name, data, access, err)
4716  character(len=*), intent(IN) :: name
4717  INTEGER(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
4718  integer, intent(IN) :: access
4719  integer, intent(OUT), optional :: err
4720  endsubroutine PDI_expose_INTEGER16_7D
4721  !=============================================================================
4722 
4723 
4724  !=============================================================================
4725  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4726  !! \param[IN] name the data name
4727  !! \param[IN] data the exposed data
4728  !! \param[IN] access whether the data can be accessed for read or write by
4729  !! PDI
4730  !! \param[OUT] err for error status (optional)
4731  subroutine PDI_expose_LOGICAL1_0D(name, data, access, err)
4732  character(len=*), intent(IN) :: name
4733  LOGICAL(KIND=1), target, asynchronous :: data
4734  integer, intent(IN) :: access
4735  integer, intent(OUT), optional :: err
4736  endsubroutine PDI_expose_LOGICAL1_0D
4737  !=============================================================================
4738 
4739 
4740  !=============================================================================
4741  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4742  !! \param[IN] name the data name
4743  !! \param[IN] data the exposed data
4744  !! \param[IN] access whether the data can be accessed for read or write by
4745  !! PDI
4746  !! \param[OUT] err for error status (optional)
4747  subroutine PDI_expose_LOGICAL1_1D(name, data, access, err)
4748  character(len=*), intent(IN) :: name
4749  LOGICAL(KIND=1), target, asynchronous :: data(:)
4750  integer, intent(IN) :: access
4751  integer, intent(OUT), optional :: err
4752  endsubroutine PDI_expose_LOGICAL1_1D
4753  !=============================================================================
4754 
4755 
4756  !=============================================================================
4757  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4758  !! \param[IN] name the data name
4759  !! \param[IN] data the exposed data
4760  !! \param[IN] access whether the data can be accessed for read or write by
4761  !! PDI
4762  !! \param[OUT] err for error status (optional)
4763  subroutine PDI_expose_LOGICAL1_2D(name, data, access, err)
4764  character(len=*), intent(IN) :: name
4765  LOGICAL(KIND=1), target, asynchronous :: data(:,:)
4766  integer, intent(IN) :: access
4767  integer, intent(OUT), optional :: err
4768  endsubroutine PDI_expose_LOGICAL1_2D
4769  !=============================================================================
4770 
4771 
4772  !=============================================================================
4773  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4774  !! \param[IN] name the data name
4775  !! \param[IN] data the exposed data
4776  !! \param[IN] access whether the data can be accessed for read or write by
4777  !! PDI
4778  !! \param[OUT] err for error status (optional)
4779  subroutine PDI_expose_LOGICAL1_3D(name, data, access, err)
4780  character(len=*), intent(IN) :: name
4781  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:)
4782  integer, intent(IN) :: access
4783  integer, intent(OUT), optional :: err
4784  endsubroutine PDI_expose_LOGICAL1_3D
4785  !=============================================================================
4786 
4787 
4788  !=============================================================================
4789  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4790  !! \param[IN] name the data name
4791  !! \param[IN] data the exposed data
4792  !! \param[IN] access whether the data can be accessed for read or write by
4793  !! PDI
4794  !! \param[OUT] err for error status (optional)
4795  subroutine PDI_expose_LOGICAL1_4D(name, data, access, err)
4796  character(len=*), intent(IN) :: name
4797  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:)
4798  integer, intent(IN) :: access
4799  integer, intent(OUT), optional :: err
4800  endsubroutine PDI_expose_LOGICAL1_4D
4801  !=============================================================================
4802 
4803 
4804  !=============================================================================
4805  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4806  !! \param[IN] name the data name
4807  !! \param[IN] data the exposed data
4808  !! \param[IN] access whether the data can be accessed for read or write by
4809  !! PDI
4810  !! \param[OUT] err for error status (optional)
4811  subroutine PDI_expose_LOGICAL1_5D(name, data, access, err)
4812  character(len=*), intent(IN) :: name
4813  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:,:)
4814  integer, intent(IN) :: access
4815  integer, intent(OUT), optional :: err
4816  endsubroutine PDI_expose_LOGICAL1_5D
4817  !=============================================================================
4818 
4819 
4820  !=============================================================================
4821  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4822  !! \param[IN] name the data name
4823  !! \param[IN] data the exposed data
4824  !! \param[IN] access whether the data can be accessed for read or write by
4825  !! PDI
4826  !! \param[OUT] err for error status (optional)
4827  subroutine PDI_expose_LOGICAL1_6D(name, data, access, err)
4828  character(len=*), intent(IN) :: name
4829  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:,:,:)
4830  integer, intent(IN) :: access
4831  integer, intent(OUT), optional :: err
4832  endsubroutine PDI_expose_LOGICAL1_6D
4833  !=============================================================================
4834 
4835 
4836  !=============================================================================
4837  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4838  !! \param[IN] name the data name
4839  !! \param[IN] data the exposed data
4840  !! \param[IN] access whether the data can be accessed for read or write by
4841  !! PDI
4842  !! \param[OUT] err for error status (optional)
4843  subroutine PDI_expose_LOGICAL1_7D(name, data, access, err)
4844  character(len=*), intent(IN) :: name
4845  LOGICAL(KIND=1), target, asynchronous :: data(:,:,:,:,:,:,:)
4846  integer, intent(IN) :: access
4847  integer, intent(OUT), optional :: err
4848  endsubroutine PDI_expose_LOGICAL1_7D
4849  !=============================================================================
4850 
4851 
4852  !=============================================================================
4853  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4854  !! \param[IN] name the data name
4855  !! \param[IN] data the exposed data
4856  !! \param[IN] access whether the data can be accessed for read or write by
4857  !! PDI
4858  !! \param[OUT] err for error status (optional)
4859  subroutine PDI_expose_LOGICAL2_0D(name, data, access, err)
4860  character(len=*), intent(IN) :: name
4861  LOGICAL(KIND=2), target, asynchronous :: data
4862  integer, intent(IN) :: access
4863  integer, intent(OUT), optional :: err
4864  endsubroutine PDI_expose_LOGICAL2_0D
4865  !=============================================================================
4866 
4867 
4868  !=============================================================================
4869  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4870  !! \param[IN] name the data name
4871  !! \param[IN] data the exposed data
4872  !! \param[IN] access whether the data can be accessed for read or write by
4873  !! PDI
4874  !! \param[OUT] err for error status (optional)
4875  subroutine PDI_expose_LOGICAL2_1D(name, data, access, err)
4876  character(len=*), intent(IN) :: name
4877  LOGICAL(KIND=2), target, asynchronous :: data(:)
4878  integer, intent(IN) :: access
4879  integer, intent(OUT), optional :: err
4880  endsubroutine PDI_expose_LOGICAL2_1D
4881  !=============================================================================
4882 
4883 
4884  !=============================================================================
4885  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4886  !! \param[IN] name the data name
4887  !! \param[IN] data the exposed data
4888  !! \param[IN] access whether the data can be accessed for read or write by
4889  !! PDI
4890  !! \param[OUT] err for error status (optional)
4891  subroutine PDI_expose_LOGICAL2_2D(name, data, access, err)
4892  character(len=*), intent(IN) :: name
4893  LOGICAL(KIND=2), target, asynchronous :: data(:,:)
4894  integer, intent(IN) :: access
4895  integer, intent(OUT), optional :: err
4896  endsubroutine PDI_expose_LOGICAL2_2D
4897  !=============================================================================
4898 
4899 
4900  !=============================================================================
4901  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4902  !! \param[IN] name the data name
4903  !! \param[IN] data the exposed data
4904  !! \param[IN] access whether the data can be accessed for read or write by
4905  !! PDI
4906  !! \param[OUT] err for error status (optional)
4907  subroutine PDI_expose_LOGICAL2_3D(name, data, access, err)
4908  character(len=*), intent(IN) :: name
4909  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:)
4910  integer, intent(IN) :: access
4911  integer, intent(OUT), optional :: err
4912  endsubroutine PDI_expose_LOGICAL2_3D
4913  !=============================================================================
4914 
4915 
4916  !=============================================================================
4917  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4918  !! \param[IN] name the data name
4919  !! \param[IN] data the exposed data
4920  !! \param[IN] access whether the data can be accessed for read or write by
4921  !! PDI
4922  !! \param[OUT] err for error status (optional)
4923  subroutine PDI_expose_LOGICAL2_4D(name, data, access, err)
4924  character(len=*), intent(IN) :: name
4925  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:)
4926  integer, intent(IN) :: access
4927  integer, intent(OUT), optional :: err
4928  endsubroutine PDI_expose_LOGICAL2_4D
4929  !=============================================================================
4930 
4931 
4932  !=============================================================================
4933  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4934  !! \param[IN] name the data name
4935  !! \param[IN] data the exposed data
4936  !! \param[IN] access whether the data can be accessed for read or write by
4937  !! PDI
4938  !! \param[OUT] err for error status (optional)
4939  subroutine PDI_expose_LOGICAL2_5D(name, data, access, err)
4940  character(len=*), intent(IN) :: name
4941  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:,:)
4942  integer, intent(IN) :: access
4943  integer, intent(OUT), optional :: err
4944  endsubroutine PDI_expose_LOGICAL2_5D
4945  !=============================================================================
4946 
4947 
4948  !=============================================================================
4949  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4950  !! \param[IN] name the data name
4951  !! \param[IN] data the exposed data
4952  !! \param[IN] access whether the data can be accessed for read or write by
4953  !! PDI
4954  !! \param[OUT] err for error status (optional)
4955  subroutine PDI_expose_LOGICAL2_6D(name, data, access, err)
4956  character(len=*), intent(IN) :: name
4957  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:,:,:)
4958  integer, intent(IN) :: access
4959  integer, intent(OUT), optional :: err
4960  endsubroutine PDI_expose_LOGICAL2_6D
4961  !=============================================================================
4962 
4963 
4964  !=============================================================================
4965  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4966  !! \param[IN] name the data name
4967  !! \param[IN] data the exposed data
4968  !! \param[IN] access whether the data can be accessed for read or write by
4969  !! PDI
4970  !! \param[OUT] err for error status (optional)
4971  subroutine PDI_expose_LOGICAL2_7D(name, data, access, err)
4972  character(len=*), intent(IN) :: name
4973  LOGICAL(KIND=2), target, asynchronous :: data(:,:,:,:,:,:,:)
4974  integer, intent(IN) :: access
4975  integer, intent(OUT), optional :: err
4976  endsubroutine PDI_expose_LOGICAL2_7D
4977  !=============================================================================
4978 
4979 
4980  !=============================================================================
4981  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4982  !! \param[IN] name the data name
4983  !! \param[IN] data the exposed data
4984  !! \param[IN] access whether the data can be accessed for read or write by
4985  !! PDI
4986  !! \param[OUT] err for error status (optional)
4987  subroutine PDI_expose_LOGICAL4_0D(name, data, access, err)
4988  character(len=*), intent(IN) :: name
4989  LOGICAL(KIND=4), target, asynchronous :: data
4990  integer, intent(IN) :: access
4991  integer, intent(OUT), optional :: err
4992  endsubroutine PDI_expose_LOGICAL4_0D
4993  !=============================================================================
4994 
4995 
4996  !=============================================================================
4997  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4998  !! \param[IN] name the data name
4999  !! \param[IN] data the exposed data
5000  !! \param[IN] access whether the data can be accessed for read or write by
5001  !! PDI
5002  !! \param[OUT] err for error status (optional)
5003  subroutine PDI_expose_LOGICAL4_1D(name, data, access, err)
5004  character(len=*), intent(IN) :: name
5005  LOGICAL(KIND=4), target, asynchronous :: data(:)
5006  integer, intent(IN) :: access
5007  integer, intent(OUT), optional :: err
5008  endsubroutine PDI_expose_LOGICAL4_1D
5009  !=============================================================================
5010 
5011 
5012  !=============================================================================
5013  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5014  !! \param[IN] name the data name
5015  !! \param[IN] data the exposed data
5016  !! \param[IN] access whether the data can be accessed for read or write by
5017  !! PDI
5018  !! \param[OUT] err for error status (optional)
5019  subroutine PDI_expose_LOGICAL4_2D(name, data, access, err)
5020  character(len=*), intent(IN) :: name
5021  LOGICAL(KIND=4), target, asynchronous :: data(:,:)
5022  integer, intent(IN) :: access
5023  integer, intent(OUT), optional :: err
5024  endsubroutine PDI_expose_LOGICAL4_2D
5025  !=============================================================================
5026 
5027 
5028  !=============================================================================
5029  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5030  !! \param[IN] name the data name
5031  !! \param[IN] data the exposed data
5032  !! \param[IN] access whether the data can be accessed for read or write by
5033  !! PDI
5034  !! \param[OUT] err for error status (optional)
5035  subroutine PDI_expose_LOGICAL4_3D(name, data, access, err)
5036  character(len=*), intent(IN) :: name
5037  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:)
5038  integer, intent(IN) :: access
5039  integer, intent(OUT), optional :: err
5040  endsubroutine PDI_expose_LOGICAL4_3D
5041  !=============================================================================
5042 
5043 
5044  !=============================================================================
5045  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5046  !! \param[IN] name the data name
5047  !! \param[IN] data the exposed data
5048  !! \param[IN] access whether the data can be accessed for read or write by
5049  !! PDI
5050  !! \param[OUT] err for error status (optional)
5051  subroutine PDI_expose_LOGICAL4_4D(name, data, access, err)
5052  character(len=*), intent(IN) :: name
5053  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:)
5054  integer, intent(IN) :: access
5055  integer, intent(OUT), optional :: err
5056  endsubroutine PDI_expose_LOGICAL4_4D
5057  !=============================================================================
5058 
5059 
5060  !=============================================================================
5061  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5062  !! \param[IN] name the data name
5063  !! \param[IN] data the exposed data
5064  !! \param[IN] access whether the data can be accessed for read or write by
5065  !! PDI
5066  !! \param[OUT] err for error status (optional)
5067  subroutine PDI_expose_LOGICAL4_5D(name, data, access, err)
5068  character(len=*), intent(IN) :: name
5069  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:,:)
5070  integer, intent(IN) :: access
5071  integer, intent(OUT), optional :: err
5072  endsubroutine PDI_expose_LOGICAL4_5D
5073  !=============================================================================
5074 
5075 
5076  !=============================================================================
5077  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5078  !! \param[IN] name the data name
5079  !! \param[IN] data the exposed data
5080  !! \param[IN] access whether the data can be accessed for read or write by
5081  !! PDI
5082  !! \param[OUT] err for error status (optional)
5083  subroutine PDI_expose_LOGICAL4_6D(name, data, access, err)
5084  character(len=*), intent(IN) :: name
5085  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
5086  integer, intent(IN) :: access
5087  integer, intent(OUT), optional :: err
5088  endsubroutine PDI_expose_LOGICAL4_6D
5089  !=============================================================================
5090 
5091 
5092  !=============================================================================
5093  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5094  !! \param[IN] name the data name
5095  !! \param[IN] data the exposed data
5096  !! \param[IN] access whether the data can be accessed for read or write by
5097  !! PDI
5098  !! \param[OUT] err for error status (optional)
5099  subroutine PDI_expose_LOGICAL4_7D(name, data, access, err)
5100  character(len=*), intent(IN) :: name
5101  LOGICAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
5102  integer, intent(IN) :: access
5103  integer, intent(OUT), optional :: err
5104  endsubroutine PDI_expose_LOGICAL4_7D
5105  !=============================================================================
5106 
5107 
5108  !=============================================================================
5109  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5110  !! \param[IN] name the data name
5111  !! \param[IN] data the exposed data
5112  !! \param[IN] access whether the data can be accessed for read or write by
5113  !! PDI
5114  !! \param[OUT] err for error status (optional)
5115  subroutine PDI_expose_LOGICAL8_0D(name, data, access, err)
5116  character(len=*), intent(IN) :: name
5117  LOGICAL(KIND=8), target, asynchronous :: data
5118  integer, intent(IN) :: access
5119  integer, intent(OUT), optional :: err
5120  endsubroutine PDI_expose_LOGICAL8_0D
5121  !=============================================================================
5122 
5123 
5124  !=============================================================================
5125  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5126  !! \param[IN] name the data name
5127  !! \param[IN] data the exposed data
5128  !! \param[IN] access whether the data can be accessed for read or write by
5129  !! PDI
5130  !! \param[OUT] err for error status (optional)
5131  subroutine PDI_expose_LOGICAL8_1D(name, data, access, err)
5132  character(len=*), intent(IN) :: name
5133  LOGICAL(KIND=8), target, asynchronous :: data(:)
5134  integer, intent(IN) :: access
5135  integer, intent(OUT), optional :: err
5136  endsubroutine PDI_expose_LOGICAL8_1D
5137  !=============================================================================
5138 
5139 
5140  !=============================================================================
5141  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5142  !! \param[IN] name the data name
5143  !! \param[IN] data the exposed data
5144  !! \param[IN] access whether the data can be accessed for read or write by
5145  !! PDI
5146  !! \param[OUT] err for error status (optional)
5147  subroutine PDI_expose_LOGICAL8_2D(name, data, access, err)
5148  character(len=*), intent(IN) :: name
5149  LOGICAL(KIND=8), target, asynchronous :: data(:,:)
5150  integer, intent(IN) :: access
5151  integer, intent(OUT), optional :: err
5152  endsubroutine PDI_expose_LOGICAL8_2D
5153  !=============================================================================
5154 
5155 
5156  !=============================================================================
5157  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5158  !! \param[IN] name the data name
5159  !! \param[IN] data the exposed data
5160  !! \param[IN] access whether the data can be accessed for read or write by
5161  !! PDI
5162  !! \param[OUT] err for error status (optional)
5163  subroutine PDI_expose_LOGICAL8_3D(name, data, access, err)
5164  character(len=*), intent(IN) :: name
5165  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:)
5166  integer, intent(IN) :: access
5167  integer, intent(OUT), optional :: err
5168  endsubroutine PDI_expose_LOGICAL8_3D
5169  !=============================================================================
5170 
5171 
5172  !=============================================================================
5173  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5174  !! \param[IN] name the data name
5175  !! \param[IN] data the exposed data
5176  !! \param[IN] access whether the data can be accessed for read or write by
5177  !! PDI
5178  !! \param[OUT] err for error status (optional)
5179  subroutine PDI_expose_LOGICAL8_4D(name, data, access, err)
5180  character(len=*), intent(IN) :: name
5181  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:)
5182  integer, intent(IN) :: access
5183  integer, intent(OUT), optional :: err
5184  endsubroutine PDI_expose_LOGICAL8_4D
5185  !=============================================================================
5186 
5187 
5188  !=============================================================================
5189  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5190  !! \param[IN] name the data name
5191  !! \param[IN] data the exposed data
5192  !! \param[IN] access whether the data can be accessed for read or write by
5193  !! PDI
5194  !! \param[OUT] err for error status (optional)
5195  subroutine PDI_expose_LOGICAL8_5D(name, data, access, err)
5196  character(len=*), intent(IN) :: name
5197  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:,:)
5198  integer, intent(IN) :: access
5199  integer, intent(OUT), optional :: err
5200  endsubroutine PDI_expose_LOGICAL8_5D
5201  !=============================================================================
5202 
5203 
5204  !=============================================================================
5205  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5206  !! \param[IN] name the data name
5207  !! \param[IN] data the exposed data
5208  !! \param[IN] access whether the data can be accessed for read or write by
5209  !! PDI
5210  !! \param[OUT] err for error status (optional)
5211  subroutine PDI_expose_LOGICAL8_6D(name, data, access, err)
5212  character(len=*), intent(IN) :: name
5213  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
5214  integer, intent(IN) :: access
5215  integer, intent(OUT), optional :: err
5216  endsubroutine PDI_expose_LOGICAL8_6D
5217  !=============================================================================
5218 
5219 
5220  !=============================================================================
5221  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5222  !! \param[IN] name the data name
5223  !! \param[IN] data the exposed data
5224  !! \param[IN] access whether the data can be accessed for read or write by
5225  !! PDI
5226  !! \param[OUT] err for error status (optional)
5227  subroutine PDI_expose_LOGICAL8_7D(name, data, access, err)
5228  character(len=*), intent(IN) :: name
5229  LOGICAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
5230  integer, intent(IN) :: access
5231  integer, intent(OUT), optional :: err
5232  endsubroutine PDI_expose_LOGICAL8_7D
5233  !=============================================================================
5234 
5235 
5236  !=============================================================================
5237  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5238  !! \param[IN] name the data name
5239  !! \param[IN] data the exposed data
5240  !! \param[IN] access whether the data can be accessed for read or write by
5241  !! PDI
5242  !! \param[OUT] err for error status (optional)
5243  subroutine PDI_expose_LOGICAL16_0D(name, data, access, err)
5244  character(len=*), intent(IN) :: name
5245  LOGICAL(KIND=16), target, asynchronous :: data
5246  integer, intent(IN) :: access
5247  integer, intent(OUT), optional :: err
5248  endsubroutine PDI_expose_LOGICAL16_0D
5249  !=============================================================================
5250 
5251 
5252  !=============================================================================
5253  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5254  !! \param[IN] name the data name
5255  !! \param[IN] data the exposed data
5256  !! \param[IN] access whether the data can be accessed for read or write by
5257  !! PDI
5258  !! \param[OUT] err for error status (optional)
5259  subroutine PDI_expose_LOGICAL16_1D(name, data, access, err)
5260  character(len=*), intent(IN) :: name
5261  LOGICAL(KIND=16), target, asynchronous :: data(:)
5262  integer, intent(IN) :: access
5263  integer, intent(OUT), optional :: err
5264  endsubroutine PDI_expose_LOGICAL16_1D
5265  !=============================================================================
5266 
5267 
5268  !=============================================================================
5269  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5270  !! \param[IN] name the data name
5271  !! \param[IN] data the exposed data
5272  !! \param[IN] access whether the data can be accessed for read or write by
5273  !! PDI
5274  !! \param[OUT] err for error status (optional)
5275  subroutine PDI_expose_LOGICAL16_2D(name, data, access, err)
5276  character(len=*), intent(IN) :: name
5277  LOGICAL(KIND=16), target, asynchronous :: data(:,:)
5278  integer, intent(IN) :: access
5279  integer, intent(OUT), optional :: err
5280  endsubroutine PDI_expose_LOGICAL16_2D
5281  !=============================================================================
5282 
5283 
5284  !=============================================================================
5285  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5286  !! \param[IN] name the data name
5287  !! \param[IN] data the exposed data
5288  !! \param[IN] access whether the data can be accessed for read or write by
5289  !! PDI
5290  !! \param[OUT] err for error status (optional)
5291  subroutine PDI_expose_LOGICAL16_3D(name, data, access, err)
5292  character(len=*), intent(IN) :: name
5293  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:)
5294  integer, intent(IN) :: access
5295  integer, intent(OUT), optional :: err
5296  endsubroutine PDI_expose_LOGICAL16_3D
5297  !=============================================================================
5298 
5299 
5300  !=============================================================================
5301  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5302  !! \param[IN] name the data name
5303  !! \param[IN] data the exposed data
5304  !! \param[IN] access whether the data can be accessed for read or write by
5305  !! PDI
5306  !! \param[OUT] err for error status (optional)
5307  subroutine PDI_expose_LOGICAL16_4D(name, data, access, err)
5308  character(len=*), intent(IN) :: name
5309  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:)
5310  integer, intent(IN) :: access
5311  integer, intent(OUT), optional :: err
5312  endsubroutine PDI_expose_LOGICAL16_4D
5313  !=============================================================================
5314 
5315 
5316  !=============================================================================
5317  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5318  !! \param[IN] name the data name
5319  !! \param[IN] data the exposed data
5320  !! \param[IN] access whether the data can be accessed for read or write by
5321  !! PDI
5322  !! \param[OUT] err for error status (optional)
5323  subroutine PDI_expose_LOGICAL16_5D(name, data, access, err)
5324  character(len=*), intent(IN) :: name
5325  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:,:)
5326  integer, intent(IN) :: access
5327  integer, intent(OUT), optional :: err
5328  endsubroutine PDI_expose_LOGICAL16_5D
5329  !=============================================================================
5330 
5331 
5332  !=============================================================================
5333  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5334  !! \param[IN] name the data name
5335  !! \param[IN] data the exposed data
5336  !! \param[IN] access whether the data can be accessed for read or write by
5337  !! PDI
5338  !! \param[OUT] err for error status (optional)
5339  subroutine PDI_expose_LOGICAL16_6D(name, data, access, err)
5340  character(len=*), intent(IN) :: name
5341  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
5342  integer, intent(IN) :: access
5343  integer, intent(OUT), optional :: err
5344  endsubroutine PDI_expose_LOGICAL16_6D
5345  !=============================================================================
5346 
5347 
5348  !=============================================================================
5349  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5350  !! \param[IN] name the data name
5351  !! \param[IN] data the exposed data
5352  !! \param[IN] access whether the data can be accessed for read or write by
5353  !! PDI
5354  !! \param[OUT] err for error status (optional)
5355  subroutine PDI_expose_LOGICAL16_7D(name, data, access, err)
5356  character(len=*), intent(IN) :: name
5357  LOGICAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
5358  integer, intent(IN) :: access
5359  integer, intent(OUT), optional :: err
5360  endsubroutine PDI_expose_LOGICAL16_7D
5361  !=============================================================================
5362 
5363 
5364  !=============================================================================
5365  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5366  !! \param[IN] name the data name
5367  !! \param[IN] data the exposed data
5368  !! \param[IN] access whether the data can be accessed for read or write by
5369  !! PDI
5370  !! \param[OUT] err for error status (optional)
5371  subroutine PDI_expose_REAL4_0D(name, data, access, err)
5372  character(len=*), intent(IN) :: name
5373  REAL(KIND=4), target, asynchronous :: data
5374  integer, intent(IN) :: access
5375  integer, intent(OUT), optional :: err
5376  endsubroutine PDI_expose_REAL4_0D
5377  !=============================================================================
5378 
5379 
5380  !=============================================================================
5381  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5382  !! \param[IN] name the data name
5383  !! \param[IN] data the exposed data
5384  !! \param[IN] access whether the data can be accessed for read or write by
5385  !! PDI
5386  !! \param[OUT] err for error status (optional)
5387  subroutine PDI_expose_REAL4_1D(name, data, access, err)
5388  character(len=*), intent(IN) :: name
5389  REAL(KIND=4), target, asynchronous :: data(:)
5390  integer, intent(IN) :: access
5391  integer, intent(OUT), optional :: err
5392  endsubroutine PDI_expose_REAL4_1D
5393  !=============================================================================
5394 
5395 
5396  !=============================================================================
5397  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5398  !! \param[IN] name the data name
5399  !! \param[IN] data the exposed data
5400  !! \param[IN] access whether the data can be accessed for read or write by
5401  !! PDI
5402  !! \param[OUT] err for error status (optional)
5403  subroutine PDI_expose_REAL4_2D(name, data, access, err)
5404  character(len=*), intent(IN) :: name
5405  REAL(KIND=4), target, asynchronous :: data(:,:)
5406  integer, intent(IN) :: access
5407  integer, intent(OUT), optional :: err
5408  endsubroutine PDI_expose_REAL4_2D
5409  !=============================================================================
5410 
5411 
5412  !=============================================================================
5413  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5414  !! \param[IN] name the data name
5415  !! \param[IN] data the exposed data
5416  !! \param[IN] access whether the data can be accessed for read or write by
5417  !! PDI
5418  !! \param[OUT] err for error status (optional)
5419  subroutine PDI_expose_REAL4_3D(name, data, access, err)
5420  character(len=*), intent(IN) :: name
5421  REAL(KIND=4), target, asynchronous :: data(:,:,:)
5422  integer, intent(IN) :: access
5423  integer, intent(OUT), optional :: err
5424  endsubroutine PDI_expose_REAL4_3D
5425  !=============================================================================
5426 
5427 
5428  !=============================================================================
5429  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5430  !! \param[IN] name the data name
5431  !! \param[IN] data the exposed data
5432  !! \param[IN] access whether the data can be accessed for read or write by
5433  !! PDI
5434  !! \param[OUT] err for error status (optional)
5435  subroutine PDI_expose_REAL4_4D(name, data, access, err)
5436  character(len=*), intent(IN) :: name
5437  REAL(KIND=4), target, asynchronous :: data(:,:,:,:)
5438  integer, intent(IN) :: access
5439  integer, intent(OUT), optional :: err
5440  endsubroutine PDI_expose_REAL4_4D
5441  !=============================================================================
5442 
5443 
5444  !=============================================================================
5445  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5446  !! \param[IN] name the data name
5447  !! \param[IN] data the exposed data
5448  !! \param[IN] access whether the data can be accessed for read or write by
5449  !! PDI
5450  !! \param[OUT] err for error status (optional)
5451  subroutine PDI_expose_REAL4_5D(name, data, access, err)
5452  character(len=*), intent(IN) :: name
5453  REAL(KIND=4), target, asynchronous :: data(:,:,:,:,:)
5454  integer, intent(IN) :: access
5455  integer, intent(OUT), optional :: err
5456  endsubroutine PDI_expose_REAL4_5D
5457  !=============================================================================
5458 
5459 
5460  !=============================================================================
5461  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5462  !! \param[IN] name the data name
5463  !! \param[IN] data the exposed data
5464  !! \param[IN] access whether the data can be accessed for read or write by
5465  !! PDI
5466  !! \param[OUT] err for error status (optional)
5467  subroutine PDI_expose_REAL4_6D(name, data, access, err)
5468  character(len=*), intent(IN) :: name
5469  REAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:)
5470  integer, intent(IN) :: access
5471  integer, intent(OUT), optional :: err
5472  endsubroutine PDI_expose_REAL4_6D
5473  !=============================================================================
5474 
5475 
5476  !=============================================================================
5477  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5478  !! \param[IN] name the data name
5479  !! \param[IN] data the exposed data
5480  !! \param[IN] access whether the data can be accessed for read or write by
5481  !! PDI
5482  !! \param[OUT] err for error status (optional)
5483  subroutine PDI_expose_REAL4_7D(name, data, access, err)
5484  character(len=*), intent(IN) :: name
5485  REAL(KIND=4), target, asynchronous :: data(:,:,:,:,:,:,:)
5486  integer, intent(IN) :: access
5487  integer, intent(OUT), optional :: err
5488  endsubroutine PDI_expose_REAL4_7D
5489  !=============================================================================
5490 
5491 
5492  !=============================================================================
5493  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5494  !! \param[IN] name the data name
5495  !! \param[IN] data the exposed data
5496  !! \param[IN] access whether the data can be accessed for read or write by
5497  !! PDI
5498  !! \param[OUT] err for error status (optional)
5499  subroutine PDI_expose_REAL8_0D(name, data, access, err)
5500  character(len=*), intent(IN) :: name
5501  REAL(KIND=8), target, asynchronous :: data
5502  integer, intent(IN) :: access
5503  integer, intent(OUT), optional :: err
5504  endsubroutine PDI_expose_REAL8_0D
5505  !=============================================================================
5506 
5507 
5508  !=============================================================================
5509  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5510  !! \param[IN] name the data name
5511  !! \param[IN] data the exposed data
5512  !! \param[IN] access whether the data can be accessed for read or write by
5513  !! PDI
5514  !! \param[OUT] err for error status (optional)
5515  subroutine PDI_expose_REAL8_1D(name, data, access, err)
5516  character(len=*), intent(IN) :: name
5517  REAL(KIND=8), target, asynchronous :: data(:)
5518  integer, intent(IN) :: access
5519  integer, intent(OUT), optional :: err
5520  endsubroutine PDI_expose_REAL8_1D
5521  !=============================================================================
5522 
5523 
5524  !=============================================================================
5525  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5526  !! \param[IN] name the data name
5527  !! \param[IN] data the exposed data
5528  !! \param[IN] access whether the data can be accessed for read or write by
5529  !! PDI
5530  !! \param[OUT] err for error status (optional)
5531  subroutine PDI_expose_REAL8_2D(name, data, access, err)
5532  character(len=*), intent(IN) :: name
5533  REAL(KIND=8), target, asynchronous :: data(:,:)
5534  integer, intent(IN) :: access
5535  integer, intent(OUT), optional :: err
5536  endsubroutine PDI_expose_REAL8_2D
5537  !=============================================================================
5538 
5539 
5540  !=============================================================================
5541  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5542  !! \param[IN] name the data name
5543  !! \param[IN] data the exposed data
5544  !! \param[IN] access whether the data can be accessed for read or write by
5545  !! PDI
5546  !! \param[OUT] err for error status (optional)
5547  subroutine PDI_expose_REAL8_3D(name, data, access, err)
5548  character(len=*), intent(IN) :: name
5549  REAL(KIND=8), target, asynchronous :: data(:,:,:)
5550  integer, intent(IN) :: access
5551  integer, intent(OUT), optional :: err
5552  endsubroutine PDI_expose_REAL8_3D
5553  !=============================================================================
5554 
5555 
5556  !=============================================================================
5557  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5558  !! \param[IN] name the data name
5559  !! \param[IN] data the exposed data
5560  !! \param[IN] access whether the data can be accessed for read or write by
5561  !! PDI
5562  !! \param[OUT] err for error status (optional)
5563  subroutine PDI_expose_REAL8_4D(name, data, access, err)
5564  character(len=*), intent(IN) :: name
5565  REAL(KIND=8), target, asynchronous :: data(:,:,:,:)
5566  integer, intent(IN) :: access
5567  integer, intent(OUT), optional :: err
5568  endsubroutine PDI_expose_REAL8_4D
5569  !=============================================================================
5570 
5571 
5572  !=============================================================================
5573  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5574  !! \param[IN] name the data name
5575  !! \param[IN] data the exposed data
5576  !! \param[IN] access whether the data can be accessed for read or write by
5577  !! PDI
5578  !! \param[OUT] err for error status (optional)
5579  subroutine PDI_expose_REAL8_5D(name, data, access, err)
5580  character(len=*), intent(IN) :: name
5581  REAL(KIND=8), target, asynchronous :: data(:,:,:,:,:)
5582  integer, intent(IN) :: access
5583  integer, intent(OUT), optional :: err
5584  endsubroutine PDI_expose_REAL8_5D
5585  !=============================================================================
5586 
5587 
5588  !=============================================================================
5589  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5590  !! \param[IN] name the data name
5591  !! \param[IN] data the exposed data
5592  !! \param[IN] access whether the data can be accessed for read or write by
5593  !! PDI
5594  !! \param[OUT] err for error status (optional)
5595  subroutine PDI_expose_REAL8_6D(name, data, access, err)
5596  character(len=*), intent(IN) :: name
5597  REAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:)
5598  integer, intent(IN) :: access
5599  integer, intent(OUT), optional :: err
5600  endsubroutine PDI_expose_REAL8_6D
5601  !=============================================================================
5602 
5603 
5604  !=============================================================================
5605  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5606  !! \param[IN] name the data name
5607  !! \param[IN] data the exposed data
5608  !! \param[IN] access whether the data can be accessed for read or write by
5609  !! PDI
5610  !! \param[OUT] err for error status (optional)
5611  subroutine PDI_expose_REAL8_7D(name, data, access, err)
5612  character(len=*), intent(IN) :: name
5613  REAL(KIND=8), target, asynchronous :: data(:,:,:,:,:,:,:)
5614  integer, intent(IN) :: access
5615  integer, intent(OUT), optional :: err
5616  endsubroutine PDI_expose_REAL8_7D
5617  !=============================================================================
5618 
5619 
5620  !=============================================================================
5621  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5622  !! \param[IN] name the data name
5623  !! \param[IN] data the exposed data
5624  !! \param[IN] access whether the data can be accessed for read or write by
5625  !! PDI
5626  !! \param[OUT] err for error status (optional)
5627  subroutine PDI_expose_REAL16_0D(name, data, access, err)
5628  character(len=*), intent(IN) :: name
5629  REAL(KIND=16), target, asynchronous :: data
5630  integer, intent(IN) :: access
5631  integer, intent(OUT), optional :: err
5632  endsubroutine PDI_expose_REAL16_0D
5633  !=============================================================================
5634 
5635 
5636  !=============================================================================
5637  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5638  !! \param[IN] name the data name
5639  !! \param[IN] data the exposed data
5640  !! \param[IN] access whether the data can be accessed for read or write by
5641  !! PDI
5642  !! \param[OUT] err for error status (optional)
5643  subroutine PDI_expose_REAL16_1D(name, data, access, err)
5644  character(len=*), intent(IN) :: name
5645  REAL(KIND=16), target, asynchronous :: data(:)
5646  integer, intent(IN) :: access
5647  integer, intent(OUT), optional :: err
5648  endsubroutine PDI_expose_REAL16_1D
5649  !=============================================================================
5650 
5651 
5652  !=============================================================================
5653  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5654  !! \param[IN] name the data name
5655  !! \param[IN] data the exposed data
5656  !! \param[IN] access whether the data can be accessed for read or write by
5657  !! PDI
5658  !! \param[OUT] err for error status (optional)
5659  subroutine PDI_expose_REAL16_2D(name, data, access, err)
5660  character(len=*), intent(IN) :: name
5661  REAL(KIND=16), target, asynchronous :: data(:,:)
5662  integer, intent(IN) :: access
5663  integer, intent(OUT), optional :: err
5664  endsubroutine PDI_expose_REAL16_2D
5665  !=============================================================================
5666 
5667 
5668  !=============================================================================
5669  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5670  !! \param[IN] name the data name
5671  !! \param[IN] data the exposed data
5672  !! \param[IN] access whether the data can be accessed for read or write by
5673  !! PDI
5674  !! \param[OUT] err for error status (optional)
5675  subroutine PDI_expose_REAL16_3D(name, data, access, err)
5676  character(len=*), intent(IN) :: name
5677  REAL(KIND=16), target, asynchronous :: data(:,:,:)
5678  integer, intent(IN) :: access
5679  integer, intent(OUT), optional :: err
5680  endsubroutine PDI_expose_REAL16_3D
5681  !=============================================================================
5682 
5683 
5684  !=============================================================================
5685  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5686  !! \param[IN] name the data name
5687  !! \param[IN] data the exposed data
5688  !! \param[IN] access whether the data can be accessed for read or write by
5689  !! PDI
5690  !! \param[OUT] err for error status (optional)
5691  subroutine PDI_expose_REAL16_4D(name, data, access, err)
5692  character(len=*), intent(IN) :: name
5693  REAL(KIND=16), target, asynchronous :: data(:,:,:,:)
5694  integer, intent(IN) :: access
5695  integer, intent(OUT), optional :: err
5696  endsubroutine PDI_expose_REAL16_4D
5697  !=============================================================================
5698 
5699 
5700  !=============================================================================
5701  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5702  !! \param[IN] name the data name
5703  !! \param[IN] data the exposed data
5704  !! \param[IN] access whether the data can be accessed for read or write by
5705  !! PDI
5706  !! \param[OUT] err for error status (optional)
5707  subroutine PDI_expose_REAL16_5D(name, data, access, err)
5708  character(len=*), intent(IN) :: name
5709  REAL(KIND=16), target, asynchronous :: data(:,:,:,:,:)
5710  integer, intent(IN) :: access
5711  integer, intent(OUT), optional :: err
5712  endsubroutine PDI_expose_REAL16_5D
5713  !=============================================================================
5714 
5715 
5716  !=============================================================================
5717  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5718  !! \param[IN] name the data name
5719  !! \param[IN] data the exposed data
5720  !! \param[IN] access whether the data can be accessed for read or write by
5721  !! PDI
5722  !! \param[OUT] err for error status (optional)
5723  subroutine PDI_expose_REAL16_6D(name, data, access, err)
5724  character(len=*), intent(IN) :: name
5725  REAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:)
5726  integer, intent(IN) :: access
5727  integer, intent(OUT), optional :: err
5728  endsubroutine PDI_expose_REAL16_6D
5729  !=============================================================================
5730 
5731 
5732  !=============================================================================
5733  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5734  !! \param[IN] name the data name
5735  !! \param[IN] data the exposed data
5736  !! \param[IN] access whether the data can be accessed for read or write by
5737  !! PDI
5738  !! \param[OUT] err for error status (optional)
5739  subroutine PDI_expose_REAL16_7D(name, data, access, err)
5740  character(len=*), intent(IN) :: name
5741  REAL(KIND=16), target, asynchronous :: data(:,:,:,:,:,:,:)
5742  integer, intent(IN) :: access
5743  integer, intent(OUT), optional :: err
5744  endsubroutine PDI_expose_REAL16_7D
5745  !=============================================================================
5746 
5747 endinterface PDI_expose
5748 
5749 
5750 interface PDI_access
5751 
5752  !=============================================================================
5753  !< requests for PDI to access a data buffer.
5754  !! \param[IN] name the data name
5755  !! \param[OUT] ptr_data pointer associated with the accessd data
5756  !! \param[IN] access whether the data can be accessed for read or write by
5757  !! PDI
5758  !! \param[OUT] err for error status (optional)
5759  subroutine PDI_access_CHARACTER1_0D(name, ptr_data, access, &
5760  err)
5761  character(len=*), intent(IN) :: name
5762  CHARACTER(KIND=1), pointer &
5763  :: ptr_data
5764  integer, intent(IN) :: access
5765  integer, intent(OUT), optional :: err
5766  endsubroutine PDI_access_CHARACTER1_0D
5767  !=============================================================================
5768 
5769 
5770  !=============================================================================
5771  !< requests for PDI to access a data buffer.
5772  !! \param[IN] name the data name
5773  !! \param[OUT] ptr_data pointer associated with the accessd data
5774  !! \param[IN] access whether the data can be accessed for read or write by
5775  !! PDI
5776  !! \param[OUT] err for error status (optional)
5777  subroutine PDI_access_CHARACTER1_1D(name, ptr_data, access, &
5778  ptr_data_shape, &
5779  err)
5780  character(len=*), intent(IN) :: name
5781  CHARACTER(KIND=1), pointer &
5782  , contiguous &
5783  :: ptr_data(:)
5784  integer, intent(IN) :: access
5785  integer, intent(IN) :: ptr_data_shape(1)
5786  integer, intent(OUT), optional :: err
5787  endsubroutine PDI_access_CHARACTER1_1D
5788  !=============================================================================
5789 
5790 
5791  !=============================================================================
5792  !< requests for PDI to access a data buffer.
5793  !! \param[IN] name the data name
5794  !! \param[OUT] ptr_data pointer associated with the accessd data
5795  !! \param[IN] access whether the data can be accessed for read or write by
5796  !! PDI
5797  !! \param[OUT] err for error status (optional)
5798  subroutine PDI_access_CHARACTER1_2D(name, ptr_data, access, &
5799  ptr_data_shape, &
5800  err)
5801  character(len=*), intent(IN) :: name
5802  CHARACTER(KIND=1), pointer &
5803  , contiguous &
5804  :: ptr_data(:,:)
5805  integer, intent(IN) :: access
5806  integer, intent(IN) :: ptr_data_shape(2)
5807  integer, intent(OUT), optional :: err
5808  endsubroutine PDI_access_CHARACTER1_2D
5809  !=============================================================================
5810 
5811 
5812  !=============================================================================
5813  !< requests for PDI to access a data buffer.
5814  !! \param[IN] name the data name
5815  !! \param[OUT] ptr_data pointer associated with the accessd data
5816  !! \param[IN] access whether the data can be accessed for read or write by
5817  !! PDI
5818  !! \param[OUT] err for error status (optional)
5819  subroutine PDI_access_CHARACTER1_3D(name, ptr_data, access, &
5820  ptr_data_shape, &
5821  err)
5822  character(len=*), intent(IN) :: name
5823  CHARACTER(KIND=1), pointer &
5824  , contiguous &
5825  :: ptr_data(:,:,:)
5826  integer, intent(IN) :: access
5827  integer, intent(IN) :: ptr_data_shape(3)
5828  integer, intent(OUT), optional :: err
5829  endsubroutine PDI_access_CHARACTER1_3D
5830  !=============================================================================
5831 
5832 
5833  !=============================================================================
5834  !< requests for PDI to access a data buffer.
5835  !! \param[IN] name the data name
5836  !! \param[OUT] ptr_data pointer associated with the accessd data
5837  !! \param[IN] access whether the data can be accessed for read or write by
5838  !! PDI
5839  !! \param[OUT] err for error status (optional)
5840  subroutine PDI_access_CHARACTER1_4D(name, ptr_data, access, &
5841  ptr_data_shape, &
5842  err)
5843  character(len=*), intent(IN) :: name
5844  CHARACTER(KIND=1), pointer &
5845  , contiguous &
5846  :: ptr_data(:,:,:,:)
5847  integer, intent(IN) :: access
5848  integer, intent(IN) :: ptr_data_shape(4)
5849  integer, intent(OUT), optional :: err
5850  endsubroutine PDI_access_CHARACTER1_4D
5851  !=============================================================================
5852 
5853 
5854  !=============================================================================
5855  !< requests for PDI to access a data buffer.
5856  !! \param[IN] name the data name
5857  !! \param[OUT] ptr_data pointer associated with the accessd data
5858  !! \param[IN] access whether the data can be accessed for read or write by
5859  !! PDI
5860  !! \param[OUT] err for error status (optional)
5861  subroutine PDI_access_CHARACTER1_5D(name, ptr_data, access, &
5862  ptr_data_shape, &
5863  err)
5864  character(len=*), intent(IN) :: name
5865  CHARACTER(KIND=1), pointer &
5866  , contiguous &
5867  :: ptr_data(:,:,:,:,:)
5868  integer, intent(IN) :: access
5869  integer, intent(IN) :: ptr_data_shape(5)
5870  integer, intent(OUT), optional :: err
5871  endsubroutine PDI_access_CHARACTER1_5D
5872  !=============================================================================
5873 
5874 
5875  !=============================================================================
5876  !< requests for PDI to access a data buffer.
5877  !! \param[IN] name the data name
5878  !! \param[OUT] ptr_data pointer associated with the accessd data
5879  !! \param[IN] access whether the data can be accessed for read or write by
5880  !! PDI
5881  !! \param[OUT] err for error status (optional)
5882  subroutine PDI_access_CHARACTER1_6D(name, ptr_data, access, &
5883  ptr_data_shape, &
5884  err)
5885  character(len=*), intent(IN) :: name
5886  CHARACTER(KIND=1), pointer &
5887  , contiguous &
5888  :: ptr_data(:,:,:,:,:,:)
5889  integer, intent(IN) :: access
5890  integer, intent(IN) :: ptr_data_shape(6)
5891  integer, intent(OUT), optional :: err
5892  endsubroutine PDI_access_CHARACTER1_6D
5893  !=============================================================================
5894 
5895 
5896  !=============================================================================
5897  !< requests for PDI to access a data buffer.
5898  !! \param[IN] name the data name
5899  !! \param[OUT] ptr_data pointer associated with the accessd data
5900  !! \param[IN] access whether the data can be accessed for read or write by
5901  !! PDI
5902  !! \param[OUT] err for error status (optional)
5903  subroutine PDI_access_CHARACTER1_7D(name, ptr_data, access, &
5904  ptr_data_shape, &
5905  err)
5906  character(len=*), intent(IN) :: name
5907  CHARACTER(KIND=1), pointer &
5908  , contiguous &
5909  :: ptr_data(:,:,:,:,:,:,:)
5910  integer, intent(IN) :: access
5911  integer, intent(IN) :: ptr_data_shape(7)
5912  integer, intent(OUT), optional :: err
5913  endsubroutine PDI_access_CHARACTER1_7D
5914  !=============================================================================
5915 
5916 
5917  !=============================================================================
5918  !< requests for PDI to access a data buffer.
5919  !! \param[IN] name the data name
5920  !! \param[OUT] ptr_data pointer associated with the accessd data
5921  !! \param[IN] access whether the data can be accessed for read or write by
5922  !! PDI
5923  !! \param[OUT] err for error status (optional)
5924  subroutine PDI_access_CHARACTER4_0D(name, ptr_data, access, &
5925  err)
5926  character(len=*), intent(IN) :: name
5927  CHARACTER(KIND=4), pointer &
5928  :: ptr_data
5929  integer, intent(IN) :: access
5930  integer, intent(OUT), optional :: err
5931  endsubroutine PDI_access_CHARACTER4_0D
5932  !=============================================================================
5933 
5934 
5935  !=============================================================================
5936  !< requests for PDI to access a data buffer.
5937  !! \param[IN] name the data name
5938  !! \param[OUT] ptr_data pointer associated with the accessd data
5939  !! \param[IN] access whether the data can be accessed for read or write by
5940  !! PDI
5941  !! \param[OUT] err for error status (optional)
5942  subroutine PDI_access_CHARACTER4_1D(name, ptr_data, access, &
5943  ptr_data_shape, &
5944  err)
5945  character(len=*), intent(IN) :: name
5946  CHARACTER(KIND=4), pointer &
5947  , contiguous &
5948  :: ptr_data(:)
5949  integer, intent(IN) :: access
5950  integer, intent(IN) :: ptr_data_shape(1)
5951  integer, intent(OUT), optional :: err
5952  endsubroutine PDI_access_CHARACTER4_1D
5953  !=============================================================================
5954 
5955 
5956  !=============================================================================
5957  !< requests for PDI to access a data buffer.
5958  !! \param[IN] name the data name
5959  !! \param[OUT] ptr_data pointer associated with the accessd data
5960  !! \param[IN] access whether the data can be accessed for read or write by
5961  !! PDI
5962  !! \param[OUT] err for error status (optional)
5963  subroutine PDI_access_CHARACTER4_2D(name, ptr_data, access, &
5964  ptr_data_shape, &
5965  err)
5966  character(len=*), intent(IN) :: name
5967  CHARACTER(KIND=4), pointer &
5968  , contiguous &
5969  :: ptr_data(:,:)
5970  integer, intent(IN) :: access
5971  integer, intent(IN) :: ptr_data_shape(2)
5972  integer, intent(OUT), optional :: err
5973  endsubroutine PDI_access_CHARACTER4_2D
5974  !=============================================================================
5975 
5976 
5977  !=============================================================================
5978  !< requests for PDI to access a data buffer.
5979  !! \param[IN] name the data name
5980  !! \param[OUT] ptr_data pointer associated with the accessd data
5981  !! \param[IN] access whether the data can be accessed for read or write by
5982  !! PDI
5983  !! \param[OUT] err for error status (optional)
5984  subroutine PDI_access_CHARACTER4_3D(name, ptr_data, access, &
5985  ptr_data_shape, &
5986  err)
5987  character(len=*), intent(IN) :: name
5988  CHARACTER(KIND=4), pointer &
5989  , contiguous &
5990  :: ptr_data(:,:,:)
5991  integer, intent(IN) :: access
5992  integer, intent(IN) :: ptr_data_shape(3)
5993  integer, intent(OUT), optional :: err
5994  endsubroutine PDI_access_CHARACTER4_3D
5995  !=============================================================================
5996 
5997 
5998  !=============================================================================
5999  !< requests for PDI to access a data buffer.
6000  !! \param[IN] name the data name
6001  !! \param[OUT] ptr_data pointer associated with the accessd data
6002  !! \param[IN] access whether the data can be accessed for read or write by
6003  !! PDI
6004  !! \param[OUT] err for error status (optional)
6005  subroutine PDI_access_CHARACTER4_4D(name, ptr_data, access, &
6006  ptr_data_shape, &
6007  err)
6008  character(len=*), intent(IN) :: name
6009  CHARACTER(KIND=4), pointer &
6010  , contiguous &
6011  :: ptr_data(:,:,:,:)
6012  integer, intent(IN) :: access
6013  integer, intent(IN) :: ptr_data_shape(4)
6014  integer, intent(OUT), optional :: err
6015  endsubroutine PDI_access_CHARACTER4_4D
6016  !=============================================================================
6017 
6018 
6019  !=============================================================================
6020  !< requests for PDI to access a data buffer.
6021  !! \param[IN] name the data name
6022  !! \param[OUT] ptr_data pointer associated with the accessd data
6023  !! \param[IN] access whether the data can be accessed for read or write by
6024  !! PDI
6025  !! \param[OUT] err for error status (optional)
6026  subroutine PDI_access_CHARACTER4_5D(name, ptr_data, access, &
6027  ptr_data_shape, &
6028  err)
6029  character(len=*), intent(IN) :: name
6030  CHARACTER(KIND=4), pointer &
6031  , contiguous &
6032  :: ptr_data(:,:,:,:,:)
6033  integer, intent(IN) :: access
6034  integer, intent(IN) :: ptr_data_shape(5)
6035  integer, intent(OUT), optional :: err
6036  endsubroutine PDI_access_CHARACTER4_5D
6037  !=============================================================================
6038 
6039 
6040  !=============================================================================
6041  !< requests for PDI to access a data buffer.
6042  !! \param[IN] name the data name
6043  !! \param[OUT] ptr_data pointer associated with the accessd data
6044  !! \param[IN] access whether the data can be accessed for read or write by
6045  !! PDI
6046  !! \param[OUT] err for error status (optional)
6047  subroutine PDI_access_CHARACTER4_6D(name, ptr_data, access, &
6048  ptr_data_shape, &
6049  err)
6050  character(len=*), intent(IN) :: name
6051  CHARACTER(KIND=4), pointer &
6052  , contiguous &
6053  :: ptr_data(:,:,:,:,:,:)
6054  integer, intent(IN) :: access
6055  integer, intent(IN) :: ptr_data_shape(6)
6056  integer, intent(OUT), optional :: err
6057  endsubroutine PDI_access_CHARACTER4_6D
6058  !=============================================================================
6059 
6060 
6061  !=============================================================================
6062  !< requests for PDI to access a data buffer.
6063  !! \param[IN] name the data name
6064  !! \param[OUT] ptr_data pointer associated with the accessd data
6065  !! \param[IN] access whether the data can be accessed for read or write by
6066  !! PDI
6067  !! \param[OUT] err for error status (optional)
6068  subroutine PDI_access_CHARACTER4_7D(name, ptr_data, access, &
6069  ptr_data_shape, &
6070  err)
6071  character(len=*), intent(IN) :: name
6072  CHARACTER(KIND=4), pointer &
6073  , contiguous &
6074  :: ptr_data(:,:,:,:,:,:,:)
6075  integer, intent(IN) :: access
6076  integer, intent(IN) :: ptr_data_shape(7)
6077  integer, intent(OUT), optional :: err
6078  endsubroutine PDI_access_CHARACTER4_7D
6079  !=============================================================================
6080 
6081 
6082  !=============================================================================
6083  !< requests for PDI to access a data buffer.
6084  !! \param[IN] name the data name
6085  !! \param[OUT] ptr_data pointer associated with the accessd data
6086  !! \param[IN] access whether the data can be accessed for read or write by
6087  !! PDI
6088  !! \param[OUT] err for error status (optional)
6089  subroutine PDI_access_COMPLEX4_0D(name, ptr_data, access, &
6090  err)
6091  character(len=*), intent(IN) :: name
6092  COMPLEX(KIND=4), pointer &
6093  :: ptr_data
6094  integer, intent(IN) :: access
6095  integer, intent(OUT), optional :: err
6096  endsubroutine PDI_access_COMPLEX4_0D
6097  !=============================================================================
6098 
6099 
6100  !=============================================================================
6101  !< requests for PDI to access a data buffer.
6102  !! \param[IN] name the data name
6103  !! \param[OUT] ptr_data pointer associated with the accessd data
6104  !! \param[IN] access whether the data can be accessed for read or write by
6105  !! PDI
6106  !! \param[OUT] err for error status (optional)
6107  subroutine PDI_access_COMPLEX4_1D(name, ptr_data, access, &
6108  ptr_data_shape, &
6109  err)
6110  character(len=*), intent(IN) :: name
6111  COMPLEX(KIND=4), pointer &
6112  , contiguous &
6113  :: ptr_data(:)
6114  integer, intent(IN) :: access
6115  integer, intent(IN) :: ptr_data_shape(1)
6116  integer, intent(OUT), optional :: err
6117  endsubroutine PDI_access_COMPLEX4_1D
6118  !=============================================================================
6119 
6120 
6121  !=============================================================================
6122  !< requests for PDI to access a data buffer.
6123  !! \param[IN] name the data name
6124  !! \param[OUT] ptr_data pointer associated with the accessd data
6125  !! \param[IN] access whether the data can be accessed for read or write by
6126  !! PDI
6127  !! \param[OUT] err for error status (optional)
6128  subroutine PDI_access_COMPLEX4_2D(name, ptr_data, access, &
6129  ptr_data_shape, &
6130  err)
6131  character(len=*), intent(IN) :: name
6132  COMPLEX(KIND=4), pointer &
6133  , contiguous &
6134  :: ptr_data(:,:)
6135  integer, intent(IN) :: access
6136  integer, intent(IN) :: ptr_data_shape(2)
6137  integer, intent(OUT), optional :: err
6138  endsubroutine PDI_access_COMPLEX4_2D
6139  !=============================================================================
6140 
6141 
6142  !=============================================================================
6143  !< requests for PDI to access a data buffer.
6144  !! \param[IN] name the data name
6145  !! \param[OUT] ptr_data pointer associated with the accessd data
6146  !! \param[IN] access whether the data can be accessed for read or write by
6147  !! PDI
6148  !! \param[OUT] err for error status (optional)
6149  subroutine PDI_access_COMPLEX4_3D(name, ptr_data, access, &
6150  ptr_data_shape, &
6151  err)
6152  character(len=*), intent(IN) :: name
6153  COMPLEX(KIND=4), pointer &
6154  , contiguous &
6155  :: ptr_data(:,:,:)
6156  integer, intent(IN) :: access
6157  integer, intent(IN) :: ptr_data_shape(3)
6158  integer, intent(OUT), optional :: err
6159  endsubroutine PDI_access_COMPLEX4_3D
6160  !=============================================================================
6161 
6162 
6163  !=============================================================================
6164  !< requests for PDI to access a data buffer.
6165  !! \param[IN] name the data name
6166  !! \param[OUT] ptr_data pointer associated with the accessd data
6167  !! \param[IN] access whether the data can be accessed for read or write by
6168  !! PDI
6169  !! \param[OUT] err for error status (optional)
6170  subroutine PDI_access_COMPLEX4_4D(name, ptr_data, access, &
6171  ptr_data_shape, &
6172  err)
6173  character(len=*), intent(IN) :: name
6174  COMPLEX(KIND=4), pointer &
6175  , contiguous &
6176  :: ptr_data(:,:,:,:)
6177  integer, intent(IN) :: access
6178  integer, intent(IN) :: ptr_data_shape(4)
6179  integer, intent(OUT), optional :: err
6180  endsubroutine PDI_access_COMPLEX4_4D
6181  !=============================================================================
6182 
6183 
6184  !=============================================================================
6185  !< requests for PDI to access a data buffer.
6186  !! \param[IN] name the data name
6187  !! \param[OUT] ptr_data pointer associated with the accessd data
6188  !! \param[IN] access whether the data can be accessed for read or write by
6189  !! PDI
6190  !! \param[OUT] err for error status (optional)
6191  subroutine PDI_access_COMPLEX4_5D(name, ptr_data, access, &
6192  ptr_data_shape, &
6193  err)
6194  character(len=*), intent(IN) :: name
6195  COMPLEX(KIND=4), pointer &
6196  , contiguous &
6197  :: ptr_data(:,:,:,:,:)
6198  integer, intent(IN) :: access
6199  integer, intent(IN) :: ptr_data_shape(5)
6200  integer, intent(OUT), optional :: err
6201  endsubroutine PDI_access_COMPLEX4_5D
6202  !=============================================================================
6203 
6204 
6205  !=============================================================================
6206  !< requests for PDI to access a data buffer.
6207  !! \param[IN] name the data name
6208  !! \param[OUT] ptr_data pointer associated with the accessd data
6209  !! \param[IN] access whether the data can be accessed for read or write by
6210  !! PDI
6211  !! \param[OUT] err for error status (optional)
6212  subroutine PDI_access_COMPLEX4_6D(name, ptr_data, access, &
6213  ptr_data_shape, &
6214  err)
6215  character(len=*), intent(IN) :: name
6216  COMPLEX(KIND=4), pointer &
6217  , contiguous &
6218  :: ptr_data(:,:,:,:,:,:)
6219  integer, intent(IN) :: access
6220  integer, intent(IN) :: ptr_data_shape(6)
6221  integer, intent(OUT), optional :: err
6222  endsubroutine PDI_access_COMPLEX4_6D
6223  !=============================================================================
6224 
6225 
6226  !=============================================================================
6227  !< requests for PDI to access a data buffer.
6228  !! \param[IN] name the data name
6229  !! \param[OUT] ptr_data pointer associated with the accessd data
6230  !! \param[IN] access whether the data can be accessed for read or write by
6231  !! PDI
6232  !! \param[OUT] err for error status (optional)
6233  subroutine PDI_access_COMPLEX4_7D(name, ptr_data, access, &
6234  ptr_data_shape, &
6235  err)
6236  character(len=*), intent(IN) :: name
6237  COMPLEX(KIND=4), pointer &
6238  , contiguous &
6239  :: ptr_data(:,:,:,:,:,:,:)
6240  integer, intent(IN) :: access
6241  integer, intent(IN) :: ptr_data_shape(7)
6242  integer, intent(OUT), optional :: err
6243  endsubroutine PDI_access_COMPLEX4_7D
6244  !=============================================================================
6245 
6246 
6247  !=============================================================================
6248  !< requests for PDI to access a data buffer.
6249  !! \param[IN] name the data name
6250  !! \param[OUT] ptr_data pointer associated with the accessd data
6251  !! \param[IN] access whether the data can be accessed for read or write by
6252  !! PDI
6253  !! \param[OUT] err for error status (optional)
6254  subroutine PDI_access_COMPLEX8_0D(name, ptr_data, access, &
6255  err)
6256  character(len=*), intent(IN) :: name
6257  COMPLEX(KIND=8), pointer &
6258  :: ptr_data
6259  integer, intent(IN) :: access
6260  integer, intent(OUT), optional :: err
6261  endsubroutine PDI_access_COMPLEX8_0D
6262  !=============================================================================
6263 
6264 
6265  !=============================================================================
6266  !< requests for PDI to access a data buffer.
6267  !! \param[IN] name the data name
6268  !! \param[OUT] ptr_data pointer associated with the accessd data
6269  !! \param[IN] access whether the data can be accessed for read or write by
6270  !! PDI
6271  !! \param[OUT] err for error status (optional)
6272  subroutine PDI_access_COMPLEX8_1D(name, ptr_data, access, &
6273  ptr_data_shape, &
6274  err)
6275  character(len=*), intent(IN) :: name
6276  COMPLEX(KIND=8), pointer &
6277  , contiguous &
6278  :: ptr_data(:)
6279  integer, intent(IN) :: access
6280  integer, intent(IN) :: ptr_data_shape(1)
6281  integer, intent(OUT), optional :: err
6282  endsubroutine PDI_access_COMPLEX8_1D
6283  !=============================================================================
6284 
6285 
6286  !=============================================================================
6287  !< requests for PDI to access a data buffer.
6288  !! \param[IN] name the data name
6289  !! \param[OUT] ptr_data pointer associated with the accessd data
6290  !! \param[IN] access whether the data can be accessed for read or write by
6291  !! PDI
6292  !! \param[OUT] err for error status (optional)
6293  subroutine PDI_access_COMPLEX8_2D(name, ptr_data, access, &
6294  ptr_data_shape, &
6295  err)
6296  character(len=*), intent(IN) :: name
6297  COMPLEX(KIND=8), pointer &
6298  , contiguous &
6299  :: ptr_data(:,:)
6300  integer, intent(IN) :: access
6301  integer, intent(IN) :: ptr_data_shape(2)
6302  integer, intent(OUT), optional :: err
6303  endsubroutine PDI_access_COMPLEX8_2D
6304  !=============================================================================
6305 
6306 
6307  !=============================================================================
6308  !< requests for PDI to access a data buffer.
6309  !! \param[IN] name the data name
6310  !! \param[OUT] ptr_data pointer associated with the accessd data
6311  !! \param[IN] access whether the data can be accessed for read or write by
6312  !! PDI
6313  !! \param[OUT] err for error status (optional)
6314  subroutine PDI_access_COMPLEX8_3D(name, ptr_data, access, &
6315  ptr_data_shape, &
6316  err)
6317  character(len=*), intent(IN) :: name
6318  COMPLEX(KIND=8), pointer &
6319  , contiguous &
6320  :: ptr_data(:,:,:)
6321  integer, intent(IN) :: access
6322  integer, intent(IN) :: ptr_data_shape(3)
6323  integer, intent(OUT), optional :: err
6324  endsubroutine PDI_access_COMPLEX8_3D
6325  !=============================================================================
6326 
6327 
6328  !=============================================================================
6329  !< requests for PDI to access a data buffer.
6330  !! \param[IN] name the data name
6331  !! \param[OUT] ptr_data pointer associated with the accessd data
6332  !! \param[IN] access whether the data can be accessed for read or write by
6333  !! PDI
6334  !! \param[OUT] err for error status (optional)
6335  subroutine PDI_access_COMPLEX8_4D(name, ptr_data, access, &
6336  ptr_data_shape, &
6337  err)
6338  character(len=*), intent(IN) :: name
6339  COMPLEX(KIND=8), pointer &
6340  , contiguous &
6341  :: ptr_data(:,:,:,:)
6342  integer, intent(IN) :: access
6343  integer, intent(IN) :: ptr_data_shape(4)
6344  integer, intent(OUT), optional :: err
6345  endsubroutine PDI_access_COMPLEX8_4D
6346  !=============================================================================
6347 
6348 
6349  !=============================================================================
6350  !< requests for PDI to access a data buffer.
6351  !! \param[IN] name the data name
6352  !! \param[OUT] ptr_data pointer associated with the accessd data
6353  !! \param[IN] access whether the data can be accessed for read or write by
6354  !! PDI
6355  !! \param[OUT] err for error status (optional)
6356  subroutine PDI_access_COMPLEX8_5D(name, ptr_data, access, &
6357  ptr_data_shape, &
6358  err)
6359  character(len=*), intent(IN) :: name
6360  COMPLEX(KIND=8), pointer &
6361  , contiguous &
6362  :: ptr_data(:,:,:,:,:)
6363  integer, intent(IN) :: access
6364  integer, intent(IN) :: ptr_data_shape(5)
6365  integer, intent(OUT), optional :: err
6366  endsubroutine PDI_access_COMPLEX8_5D
6367  !=============================================================================
6368 
6369 
6370  !=============================================================================
6371  !< requests for PDI to access a data buffer.
6372  !! \param[IN] name the data name
6373  !! \param[OUT] ptr_data pointer associated with the accessd data
6374  !! \param[IN] access whether the data can be accessed for read or write by
6375  !! PDI
6376  !! \param[OUT] err for error status (optional)
6377  subroutine PDI_access_COMPLEX8_6D(name, ptr_data, access, &
6378  ptr_data_shape, &
6379  err)
6380  character(len=*), intent(IN) :: name
6381  COMPLEX(KIND=8), pointer &
6382  , contiguous &
6383  :: ptr_data(:,:,:,:,:,:)
6384  integer, intent(IN) :: access
6385  integer, intent(IN) :: ptr_data_shape(6)
6386  integer, intent(OUT), optional :: err
6387  endsubroutine PDI_access_COMPLEX8_6D
6388  !=============================================================================
6389 
6390 
6391  !=============================================================================
6392  !< requests for PDI to access a data buffer.
6393  !! \param[IN] name the data name
6394  !! \param[OUT] ptr_data pointer associated with the accessd data
6395  !! \param[IN] access whether the data can be accessed for read or write by
6396  !! PDI
6397  !! \param[OUT] err for error status (optional)
6398  subroutine PDI_access_COMPLEX8_7D(name, ptr_data, access, &
6399  ptr_data_shape, &
6400  err)
6401  character(len=*), intent(IN) :: name
6402  COMPLEX(KIND=8), pointer &
6403  , contiguous &
6404  :: ptr_data(:,:,:,:,:,:,:)
6405  integer, intent(IN) :: access
6406  integer, intent(IN) :: ptr_data_shape(7)
6407  integer, intent(OUT), optional :: err
6408  endsubroutine PDI_access_COMPLEX8_7D
6409  !=============================================================================
6410 
6411 
6412  !=============================================================================
6413  !< requests for PDI to access a data buffer.
6414  !! \param[IN] name the data name
6415  !! \param[OUT] ptr_data pointer associated with the accessd data
6416  !! \param[IN] access whether the data can be accessed for read or write by
6417  !! PDI
6418  !! \param[OUT] err for error status (optional)
6419  subroutine PDI_access_COMPLEX16_0D(name, ptr_data, access, &
6420  err)
6421  character(len=*), intent(IN) :: name
6422  COMPLEX(KIND=16), pointer &
6423  :: ptr_data
6424  integer, intent(IN) :: access
6425  integer, intent(OUT), optional :: err
6426  endsubroutine PDI_access_COMPLEX16_0D
6427  !=============================================================================
6428 
6429 
6430  !=============================================================================
6431  !< requests for PDI to access a data buffer.
6432  !! \param[IN] name the data name
6433  !! \param[OUT] ptr_data pointer associated with the accessd data
6434  !! \param[IN] access whether the data can be accessed for read or write by
6435  !! PDI
6436  !! \param[OUT] err for error status (optional)
6437  subroutine PDI_access_COMPLEX16_1D(name, ptr_data, access, &
6438  ptr_data_shape, &
6439  err)
6440  character(len=*), intent(IN) :: name
6441  COMPLEX(KIND=16), pointer &
6442  , contiguous &
6443  :: ptr_data(:)
6444  integer, intent(IN) :: access
6445  integer, intent(IN) :: ptr_data_shape(1)
6446  integer, intent(OUT), optional :: err
6447  endsubroutine PDI_access_COMPLEX16_1D
6448  !=============================================================================
6449 
6450 
6451  !=============================================================================
6452  !< requests for PDI to access a data buffer.
6453  !! \param[IN] name the data name
6454  !! \param[OUT] ptr_data pointer associated with the accessd data
6455  !! \param[IN] access whether the data can be accessed for read or write by
6456  !! PDI
6457  !! \param[OUT] err for error status (optional)
6458  subroutine PDI_access_COMPLEX16_2D(name, ptr_data, access, &
6459  ptr_data_shape, &
6460  err)
6461  character(len=*), intent(IN) :: name
6462  COMPLEX(KIND=16), pointer &
6463  , contiguous &
6464  :: ptr_data(:,:)
6465  integer, intent(IN) :: access
6466  integer, intent(IN) :: ptr_data_shape(2)
6467  integer, intent(OUT), optional :: err
6468  endsubroutine PDI_access_COMPLEX16_2D
6469  !=============================================================================
6470 
6471 
6472  !=============================================================================
6473  !< requests for PDI to access a data buffer.
6474  !! \param[IN] name the data name
6475  !! \param[OUT] ptr_data pointer associated with the accessd data
6476  !! \param[IN] access whether the data can be accessed for read or write by
6477  !! PDI
6478  !! \param[OUT] err for error status (optional)
6479  subroutine PDI_access_COMPLEX16_3D(name, ptr_data, access, &
6480  ptr_data_shape, &
6481  err)
6482  character(len=*), intent(IN) :: name
6483  COMPLEX(KIND=16), pointer &
6484  , contiguous &
6485  :: ptr_data(:,:,:)
6486  integer, intent(IN) :: access
6487  integer, intent(IN) :: ptr_data_shape(3)
6488  integer, intent(OUT), optional :: err
6489  endsubroutine PDI_access_COMPLEX16_3D
6490  !=============================================================================
6491 
6492 
6493  !=============================================================================
6494  !< requests for PDI to access a data buffer.
6495  !! \param[IN] name the data name
6496  !! \param[OUT] ptr_data pointer associated with the accessd data
6497  !! \param[IN] access whether the data can be accessed for read or write by
6498  !! PDI
6499  !! \param[OUT] err for error status (optional)
6500  subroutine PDI_access_COMPLEX16_4D(name, ptr_data, access, &
6501  ptr_data_shape, &
6502  err)
6503  character(len=*), intent(IN) :: name
6504  COMPLEX(KIND=16), pointer &
6505  , contiguous &
6506  :: ptr_data(:,:,:,:)
6507  integer, intent(IN) :: access
6508  integer, intent(IN) :: ptr_data_shape(4)
6509  integer, intent(OUT), optional :: err
6510  endsubroutine PDI_access_COMPLEX16_4D
6511  !=============================================================================
6512 
6513 
6514  !=============================================================================
6515  !< requests for PDI to access a data buffer.
6516  !! \param[IN] name the data name
6517  !! \param[OUT] ptr_data pointer associated with the accessd data
6518  !! \param[IN] access whether the data can be accessed for read or write by
6519  !! PDI
6520  !! \param[OUT] err for error status (optional)
6521  subroutine PDI_access_COMPLEX16_5D(name, ptr_data, access, &
6522  ptr_data_shape, &
6523  err)
6524  character(len=*), intent(IN) :: name
6525  COMPLEX(KIND=16), pointer &
6526  , contiguous &
6527  :: ptr_data(:,:,:,:,:)
6528  integer, intent(IN) :: access
6529  integer, intent(IN) :: ptr_data_shape(5)
6530  integer, intent(OUT), optional :: err
6531  endsubroutine PDI_access_COMPLEX16_5D
6532  !=============================================================================
6533 
6534 
6535  !=============================================================================
6536  !< requests for PDI to access a data buffer.
6537  !! \param[IN] name the data name
6538  !! \param[OUT] ptr_data pointer associated with the accessd data
6539  !! \param[IN] access whether the data can be accessed for read or write by
6540  !! PDI
6541  !! \param[OUT] err for error status (optional)
6542  subroutine PDI_access_COMPLEX16_6D(name, ptr_data, access, &
6543  ptr_data_shape, &
6544  err)
6545  character(len=*), intent(IN) :: name
6546  COMPLEX(KIND=16), pointer &
6547  , contiguous &
6548  :: ptr_data(:,:,:,:,:,:)
6549  integer, intent(IN) :: access
6550  integer, intent(IN) :: ptr_data_shape(6)
6551  integer, intent(OUT), optional :: err
6552  endsubroutine PDI_access_COMPLEX16_6D
6553  !=============================================================================
6554 
6555 
6556  !=============================================================================
6557  !< requests for PDI to access a data buffer.
6558  !! \param[IN] name the data name
6559  !! \param[OUT] ptr_data pointer associated with the accessd data
6560  !! \param[IN] access whether the data can be accessed for read or write by
6561  !! PDI
6562  !! \param[OUT] err for error status (optional)
6563  subroutine PDI_access_COMPLEX16_7D(name, ptr_data, access, &
6564  ptr_data_shape, &
6565  err)
6566  character(len=*), intent(IN) :: name
6567  COMPLEX(KIND=16), pointer &
6568  , contiguous &
6569  :: ptr_data(:,:,:,:,:,:,:)
6570  integer, intent(IN) :: access
6571  integer, intent(IN) :: ptr_data_shape(7)
6572  integer, intent(OUT), optional :: err
6573  endsubroutine PDI_access_COMPLEX16_7D
6574  !=============================================================================
6575 
6576 
6577  !=============================================================================
6578  !< requests for PDI to access a data buffer.
6579  !! \param[IN] name the data name
6580  !! \param[OUT] ptr_data pointer associated with the accessd data
6581  !! \param[IN] access whether the data can be accessed for read or write by
6582  !! PDI
6583  !! \param[OUT] err for error status (optional)
6584  subroutine PDI_access_INTEGER1_0D(name, ptr_data, access, &
6585  err)
6586  character(len=*), intent(IN) :: name
6587  INTEGER(KIND=1), pointer &
6588  :: ptr_data
6589  integer, intent(IN) :: access
6590  integer, intent(OUT), optional :: err
6591  endsubroutine PDI_access_INTEGER1_0D
6592  !=============================================================================
6593 
6594 
6595  !=============================================================================
6596  !< requests for PDI to access a data buffer.
6597  !! \param[IN] name the data name
6598  !! \param[OUT] ptr_data pointer associated with the accessd data
6599  !! \param[IN] access whether the data can be accessed for read or write by
6600  !! PDI
6601  !! \param[OUT] err for error status (optional)
6602  subroutine PDI_access_INTEGER1_1D(name, ptr_data, access, &
6603  ptr_data_shape, &
6604  err)
6605  character(len=*), intent(IN) :: name
6606  INTEGER(KIND=1), pointer &
6607  , contiguous &
6608  :: ptr_data(:)
6609  integer, intent(IN) :: access
6610  integer, intent(IN) :: ptr_data_shape(1)
6611  integer, intent(OUT), optional :: err
6612  endsubroutine PDI_access_INTEGER1_1D
6613  !=============================================================================
6614 
6615 
6616  !=============================================================================
6617  !< requests for PDI to access a data buffer.
6618  !! \param[IN] name the data name
6619  !! \param[OUT] ptr_data pointer associated with the accessd data
6620  !! \param[IN] access whether the data can be accessed for read or write by
6621  !! PDI
6622  !! \param[OUT] err for error status (optional)
6623  subroutine PDI_access_INTEGER1_2D(name, ptr_data, access, &
6624  ptr_data_shape, &
6625  err)
6626  character(len=*), intent(IN) :: name
6627  INTEGER(KIND=1), pointer &
6628  , contiguous &
6629  :: ptr_data(:,:)
6630  integer, intent(IN) :: access
6631  integer, intent(IN) :: ptr_data_shape(2)
6632  integer, intent(OUT), optional :: err
6633  endsubroutine PDI_access_INTEGER1_2D
6634  !=============================================================================
6635 
6636 
6637  !=============================================================================
6638  !< requests for PDI to access a data buffer.
6639  !! \param[IN] name the data name
6640  !! \param[OUT] ptr_data pointer associated with the accessd data
6641  !! \param[IN] access whether the data can be accessed for read or write by
6642  !! PDI
6643  !! \param[OUT] err for error status (optional)
6644  subroutine PDI_access_INTEGER1_3D(name, ptr_data, access, &
6645  ptr_data_shape, &
6646  err)
6647  character(len=*), intent(IN) :: name
6648  INTEGER(KIND=1), pointer &
6649  , contiguous &
6650  :: ptr_data(:,:,:)
6651  integer, intent(IN) :: access
6652  integer, intent(IN) :: ptr_data_shape(3)
6653  integer, intent(OUT), optional :: err
6654  endsubroutine PDI_access_INTEGER1_3D
6655  !=============================================================================
6656 
6657 
6658  !=============================================================================
6659  !< requests for PDI to access a data buffer.
6660  !! \param[IN] name the data name
6661  !! \param[OUT] ptr_data pointer associated with the accessd data
6662  !! \param[IN] access whether the data can be accessed for read or write by
6663  !! PDI
6664  !! \param[OUT] err for error status (optional)
6665  subroutine PDI_access_INTEGER1_4D(name, ptr_data, access, &
6666  ptr_data_shape, &
6667  err)
6668  character(len=*), intent(IN) :: name
6669  INTEGER(KIND=1), pointer &
6670  , contiguous &
6671  :: ptr_data(:,:,:,:)
6672  integer, intent(IN) :: access
6673  integer, intent(IN) :: ptr_data_shape(4)
6674  integer, intent(OUT), optional :: err
6675  endsubroutine PDI_access_INTEGER1_4D
6676  !=============================================================================
6677 
6678 
6679  !=============================================================================
6680  !< requests for PDI to access a data buffer.
6681  !! \param[IN] name the data name
6682  !! \param[OUT] ptr_data pointer associated with the accessd data
6683  !! \param[IN] access whether the data can be accessed for read or write by
6684  !! PDI
6685  !! \param[OUT] err for error status (optional)
6686  subroutine PDI_access_INTEGER1_5D(name, ptr_data, access, &
6687  ptr_data_shape, &
6688  err)
6689  character(len=*), intent(IN) :: name
6690  INTEGER(KIND=1), pointer &
6691  , contiguous &
6692  :: ptr_data(:,:,:,:,:)
6693  integer, intent(IN) :: access
6694  integer, intent(IN) :: ptr_data_shape(5)
6695  integer, intent(OUT), optional :: err
6696  endsubroutine PDI_access_INTEGER1_5D
6697  !=============================================================================
6698 
6699 
6700  !=============================================================================
6701  !< requests for PDI to access a data buffer.
6702  !! \param[IN] name the data name
6703  !! \param[OUT] ptr_data pointer associated with the accessd data
6704  !! \param[IN] access whether the data can be accessed for read or write by
6705  !! PDI
6706  !! \param[OUT] err for error status (optional)
6707  subroutine PDI_access_INTEGER1_6D(name, ptr_data, access, &
6708  ptr_data_shape, &
6709  err)
6710  character(len=*), intent(IN) :: name
6711  INTEGER(KIND=1), pointer &
6712  , contiguous &
6713  :: ptr_data(:,:,:,:,:,:)
6714  integer, intent(IN) :: access
6715  integer, intent(IN) :: ptr_data_shape(6)
6716  integer, intent(OUT), optional :: err
6717  endsubroutine PDI_access_INTEGER1_6D
6718  !=============================================================================
6719 
6720 
6721  !=============================================================================
6722  !< requests for PDI to access a data buffer.
6723  !! \param[IN] name the data name
6724  !! \param[OUT] ptr_data pointer associated with the accessd data
6725  !! \param[IN] access whether the data can be accessed for read or write by
6726  !! PDI
6727  !! \param[OUT] err for error status (optional)
6728  subroutine PDI_access_INTEGER1_7D(name, ptr_data, access, &
6729  ptr_data_shape, &
6730  err)
6731  character(len=*), intent(IN) :: name
6732  INTEGER(KIND=1), pointer &
6733  , contiguous &
6734  :: ptr_data(:,:,:,:,:,:,:)
6735  integer, intent(IN) :: access
6736  integer, intent(IN) :: ptr_data_shape(7)
6737  integer, intent(OUT), optional :: err
6738  endsubroutine PDI_access_INTEGER1_7D
6739  !=============================================================================
6740 
6741 
6742  !=============================================================================
6743  !< requests for PDI to access a data buffer.
6744  !! \param[IN] name the data name
6745  !! \param[OUT] ptr_data pointer associated with the accessd data
6746  !! \param[IN] access whether the data can be accessed for read or write by
6747  !! PDI
6748  !! \param[OUT] err for error status (optional)
6749  subroutine PDI_access_INTEGER2_0D(name, ptr_data, access, &
6750  err)
6751  character(len=*), intent(IN) :: name
6752  INTEGER(KIND=2), pointer &
6753  :: ptr_data
6754  integer, intent(IN) :: access
6755  integer, intent(OUT), optional :: err
6756  endsubroutine PDI_access_INTEGER2_0D
6757  !=============================================================================
6758 
6759 
6760  !=============================================================================
6761  !< requests for PDI to access a data buffer.
6762  !! \param[IN] name the data name
6763  !! \param[OUT] ptr_data pointer associated with the accessd data
6764  !! \param[IN] access whether the data can be accessed for read or write by
6765  !! PDI
6766  !! \param[OUT] err for error status (optional)
6767  subroutine PDI_access_INTEGER2_1D(name, ptr_data, access, &
6768  ptr_data_shape, &
6769  err)
6770  character(len=*), intent(IN) :: name
6771  INTEGER(KIND=2), pointer &
6772  , contiguous &
6773  :: ptr_data(:)
6774  integer, intent(IN) :: access
6775  integer, intent(IN) :: ptr_data_shape(1)
6776  integer, intent(OUT), optional :: err
6777  endsubroutine PDI_access_INTEGER2_1D
6778  !=============================================================================
6779 
6780 
6781  !=============================================================================
6782  !< requests for PDI to access a data buffer.
6783  !! \param[IN] name the data name
6784  !! \param[OUT] ptr_data pointer associated with the accessd data
6785  !! \param[IN] access whether the data can be accessed for read or write by
6786  !! PDI
6787  !! \param[OUT] err for error status (optional)
6788  subroutine PDI_access_INTEGER2_2D(name, ptr_data, access, &
6789  ptr_data_shape, &
6790  err)
6791  character(len=*), intent(IN) :: name
6792  INTEGER(KIND=2), pointer &
6793  , contiguous &
6794  :: ptr_data(:,:)
6795  integer, intent(IN) :: access
6796  integer, intent(IN) :: ptr_data_shape(2)
6797  integer, intent(OUT), optional :: err
6798  endsubroutine PDI_access_INTEGER2_2D
6799  !=============================================================================
6800 
6801 
6802  !=============================================================================
6803  !< requests for PDI to access a data buffer.
6804  !! \param[IN] name the data name
6805  !! \param[OUT] ptr_data pointer associated with the accessd data
6806  !! \param[IN] access whether the data can be accessed for read or write by
6807  !! PDI
6808  !! \param[OUT] err for error status (optional)
6809  subroutine PDI_access_INTEGER2_3D(name, ptr_data, access, &
6810  ptr_data_shape, &
6811  err)
6812  character(len=*), intent(IN) :: name
6813  INTEGER(KIND=2), pointer &
6814  , contiguous &
6815  :: ptr_data(:,:,:)
6816  integer, intent(IN) :: access
6817  integer, intent(IN) :: ptr_data_shape(3)
6818  integer, intent(OUT), optional :: err
6819  endsubroutine PDI_access_INTEGER2_3D
6820  !=============================================================================
6821 
6822 
6823  !=============================================================================
6824  !< requests for PDI to access a data buffer.
6825  !! \param[IN] name the data name
6826  !! \param[OUT] ptr_data pointer associated with the accessd data
6827  !! \param[IN] access whether the data can be accessed for read or write by
6828  !! PDI
6829  !! \param[OUT] err for error status (optional)
6830  subroutine PDI_access_INTEGER2_4D(name, ptr_data, access, &
6831  ptr_data_shape, &
6832  err)
6833  character(len=*), intent(IN) :: name
6834  INTEGER(KIND=2), pointer &
6835  , contiguous &
6836  :: ptr_data(:,:,:,:)
6837  integer, intent(IN) :: access
6838  integer, intent(IN) :: ptr_data_shape(4)
6839  integer, intent(OUT), optional :: err
6840  endsubroutine PDI_access_INTEGER2_4D
6841  !=============================================================================
6842 
6843 
6844  !=============================================================================
6845  !< requests for PDI to access a data buffer.
6846  !! \param[IN] name the data name
6847  !! \param[OUT] ptr_data pointer associated with the accessd data
6848  !! \param[IN] access whether the data can be accessed for read or write by
6849  !! PDI
6850  !! \param[OUT] err for error status (optional)
6851  subroutine PDI_access_INTEGER2_5D(name, ptr_data, access, &
6852  ptr_data_shape, &
6853  err)
6854  character(len=*), intent(IN) :: name
6855  INTEGER(KIND=2), pointer &
6856  , contiguous &
6857  :: ptr_data(:,:,:,:,:)
6858  integer, intent(IN) :: access
6859  integer, intent(IN) :: ptr_data_shape(5)
6860  integer, intent(OUT), optional :: err
6861  endsubroutine PDI_access_INTEGER2_5D
6862  !=============================================================================
6863 
6864 
6865  !=============================================================================
6866  !< requests for PDI to access a data buffer.
6867  !! \param[IN] name the data name
6868  !! \param[OUT] ptr_data pointer associated with the accessd data
6869  !! \param[IN] access whether the data can be accessed for read or write by
6870  !! PDI
6871  !! \param[OUT] err for error status (optional)
6872  subroutine PDI_access_INTEGER2_6D(name, ptr_data, access, &
6873  ptr_data_shape, &
6874  err)
6875  character(len=*), intent(IN) :: name
6876  INTEGER(KIND=2), pointer &
6877  , contiguous &
6878  :: ptr_data(:,:,:,:,:,:)
6879  integer, intent(IN) :: access
6880  integer, intent(IN) :: ptr_data_shape(6)
6881  integer, intent(OUT), optional :: err
6882  endsubroutine PDI_access_INTEGER2_6D
6883  !=============================================================================
6884 
6885 
6886  !=============================================================================
6887  !< requests for PDI to access a data buffer.
6888  !! \param[IN] name the data name
6889  !! \param[OUT] ptr_data pointer associated with the accessd data
6890  !! \param[IN] access whether the data can be accessed for read or write by
6891  !! PDI
6892  !! \param[OUT] err for error status (optional)
6893  subroutine PDI_access_INTEGER2_7D(name, ptr_data, access, &
6894  ptr_data_shape, &
6895  err)
6896  character(len=*), intent(IN) :: name
6897  INTEGER(KIND=2), pointer &
6898  , contiguous &
6899  :: ptr_data(:,:,:,:,:,:,:)
6900  integer, intent(IN) :: access
6901  integer, intent(IN) :: ptr_data_shape(7)
6902  integer, intent(OUT), optional :: err
6903  endsubroutine PDI_access_INTEGER2_7D
6904  !=============================================================================
6905 
6906 
6907  !=============================================================================
6908  !< requests for PDI to access a data buffer.
6909  !! \param[IN] name the data name
6910  !! \param[OUT] ptr_data pointer associated with the accessd data
6911  !! \param[IN] access whether the data can be accessed for read or write by
6912  !! PDI
6913  !! \param[OUT] err for error status (optional)
6914  subroutine PDI_access_INTEGER4_0D(name, ptr_data, access, &
6915  err)
6916  character(len=*), intent(IN) :: name
6917  INTEGER(KIND=4), pointer &
6918  :: ptr_data
6919  integer, intent(IN) :: access
6920  integer, intent(OUT), optional :: err
6921  endsubroutine PDI_access_INTEGER4_0D
6922  !=============================================================================
6923 
6924 
6925  !=============================================================================
6926  !< requests for PDI to access a data buffer.
6927  !! \param[IN] name the data name
6928  !! \param[OUT] ptr_data pointer associated with the accessd data
6929  !! \param[IN] access whether the data can be accessed for read or write by
6930  !! PDI
6931  !! \param[OUT] err for error status (optional)
6932  subroutine PDI_access_INTEGER4_1D(name, ptr_data, access, &
6933  ptr_data_shape, &
6934  err)
6935  character(len=*), intent(IN) :: name
6936  INTEGER(KIND=4), pointer &
6937  , contiguous &
6938  :: ptr_data(:)
6939  integer, intent(IN) :: access
6940  integer, intent(IN) :: ptr_data_shape(1)
6941  integer, intent(OUT), optional :: err
6942  endsubroutine PDI_access_INTEGER4_1D
6943  !=============================================================================
6944 
6945 
6946  !=============================================================================
6947  !< requests for PDI to access a data buffer.
6948  !! \param[IN] name the data name
6949  !! \param[OUT] ptr_data pointer associated with the accessd data
6950  !! \param[IN] access whether the data can be accessed for read or write by
6951  !! PDI
6952  !! \param[OUT] err for error status (optional)
6953  subroutine PDI_access_INTEGER4_2D(name, ptr_data, access, &
6954  ptr_data_shape, &
6955  err)
6956  character(len=*), intent(IN) :: name
6957  INTEGER(KIND=4), pointer &
6958  , contiguous &
6959  :: ptr_data(:,:)
6960  integer, intent(IN) :: access
6961  integer, intent(IN) :: ptr_data_shape(2)
6962  integer, intent(OUT), optional :: err
6963  endsubroutine PDI_access_INTEGER4_2D
6964  !=============================================================================
6965 
6966 
6967  !=============================================================================
6968  !< requests for PDI to access a data buffer.
6969  !! \param[IN] name the data name
6970  !! \param[OUT] ptr_data pointer associated with the accessd data
6971  !! \param[IN] access whether the data can be accessed for read or write by
6972  !! PDI
6973  !! \param[OUT] err for error status (optional)
6974  subroutine PDI_access_INTEGER4_3D(name, ptr_data, access, &
6975  ptr_data_shape, &
6976  err)
6977  character(len=*), intent(IN) :: name
6978  INTEGER(KIND=4), pointer &
6979  , contiguous &
6980  :: ptr_data(:,:,:)
6981  integer, intent(IN) :: access
6982  integer, intent(IN) :: ptr_data_shape(3)
6983  integer, intent(OUT), optional :: err
6984  endsubroutine PDI_access_INTEGER4_3D
6985  !=============================================================================
6986 
6987 
6988  !=============================================================================
6989  !< requests for PDI to access a data buffer.
6990  !! \param[IN] name the data name
6991  !! \param[OUT] ptr_data pointer associated with the accessd data
6992  !! \param[IN] access whether the data can be accessed for read or write by
6993  !! PDI
6994  !! \param[OUT] err for error status (optional)
6995  subroutine PDI_access_INTEGER4_4D(name, ptr_data, access, &
6996  ptr_data_shape, &
6997  err)
6998  character(len=*), intent(IN) :: name
6999  INTEGER(KIND=4), pointer &
7000  , contiguous &
7001  :: ptr_data(:,:,:,:)
7002  integer, intent(IN) :: access
7003  integer, intent(IN) :: ptr_data_shape(4)
7004  integer, intent(OUT), optional :: err
7005  endsubroutine PDI_access_INTEGER4_4D
7006  !=============================================================================
7007 
7008 
7009  !=============================================================================
7010  !< requests for PDI to access a data buffer.
7011  !! \param[IN] name the data name
7012  !! \param[OUT] ptr_data pointer associated with the accessd data
7013  !! \param[IN] access whether the data can be accessed for read or write by
7014  !! PDI
7015  !! \param[OUT] err for error status (optional)
7016  subroutine PDI_access_INTEGER4_5D(name, ptr_data, access, &
7017  ptr_data_shape, &
7018  err)
7019  character(len=*), intent(IN) :: name
7020  INTEGER(KIND=4), pointer &
7021  , contiguous &
7022  :: ptr_data(:,:,:,:,:)
7023  integer, intent(IN) :: access
7024  integer, intent(IN) :: ptr_data_shape(5)
7025  integer, intent(OUT), optional :: err
7026  endsubroutine PDI_access_INTEGER4_5D
7027  !=============================================================================
7028 
7029 
7030  !=============================================================================
7031  !< requests for PDI to access a data buffer.
7032  !! \param[IN] name the data name
7033  !! \param[OUT] ptr_data pointer associated with the accessd data
7034  !! \param[IN] access whether the data can be accessed for read or write by
7035  !! PDI
7036  !! \param[OUT] err for error status (optional)
7037  subroutine PDI_access_INTEGER4_6D(name, ptr_data, access, &
7038  ptr_data_shape, &
7039  err)
7040  character(len=*), intent(IN) :: name
7041  INTEGER(KIND=4), pointer &
7042  , contiguous &
7043  :: ptr_data(:,:,:,:,:,:)
7044  integer, intent(IN) :: access
7045  integer, intent(IN) :: ptr_data_shape(6)
7046  integer, intent(OUT), optional :: err
7047  endsubroutine PDI_access_INTEGER4_6D
7048  !=============================================================================
7049 
7050 
7051  !=============================================================================
7052  !< requests for PDI to access a data buffer.
7053  !! \param[IN] name the data name
7054  !! \param[OUT] ptr_data pointer associated with the accessd data
7055  !! \param[IN] access whether the data can be accessed for read or write by
7056  !! PDI
7057  !! \param[OUT] err for error status (optional)
7058  subroutine PDI_access_INTEGER4_7D(name, ptr_data, access, &
7059  ptr_data_shape, &
7060  err)
7061  character(len=*), intent(IN) :: name
7062  INTEGER(KIND=4), pointer &
7063  , contiguous &
7064  :: ptr_data(:,:,:,:,:,:,:)
7065  integer, intent(IN) :: access
7066  integer, intent(IN) :: ptr_data_shape(7)
7067  integer, intent(OUT), optional :: err
7068  endsubroutine PDI_access_INTEGER4_7D
7069  !=============================================================================
7070 
7071 
7072  !=============================================================================
7073  !< requests for PDI to access a data buffer.
7074  !! \param[IN] name the data name
7075  !! \param[OUT] ptr_data pointer associated with the accessd data
7076  !! \param[IN] access whether the data can be accessed for read or write by
7077  !! PDI
7078  !! \param[OUT] err for error status (optional)
7079  subroutine PDI_access_INTEGER8_0D(name, ptr_data, access, &
7080  err)
7081  character(len=*), intent(IN) :: name
7082  INTEGER(KIND=8), pointer &
7083  :: ptr_data
7084  integer, intent(IN) :: access
7085  integer, intent(OUT), optional :: err
7086  endsubroutine PDI_access_INTEGER8_0D
7087  !=============================================================================
7088 
7089 
7090  !=============================================================================
7091  !< requests for PDI to access a data buffer.
7092  !! \param[IN] name the data name
7093  !! \param[OUT] ptr_data pointer associated with the accessd data
7094  !! \param[IN] access whether the data can be accessed for read or write by
7095  !! PDI
7096  !! \param[OUT] err for error status (optional)
7097  subroutine PDI_access_INTEGER8_1D(name, ptr_data, access, &
7098  ptr_data_shape, &
7099  err)
7100  character(len=*), intent(IN) :: name
7101  INTEGER(KIND=8), pointer &
7102  , contiguous &
7103  :: ptr_data(:)
7104  integer, intent(IN) :: access
7105  integer, intent(IN) :: ptr_data_shape(1)
7106  integer, intent(OUT), optional :: err
7107  endsubroutine PDI_access_INTEGER8_1D
7108  !=============================================================================
7109 
7110 
7111  !=============================================================================
7112  !< requests for PDI to access a data buffer.
7113  !! \param[IN] name the data name
7114  !! \param[OUT] ptr_data pointer associated with the accessd data
7115  !! \param[IN] access whether the data can be accessed for read or write by
7116  !! PDI
7117  !! \param[OUT] err for error status (optional)
7118  subroutine PDI_access_INTEGER8_2D(name, ptr_data, access, &
7119  ptr_data_shape, &
7120  err)
7121  character(len=*), intent(IN) :: name
7122  INTEGER(KIND=8), pointer &
7123  , contiguous &
7124  :: ptr_data(:,:)
7125  integer, intent(IN) :: access
7126  integer, intent(IN) :: ptr_data_shape(2)
7127  integer, intent(OUT), optional :: err
7128  endsubroutine PDI_access_INTEGER8_2D
7129  !=============================================================================
7130 
7131 
7132  !=============================================================================
7133  !< requests for PDI to access a data buffer.
7134  !! \param[IN] name the data name
7135  !! \param[OUT] ptr_data pointer associated with the accessd data
7136  !! \param[IN] access whether the data can be accessed for read or write by
7137  !! PDI
7138  !! \param[OUT] err for error status (optional)
7139  subroutine PDI_access_INTEGER8_3D(name, ptr_data, access, &
7140  ptr_data_shape, &
7141  err)
7142  character(len=*), intent(IN) :: name
7143  INTEGER(KIND=8), pointer &
7144  , contiguous &
7145  :: ptr_data(:,:,:)
7146  integer, intent(IN) :: access
7147  integer, intent(IN) :: ptr_data_shape(3)
7148  integer, intent(OUT), optional :: err
7149  endsubroutine PDI_access_INTEGER8_3D
7150  !=============================================================================
7151 
7152 
7153  !=============================================================================
7154  !< requests for PDI to access a data buffer.
7155  !! \param[IN] name the data name
7156  !! \param[OUT] ptr_data pointer associated with the accessd data
7157  !! \param[IN] access whether the data can be accessed for read or write by
7158  !! PDI
7159  !! \param[OUT] err for error status (optional)
7160  subroutine PDI_access_INTEGER8_4D(name, ptr_data, access, &
7161  ptr_data_shape, &
7162  err)
7163  character(len=*), intent(IN) :: name
7164  INTEGER(KIND=8), pointer &
7165  , contiguous &
7166  :: ptr_data(:,:,:,:)
7167  integer, intent(IN) :: access
7168  integer, intent(IN) :: ptr_data_shape(4)
7169  integer, intent(OUT), optional :: err
7170  endsubroutine PDI_access_INTEGER8_4D
7171  !=============================================================================
7172 
7173 
7174  !=============================================================================
7175  !< requests for PDI to access a data buffer.
7176  !! \param[IN] name the data name
7177  !! \param[OUT] ptr_data pointer associated with the accessd data
7178  !! \param[IN] access whether the data can be accessed for read or write by
7179  !! PDI
7180  !! \param[OUT] err for error status (optional)
7181  subroutine PDI_access_INTEGER8_5D(name, ptr_data, access, &
7182  ptr_data_shape, &
7183  err)
7184  character(len=*), intent(IN) :: name
7185  INTEGER(KIND=8), pointer &
7186  , contiguous &
7187  :: ptr_data(:,:,:,:,:)
7188  integer, intent(IN) :: access
7189  integer, intent(IN) :: ptr_data_shape(5)
7190  integer, intent(OUT), optional :: err
7191  endsubroutine PDI_access_INTEGER8_5D
7192  !=============================================================================
7193 
7194 
7195  !=============================================================================
7196  !< requests for PDI to access a data buffer.
7197  !! \param[IN] name the data name
7198  !! \param[OUT] ptr_data pointer associated with the accessd data
7199  !! \param[IN] access whether the data can be accessed for read or write by
7200  !! PDI
7201  !! \param[OUT] err for error status (optional)
7202  subroutine PDI_access_INTEGER8_6D(name, ptr_data, access, &
7203  ptr_data_shape, &
7204  err)
7205  character(len=*), intent(IN) :: name
7206  INTEGER(KIND=8), pointer &
7207  , contiguous &
7208  :: ptr_data(:,:,:,:,:,:)
7209  integer, intent(IN) :: access
7210  integer, intent(IN) :: ptr_data_shape(6)
7211  integer, intent(OUT), optional :: err
7212  endsubroutine PDI_access_INTEGER8_6D
7213  !=============================================================================
7214 
7215 
7216  !=============================================================================
7217  !< requests for PDI to access a data buffer.
7218  !! \param[IN] name the data name
7219  !! \param[OUT] ptr_data pointer associated with the accessd data
7220  !! \param[IN] access whether the data can be accessed for read or write by
7221  !! PDI
7222  !! \param[OUT] err for error status (optional)
7223  subroutine PDI_access_INTEGER8_7D(name, ptr_data, access, &
7224  ptr_data_shape, &
7225  err)
7226  character(len=*), intent(IN) :: name
7227  INTEGER(KIND=8), pointer &
7228  , contiguous &
7229  :: ptr_data(:,:,:,:,:,:,:)
7230  integer, intent(IN) :: access
7231  integer, intent(IN) :: ptr_data_shape(7)
7232  integer, intent(OUT), optional :: err
7233  endsubroutine PDI_access_INTEGER8_7D
7234  !=============================================================================
7235 
7236 
7237  !=============================================================================
7238  !< requests for PDI to access a data buffer.
7239  !! \param[IN] name the data name
7240  !! \param[OUT] ptr_data pointer associated with the accessd data
7241  !! \param[IN] access whether the data can be accessed for read or write by
7242  !! PDI
7243  !! \param[OUT] err for error status (optional)
7244  subroutine PDI_access_INTEGER16_0D(name, ptr_data, access, &
7245  err)
7246  character(len=*), intent(IN) :: name
7247  INTEGER(KIND=16), pointer &
7248  :: ptr_data
7249  integer, intent(IN) :: access
7250  integer, intent(OUT), optional :: err
7251  endsubroutine PDI_access_INTEGER16_0D
7252  !=============================================================================
7253 
7254 
7255  !=============================================================================
7256  !< requests for PDI to access a data buffer.
7257  !! \param[IN] name the data name
7258  !! \param[OUT] ptr_data pointer associated with the accessd data
7259  !! \param[IN] access whether the data can be accessed for read or write by
7260  !! PDI
7261  !! \param[OUT] err for error status (optional)
7262  subroutine PDI_access_INTEGER16_1D(name, ptr_data, access, &
7263  ptr_data_shape, &
7264  err)
7265  character(len=*), intent(IN) :: name
7266  INTEGER(KIND=16), pointer &
7267  , contiguous &
7268  :: ptr_data(:)
7269  integer, intent(IN) :: access
7270  integer, intent(IN) :: ptr_data_shape(1)
7271  integer, intent(OUT), optional :: err
7272  endsubroutine PDI_access_INTEGER16_1D
7273  !=============================================================================
7274 
7275 
7276  !=============================================================================
7277  !< requests for PDI to access a data buffer.
7278  !! \param[IN] name the data name
7279  !! \param[OUT] ptr_data pointer associated with the accessd data
7280  !! \param[IN] access whether the data can be accessed for read or write by
7281  !! PDI
7282  !! \param[OUT] err for error status (optional)
7283  subroutine PDI_access_INTEGER16_2D(name, ptr_data, access, &
7284  ptr_data_shape, &
7285  err)
7286  character(len=*), intent(IN) :: name
7287  INTEGER(KIND=16), pointer &
7288  , contiguous &
7289  :: ptr_data(:,:)
7290  integer, intent(IN) :: access
7291  integer, intent(IN) :: ptr_data_shape(2)
7292  integer, intent(OUT), optional :: err
7293  endsubroutine PDI_access_INTEGER16_2D
7294  !=============================================================================
7295 
7296 
7297  !=============================================================================
7298  !< requests for PDI to access a data buffer.
7299  !! \param[IN] name the data name
7300  !! \param[OUT] ptr_data pointer associated with the accessd data
7301  !! \param[IN] access whether the data can be accessed for read or write by
7302  !! PDI
7303  !! \param[OUT] err for error status (optional)
7304  subroutine PDI_access_INTEGER16_3D(name, ptr_data, access, &
7305  ptr_data_shape, &
7306  err)
7307  character(len=*), intent(IN) :: name
7308  INTEGER(KIND=16), pointer &
7309  , contiguous &
7310  :: ptr_data(:,:,:)
7311  integer, intent(IN) :: access
7312  integer, intent(IN) :: ptr_data_shape(3)
7313  integer, intent(OUT), optional :: err
7314  endsubroutine PDI_access_INTEGER16_3D
7315  !=============================================================================
7316 
7317 
7318  !=============================================================================
7319  !< requests for PDI to access a data buffer.
7320  !! \param[IN] name the data name
7321  !! \param[OUT] ptr_data pointer associated with the accessd data
7322  !! \param[IN] access whether the data can be accessed for read or write by
7323  !! PDI
7324  !! \param[OUT] err for error status (optional)
7325  subroutine PDI_access_INTEGER16_4D(name, ptr_data, access, &
7326  ptr_data_shape, &
7327  err)
7328  character(len=*), intent(IN) :: name
7329  INTEGER(KIND=16), pointer &
7330  , contiguous &
7331  :: ptr_data(:,:,:,:)
7332  integer, intent(IN) :: access
7333  integer, intent(IN) :: ptr_data_shape(4)
7334  integer, intent(OUT), optional :: err
7335  endsubroutine PDI_access_INTEGER16_4D
7336  !=============================================================================
7337 
7338 
7339  !=============================================================================
7340  !< requests for PDI to access a data buffer.
7341  !! \param[IN] name the data name
7342  !! \param[OUT] ptr_data pointer associated with the accessd data
7343  !! \param[IN] access whether the data can be accessed for read or write by
7344  !! PDI
7345  !! \param[OUT] err for error status (optional)
7346  subroutine PDI_access_INTEGER16_5D(name, ptr_data, access, &
7347  ptr_data_shape, &
7348  err)
7349  character(len=*), intent(IN) :: name
7350  INTEGER(KIND=16), pointer &
7351  , contiguous &
7352  :: ptr_data(:,:,:,:,:)
7353  integer, intent(IN) :: access
7354  integer, intent(IN) :: ptr_data_shape(5)
7355  integer, intent(OUT), optional :: err
7356  endsubroutine PDI_access_INTEGER16_5D
7357  !=============================================================================
7358 
7359 
7360  !=============================================================================
7361  !< requests for PDI to access a data buffer.
7362  !! \param[IN] name the data name
7363  !! \param[OUT] ptr_data pointer associated with the accessd data
7364  !! \param[IN] access whether the data can be accessed for read or write by
7365  !! PDI
7366  !! \param[OUT] err for error status (optional)
7367  subroutine PDI_access_INTEGER16_6D(name, ptr_data, access, &
7368  ptr_data_shape, &
7369  err)
7370  character(len=*), intent(IN) :: name
7371  INTEGER(KIND=16), pointer &
7372  , contiguous &
7373  :: ptr_data(:,:,:,:,:,:)
7374  integer, intent(IN) :: access
7375  integer, intent(IN) :: ptr_data_shape(6)
7376  integer, intent(OUT), optional :: err
7377  endsubroutine PDI_access_INTEGER16_6D
7378  !=============================================================================
7379 
7380 
7381  !=============================================================================
7382  !< requests for PDI to access a data buffer.
7383  !! \param[IN] name the data name
7384  !! \param[OUT] ptr_data pointer associated with the accessd data
7385  !! \param[IN] access whether the data can be accessed for read or write by
7386  !! PDI
7387  !! \param[OUT] err for error status (optional)
7388  subroutine PDI_access_INTEGER16_7D(name, ptr_data, access, &
7389  ptr_data_shape, &
7390  err)
7391  character(len=*), intent(IN) :: name
7392  INTEGER(KIND=16), pointer &
7393  , contiguous &
7394  :: ptr_data(:,:,:,:,:,:,:)
7395  integer, intent(IN) :: access
7396  integer, intent(IN) :: ptr_data_shape(7)
7397  integer, intent(OUT), optional :: err
7398  endsubroutine PDI_access_INTEGER16_7D
7399  !=============================================================================
7400 
7401 
7402  !=============================================================================
7403  !< requests for PDI to access a data buffer.
7404  !! \param[IN] name the data name
7405  !! \param[OUT] ptr_data pointer associated with the accessd data
7406  !! \param[IN] access whether the data can be accessed for read or write by
7407  !! PDI
7408  !! \param[OUT] err for error status (optional)
7409  subroutine PDI_access_LOGICAL1_0D(name, ptr_data, access, &
7410  err)
7411  character(len=*), intent(IN) :: name
7412  LOGICAL(KIND=1), pointer &
7413  :: ptr_data
7414  integer, intent(IN) :: access
7415  integer, intent(OUT), optional :: err
7416  endsubroutine PDI_access_LOGICAL1_0D
7417  !=============================================================================
7418 
7419 
7420  !=============================================================================
7421  !< requests for PDI to access a data buffer.
7422  !! \param[IN] name the data name
7423  !! \param[OUT] ptr_data pointer associated with the accessd data
7424  !! \param[IN] access whether the data can be accessed for read or write by
7425  !! PDI
7426  !! \param[OUT] err for error status (optional)
7427  subroutine PDI_access_LOGICAL1_1D(name, ptr_data, access, &
7428  ptr_data_shape, &
7429  err)
7430  character(len=*), intent(IN) :: name
7431  LOGICAL(KIND=1), pointer &
7432  , contiguous &
7433  :: ptr_data(:)
7434  integer, intent(IN) :: access
7435  integer, intent(IN) :: ptr_data_shape(1)
7436  integer, intent(OUT), optional :: err
7437  endsubroutine PDI_access_LOGICAL1_1D
7438  !=============================================================================
7439 
7440 
7441  !=============================================================================
7442  !< requests for PDI to access a data buffer.
7443  !! \param[IN] name the data name
7444  !! \param[OUT] ptr_data pointer associated with the accessd data
7445  !! \param[IN] access whether the data can be accessed for read or write by
7446  !! PDI
7447  !! \param[OUT] err for error status (optional)
7448  subroutine PDI_access_LOGICAL1_2D(name, ptr_data, access, &
7449  ptr_data_shape, &
7450  err)
7451  character(len=*), intent(IN) :: name
7452  LOGICAL(KIND=1), pointer &
7453  , contiguous &
7454  :: ptr_data(:,:)
7455  integer, intent(IN) :: access
7456  integer, intent(IN) :: ptr_data_shape(2)
7457  integer, intent(OUT), optional :: err
7458  endsubroutine PDI_access_LOGICAL1_2D
7459  !=============================================================================
7460 
7461 
7462  !=============================================================================
7463  !< requests for PDI to access a data buffer.
7464  !! \param[IN] name the data name
7465  !! \param[OUT] ptr_data pointer associated with the accessd data
7466  !! \param[IN] access whether the data can be accessed for read or write by
7467  !! PDI
7468  !! \param[OUT] err for error status (optional)
7469  subroutine PDI_access_LOGICAL1_3D(name, ptr_data, access, &
7470  ptr_data_shape, &
7471  err)
7472  character(len=*), intent(IN) :: name
7473  LOGICAL(KIND=1), pointer &
7474  , contiguous &
7475  :: ptr_data(:,:,:)
7476  integer, intent(IN) :: access
7477  integer, intent(IN) :: ptr_data_shape(3)
7478  integer, intent(OUT), optional :: err
7479  endsubroutine PDI_access_LOGICAL1_3D
7480  !=============================================================================
7481 
7482 
7483  !=============================================================================
7484  !< requests for PDI to access a data buffer.
7485  !! \param[IN] name the data name
7486  !! \param[OUT] ptr_data pointer associated with the accessd data
7487  !! \param[IN] access whether the data can be accessed for read or write by
7488  !! PDI
7489  !! \param[OUT] err for error status (optional)
7490  subroutine PDI_access_LOGICAL1_4D(name, ptr_data, access, &
7491  ptr_data_shape, &
7492  err)
7493  character(len=*), intent(IN) :: name
7494  LOGICAL(KIND=1), pointer &
7495  , contiguous &
7496  :: ptr_data(:,:,:,:)
7497  integer, intent(IN) :: access
7498  integer, intent(IN) :: ptr_data_shape(4)
7499  integer, intent(OUT), optional :: err
7500  endsubroutine PDI_access_LOGICAL1_4D
7501  !=============================================================================
7502 
7503 
7504  !=============================================================================
7505  !< requests for PDI to access a data buffer.
7506  !! \param[IN] name the data name
7507  !! \param[OUT] ptr_data pointer associated with the accessd data
7508  !! \param[IN] access whether the data can be accessed for read or write by
7509  !! PDI
7510  !! \param[OUT] err for error status (optional)
7511  subroutine PDI_access_LOGICAL1_5D(name, ptr_data, access, &
7512  ptr_data_shape, &
7513  err)
7514  character(len=*), intent(IN) :: name
7515  LOGICAL(KIND=1), pointer &
7516  , contiguous &
7517  :: ptr_data(:,:,:,:,:)
7518  integer, intent(IN) :: access
7519  integer, intent(IN) :: ptr_data_shape(5)
7520  integer, intent(OUT), optional :: err
7521  endsubroutine PDI_access_LOGICAL1_5D
7522  !=============================================================================
7523 
7524 
7525  !=============================================================================
7526  !< requests for PDI to access a data buffer.
7527  !! \param[IN] name the data name
7528  !! \param[OUT] ptr_data pointer associated with the accessd data
7529  !! \param[IN] access whether the data can be accessed for read or write by
7530  !! PDI
7531  !! \param[OUT] err for error status (optional)
7532  subroutine PDI_access_LOGICAL1_6D(name, ptr_data, access, &
7533  ptr_data_shape, &
7534  err)
7535  character(len=*), intent(IN) :: name
7536  LOGICAL(KIND=1), pointer &
7537  , contiguous &
7538  :: ptr_data(:,:,:,:,:,:)
7539  integer, intent(IN) :: access
7540  integer, intent(IN) :: ptr_data_shape(6)
7541  integer, intent(OUT), optional :: err
7542  endsubroutine PDI_access_LOGICAL1_6D
7543  !=============================================================================
7544 
7545 
7546  !=============================================================================
7547  !< requests for PDI to access a data buffer.
7548  !! \param[IN] name the data name
7549  !! \param[OUT] ptr_data pointer associated with the accessd data
7550  !! \param[IN] access whether the data can be accessed for read or write by
7551  !! PDI
7552  !! \param[OUT] err for error status (optional)
7553  subroutine PDI_access_LOGICAL1_7D(name, ptr_data, access, &
7554  ptr_data_shape, &
7555  err)
7556  character(len=*), intent(IN) :: name
7557  LOGICAL(KIND=1), pointer &
7558  , contiguous &
7559  :: ptr_data(:,:,:,:,:,:,:)
7560  integer, intent(IN) :: access
7561  integer, intent(IN) :: ptr_data_shape(7)
7562  integer, intent(OUT), optional :: err
7563  endsubroutine PDI_access_LOGICAL1_7D
7564  !=============================================================================
7565 
7566 
7567  !=============================================================================
7568  !< requests for PDI to access a data buffer.
7569  !! \param[IN] name the data name
7570  !! \param[OUT] ptr_data pointer associated with the accessd data
7571  !! \param[IN] access whether the data can be accessed for read or write by
7572  !! PDI
7573  !! \param[OUT] err for error status (optional)
7574  subroutine PDI_access_LOGICAL2_0D(name, ptr_data, access, &
7575  err)
7576  character(len=*), intent(IN) :: name
7577  LOGICAL(KIND=2), pointer &
7578  :: ptr_data
7579  integer, intent(IN) :: access
7580  integer, intent(OUT), optional :: err
7581  endsubroutine PDI_access_LOGICAL2_0D
7582  !=============================================================================
7583 
7584 
7585  !=============================================================================
7586  !< requests for PDI to access a data buffer.
7587  !! \param[IN] name the data name
7588  !! \param[OUT] ptr_data pointer associated with the accessd data
7589  !! \param[IN] access whether the data can be accessed for read or write by
7590  !! PDI
7591  !! \param[OUT] err for error status (optional)
7592  subroutine PDI_access_LOGICAL2_1D(name, ptr_data, access, &
7593  ptr_data_shape, &
7594  err)
7595  character(len=*), intent(IN) :: name
7596  LOGICAL(KIND=2), pointer &
7597  , contiguous &
7598  :: ptr_data(:)
7599  integer, intent(IN) :: access
7600  integer, intent(IN) :: ptr_data_shape(1)
7601  integer, intent(OUT), optional :: err
7602  endsubroutine PDI_access_LOGICAL2_1D
7603  !=============================================================================
7604 
7605 
7606  !=============================================================================
7607  !< requests for PDI to access a data buffer.
7608  !! \param[IN] name the data name
7609  !! \param[OUT] ptr_data pointer associated with the accessd data
7610  !! \param[IN] access whether the data can be accessed for read or write by
7611  !! PDI
7612  !! \param[OUT] err for error status (optional)
7613  subroutine PDI_access_LOGICAL2_2D(name, ptr_data, access, &
7614  ptr_data_shape, &
7615  err)
7616  character(len=*), intent(IN) :: name
7617  LOGICAL(KIND=2), pointer &
7618  , contiguous &
7619  :: ptr_data(:,:)
7620  integer, intent(IN) :: access
7621  integer, intent(IN) :: ptr_data_shape(2)
7622  integer, intent(OUT), optional :: err
7623  endsubroutine PDI_access_LOGICAL2_2D
7624  !=============================================================================
7625 
7626 
7627  !=============================================================================
7628  !< requests for PDI to access a data buffer.
7629  !! \param[IN] name the data name
7630  !! \param[OUT] ptr_data pointer associated with the accessd data
7631  !! \param[IN] access whether the data can be accessed for read or write by
7632  !! PDI
7633  !! \param[OUT] err for error status (optional)
7634  subroutine PDI_access_LOGICAL2_3D(name, ptr_data, access, &
7635  ptr_data_shape, &
7636  err)
7637  character(len=*), intent(IN) :: name
7638  LOGICAL(KIND=2), pointer &
7639  , contiguous &
7640  :: ptr_data(:,:,:)
7641  integer, intent(IN) :: access
7642  integer, intent(IN) :: ptr_data_shape(3)
7643  integer, intent(OUT), optional :: err
7644  endsubroutine PDI_access_LOGICAL2_3D
7645  !=============================================================================
7646 
7647 
7648  !=============================================================================
7649  !< requests for PDI to access a data buffer.
7650  !! \param[IN] name the data name
7651  !! \param[OUT] ptr_data pointer associated with the accessd data
7652  !! \param[IN] access whether the data can be accessed for read or write by
7653  !! PDI
7654  !! \param[OUT] err for error status (optional)
7655  subroutine PDI_access_LOGICAL2_4D(name, ptr_data, access, &
7656  ptr_data_shape, &
7657  err)
7658  character(len=*), intent(IN) :: name
7659  LOGICAL(KIND=2), pointer &
7660  , contiguous &
7661  :: ptr_data(:,:,:,:)
7662  integer, intent(IN) :: access
7663  integer, intent(IN) :: ptr_data_shape(4)
7664  integer, intent(OUT), optional :: err
7665  endsubroutine PDI_access_LOGICAL2_4D
7666  !=============================================================================
7667 
7668 
7669  !=============================================================================
7670  !< requests for PDI to access a data buffer.
7671  !! \param[IN] name the data name
7672  !! \param[OUT] ptr_data pointer associated with the accessd data
7673  !! \param[IN] access whether the data can be accessed for read or write by
7674  !! PDI
7675  !! \param[OUT] err for error status (optional)
7676  subroutine PDI_access_LOGICAL2_5D(name, ptr_data, access, &
7677  ptr_data_shape, &
7678  err)
7679  character(len=*), intent(IN) :: name
7680  LOGICAL(KIND=2), pointer &
7681  , contiguous &
7682  :: ptr_data(:,:,:,:,:)
7683  integer, intent(IN) :: access
7684  integer, intent(IN) :: ptr_data_shape(5)
7685  integer, intent(OUT), optional :: err
7686  endsubroutine PDI_access_LOGICAL2_5D
7687  !=============================================================================
7688 
7689 
7690  !=============================================================================
7691  !< requests for PDI to access a data buffer.
7692  !! \param[IN] name the data name
7693  !! \param[OUT] ptr_data pointer associated with the accessd data
7694  !! \param[IN] access whether the data can be accessed for read or write by
7695  !! PDI
7696  !! \param[OUT] err for error status (optional)
7697  subroutine PDI_access_LOGICAL2_6D(name, ptr_data, access, &
7698  ptr_data_shape, &
7699  err)
7700  character(len=*), intent(IN) :: name
7701  LOGICAL(KIND=2), pointer &
7702  , contiguous &
7703  :: ptr_data(:,:,:,:,:,:)
7704  integer, intent(IN) :: access
7705  integer, intent(IN) :: ptr_data_shape(6)
7706  integer, intent(OUT), optional :: err
7707  endsubroutine PDI_access_LOGICAL2_6D
7708  !=============================================================================
7709 
7710 
7711  !=============================================================================
7712  !< requests for PDI to access a data buffer.
7713  !! \param[IN] name the data name
7714  !! \param[OUT] ptr_data pointer associated with the accessd data
7715  !! \param[IN] access whether the data can be accessed for read or write by
7716  !! PDI
7717  !! \param[OUT] err for error status (optional)
7718  subroutine PDI_access_LOGICAL2_7D(name, ptr_data, access, &
7719  ptr_data_shape, &
7720  err)
7721  character(len=*), intent(IN) :: name
7722  LOGICAL(KIND=2), pointer &
7723  , contiguous &
7724  :: ptr_data(:,:,:,:,:,:,:)
7725  integer, intent(IN) :: access
7726  integer, intent(IN) :: ptr_data_shape(7)
7727  integer, intent(OUT), optional :: err
7728  endsubroutine PDI_access_LOGICAL2_7D
7729  !=============================================================================
7730 
7731 
7732  !=============================================================================
7733  !< requests for PDI to access a data buffer.
7734  !! \param[IN] name the data name
7735  !! \param[OUT] ptr_data pointer associated with the accessd data
7736  !! \param[IN] access whether the data can be accessed for read or write by
7737  !! PDI
7738  !! \param[OUT] err for error status (optional)
7739  subroutine PDI_access_LOGICAL4_0D(name, ptr_data, access, &
7740  err)
7741  character(len=*), intent(IN) :: name
7742  LOGICAL(KIND=4), pointer &
7743  :: ptr_data
7744  integer, intent(IN) :: access
7745  integer, intent(OUT), optional :: err
7746  endsubroutine PDI_access_LOGICAL4_0D
7747  !=============================================================================
7748 
7749 
7750  !=============================================================================
7751  !< requests for PDI to access a data buffer.
7752  !! \param[IN] name the data name
7753  !! \param[OUT] ptr_data pointer associated with the accessd data
7754  !! \param[IN] access whether the data can be accessed for read or write by
7755  !! PDI
7756  !! \param[OUT] err for error status (optional)
7757  subroutine PDI_access_LOGICAL4_1D(name, ptr_data, access, &
7758  ptr_data_shape, &
7759  err)
7760  character(len=*), intent(IN) :: name
7761  LOGICAL(KIND=4), pointer &
7762  , contiguous &
7763  :: ptr_data(:)
7764  integer, intent(IN) :: access
7765  integer, intent(IN) :: ptr_data_shape(1)
7766  integer, intent(OUT), optional :: err
7767  endsubroutine PDI_access_LOGICAL4_1D
7768  !=============================================================================
7769 
7770 
7771  !=============================================================================
7772  !< requests for PDI to access a data buffer.
7773  !! \param[IN] name the data name
7774  !! \param[OUT] ptr_data pointer associated with the accessd data
7775  !! \param[IN] access whether the data can be accessed for read or write by
7776  !! PDI
7777  !! \param[OUT] err for error status (optional)
7778  subroutine PDI_access_LOGICAL4_2D(name, ptr_data, access, &
7779  ptr_data_shape, &
7780  err)
7781  character(len=*), intent(IN) :: name
7782  LOGICAL(KIND=4), pointer &
7783  , contiguous &
7784  :: ptr_data(:,:)
7785  integer, intent(IN) :: access
7786  integer, intent(IN) :: ptr_data_shape(2)
7787  integer, intent(OUT), optional :: err
7788  endsubroutine PDI_access_LOGICAL4_2D
7789  !=============================================================================
7790 
7791 
7792  !=============================================================================
7793  !< requests for PDI to access a data buffer.
7794  !! \param[IN] name the data name
7795  !! \param[OUT] ptr_data pointer associated with the accessd data
7796  !! \param[IN] access whether the data can be accessed for read or write by
7797  !! PDI
7798  !! \param[OUT] err for error status (optional)
7799  subroutine PDI_access_LOGICAL4_3D(name, ptr_data, access, &
7800  ptr_data_shape, &
7801  err)
7802  character(len=*), intent(IN) :: name
7803  LOGICAL(KIND=4), pointer &
7804  , contiguous &
7805  :: ptr_data(:,:,:)
7806  integer, intent(IN) :: access
7807  integer, intent(IN) :: ptr_data_shape(3)
7808  integer, intent(OUT), optional :: err
7809  endsubroutine PDI_access_LOGICAL4_3D
7810  !=============================================================================
7811 
7812 
7813  !=============================================================================
7814  !< requests for PDI to access a data buffer.
7815  !! \param[IN] name the data name
7816  !! \param[OUT] ptr_data pointer associated with the accessd data
7817  !! \param[IN] access whether the data can be accessed for read or write by
7818  !! PDI
7819  !! \param[OUT] err for error status (optional)
7820  subroutine PDI_access_LOGICAL4_4D(name, ptr_data, access, &
7821  ptr_data_shape, &
7822  err)
7823  character(len=*), intent(IN) :: name
7824  LOGICAL(KIND=4), pointer &
7825  , contiguous &
7826  :: ptr_data(:,:,:,:)
7827  integer, intent(IN) :: access
7828  integer, intent(IN) :: ptr_data_shape(4)
7829  integer, intent(OUT), optional :: err
7830  endsubroutine PDI_access_LOGICAL4_4D
7831  !=============================================================================
7832 
7833 
7834  !=============================================================================
7835  !< requests for PDI to access a data buffer.
7836  !! \param[IN] name the data name
7837  !! \param[OUT] ptr_data pointer associated with the accessd data
7838  !! \param[IN] access whether the data can be accessed for read or write by
7839  !! PDI
7840  !! \param[OUT] err for error status (optional)
7841  subroutine PDI_access_LOGICAL4_5D(name, ptr_data, access, &
7842  ptr_data_shape, &
7843  err)
7844  character(len=*), intent(IN) :: name
7845  LOGICAL(KIND=4), pointer &
7846  , contiguous &
7847  :: ptr_data(:,:,:,:,:)
7848  integer, intent(IN) :: access
7849  integer, intent(IN) :: ptr_data_shape(5)
7850  integer, intent(OUT), optional :: err
7851  endsubroutine PDI_access_LOGICAL4_5D
7852  !=============================================================================
7853 
7854 
7855  !=============================================================================
7856  !< requests for PDI to access a data buffer.
7857  !! \param[IN] name the data name
7858  !! \param[OUT] ptr_data pointer associated with the accessd data
7859  !! \param[IN] access whether the data can be accessed for read or write by
7860  !! PDI
7861  !! \param[OUT] err for error status (optional)
7862  subroutine PDI_access_LOGICAL4_6D(name, ptr_data, access, &
7863  ptr_data_shape, &
7864  err)
7865  character(len=*), intent(IN) :: name
7866  LOGICAL(KIND=4), pointer &
7867  , contiguous &
7868  :: ptr_data(:,:,:,:,:,:)
7869  integer, intent(IN) :: access
7870  integer, intent(IN) :: ptr_data_shape(6)
7871  integer, intent(OUT), optional :: err
7872  endsubroutine PDI_access_LOGICAL4_6D
7873  !=============================================================================
7874 
7875 
7876  !=============================================================================
7877  !< requests for PDI to access a data buffer.
7878  !! \param[IN] name the data name
7879  !! \param[OUT] ptr_data pointer associated with the accessd data
7880  !! \param[IN] access whether the data can be accessed for read or write by
7881  !! PDI
7882  !! \param[OUT] err for error status (optional)
7883  subroutine PDI_access_LOGICAL4_7D(name, ptr_data, access, &
7884  ptr_data_shape, &
7885  err)
7886  character(len=*), intent(IN) :: name
7887  LOGICAL(KIND=4), pointer &
7888  , contiguous &
7889  :: ptr_data(:,:,:,:,:,:,:)
7890  integer, intent(IN) :: access
7891  integer, intent(IN) :: ptr_data_shape(7)
7892  integer, intent(OUT), optional :: err
7893  endsubroutine PDI_access_LOGICAL4_7D
7894  !=============================================================================
7895 
7896 
7897  !=============================================================================
7898  !< requests for PDI to access a data buffer.
7899  !! \param[IN] name the data name
7900  !! \param[OUT] ptr_data pointer associated with the accessd data
7901  !! \param[IN] access whether the data can be accessed for read or write by
7902  !! PDI
7903  !! \param[OUT] err for error status (optional)
7904  subroutine PDI_access_LOGICAL8_0D(name, ptr_data, access, &
7905  err)
7906  character(len=*), intent(IN) :: name
7907  LOGICAL(KIND=8), pointer &
7908  :: ptr_data
7909  integer, intent(IN) :: access
7910  integer, intent(OUT), optional :: err
7911  endsubroutine PDI_access_LOGICAL8_0D
7912  !=============================================================================
7913 
7914 
7915  !=============================================================================
7916  !< requests for PDI to access a data buffer.
7917  !! \param[IN] name the data name
7918  !! \param[OUT] ptr_data pointer associated with the accessd data
7919  !! \param[IN] access whether the data can be accessed for read or write by
7920  !! PDI
7921  !! \param[OUT] err for error status (optional)
7922  subroutine PDI_access_LOGICAL8_1D(name, ptr_data, access, &
7923  ptr_data_shape, &
7924  err)
7925  character(len=*), intent(IN) :: name
7926  LOGICAL(KIND=8), pointer &
7927  , contiguous &
7928  :: ptr_data(:)
7929  integer, intent(IN) :: access
7930  integer, intent(IN) :: ptr_data_shape(1)
7931  integer, intent(OUT), optional :: err
7932  endsubroutine PDI_access_LOGICAL8_1D
7933  !=============================================================================
7934 
7935 
7936  !=============================================================================
7937  !< requests for PDI to access a data buffer.
7938  !! \param[IN] name the data name
7939  !! \param[OUT] ptr_data pointer associated with the accessd data
7940  !! \param[IN] access whether the data can be accessed for read or write by
7941  !! PDI
7942  !! \param[OUT] err for error status (optional)
7943  subroutine PDI_access_LOGICAL8_2D(name, ptr_data, access, &
7944  ptr_data_shape, &
7945  err)
7946  character(len=*), intent(IN) :: name
7947  LOGICAL(KIND=8), pointer &
7948  , contiguous &
7949  :: ptr_data(:,:)
7950  integer, intent(IN) :: access
7951  integer, intent(IN) :: ptr_data_shape(2)
7952  integer, intent(OUT), optional :: err
7953  endsubroutine PDI_access_LOGICAL8_2D
7954  !=============================================================================
7955 
7956 
7957  !=============================================================================
7958  !< requests for PDI to access a data buffer.
7959  !! \param[IN] name the data name
7960  !! \param[OUT] ptr_data pointer associated with the accessd data
7961  !! \param[IN] access whether the data can be accessed for read or write by
7962  !! PDI
7963  !! \param[OUT] err for error status (optional)
7964  subroutine PDI_access_LOGICAL8_3D(name, ptr_data, access, &
7965  ptr_data_shape, &
7966  err)
7967  character(len=*), intent(IN) :: name
7968  LOGICAL(KIND=8), pointer &
7969  , contiguous &
7970  :: ptr_data(:,:,:)
7971  integer, intent(IN) :: access
7972  integer, intent(IN) :: ptr_data_shape(3)
7973  integer, intent(OUT), optional :: err
7974  endsubroutine PDI_access_LOGICAL8_3D
7975  !=============================================================================
7976 
7977 
7978  !=============================================================================
7979  !< requests for PDI to access a data buffer.
7980  !! \param[IN] name the data name
7981  !! \param[OUT] ptr_data pointer associated with the accessd data
7982  !! \param[IN] access whether the data can be accessed for read or write by
7983  !! PDI
7984  !! \param[OUT] err for error status (optional)
7985  subroutine PDI_access_LOGICAL8_4D(name, ptr_data, access, &
7986  ptr_data_shape, &
7987  err)
7988  character(len=*), intent(IN) :: name
7989  LOGICAL(KIND=8), pointer &
7990  , contiguous &
7991  :: ptr_data(:,:,:,:)
7992  integer, intent(IN) :: access
7993  integer, intent(IN) :: ptr_data_shape(4)
7994  integer, intent(OUT), optional :: err
7995  endsubroutine PDI_access_LOGICAL8_4D
7996  !=============================================================================
7997 
7998 
7999  !=============================================================================
8000  !< requests for PDI to access a data buffer.
8001  !! \param[IN] name the data name
8002  !! \param[OUT] ptr_data pointer associated with the accessd data
8003  !! \param[IN] access whether the data can be accessed for read or write by
8004  !! PDI
8005  !! \param[OUT] err for error status (optional)
8006  subroutine PDI_access_LOGICAL8_5D(name, ptr_data, access, &
8007  ptr_data_shape, &
8008  err)
8009  character(len=*), intent(IN) :: name
8010  LOGICAL(KIND=8), pointer &
8011  , contiguous &
8012  :: ptr_data(:,:,:,:,:)
8013  integer, intent(IN) :: access
8014  integer, intent(IN) :: ptr_data_shape(5)
8015  integer, intent(OUT), optional :: err
8016  endsubroutine PDI_access_LOGICAL8_5D
8017  !=============================================================================
8018 
8019 
8020  !=============================================================================
8021  !< requests for PDI to access a data buffer.
8022  !! \param[IN] name the data name
8023  !! \param[OUT] ptr_data pointer associated with the accessd data
8024  !! \param[IN] access whether the data can be accessed for read or write by
8025  !! PDI
8026  !! \param[OUT] err for error status (optional)
8027  subroutine PDI_access_LOGICAL8_6D(name, ptr_data, access, &
8028  ptr_data_shape, &
8029  err)
8030  character(len=*), intent(IN) :: name
8031  LOGICAL(KIND=8), pointer &
8032  , contiguous &
8033  :: ptr_data(:,:,:,:,:,:)
8034  integer, intent(IN) :: access
8035  integer, intent(IN) :: ptr_data_shape(6)
8036  integer, intent(OUT), optional :: err
8037  endsubroutine PDI_access_LOGICAL8_6D
8038  !=============================================================================
8039 
8040 
8041  !=============================================================================
8042  !< requests for PDI to access a data buffer.
8043  !! \param[IN] name the data name
8044  !! \param[OUT] ptr_data pointer associated with the accessd data
8045  !! \param[IN] access whether the data can be accessed for read or write by
8046  !! PDI
8047  !! \param[OUT] err for error status (optional)
8048  subroutine PDI_access_LOGICAL8_7D(name, ptr_data, access, &
8049  ptr_data_shape, &
8050  err)
8051  character(len=*), intent(IN) :: name
8052  LOGICAL(KIND=8), pointer &
8053  , contiguous &
8054  :: ptr_data(:,:,:,:,:,:,:)
8055  integer, intent(IN) :: access
8056  integer, intent(IN) :: ptr_data_shape(7)
8057  integer, intent(OUT), optional :: err
8058  endsubroutine PDI_access_LOGICAL8_7D
8059  !=============================================================================
8060 
8061 
8062  !=============================================================================
8063  !< requests for PDI to access a data buffer.
8064  !! \param[IN] name the data name
8065  !! \param[OUT] ptr_data pointer associated with the accessd data
8066  !! \param[IN] access whether the data can be accessed for read or write by
8067  !! PDI
8068  !! \param[OUT] err for error status (optional)
8069  subroutine PDI_access_LOGICAL16_0D(name, ptr_data, access, &
8070  err)
8071  character(len=*), intent(IN) :: name
8072  LOGICAL(KIND=16), pointer &
8073  :: ptr_data
8074  integer, intent(IN) :: access
8075  integer, intent(OUT), optional :: err
8076  endsubroutine PDI_access_LOGICAL16_0D
8077  !=============================================================================
8078 
8079 
8080  !=============================================================================
8081  !< requests for PDI to access a data buffer.
8082  !! \param[IN] name the data name
8083  !! \param[OUT] ptr_data pointer associated with the accessd data
8084  !! \param[IN] access whether the data can be accessed for read or write by
8085  !! PDI
8086  !! \param[OUT] err for error status (optional)
8087  subroutine PDI_access_LOGICAL16_1D(name, ptr_data, access, &
8088  ptr_data_shape, &
8089  err)
8090  character(len=*), intent(IN) :: name
8091  LOGICAL(KIND=16), pointer &
8092  , contiguous &
8093  :: ptr_data(:)
8094  integer, intent(IN) :: access
8095  integer, intent(IN) :: ptr_data_shape(1)
8096  integer, intent(OUT), optional :: err
8097  endsubroutine PDI_access_LOGICAL16_1D
8098  !=============================================================================
8099 
8100 
8101  !=============================================================================
8102  !< requests for PDI to access a data buffer.
8103  !! \param[IN] name the data name
8104  !! \param[OUT] ptr_data pointer associated with the accessd data
8105  !! \param[IN] access whether the data can be accessed for read or write by
8106  !! PDI
8107  !! \param[OUT] err for error status (optional)
8108  subroutine PDI_access_LOGICAL16_2D(name, ptr_data, access, &
8109  ptr_data_shape, &
8110  err)
8111  character(len=*), intent(IN) :: name
8112  LOGICAL(KIND=16), pointer &
8113  , contiguous &
8114  :: ptr_data(:,:)
8115  integer, intent(IN) :: access
8116  integer, intent(IN) :: ptr_data_shape(2)
8117  integer, intent(OUT), optional :: err
8118  endsubroutine PDI_access_LOGICAL16_2D
8119  !=============================================================================
8120 
8121 
8122  !=============================================================================
8123  !< requests for PDI to access a data buffer.
8124  !! \param[IN] name the data name
8125  !! \param[OUT] ptr_data pointer associated with the accessd data
8126  !! \param[IN] access whether the data can be accessed for read or write by
8127  !! PDI
8128  !! \param[OUT] err for error status (optional)
8129  subroutine PDI_access_LOGICAL16_3D(name, ptr_data, access, &
8130  ptr_data_shape, &
8131  err)
8132  character(len=*), intent(IN) :: name
8133  LOGICAL(KIND=16), pointer &
8134  , contiguous &
8135  :: ptr_data(:,:,:)
8136  integer, intent(IN) :: access
8137  integer, intent(IN) :: ptr_data_shape(3)
8138  integer, intent(OUT), optional :: err
8139  endsubroutine PDI_access_LOGICAL16_3D
8140  !=============================================================================
8141 
8142 
8143  !=============================================================================
8144  !< requests for PDI to access a data buffer.
8145  !! \param[IN] name the data name
8146  !! \param[OUT] ptr_data pointer associated with the accessd data
8147  !! \param[IN] access whether the data can be accessed for read or write by
8148  !! PDI
8149  !! \param[OUT] err for error status (optional)
8150  subroutine PDI_access_LOGICAL16_4D(name, ptr_data, access, &
8151  ptr_data_shape, &
8152  err)
8153  character(len=*), intent(IN) :: name
8154  LOGICAL(KIND=16), pointer &
8155  , contiguous &
8156  :: ptr_data(:,:,:,:)
8157  integer, intent(IN) :: access
8158  integer, intent(IN) :: ptr_data_shape(4)
8159  integer, intent(OUT), optional :: err
8160  endsubroutine PDI_access_LOGICAL16_4D
8161  !=============================================================================
8162 
8163 
8164  !=============================================================================
8165  !< requests for PDI to access a data buffer.
8166  !! \param[IN] name the data name
8167  !! \param[OUT] ptr_data pointer associated with the accessd data
8168  !! \param[IN] access whether the data can be accessed for read or write by
8169  !! PDI
8170  !! \param[OUT] err for error status (optional)
8171  subroutine PDI_access_LOGICAL16_5D(name, ptr_data, access, &
8172  ptr_data_shape, &
8173  err)
8174  character(len=*), intent(IN) :: name
8175  LOGICAL(KIND=16), pointer &
8176  , contiguous &
8177  :: ptr_data(:,:,:,:,:)
8178  integer, intent(IN) :: access
8179  integer, intent(IN) :: ptr_data_shape(5)
8180  integer, intent(OUT), optional :: err
8181  endsubroutine PDI_access_LOGICAL16_5D
8182  !=============================================================================
8183 
8184 
8185  !=============================================================================
8186  !< requests for PDI to access a data buffer.
8187  !! \param[IN] name the data name
8188  !! \param[OUT] ptr_data pointer associated with the accessd data
8189  !! \param[IN] access whether the data can be accessed for read or write by
8190  !! PDI
8191  !! \param[OUT] err for error status (optional)
8192  subroutine PDI_access_LOGICAL16_6D(name, ptr_data, access, &
8193  ptr_data_shape, &
8194  err)
8195  character(len=*), intent(IN) :: name
8196  LOGICAL(KIND=16), pointer &
8197  , contiguous &
8198  :: ptr_data(:,:,:,:,:,:)
8199  integer, intent(IN) :: access
8200  integer, intent(IN) :: ptr_data_shape(6)
8201  integer, intent(OUT), optional :: err
8202  endsubroutine PDI_access_LOGICAL16_6D
8203  !=============================================================================
8204 
8205 
8206  !=============================================================================
8207  !< requests for PDI to access a data buffer.
8208  !! \param[IN] name the data name
8209  !! \param[OUT] ptr_data pointer associated with the accessd data
8210  !! \param[IN] access whether the data can be accessed for read or write by
8211  !! PDI
8212  !! \param[OUT] err for error status (optional)
8213  subroutine PDI_access_LOGICAL16_7D(name, ptr_data, access, &
8214  ptr_data_shape, &
8215  err)
8216  character(len=*), intent(IN) :: name
8217  LOGICAL(KIND=16), pointer &
8218  , contiguous &
8219  :: ptr_data(:,:,:,:,:,:,:)
8220  integer, intent(IN) :: access
8221  integer, intent(IN) :: ptr_data_shape(7)
8222  integer, intent(OUT), optional :: err
8223  endsubroutine PDI_access_LOGICAL16_7D
8224  !=============================================================================
8225 
8226 
8227  !=============================================================================
8228  !< requests for PDI to access a data buffer.
8229  !! \param[IN] name the data name
8230  !! \param[OUT] ptr_data pointer associated with the accessd data
8231  !! \param[IN] access whether the data can be accessed for read or write by
8232  !! PDI
8233  !! \param[OUT] err for error status (optional)
8234  subroutine PDI_access_REAL4_0D(name, ptr_data, access, &
8235  err)
8236  character(len=*), intent(IN) :: name
8237  REAL(KIND=4), pointer &
8238  :: ptr_data
8239  integer, intent(IN) :: access
8240  integer, intent(OUT), optional :: err
8241  endsubroutine PDI_access_REAL4_0D
8242  !=============================================================================
8243 
8244 
8245  !=============================================================================
8246  !< requests for PDI to access a data buffer.
8247  !! \param[IN] name the data name
8248  !! \param[OUT] ptr_data pointer associated with the accessd data
8249  !! \param[IN] access whether the data can be accessed for read or write by
8250  !! PDI
8251  !! \param[OUT] err for error status (optional)
8252  subroutine PDI_access_REAL4_1D(name, ptr_data, access, &
8253  ptr_data_shape, &
8254  err)
8255  character(len=*), intent(IN) :: name
8256  REAL(KIND=4), pointer &
8257  , contiguous &
8258  :: ptr_data(:)
8259  integer, intent(IN) :: access
8260  integer, intent(IN) :: ptr_data_shape(1)
8261  integer, intent(OUT), optional :: err
8262  endsubroutine PDI_access_REAL4_1D
8263  !=============================================================================
8264 
8265 
8266  !=============================================================================
8267  !< requests for PDI to access a data buffer.
8268  !! \param[IN] name the data name
8269  !! \param[OUT] ptr_data pointer associated with the accessd data
8270  !! \param[IN] access whether the data can be accessed for read or write by
8271  !! PDI
8272  !! \param[OUT] err for error status (optional)
8273  subroutine PDI_access_REAL4_2D(name, ptr_data, access, &
8274  ptr_data_shape, &
8275  err)
8276  character(len=*), intent(IN) :: name
8277  REAL(KIND=4), pointer &
8278  , contiguous &
8279  :: ptr_data(:,:)
8280  integer, intent(IN) :: access
8281  integer, intent(IN) :: ptr_data_shape(2)
8282  integer, intent(OUT), optional :: err
8283  endsubroutine PDI_access_REAL4_2D
8284  !=============================================================================
8285 
8286 
8287  !=============================================================================
8288  !< requests for PDI to access a data buffer.
8289  !! \param[IN] name the data name
8290  !! \param[OUT] ptr_data pointer associated with the accessd data
8291  !! \param[IN] access whether the data can be accessed for read or write by
8292  !! PDI
8293  !! \param[OUT] err for error status (optional)
8294  subroutine PDI_access_REAL4_3D(name, ptr_data, access, &
8295  ptr_data_shape, &
8296  err)
8297  character(len=*), intent(IN) :: name
8298  REAL(KIND=4), pointer &
8299  , contiguous &
8300  :: ptr_data(:,:,:)
8301  integer, intent(IN) :: access
8302  integer, intent(IN) :: ptr_data_shape(3)
8303  integer, intent(OUT), optional :: err
8304  endsubroutine PDI_access_REAL4_3D
8305  !=============================================================================
8306 
8307 
8308  !=============================================================================
8309  !< requests for PDI to access a data buffer.
8310  !! \param[IN] name the data name
8311  !! \param[OUT] ptr_data pointer associated with the accessd data
8312  !! \param[IN] access whether the data can be accessed for read or write by
8313  !! PDI
8314  !! \param[OUT] err for error status (optional)
8315  subroutine PDI_access_REAL4_4D(name, ptr_data, access, &
8316  ptr_data_shape, &
8317  err)
8318  character(len=*), intent(IN) :: name
8319  REAL(KIND=4), pointer &
8320  , contiguous &
8321  :: ptr_data(:,:,:,:)
8322  integer, intent(IN) :: access
8323  integer, intent(IN) :: ptr_data_shape(4)
8324  integer, intent(OUT), optional :: err
8325  endsubroutine PDI_access_REAL4_4D
8326  !=============================================================================
8327 
8328 
8329  !=============================================================================
8330  !< requests for PDI to access a data buffer.
8331  !! \param[IN] name the data name
8332  !! \param[OUT] ptr_data pointer associated with the accessd data
8333  !! \param[IN] access whether the data can be accessed for read or write by
8334  !! PDI
8335  !! \param[OUT] err for error status (optional)
8336  subroutine PDI_access_REAL4_5D(name, ptr_data, access, &
8337  ptr_data_shape, &
8338  err)
8339  character(len=*), intent(IN) :: name
8340  REAL(KIND=4), pointer &
8341  , contiguous &
8342  :: ptr_data(:,:,:,:,:)
8343  integer, intent(IN) :: access
8344  integer, intent(IN) :: ptr_data_shape(5)
8345  integer, intent(OUT), optional :: err
8346  endsubroutine PDI_access_REAL4_5D
8347  !=============================================================================
8348 
8349 
8350  !=============================================================================
8351  !< requests for PDI to access a data buffer.
8352  !! \param[IN] name the data name
8353  !! \param[OUT] ptr_data pointer associated with the accessd data
8354  !! \param[IN] access whether the data can be accessed for read or write by
8355  !! PDI
8356  !! \param[OUT] err for error status (optional)
8357  subroutine PDI_access_REAL4_6D(name, ptr_data, access, &
8358  ptr_data_shape, &
8359  err)
8360  character(len=*), intent(IN) :: name
8361  REAL(KIND=4), pointer &
8362  , contiguous &
8363  :: ptr_data(:,:,:,:,:,:)
8364  integer, intent(IN) :: access
8365  integer, intent(IN) :: ptr_data_shape(6)
8366  integer, intent(OUT), optional :: err
8367  endsubroutine PDI_access_REAL4_6D
8368  !=============================================================================
8369 
8370 
8371  !=============================================================================
8372  !< requests for PDI to access a data buffer.
8373  !! \param[IN] name the data name
8374  !! \param[OUT] ptr_data pointer associated with the accessd data
8375  !! \param[IN] access whether the data can be accessed for read or write by
8376  !! PDI
8377  !! \param[OUT] err for error status (optional)
8378  subroutine PDI_access_REAL4_7D(name, ptr_data, access, &
8379  ptr_data_shape, &
8380  err)
8381  character(len=*), intent(IN) :: name
8382  REAL(KIND=4), pointer &
8383  , contiguous &
8384  :: ptr_data(:,:,:,:,:,:,:)
8385  integer, intent(IN) :: access
8386  integer, intent(IN) :: ptr_data_shape(7)
8387  integer, intent(OUT), optional :: err
8388  endsubroutine PDI_access_REAL4_7D
8389  !=============================================================================
8390 
8391 
8392  !=============================================================================
8393  !< requests for PDI to access a data buffer.
8394  !! \param[IN] name the data name
8395  !! \param[OUT] ptr_data pointer associated with the accessd data
8396  !! \param[IN] access whether the data can be accessed for read or write by
8397  !! PDI
8398  !! \param[OUT] err for error status (optional)
8399  subroutine PDI_access_REAL8_0D(name, ptr_data, access, &
8400  err)
8401  character(len=*), intent(IN) :: name
8402  REAL(KIND=8), pointer &
8403  :: ptr_data
8404  integer, intent(IN) :: access
8405  integer, intent(OUT), optional :: err
8406  endsubroutine PDI_access_REAL8_0D
8407  !=============================================================================
8408 
8409 
8410  !=============================================================================
8411  !< requests for PDI to access a data buffer.
8412  !! \param[IN] name the data name
8413  !! \param[OUT] ptr_data pointer associated with the accessd data
8414  !! \param[IN] access whether the data can be accessed for read or write by
8415  !! PDI
8416  !! \param[OUT] err for error status (optional)
8417  subroutine PDI_access_REAL8_1D(name, ptr_data, access, &
8418  ptr_data_shape, &
8419  err)
8420  character(len=*), intent(IN) :: name
8421  REAL(KIND=8), pointer &
8422  , contiguous &
8423  :: ptr_data(:)
8424  integer, intent(IN) :: access
8425  integer, intent(IN) :: ptr_data_shape(1)
8426  integer, intent(OUT), optional :: err
8427  endsubroutine PDI_access_REAL8_1D
8428  !=============================================================================
8429 
8430 
8431  !=============================================================================
8432  !< requests for PDI to access a data buffer.
8433  !! \param[IN] name the data name
8434  !! \param[OUT] ptr_data pointer associated with the accessd data
8435  !! \param[IN] access whether the data can be accessed for read or write by
8436  !! PDI
8437  !! \param[OUT] err for error status (optional)
8438  subroutine PDI_access_REAL8_2D(name, ptr_data, access, &
8439  ptr_data_shape, &
8440  err)
8441  character(len=*), intent(IN) :: name
8442  REAL(KIND=8), pointer &
8443  , contiguous &
8444  :: ptr_data(:,:)
8445  integer, intent(IN) :: access
8446  integer, intent(IN) :: ptr_data_shape(2)
8447  integer, intent(OUT), optional :: err
8448  endsubroutine PDI_access_REAL8_2D
8449  !=============================================================================
8450 
8451 
8452  !=============================================================================
8453  !< requests for PDI to access a data buffer.
8454  !! \param[IN] name the data name
8455  !! \param[OUT] ptr_data pointer associated with the accessd data
8456  !! \param[IN] access whether the data can be accessed for read or write by
8457  !! PDI
8458  !! \param[OUT] err for error status (optional)
8459  subroutine PDI_access_REAL8_3D(name, ptr_data, access, &
8460  ptr_data_shape, &
8461  err)
8462  character(len=*), intent(IN) :: name
8463  REAL(KIND=8), pointer &
8464  , contiguous &
8465  :: ptr_data(:,:,:)
8466  integer, intent(IN) :: access
8467  integer, intent(IN) :: ptr_data_shape(3)
8468  integer, intent(OUT), optional :: err
8469  endsubroutine PDI_access_REAL8_3D
8470  !=============================================================================
8471 
8472 
8473  !=============================================================================
8474  !< requests for PDI to access a data buffer.
8475  !! \param[IN] name the data name
8476  !! \param[OUT] ptr_data pointer associated with the accessd data
8477  !! \param[IN] access whether the data can be accessed for read or write by
8478  !! PDI
8479  !! \param[OUT] err for error status (optional)
8480  subroutine PDI_access_REAL8_4D(name, ptr_data, access, &
8481  ptr_data_shape, &
8482  err)
8483  character(len=*), intent(IN) :: name
8484  REAL(KIND=8), pointer &
8485  , contiguous &
8486  :: ptr_data(:,:,:,:)
8487  integer, intent(IN) :: access
8488  integer, intent(IN) :: ptr_data_shape(4)
8489  integer, intent(OUT), optional :: err
8490  endsubroutine PDI_access_REAL8_4D
8491  !=============================================================================
8492 
8493 
8494  !=============================================================================
8495  !< requests for PDI to access a data buffer.
8496  !! \param[IN] name the data name
8497  !! \param[OUT] ptr_data pointer associated with the accessd data
8498  !! \param[IN] access whether the data can be accessed for read or write by
8499  !! PDI
8500  !! \param[OUT] err for error status (optional)
8501  subroutine PDI_access_REAL8_5D(name, ptr_data, access, &
8502  ptr_data_shape, &
8503  err)
8504  character(len=*), intent(IN) :: name
8505  REAL(KIND=8), pointer &
8506  , contiguous &
8507  :: ptr_data(:,:,:,:,:)
8508  integer, intent(IN) :: access
8509  integer, intent(IN) :: ptr_data_shape(5)
8510  integer, intent(OUT), optional :: err
8511  endsubroutine PDI_access_REAL8_5D
8512  !=============================================================================
8513 
8514 
8515  !=============================================================================
8516  !< requests for PDI to access a data buffer.
8517  !! \param[IN] name the data name
8518  !! \param[OUT] ptr_data pointer associated with the accessd data
8519  !! \param[IN] access whether the data can be accessed for read or write by
8520  !! PDI
8521  !! \param[OUT] err for error status (optional)
8522  subroutine PDI_access_REAL8_6D(name, ptr_data, access, &
8523  ptr_data_shape, &
8524  err)
8525  character(len=*), intent(IN) :: name
8526  REAL(KIND=8), pointer &
8527  , contiguous &
8528  :: ptr_data(:,:,:,:,:,:)
8529  integer, intent(IN) :: access
8530  integer, intent(IN) :: ptr_data_shape(6)
8531  integer, intent(OUT), optional :: err
8532  endsubroutine PDI_access_REAL8_6D
8533  !=============================================================================
8534 
8535 
8536  !=============================================================================
8537  !< requests for PDI to access a data buffer.
8538  !! \param[IN] name the data name
8539  !! \param[OUT] ptr_data pointer associated with the accessd data
8540  !! \param[IN] access whether the data can be accessed for read or write by
8541  !! PDI
8542  !! \param[OUT] err for error status (optional)
8543  subroutine PDI_access_REAL8_7D(name, ptr_data, access, &
8544  ptr_data_shape, &
8545  err)
8546  character(len=*), intent(IN) :: name
8547  REAL(KIND=8), pointer &
8548  , contiguous &
8549  :: ptr_data(:,:,:,:,:,:,:)
8550  integer, intent(IN) :: access
8551  integer, intent(IN) :: ptr_data_shape(7)
8552  integer, intent(OUT), optional :: err
8553  endsubroutine PDI_access_REAL8_7D
8554  !=============================================================================
8555 
8556 
8557  !=============================================================================
8558  !< requests for PDI to access a data buffer.
8559  !! \param[IN] name the data name
8560  !! \param[OUT] ptr_data pointer associated with the accessd data
8561  !! \param[IN] access whether the data can be accessed for read or write by
8562  !! PDI
8563  !! \param[OUT] err for error status (optional)
8564  subroutine PDI_access_REAL16_0D(name, ptr_data, access, &
8565  err)
8566  character(len=*), intent(IN) :: name
8567  REAL(KIND=16), pointer &
8568  :: ptr_data
8569  integer, intent(IN) :: access
8570  integer, intent(OUT), optional :: err
8571  endsubroutine PDI_access_REAL16_0D
8572  !=============================================================================
8573 
8574 
8575  !=============================================================================
8576  !< requests for PDI to access a data buffer.
8577  !! \param[IN] name the data name
8578  !! \param[OUT] ptr_data pointer associated with the accessd data
8579  !! \param[IN] access whether the data can be accessed for read or write by
8580  !! PDI
8581  !! \param[OUT] err for error status (optional)
8582  subroutine PDI_access_REAL16_1D(name, ptr_data, access, &
8583  ptr_data_shape, &
8584  err)
8585  character(len=*), intent(IN) :: name
8586  REAL(KIND=16), pointer &
8587  , contiguous &
8588  :: ptr_data(:)
8589  integer, intent(IN) :: access
8590  integer, intent(IN) :: ptr_data_shape(1)
8591  integer, intent(OUT), optional :: err
8592  endsubroutine PDI_access_REAL16_1D
8593  !=============================================================================
8594 
8595 
8596  !=============================================================================
8597  !< requests for PDI to access a data buffer.
8598  !! \param[IN] name the data name
8599  !! \param[OUT] ptr_data pointer associated with the accessd data
8600  !! \param[IN] access whether the data can be accessed for read or write by
8601  !! PDI
8602  !! \param[OUT] err for error status (optional)
8603  subroutine PDI_access_REAL16_2D(name, ptr_data, access, &
8604  ptr_data_shape, &
8605  err)
8606  character(len=*), intent(IN) :: name
8607  REAL(KIND=16), pointer &
8608  , contiguous &
8609  :: ptr_data(:,:)
8610  integer, intent(IN) :: access
8611  integer, intent(IN) :: ptr_data_shape(2)
8612  integer, intent(OUT), optional :: err
8613  endsubroutine PDI_access_REAL16_2D
8614  !=============================================================================
8615 
8616 
8617  !=============================================================================
8618  !< requests for PDI to access a data buffer.
8619  !! \param[IN] name the data name
8620  !! \param[OUT] ptr_data pointer associated with the accessd data
8621  !! \param[IN] access whether the data can be accessed for read or write by
8622  !! PDI
8623  !! \param[OUT] err for error status (optional)
8624  subroutine PDI_access_REAL16_3D(name, ptr_data, access, &
8625  ptr_data_shape, &
8626  err)
8627  character(len=*), intent(IN) :: name
8628  REAL(KIND=16), pointer &
8629  , contiguous &
8630  :: ptr_data(:,:,:)
8631  integer, intent(IN) :: access
8632  integer, intent(IN) :: ptr_data_shape(3)
8633  integer, intent(OUT), optional :: err
8634  endsubroutine PDI_access_REAL16_3D
8635  !=============================================================================
8636 
8637 
8638  !=============================================================================
8639  !< requests for PDI to access a data buffer.
8640  !! \param[IN] name the data name
8641  !! \param[OUT] ptr_data pointer associated with the accessd data
8642  !! \param[IN] access whether the data can be accessed for read or write by
8643  !! PDI
8644  !! \param[OUT] err for error status (optional)
8645  subroutine PDI_access_REAL16_4D(name, ptr_data, access, &
8646  ptr_data_shape, &
8647  err)
8648  character(len=*), intent(IN) :: name
8649  REAL(KIND=16), pointer &
8650  , contiguous &
8651  :: ptr_data(:,:,:,:)
8652  integer, intent(IN) :: access
8653  integer, intent(IN) :: ptr_data_shape(4)
8654  integer, intent(OUT), optional :: err
8655  endsubroutine PDI_access_REAL16_4D
8656  !=============================================================================
8657 
8658 
8659  !=============================================================================
8660  !< requests for PDI to access a data buffer.
8661  !! \param[IN] name the data name
8662  !! \param[OUT] ptr_data pointer associated with the accessd data
8663  !! \param[IN] access whether the data can be accessed for read or write by
8664  !! PDI
8665  !! \param[OUT] err for error status (optional)
8666  subroutine PDI_access_REAL16_5D(name, ptr_data, access, &
8667  ptr_data_shape, &
8668  err)
8669  character(len=*), intent(IN) :: name
8670  REAL(KIND=16), pointer &
8671  , contiguous &
8672  :: ptr_data(:,:,:,:,:)
8673  integer, intent(IN) :: access
8674  integer, intent(IN) :: ptr_data_shape(5)
8675  integer, intent(OUT), optional :: err
8676  endsubroutine PDI_access_REAL16_5D
8677  !=============================================================================
8678 
8679 
8680  !=============================================================================
8681  !< requests for PDI to access a data buffer.
8682  !! \param[IN] name the data name
8683  !! \param[OUT] ptr_data pointer associated with the accessd data
8684  !! \param[IN] access whether the data can be accessed for read or write by
8685  !! PDI
8686  !! \param[OUT] err for error status (optional)
8687  subroutine PDI_access_REAL16_6D(name, ptr_data, access, &
8688  ptr_data_shape, &
8689  err)
8690  character(len=*), intent(IN) :: name
8691  REAL(KIND=16), pointer &
8692  , contiguous &
8693  :: ptr_data(:,:,:,:,:,:)
8694  integer, intent(IN) :: access
8695  integer, intent(IN) :: ptr_data_shape(6)
8696  integer, intent(OUT), optional :: err
8697  endsubroutine PDI_access_REAL16_6D
8698  !=============================================================================
8699 
8700 
8701  !=============================================================================
8702  !< requests for PDI to access a data buffer.
8703  !! \param[IN] name the data name
8704  !! \param[OUT] ptr_data pointer associated with the accessd data
8705  !! \param[IN] access whether the data can be accessed for read or write by
8706  !! PDI
8707  !! \param[OUT] err for error status (optional)
8708  subroutine PDI_access_REAL16_7D(name, ptr_data, access, &
8709  ptr_data_shape, &
8710  err)
8711  character(len=*), intent(IN) :: name
8712  REAL(KIND=16), pointer &
8713  , contiguous &
8714  :: ptr_data(:,:,:,:,:,:,:)
8715  integer, intent(IN) :: access
8716  integer, intent(IN) :: ptr_data_shape(7)
8717  integer, intent(OUT), optional :: err
8718  endsubroutine PDI_access_REAL16_7D
8719  !=============================================================================
8720 
8721 endinterface PDI_access