PDI 0.6.1

Data exchange made easy

pdif.h
1 !******************************************************************************
2 ! Copyright (C) 2015-2019 Commissariat a l'energie atomique et aux energies alternatives (CEA)
3 ! alternatives (CEA)
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] ptr_data the pointer to the trageted data
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, ptr_data, access, err )
143  character(len=*), intent(IN) :: name
144  CHARACTER(KIND=1), pointer &
145  :: ptr_data
146  integer, intent(IN) :: access
147  integer, intent(OUT), optional :: err
148  endsubroutine PDI_share_CHARACTER1_0D
149  !=============================================================================
150 
151 
152  !=============================================================================
153  !< shares some data with PDI. the user code should not modify it before
154  !! a call to either PDI_release or PDI_reclaim.
155  !! \param[IN] name the data name
156  !! \param[IN,OUT] ptr_data the pointer to the trageted data
157  !! \param[IN] access whether the data can be accessed for read or write by
158  !! PDI
159  !! \param[OUT] err for error status (optional)
160  !! \pre the user code owns the data buffer
161  !! \post ownership of the data buffer is shared between PDI and the user code
162  !!
163  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
164  !! * PDI_IN means PDI can set the buffer content
165  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
166  subroutine PDI_share_CHARACTER1_1D( name, ptr_data, access, err )
167  character(len=*), intent(IN) :: name
168  CHARACTER(KIND=1), pointer &
169  :: ptr_data(:)
170  integer, intent(IN) :: access
171  integer, intent(OUT), optional :: err
172  endsubroutine PDI_share_CHARACTER1_1D
173  !=============================================================================
174 
175 
176  !=============================================================================
177  !< shares some data with PDI. the user code should not modify it before
178  !! a call to either PDI_release or PDI_reclaim.
179  !! \param[IN] name the data name
180  !! \param[IN,OUT] ptr_data the pointer to the trageted data
181  !! \param[IN] access whether the data can be accessed for read or write by
182  !! PDI
183  !! \param[OUT] err for error status (optional)
184  !! \pre the user code owns the data buffer
185  !! \post ownership of the data buffer is shared between PDI and the user code
186  !!
187  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
188  !! * PDI_IN means PDI can set the buffer content
189  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
190  subroutine PDI_share_CHARACTER1_2D( name, ptr_data, access, err )
191  character(len=*), intent(IN) :: name
192  CHARACTER(KIND=1), pointer &
193  , contiguous &
194  :: ptr_data(:,:)
195  integer, intent(IN) :: access
196  integer, intent(OUT), optional :: err
197  endsubroutine PDI_share_CHARACTER1_2D
198  !=============================================================================
199 
200 
201  !=============================================================================
202  !< shares some data with PDI. the user code should not modify it before
203  !! a call to either PDI_release or PDI_reclaim.
204  !! \param[IN] name the data name
205  !! \param[IN,OUT] ptr_data the pointer to the trageted data
206  !! \param[IN] access whether the data can be accessed for read or write by
207  !! PDI
208  !! \param[OUT] err for error status (optional)
209  !! \pre the user code owns the data buffer
210  !! \post ownership of the data buffer is shared between PDI and the user code
211  !!
212  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
213  !! * PDI_IN means PDI can set the buffer content
214  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
215  subroutine PDI_share_CHARACTER1_3D( name, ptr_data, access, err )
216  character(len=*), intent(IN) :: name
217  CHARACTER(KIND=1), pointer &
218  , contiguous &
219  :: ptr_data(:,:,:)
220  integer, intent(IN) :: access
221  integer, intent(OUT), optional :: err
222  endsubroutine PDI_share_CHARACTER1_3D
223  !=============================================================================
224 
225 
226  !=============================================================================
227  !< shares some data with PDI. the user code should not modify it before
228  !! a call to either PDI_release or PDI_reclaim.
229  !! \param[IN] name the data name
230  !! \param[IN,OUT] ptr_data the pointer to the trageted data
231  !! \param[IN] access whether the data can be accessed for read or write by
232  !! PDI
233  !! \param[OUT] err for error status (optional)
234  !! \pre the user code owns the data buffer
235  !! \post ownership of the data buffer is shared between PDI and the user code
236  !!
237  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
238  !! * PDI_IN means PDI can set the buffer content
239  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
240  subroutine PDI_share_CHARACTER1_4D( name, ptr_data, access, err )
241  character(len=*), intent(IN) :: name
242  CHARACTER(KIND=1), pointer &
243  , contiguous &
244  :: ptr_data(:,:,:,:)
245  integer, intent(IN) :: access
246  integer, intent(OUT), optional :: err
247  endsubroutine PDI_share_CHARACTER1_4D
248  !=============================================================================
249 
250 
251  !=============================================================================
252  !< shares some data with PDI. the user code should not modify it before
253  !! a call to either PDI_release or PDI_reclaim.
254  !! \param[IN] name the data name
255  !! \param[IN,OUT] ptr_data the pointer to the trageted data
256  !! \param[IN] access whether the data can be accessed for read or write by
257  !! PDI
258  !! \param[OUT] err for error status (optional)
259  !! \pre the user code owns the data buffer
260  !! \post ownership of the data buffer is shared between PDI and the user code
261  !!
262  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
263  !! * PDI_IN means PDI can set the buffer content
264  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
265  subroutine PDI_share_CHARACTER1_5D( name, ptr_data, access, err )
266  character(len=*), intent(IN) :: name
267  CHARACTER(KIND=1), pointer &
268  , contiguous &
269  :: ptr_data(:,:,:,:,:)
270  integer, intent(IN) :: access
271  integer, intent(OUT), optional :: err
272  endsubroutine PDI_share_CHARACTER1_5D
273  !=============================================================================
274 
275 
276  !=============================================================================
277  !< shares some data with PDI. the user code should not modify it before
278  !! a call to either PDI_release or PDI_reclaim.
279  !! \param[IN] name the data name
280  !! \param[IN,OUT] ptr_data the pointer to the trageted data
281  !! \param[IN] access whether the data can be accessed for read or write by
282  !! PDI
283  !! \param[OUT] err for error status (optional)
284  !! \pre the user code owns the data buffer
285  !! \post ownership of the data buffer is shared between PDI and the user code
286  !!
287  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
288  !! * PDI_IN means PDI can set the buffer content
289  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
290  subroutine PDI_share_CHARACTER1_6D( name, ptr_data, access, err )
291  character(len=*), intent(IN) :: name
292  CHARACTER(KIND=1), pointer &
293  , contiguous &
294  :: ptr_data(:,:,:,:,:,:)
295  integer, intent(IN) :: access
296  integer, intent(OUT), optional :: err
297  endsubroutine PDI_share_CHARACTER1_6D
298  !=============================================================================
299 
300 
301  !=============================================================================
302  !< shares some data with PDI. the user code should not modify it before
303  !! a call to either PDI_release or PDI_reclaim.
304  !! \param[IN] name the data name
305  !! \param[IN,OUT] ptr_data the pointer to the trageted data
306  !! \param[IN] access whether the data can be accessed for read or write by
307  !! PDI
308  !! \param[OUT] err for error status (optional)
309  !! \pre the user code owns the data buffer
310  !! \post ownership of the data buffer is shared between PDI and the user code
311  !!
312  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
313  !! * PDI_IN means PDI can set the buffer content
314  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
315  subroutine PDI_share_CHARACTER1_7D( name, ptr_data, access, err )
316  character(len=*), intent(IN) :: name
317  CHARACTER(KIND=1), pointer &
318  , contiguous &
319  :: ptr_data(:,:,:,:,:,:,:)
320  integer, intent(IN) :: access
321  integer, intent(OUT), optional :: err
322  endsubroutine PDI_share_CHARACTER1_7D
323  !=============================================================================
324 
325 
326  !=============================================================================
327  !< shares some data with PDI. the user code should not modify it before
328  !! a call to either PDI_release or PDI_reclaim.
329  !! \param[IN] name the data name
330  !! \param[IN,OUT] ptr_data the pointer to the trageted data
331  !! \param[IN] access whether the data can be accessed for read or write by
332  !! PDI
333  !! \param[OUT] err for error status (optional)
334  !! \pre the user code owns the data buffer
335  !! \post ownership of the data buffer is shared between PDI and the user code
336  !!
337  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
338  !! * PDI_IN means PDI can set the buffer content
339  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
340  subroutine PDI_share_CHARACTER4_0D( name, ptr_data, access, err )
341  character(len=*), intent(IN) :: name
342  CHARACTER(KIND=4), pointer &
343  :: ptr_data
344  integer, intent(IN) :: access
345  integer, intent(OUT), optional :: err
346  endsubroutine PDI_share_CHARACTER4_0D
347  !=============================================================================
348 
349 
350  !=============================================================================
351  !< shares some data with PDI. the user code should not modify it before
352  !! a call to either PDI_release or PDI_reclaim.
353  !! \param[IN] name the data name
354  !! \param[IN,OUT] ptr_data the pointer to the trageted data
355  !! \param[IN] access whether the data can be accessed for read or write by
356  !! PDI
357  !! \param[OUT] err for error status (optional)
358  !! \pre the user code owns the data buffer
359  !! \post ownership of the data buffer is shared between PDI and the user code
360  !!
361  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
362  !! * PDI_IN means PDI can set the buffer content
363  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
364  subroutine PDI_share_CHARACTER4_1D( name, ptr_data, access, err )
365  character(len=*), intent(IN) :: name
366  CHARACTER(KIND=4), pointer &
367  :: ptr_data(:)
368  integer, intent(IN) :: access
369  integer, intent(OUT), optional :: err
370  endsubroutine PDI_share_CHARACTER4_1D
371  !=============================================================================
372 
373 
374  !=============================================================================
375  !< shares some data with PDI. the user code should not modify it before
376  !! a call to either PDI_release or PDI_reclaim.
377  !! \param[IN] name the data name
378  !! \param[IN,OUT] ptr_data the pointer to the trageted data
379  !! \param[IN] access whether the data can be accessed for read or write by
380  !! PDI
381  !! \param[OUT] err for error status (optional)
382  !! \pre the user code owns the data buffer
383  !! \post ownership of the data buffer is shared between PDI and the user code
384  !!
385  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
386  !! * PDI_IN means PDI can set the buffer content
387  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
388  subroutine PDI_share_CHARACTER4_2D( name, ptr_data, access, err )
389  character(len=*), intent(IN) :: name
390  CHARACTER(KIND=4), pointer &
391  , contiguous &
392  :: ptr_data(:,:)
393  integer, intent(IN) :: access
394  integer, intent(OUT), optional :: err
395  endsubroutine PDI_share_CHARACTER4_2D
396  !=============================================================================
397 
398 
399  !=============================================================================
400  !< shares some data with PDI. the user code should not modify it before
401  !! a call to either PDI_release or PDI_reclaim.
402  !! \param[IN] name the data name
403  !! \param[IN,OUT] ptr_data the pointer to the trageted data
404  !! \param[IN] access whether the data can be accessed for read or write by
405  !! PDI
406  !! \param[OUT] err for error status (optional)
407  !! \pre the user code owns the data buffer
408  !! \post ownership of the data buffer is shared between PDI and the user code
409  !!
410  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
411  !! * PDI_IN means PDI can set the buffer content
412  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
413  subroutine PDI_share_CHARACTER4_3D( name, ptr_data, access, err )
414  character(len=*), intent(IN) :: name
415  CHARACTER(KIND=4), pointer &
416  , contiguous &
417  :: ptr_data(:,:,:)
418  integer, intent(IN) :: access
419  integer, intent(OUT), optional :: err
420  endsubroutine PDI_share_CHARACTER4_3D
421  !=============================================================================
422 
423 
424  !=============================================================================
425  !< shares some data with PDI. the user code should not modify it before
426  !! a call to either PDI_release or PDI_reclaim.
427  !! \param[IN] name the data name
428  !! \param[IN,OUT] ptr_data the pointer to the trageted data
429  !! \param[IN] access whether the data can be accessed for read or write by
430  !! PDI
431  !! \param[OUT] err for error status (optional)
432  !! \pre the user code owns the data buffer
433  !! \post ownership of the data buffer is shared between PDI and the user code
434  !!
435  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
436  !! * PDI_IN means PDI can set the buffer content
437  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
438  subroutine PDI_share_CHARACTER4_4D( name, ptr_data, access, err )
439  character(len=*), intent(IN) :: name
440  CHARACTER(KIND=4), pointer &
441  , contiguous &
442  :: ptr_data(:,:,:,:)
443  integer, intent(IN) :: access
444  integer, intent(OUT), optional :: err
445  endsubroutine PDI_share_CHARACTER4_4D
446  !=============================================================================
447 
448 
449  !=============================================================================
450  !< shares some data with PDI. the user code should not modify it before
451  !! a call to either PDI_release or PDI_reclaim.
452  !! \param[IN] name the data name
453  !! \param[IN,OUT] ptr_data the pointer to the trageted data
454  !! \param[IN] access whether the data can be accessed for read or write by
455  !! PDI
456  !! \param[OUT] err for error status (optional)
457  !! \pre the user code owns the data buffer
458  !! \post ownership of the data buffer is shared between PDI and the user code
459  !!
460  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
461  !! * PDI_IN means PDI can set the buffer content
462  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
463  subroutine PDI_share_CHARACTER4_5D( name, ptr_data, access, err )
464  character(len=*), intent(IN) :: name
465  CHARACTER(KIND=4), pointer &
466  , contiguous &
467  :: ptr_data(:,:,:,:,:)
468  integer, intent(IN) :: access
469  integer, intent(OUT), optional :: err
470  endsubroutine PDI_share_CHARACTER4_5D
471  !=============================================================================
472 
473 
474  !=============================================================================
475  !< shares some data with PDI. the user code should not modify it before
476  !! a call to either PDI_release or PDI_reclaim.
477  !! \param[IN] name the data name
478  !! \param[IN,OUT] ptr_data the pointer to the trageted data
479  !! \param[IN] access whether the data can be accessed for read or write by
480  !! PDI
481  !! \param[OUT] err for error status (optional)
482  !! \pre the user code owns the data buffer
483  !! \post ownership of the data buffer is shared between PDI and the user code
484  !!
485  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
486  !! * PDI_IN means PDI can set the buffer content
487  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
488  subroutine PDI_share_CHARACTER4_6D( name, ptr_data, access, err )
489  character(len=*), intent(IN) :: name
490  CHARACTER(KIND=4), pointer &
491  , contiguous &
492  :: ptr_data(:,:,:,:,:,:)
493  integer, intent(IN) :: access
494  integer, intent(OUT), optional :: err
495  endsubroutine PDI_share_CHARACTER4_6D
496  !=============================================================================
497 
498 
499  !=============================================================================
500  !< shares some data with PDI. the user code should not modify it before
501  !! a call to either PDI_release or PDI_reclaim.
502  !! \param[IN] name the data name
503  !! \param[IN,OUT] ptr_data the pointer to the trageted data
504  !! \param[IN] access whether the data can be accessed for read or write by
505  !! PDI
506  !! \param[OUT] err for error status (optional)
507  !! \pre the user code owns the data buffer
508  !! \post ownership of the data buffer is shared between PDI and the user code
509  !!
510  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
511  !! * PDI_IN means PDI can set the buffer content
512  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
513  subroutine PDI_share_CHARACTER4_7D( name, ptr_data, access, err )
514  character(len=*), intent(IN) :: name
515  CHARACTER(KIND=4), pointer &
516  , contiguous &
517  :: ptr_data(:,:,:,:,:,:,:)
518  integer, intent(IN) :: access
519  integer, intent(OUT), optional :: err
520  endsubroutine PDI_share_CHARACTER4_7D
521  !=============================================================================
522 
523 
524  !=============================================================================
525  !< shares some data with PDI. the user code should not modify it before
526  !! a call to either PDI_release or PDI_reclaim.
527  !! \param[IN] name the data name
528  !! \param[IN,OUT] ptr_data the pointer to the trageted data
529  !! \param[IN] access whether the data can be accessed for read or write by
530  !! PDI
531  !! \param[OUT] err for error status (optional)
532  !! \pre the user code owns the data buffer
533  !! \post ownership of the data buffer is shared between PDI and the user code
534  !!
535  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
536  !! * PDI_IN means PDI can set the buffer content
537  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
538  subroutine PDI_share_COMPLEX4_0D( name, ptr_data, access, err )
539  character(len=*), intent(IN) :: name
540  COMPLEX(KIND=4), pointer &
541  :: ptr_data
542  integer, intent(IN) :: access
543  integer, intent(OUT), optional :: err
544  endsubroutine PDI_share_COMPLEX4_0D
545  !=============================================================================
546 
547 
548  !=============================================================================
549  !< shares some data with PDI. the user code should not modify it before
550  !! a call to either PDI_release or PDI_reclaim.
551  !! \param[IN] name the data name
552  !! \param[IN,OUT] ptr_data the pointer to the trageted data
553  !! \param[IN] access whether the data can be accessed for read or write by
554  !! PDI
555  !! \param[OUT] err for error status (optional)
556  !! \pre the user code owns the data buffer
557  !! \post ownership of the data buffer is shared between PDI and the user code
558  !!
559  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
560  !! * PDI_IN means PDI can set the buffer content
561  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
562  subroutine PDI_share_COMPLEX4_1D( name, ptr_data, access, err )
563  character(len=*), intent(IN) :: name
564  COMPLEX(KIND=4), pointer &
565  :: ptr_data(:)
566  integer, intent(IN) :: access
567  integer, intent(OUT), optional :: err
568  endsubroutine PDI_share_COMPLEX4_1D
569  !=============================================================================
570 
571 
572  !=============================================================================
573  !< shares some data with PDI. the user code should not modify it before
574  !! a call to either PDI_release or PDI_reclaim.
575  !! \param[IN] name the data name
576  !! \param[IN,OUT] ptr_data the pointer to the trageted data
577  !! \param[IN] access whether the data can be accessed for read or write by
578  !! PDI
579  !! \param[OUT] err for error status (optional)
580  !! \pre the user code owns the data buffer
581  !! \post ownership of the data buffer is shared between PDI and the user code
582  !!
583  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
584  !! * PDI_IN means PDI can set the buffer content
585  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
586  subroutine PDI_share_COMPLEX4_2D( name, ptr_data, access, err )
587  character(len=*), intent(IN) :: name
588  COMPLEX(KIND=4), pointer &
589  , contiguous &
590  :: ptr_data(:,:)
591  integer, intent(IN) :: access
592  integer, intent(OUT), optional :: err
593  endsubroutine PDI_share_COMPLEX4_2D
594  !=============================================================================
595 
596 
597  !=============================================================================
598  !< shares some data with PDI. the user code should not modify it before
599  !! a call to either PDI_release or PDI_reclaim.
600  !! \param[IN] name the data name
601  !! \param[IN,OUT] ptr_data the pointer to the trageted data
602  !! \param[IN] access whether the data can be accessed for read or write by
603  !! PDI
604  !! \param[OUT] err for error status (optional)
605  !! \pre the user code owns the data buffer
606  !! \post ownership of the data buffer is shared between PDI and the user code
607  !!
608  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
609  !! * PDI_IN means PDI can set the buffer content
610  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
611  subroutine PDI_share_COMPLEX4_3D( name, ptr_data, access, err )
612  character(len=*), intent(IN) :: name
613  COMPLEX(KIND=4), pointer &
614  , contiguous &
615  :: ptr_data(:,:,:)
616  integer, intent(IN) :: access
617  integer, intent(OUT), optional :: err
618  endsubroutine PDI_share_COMPLEX4_3D
619  !=============================================================================
620 
621 
622  !=============================================================================
623  !< shares some data with PDI. the user code should not modify it before
624  !! a call to either PDI_release or PDI_reclaim.
625  !! \param[IN] name the data name
626  !! \param[IN,OUT] ptr_data the pointer to the trageted data
627  !! \param[IN] access whether the data can be accessed for read or write by
628  !! PDI
629  !! \param[OUT] err for error status (optional)
630  !! \pre the user code owns the data buffer
631  !! \post ownership of the data buffer is shared between PDI and the user code
632  !!
633  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
634  !! * PDI_IN means PDI can set the buffer content
635  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
636  subroutine PDI_share_COMPLEX4_4D( name, ptr_data, access, err )
637  character(len=*), intent(IN) :: name
638  COMPLEX(KIND=4), pointer &
639  , contiguous &
640  :: ptr_data(:,:,:,:)
641  integer, intent(IN) :: access
642  integer, intent(OUT), optional :: err
643  endsubroutine PDI_share_COMPLEX4_4D
644  !=============================================================================
645 
646 
647  !=============================================================================
648  !< shares some data with PDI. the user code should not modify it before
649  !! a call to either PDI_release or PDI_reclaim.
650  !! \param[IN] name the data name
651  !! \param[IN,OUT] ptr_data the pointer to the trageted data
652  !! \param[IN] access whether the data can be accessed for read or write by
653  !! PDI
654  !! \param[OUT] err for error status (optional)
655  !! \pre the user code owns the data buffer
656  !! \post ownership of the data buffer is shared between PDI and the user code
657  !!
658  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
659  !! * PDI_IN means PDI can set the buffer content
660  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
661  subroutine PDI_share_COMPLEX4_5D( name, ptr_data, access, err )
662  character(len=*), intent(IN) :: name
663  COMPLEX(KIND=4), pointer &
664  , contiguous &
665  :: ptr_data(:,:,:,:,:)
666  integer, intent(IN) :: access
667  integer, intent(OUT), optional :: err
668  endsubroutine PDI_share_COMPLEX4_5D
669  !=============================================================================
670 
671 
672  !=============================================================================
673  !< shares some data with PDI. the user code should not modify it before
674  !! a call to either PDI_release or PDI_reclaim.
675  !! \param[IN] name the data name
676  !! \param[IN,OUT] ptr_data the pointer to the trageted data
677  !! \param[IN] access whether the data can be accessed for read or write by
678  !! PDI
679  !! \param[OUT] err for error status (optional)
680  !! \pre the user code owns the data buffer
681  !! \post ownership of the data buffer is shared between PDI and the user code
682  !!
683  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
684  !! * PDI_IN means PDI can set the buffer content
685  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
686  subroutine PDI_share_COMPLEX4_6D( name, ptr_data, access, err )
687  character(len=*), intent(IN) :: name
688  COMPLEX(KIND=4), pointer &
689  , contiguous &
690  :: ptr_data(:,:,:,:,:,:)
691  integer, intent(IN) :: access
692  integer, intent(OUT), optional :: err
693  endsubroutine PDI_share_COMPLEX4_6D
694  !=============================================================================
695 
696 
697  !=============================================================================
698  !< shares some data with PDI. the user code should not modify it before
699  !! a call to either PDI_release or PDI_reclaim.
700  !! \param[IN] name the data name
701  !! \param[IN,OUT] ptr_data the pointer to the trageted data
702  !! \param[IN] access whether the data can be accessed for read or write by
703  !! PDI
704  !! \param[OUT] err for error status (optional)
705  !! \pre the user code owns the data buffer
706  !! \post ownership of the data buffer is shared between PDI and the user code
707  !!
708  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
709  !! * PDI_IN means PDI can set the buffer content
710  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
711  subroutine PDI_share_COMPLEX4_7D( name, ptr_data, access, err )
712  character(len=*), intent(IN) :: name
713  COMPLEX(KIND=4), pointer &
714  , contiguous &
715  :: ptr_data(:,:,:,:,:,:,:)
716  integer, intent(IN) :: access
717  integer, intent(OUT), optional :: err
718  endsubroutine PDI_share_COMPLEX4_7D
719  !=============================================================================
720 
721 
722  !=============================================================================
723  !< shares some data with PDI. the user code should not modify it before
724  !! a call to either PDI_release or PDI_reclaim.
725  !! \param[IN] name the data name
726  !! \param[IN,OUT] ptr_data the pointer to the trageted data
727  !! \param[IN] access whether the data can be accessed for read or write by
728  !! PDI
729  !! \param[OUT] err for error status (optional)
730  !! \pre the user code owns the data buffer
731  !! \post ownership of the data buffer is shared between PDI and the user code
732  !!
733  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
734  !! * PDI_IN means PDI can set the buffer content
735  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
736  subroutine PDI_share_COMPLEX8_0D( name, ptr_data, access, err )
737  character(len=*), intent(IN) :: name
738  COMPLEX(KIND=8), pointer &
739  :: ptr_data
740  integer, intent(IN) :: access
741  integer, intent(OUT), optional :: err
742  endsubroutine PDI_share_COMPLEX8_0D
743  !=============================================================================
744 
745 
746  !=============================================================================
747  !< shares some data with PDI. the user code should not modify it before
748  !! a call to either PDI_release or PDI_reclaim.
749  !! \param[IN] name the data name
750  !! \param[IN,OUT] ptr_data the pointer to the trageted data
751  !! \param[IN] access whether the data can be accessed for read or write by
752  !! PDI
753  !! \param[OUT] err for error status (optional)
754  !! \pre the user code owns the data buffer
755  !! \post ownership of the data buffer is shared between PDI and the user code
756  !!
757  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
758  !! * PDI_IN means PDI can set the buffer content
759  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
760  subroutine PDI_share_COMPLEX8_1D( name, ptr_data, access, err )
761  character(len=*), intent(IN) :: name
762  COMPLEX(KIND=8), pointer &
763  :: ptr_data(:)
764  integer, intent(IN) :: access
765  integer, intent(OUT), optional :: err
766  endsubroutine PDI_share_COMPLEX8_1D
767  !=============================================================================
768 
769 
770  !=============================================================================
771  !< shares some data with PDI. the user code should not modify it before
772  !! a call to either PDI_release or PDI_reclaim.
773  !! \param[IN] name the data name
774  !! \param[IN,OUT] ptr_data the pointer to the trageted data
775  !! \param[IN] access whether the data can be accessed for read or write by
776  !! PDI
777  !! \param[OUT] err for error status (optional)
778  !! \pre the user code owns the data buffer
779  !! \post ownership of the data buffer is shared between PDI and the user code
780  !!
781  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
782  !! * PDI_IN means PDI can set the buffer content
783  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
784  subroutine PDI_share_COMPLEX8_2D( name, ptr_data, access, err )
785  character(len=*), intent(IN) :: name
786  COMPLEX(KIND=8), pointer &
787  , contiguous &
788  :: ptr_data(:,:)
789  integer, intent(IN) :: access
790  integer, intent(OUT), optional :: err
791  endsubroutine PDI_share_COMPLEX8_2D
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] ptr_data the pointer to the trageted data
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_3D( name, ptr_data, access, err )
810  character(len=*), intent(IN) :: name
811  COMPLEX(KIND=8), pointer &
812  , contiguous &
813  :: ptr_data(:,:,:)
814  integer, intent(IN) :: access
815  integer, intent(OUT), optional :: err
816  endsubroutine PDI_share_COMPLEX8_3D
817  !=============================================================================
818 
819 
820  !=============================================================================
821  !< shares some data with PDI. the user code should not modify it before
822  !! a call to either PDI_release or PDI_reclaim.
823  !! \param[IN] name the data name
824  !! \param[IN,OUT] ptr_data the pointer to the trageted data
825  !! \param[IN] access whether the data can be accessed for read or write by
826  !! PDI
827  !! \param[OUT] err for error status (optional)
828  !! \pre the user code owns the data buffer
829  !! \post ownership of the data buffer is shared between PDI and the user code
830  !!
831  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
832  !! * PDI_IN means PDI can set the buffer content
833  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
834  subroutine PDI_share_COMPLEX8_4D( name, ptr_data, access, err )
835  character(len=*), intent(IN) :: name
836  COMPLEX(KIND=8), pointer &
837  , contiguous &
838  :: ptr_data(:,:,:,:)
839  integer, intent(IN) :: access
840  integer, intent(OUT), optional :: err
841  endsubroutine PDI_share_COMPLEX8_4D
842  !=============================================================================
843 
844 
845  !=============================================================================
846  !< shares some data with PDI. the user code should not modify it before
847  !! a call to either PDI_release or PDI_reclaim.
848  !! \param[IN] name the data name
849  !! \param[IN,OUT] ptr_data the pointer to the trageted data
850  !! \param[IN] access whether the data can be accessed for read or write by
851  !! PDI
852  !! \param[OUT] err for error status (optional)
853  !! \pre the user code owns the data buffer
854  !! \post ownership of the data buffer is shared between PDI and the user code
855  !!
856  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
857  !! * PDI_IN means PDI can set the buffer content
858  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
859  subroutine PDI_share_COMPLEX8_5D( name, ptr_data, access, err )
860  character(len=*), intent(IN) :: name
861  COMPLEX(KIND=8), pointer &
862  , contiguous &
863  :: ptr_data(:,:,:,:,:)
864  integer, intent(IN) :: access
865  integer, intent(OUT), optional :: err
866  endsubroutine PDI_share_COMPLEX8_5D
867  !=============================================================================
868 
869 
870  !=============================================================================
871  !< shares some data with PDI. the user code should not modify it before
872  !! a call to either PDI_release or PDI_reclaim.
873  !! \param[IN] name the data name
874  !! \param[IN,OUT] ptr_data the pointer to the trageted data
875  !! \param[IN] access whether the data can be accessed for read or write by
876  !! PDI
877  !! \param[OUT] err for error status (optional)
878  !! \pre the user code owns the data buffer
879  !! \post ownership of the data buffer is shared between PDI and the user code
880  !!
881  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
882  !! * PDI_IN means PDI can set the buffer content
883  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
884  subroutine PDI_share_COMPLEX8_6D( name, ptr_data, access, err )
885  character(len=*), intent(IN) :: name
886  COMPLEX(KIND=8), pointer &
887  , contiguous &
888  :: ptr_data(:,:,:,:,:,:)
889  integer, intent(IN) :: access
890  integer, intent(OUT), optional :: err
891  endsubroutine PDI_share_COMPLEX8_6D
892  !=============================================================================
893 
894 
895  !=============================================================================
896  !< shares some data with PDI. the user code should not modify it before
897  !! a call to either PDI_release or PDI_reclaim.
898  !! \param[IN] name the data name
899  !! \param[IN,OUT] ptr_data the pointer to the trageted data
900  !! \param[IN] access whether the data can be accessed for read or write by
901  !! PDI
902  !! \param[OUT] err for error status (optional)
903  !! \pre the user code owns the data buffer
904  !! \post ownership of the data buffer is shared between PDI and the user code
905  !!
906  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
907  !! * PDI_IN means PDI can set the buffer content
908  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
909  subroutine PDI_share_COMPLEX8_7D( name, ptr_data, access, err )
910  character(len=*), intent(IN) :: name
911  COMPLEX(KIND=8), pointer &
912  , contiguous &
913  :: ptr_data(:,:,:,:,:,:,:)
914  integer, intent(IN) :: access
915  integer, intent(OUT), optional :: err
916  endsubroutine PDI_share_COMPLEX8_7D
917  !=============================================================================
918 
919 
920  !=============================================================================
921  !< shares some data with PDI. the user code should not modify it before
922  !! a call to either PDI_release or PDI_reclaim.
923  !! \param[IN] name the data name
924  !! \param[IN,OUT] ptr_data the pointer to the trageted data
925  !! \param[IN] access whether the data can be accessed for read or write by
926  !! PDI
927  !! \param[OUT] err for error status (optional)
928  !! \pre the user code owns the data buffer
929  !! \post ownership of the data buffer is shared between PDI and the user code
930  !!
931  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
932  !! * PDI_IN means PDI can set the buffer content
933  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
934  subroutine PDI_share_COMPLEX16_0D( name, ptr_data, access, err )
935  character(len=*), intent(IN) :: name
936  COMPLEX(KIND=16), pointer &
937  :: ptr_data
938  integer, intent(IN) :: access
939  integer, intent(OUT), optional :: err
940  endsubroutine PDI_share_COMPLEX16_0D
941  !=============================================================================
942 
943 
944  !=============================================================================
945  !< shares some data with PDI. the user code should not modify it before
946  !! a call to either PDI_release or PDI_reclaim.
947  !! \param[IN] name the data name
948  !! \param[IN,OUT] ptr_data the pointer to the trageted data
949  !! \param[IN] access whether the data can be accessed for read or write by
950  !! PDI
951  !! \param[OUT] err for error status (optional)
952  !! \pre the user code owns the data buffer
953  !! \post ownership of the data buffer is shared between PDI and the user code
954  !!
955  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
956  !! * PDI_IN means PDI can set the buffer content
957  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
958  subroutine PDI_share_COMPLEX16_1D( name, ptr_data, access, err )
959  character(len=*), intent(IN) :: name
960  COMPLEX(KIND=16), pointer &
961  :: ptr_data(:)
962  integer, intent(IN) :: access
963  integer, intent(OUT), optional :: err
964  endsubroutine PDI_share_COMPLEX16_1D
965  !=============================================================================
966 
967 
968  !=============================================================================
969  !< shares some data with PDI. the user code should not modify it before
970  !! a call to either PDI_release or PDI_reclaim.
971  !! \param[IN] name the data name
972  !! \param[IN,OUT] ptr_data the pointer to the trageted data
973  !! \param[IN] access whether the data can be accessed for read or write by
974  !! PDI
975  !! \param[OUT] err for error status (optional)
976  !! \pre the user code owns the data buffer
977  !! \post ownership of the data buffer is shared between PDI and the user code
978  !!
979  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
980  !! * PDI_IN means PDI can set the buffer content
981  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
982  subroutine PDI_share_COMPLEX16_2D( name, ptr_data, access, err )
983  character(len=*), intent(IN) :: name
984  COMPLEX(KIND=16), pointer &
985  , contiguous &
986  :: ptr_data(:,:)
987  integer, intent(IN) :: access
988  integer, intent(OUT), optional :: err
989  endsubroutine PDI_share_COMPLEX16_2D
990  !=============================================================================
991 
992 
993  !=============================================================================
994  !< shares some data with PDI. the user code should not modify it before
995  !! a call to either PDI_release or PDI_reclaim.
996  !! \param[IN] name the data name
997  !! \param[IN,OUT] ptr_data the pointer to the trageted data
998  !! \param[IN] access whether the data can be accessed for read or write by
999  !! PDI
1000  !! \param[OUT] err for error status (optional)
1001  !! \pre the user code owns the data buffer
1002  !! \post ownership of the data buffer is shared between PDI and the user code
1003  !!
1004  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1005  !! * PDI_IN means PDI can set the buffer content
1006  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1007  subroutine PDI_share_COMPLEX16_3D( name, ptr_data, access, err )
1008  character(len=*), intent(IN) :: name
1009  COMPLEX(KIND=16), pointer &
1010  , contiguous &
1011  :: ptr_data(:,:,:)
1012  integer, intent(IN) :: access
1013  integer, intent(OUT), optional :: err
1014  endsubroutine PDI_share_COMPLEX16_3D
1015  !=============================================================================
1016 
1017 
1018  !=============================================================================
1019  !< shares some data with PDI. the user code should not modify it before
1020  !! a call to either PDI_release or PDI_reclaim.
1021  !! \param[IN] name the data name
1022  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1023  !! \param[IN] access whether the data can be accessed for read or write by
1024  !! PDI
1025  !! \param[OUT] err for error status (optional)
1026  !! \pre the user code owns the data buffer
1027  !! \post ownership of the data buffer is shared between PDI and the user code
1028  !!
1029  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1030  !! * PDI_IN means PDI can set the buffer content
1031  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1032  subroutine PDI_share_COMPLEX16_4D( name, ptr_data, access, err )
1033  character(len=*), intent(IN) :: name
1034  COMPLEX(KIND=16), pointer &
1035  , contiguous &
1036  :: ptr_data(:,:,:,:)
1037  integer, intent(IN) :: access
1038  integer, intent(OUT), optional :: err
1039  endsubroutine PDI_share_COMPLEX16_4D
1040  !=============================================================================
1041 
1042 
1043  !=============================================================================
1044  !< shares some data with PDI. the user code should not modify it before
1045  !! a call to either PDI_release or PDI_reclaim.
1046  !! \param[IN] name the data name
1047  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1048  !! \param[IN] access whether the data can be accessed for read or write by
1049  !! PDI
1050  !! \param[OUT] err for error status (optional)
1051  !! \pre the user code owns the data buffer
1052  !! \post ownership of the data buffer is shared between PDI and the user code
1053  !!
1054  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1055  !! * PDI_IN means PDI can set the buffer content
1056  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1057  subroutine PDI_share_COMPLEX16_5D( name, ptr_data, access, err )
1058  character(len=*), intent(IN) :: name
1059  COMPLEX(KIND=16), pointer &
1060  , contiguous &
1061  :: ptr_data(:,:,:,:,:)
1062  integer, intent(IN) :: access
1063  integer, intent(OUT), optional :: err
1064  endsubroutine PDI_share_COMPLEX16_5D
1065  !=============================================================================
1066 
1067 
1068  !=============================================================================
1069  !< shares some data with PDI. the user code should not modify it before
1070  !! a call to either PDI_release or PDI_reclaim.
1071  !! \param[IN] name the data name
1072  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1073  !! \param[IN] access whether the data can be accessed for read or write by
1074  !! PDI
1075  !! \param[OUT] err for error status (optional)
1076  !! \pre the user code owns the data buffer
1077  !! \post ownership of the data buffer is shared between PDI and the user code
1078  !!
1079  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1080  !! * PDI_IN means PDI can set the buffer content
1081  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1082  subroutine PDI_share_COMPLEX16_6D( name, ptr_data, access, err )
1083  character(len=*), intent(IN) :: name
1084  COMPLEX(KIND=16), pointer &
1085  , contiguous &
1086  :: ptr_data(:,:,:,:,:,:)
1087  integer, intent(IN) :: access
1088  integer, intent(OUT), optional :: err
1089  endsubroutine PDI_share_COMPLEX16_6D
1090  !=============================================================================
1091 
1092 
1093  !=============================================================================
1094  !< shares some data with PDI. the user code should not modify it before
1095  !! a call to either PDI_release or PDI_reclaim.
1096  !! \param[IN] name the data name
1097  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1098  !! \param[IN] access whether the data can be accessed for read or write by
1099  !! PDI
1100  !! \param[OUT] err for error status (optional)
1101  !! \pre the user code owns the data buffer
1102  !! \post ownership of the data buffer is shared between PDI and the user code
1103  !!
1104  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1105  !! * PDI_IN means PDI can set the buffer content
1106  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1107  subroutine PDI_share_COMPLEX16_7D( name, ptr_data, access, err )
1108  character(len=*), intent(IN) :: name
1109  COMPLEX(KIND=16), pointer &
1110  , contiguous &
1111  :: ptr_data(:,:,:,:,:,:,:)
1112  integer, intent(IN) :: access
1113  integer, intent(OUT), optional :: err
1114  endsubroutine PDI_share_COMPLEX16_7D
1115  !=============================================================================
1116 
1117 
1118  !=============================================================================
1119  !< shares some data with PDI. the user code should not modify it before
1120  !! a call to either PDI_release or PDI_reclaim.
1121  !! \param[IN] name the data name
1122  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1123  !! \param[IN] access whether the data can be accessed for read or write by
1124  !! PDI
1125  !! \param[OUT] err for error status (optional)
1126  !! \pre the user code owns the data buffer
1127  !! \post ownership of the data buffer is shared between PDI and the user code
1128  !!
1129  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1130  !! * PDI_IN means PDI can set the buffer content
1131  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1132  subroutine PDI_share_INTEGER1_0D( name, ptr_data, access, err )
1133  character(len=*), intent(IN) :: name
1134  INTEGER(KIND=1), pointer &
1135  :: ptr_data
1136  integer, intent(IN) :: access
1137  integer, intent(OUT), optional :: err
1138  endsubroutine PDI_share_INTEGER1_0D
1139  !=============================================================================
1140 
1141 
1142  !=============================================================================
1143  !< shares some data with PDI. the user code should not modify it before
1144  !! a call to either PDI_release or PDI_reclaim.
1145  !! \param[IN] name the data name
1146  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1147  !! \param[IN] access whether the data can be accessed for read or write by
1148  !! PDI
1149  !! \param[OUT] err for error status (optional)
1150  !! \pre the user code owns the data buffer
1151  !! \post ownership of the data buffer is shared between PDI and the user code
1152  !!
1153  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1154  !! * PDI_IN means PDI can set the buffer content
1155  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1156  subroutine PDI_share_INTEGER1_1D( name, ptr_data, access, err )
1157  character(len=*), intent(IN) :: name
1158  INTEGER(KIND=1), pointer &
1159  :: ptr_data(:)
1160  integer, intent(IN) :: access
1161  integer, intent(OUT), optional :: err
1162  endsubroutine PDI_share_INTEGER1_1D
1163  !=============================================================================
1164 
1165 
1166  !=============================================================================
1167  !< shares some data with PDI. the user code should not modify it before
1168  !! a call to either PDI_release or PDI_reclaim.
1169  !! \param[IN] name the data name
1170  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1171  !! \param[IN] access whether the data can be accessed for read or write by
1172  !! PDI
1173  !! \param[OUT] err for error status (optional)
1174  !! \pre the user code owns the data buffer
1175  !! \post ownership of the data buffer is shared between PDI and the user code
1176  !!
1177  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1178  !! * PDI_IN means PDI can set the buffer content
1179  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1180  subroutine PDI_share_INTEGER1_2D( name, ptr_data, access, err )
1181  character(len=*), intent(IN) :: name
1182  INTEGER(KIND=1), pointer &
1183  , contiguous &
1184  :: ptr_data(:,:)
1185  integer, intent(IN) :: access
1186  integer, intent(OUT), optional :: err
1187  endsubroutine PDI_share_INTEGER1_2D
1188  !=============================================================================
1189 
1190 
1191  !=============================================================================
1192  !< shares some data with PDI. the user code should not modify it before
1193  !! a call to either PDI_release or PDI_reclaim.
1194  !! \param[IN] name the data name
1195  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1196  !! \param[IN] access whether the data can be accessed for read or write by
1197  !! PDI
1198  !! \param[OUT] err for error status (optional)
1199  !! \pre the user code owns the data buffer
1200  !! \post ownership of the data buffer is shared between PDI and the user code
1201  !!
1202  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1203  !! * PDI_IN means PDI can set the buffer content
1204  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1205  subroutine PDI_share_INTEGER1_3D( name, ptr_data, access, err )
1206  character(len=*), intent(IN) :: name
1207  INTEGER(KIND=1), pointer &
1208  , contiguous &
1209  :: ptr_data(:,:,:)
1210  integer, intent(IN) :: access
1211  integer, intent(OUT), optional :: err
1212  endsubroutine PDI_share_INTEGER1_3D
1213  !=============================================================================
1214 
1215 
1216  !=============================================================================
1217  !< shares some data with PDI. the user code should not modify it before
1218  !! a call to either PDI_release or PDI_reclaim.
1219  !! \param[IN] name the data name
1220  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1221  !! \param[IN] access whether the data can be accessed for read or write by
1222  !! PDI
1223  !! \param[OUT] err for error status (optional)
1224  !! \pre the user code owns the data buffer
1225  !! \post ownership of the data buffer is shared between PDI and the user code
1226  !!
1227  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1228  !! * PDI_IN means PDI can set the buffer content
1229  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1230  subroutine PDI_share_INTEGER1_4D( name, ptr_data, access, err )
1231  character(len=*), intent(IN) :: name
1232  INTEGER(KIND=1), pointer &
1233  , contiguous &
1234  :: ptr_data(:,:,:,:)
1235  integer, intent(IN) :: access
1236  integer, intent(OUT), optional :: err
1237  endsubroutine PDI_share_INTEGER1_4D
1238  !=============================================================================
1239 
1240 
1241  !=============================================================================
1242  !< shares some data with PDI. the user code should not modify it before
1243  !! a call to either PDI_release or PDI_reclaim.
1244  !! \param[IN] name the data name
1245  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1246  !! \param[IN] access whether the data can be accessed for read or write by
1247  !! PDI
1248  !! \param[OUT] err for error status (optional)
1249  !! \pre the user code owns the data buffer
1250  !! \post ownership of the data buffer is shared between PDI and the user code
1251  !!
1252  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1253  !! * PDI_IN means PDI can set the buffer content
1254  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1255  subroutine PDI_share_INTEGER1_5D( name, ptr_data, access, err )
1256  character(len=*), intent(IN) :: name
1257  INTEGER(KIND=1), pointer &
1258  , contiguous &
1259  :: ptr_data(:,:,:,:,:)
1260  integer, intent(IN) :: access
1261  integer, intent(OUT), optional :: err
1262  endsubroutine PDI_share_INTEGER1_5D
1263  !=============================================================================
1264 
1265 
1266  !=============================================================================
1267  !< shares some data with PDI. the user code should not modify it before
1268  !! a call to either PDI_release or PDI_reclaim.
1269  !! \param[IN] name the data name
1270  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1271  !! \param[IN] access whether the data can be accessed for read or write by
1272  !! PDI
1273  !! \param[OUT] err for error status (optional)
1274  !! \pre the user code owns the data buffer
1275  !! \post ownership of the data buffer is shared between PDI and the user code
1276  !!
1277  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1278  !! * PDI_IN means PDI can set the buffer content
1279  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1280  subroutine PDI_share_INTEGER1_6D( name, ptr_data, access, err )
1281  character(len=*), intent(IN) :: name
1282  INTEGER(KIND=1), pointer &
1283  , contiguous &
1284  :: ptr_data(:,:,:,:,:,:)
1285  integer, intent(IN) :: access
1286  integer, intent(OUT), optional :: err
1287  endsubroutine PDI_share_INTEGER1_6D
1288  !=============================================================================
1289 
1290 
1291  !=============================================================================
1292  !< shares some data with PDI. the user code should not modify it before
1293  !! a call to either PDI_release or PDI_reclaim.
1294  !! \param[IN] name the data name
1295  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1296  !! \param[IN] access whether the data can be accessed for read or write by
1297  !! PDI
1298  !! \param[OUT] err for error status (optional)
1299  !! \pre the user code owns the data buffer
1300  !! \post ownership of the data buffer is shared between PDI and the user code
1301  !!
1302  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1303  !! * PDI_IN means PDI can set the buffer content
1304  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1305  subroutine PDI_share_INTEGER1_7D( name, ptr_data, access, err )
1306  character(len=*), intent(IN) :: name
1307  INTEGER(KIND=1), pointer &
1308  , contiguous &
1309  :: ptr_data(:,:,:,:,:,:,:)
1310  integer, intent(IN) :: access
1311  integer, intent(OUT), optional :: err
1312  endsubroutine PDI_share_INTEGER1_7D
1313  !=============================================================================
1314 
1315 
1316  !=============================================================================
1317  !< shares some data with PDI. the user code should not modify it before
1318  !! a call to either PDI_release or PDI_reclaim.
1319  !! \param[IN] name the data name
1320  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1321  !! \param[IN] access whether the data can be accessed for read or write by
1322  !! PDI
1323  !! \param[OUT] err for error status (optional)
1324  !! \pre the user code owns the data buffer
1325  !! \post ownership of the data buffer is shared between PDI and the user code
1326  !!
1327  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1328  !! * PDI_IN means PDI can set the buffer content
1329  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1330  subroutine PDI_share_INTEGER2_0D( name, ptr_data, access, err )
1331  character(len=*), intent(IN) :: name
1332  INTEGER(KIND=2), pointer &
1333  :: ptr_data
1334  integer, intent(IN) :: access
1335  integer, intent(OUT), optional :: err
1336  endsubroutine PDI_share_INTEGER2_0D
1337  !=============================================================================
1338 
1339 
1340  !=============================================================================
1341  !< shares some data with PDI. the user code should not modify it before
1342  !! a call to either PDI_release or PDI_reclaim.
1343  !! \param[IN] name the data name
1344  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1345  !! \param[IN] access whether the data can be accessed for read or write by
1346  !! PDI
1347  !! \param[OUT] err for error status (optional)
1348  !! \pre the user code owns the data buffer
1349  !! \post ownership of the data buffer is shared between PDI and the user code
1350  !!
1351  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1352  !! * PDI_IN means PDI can set the buffer content
1353  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1354  subroutine PDI_share_INTEGER2_1D( name, ptr_data, access, err )
1355  character(len=*), intent(IN) :: name
1356  INTEGER(KIND=2), pointer &
1357  :: ptr_data(:)
1358  integer, intent(IN) :: access
1359  integer, intent(OUT), optional :: err
1360  endsubroutine PDI_share_INTEGER2_1D
1361  !=============================================================================
1362 
1363 
1364  !=============================================================================
1365  !< shares some data with PDI. the user code should not modify it before
1366  !! a call to either PDI_release or PDI_reclaim.
1367  !! \param[IN] name the data name
1368  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1369  !! \param[IN] access whether the data can be accessed for read or write by
1370  !! PDI
1371  !! \param[OUT] err for error status (optional)
1372  !! \pre the user code owns the data buffer
1373  !! \post ownership of the data buffer is shared between PDI and the user code
1374  !!
1375  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1376  !! * PDI_IN means PDI can set the buffer content
1377  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1378  subroutine PDI_share_INTEGER2_2D( name, ptr_data, access, err )
1379  character(len=*), intent(IN) :: name
1380  INTEGER(KIND=2), pointer &
1381  , contiguous &
1382  :: ptr_data(:,:)
1383  integer, intent(IN) :: access
1384  integer, intent(OUT), optional :: err
1385  endsubroutine PDI_share_INTEGER2_2D
1386  !=============================================================================
1387 
1388 
1389  !=============================================================================
1390  !< shares some data with PDI. the user code should not modify it before
1391  !! a call to either PDI_release or PDI_reclaim.
1392  !! \param[IN] name the data name
1393  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1394  !! \param[IN] access whether the data can be accessed for read or write by
1395  !! PDI
1396  !! \param[OUT] err for error status (optional)
1397  !! \pre the user code owns the data buffer
1398  !! \post ownership of the data buffer is shared between PDI and the user code
1399  !!
1400  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1401  !! * PDI_IN means PDI can set the buffer content
1402  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1403  subroutine PDI_share_INTEGER2_3D( name, ptr_data, access, err )
1404  character(len=*), intent(IN) :: name
1405  INTEGER(KIND=2), pointer &
1406  , contiguous &
1407  :: ptr_data(:,:,:)
1408  integer, intent(IN) :: access
1409  integer, intent(OUT), optional :: err
1410  endsubroutine PDI_share_INTEGER2_3D
1411  !=============================================================================
1412 
1413 
1414  !=============================================================================
1415  !< shares some data with PDI. the user code should not modify it before
1416  !! a call to either PDI_release or PDI_reclaim.
1417  !! \param[IN] name the data name
1418  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1419  !! \param[IN] access whether the data can be accessed for read or write by
1420  !! PDI
1421  !! \param[OUT] err for error status (optional)
1422  !! \pre the user code owns the data buffer
1423  !! \post ownership of the data buffer is shared between PDI and the user code
1424  !!
1425  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1426  !! * PDI_IN means PDI can set the buffer content
1427  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1428  subroutine PDI_share_INTEGER2_4D( name, ptr_data, access, err )
1429  character(len=*), intent(IN) :: name
1430  INTEGER(KIND=2), pointer &
1431  , contiguous &
1432  :: ptr_data(:,:,:,:)
1433  integer, intent(IN) :: access
1434  integer, intent(OUT), optional :: err
1435  endsubroutine PDI_share_INTEGER2_4D
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] ptr_data the pointer to the trageted data
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_INTEGER2_5D( name, ptr_data, access, err )
1454  character(len=*), intent(IN) :: name
1455  INTEGER(KIND=2), pointer &
1456  , contiguous &
1457  :: ptr_data(:,:,:,:,:)
1458  integer, intent(IN) :: access
1459  integer, intent(OUT), optional :: err
1460  endsubroutine PDI_share_INTEGER2_5D
1461  !=============================================================================
1462 
1463 
1464  !=============================================================================
1465  !< shares some data with PDI. the user code should not modify it before
1466  !! a call to either PDI_release or PDI_reclaim.
1467  !! \param[IN] name the data name
1468  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1469  !! \param[IN] access whether the data can be accessed for read or write by
1470  !! PDI
1471  !! \param[OUT] err for error status (optional)
1472  !! \pre the user code owns the data buffer
1473  !! \post ownership of the data buffer is shared between PDI and the user code
1474  !!
1475  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1476  !! * PDI_IN means PDI can set the buffer content
1477  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1478  subroutine PDI_share_INTEGER2_6D( name, ptr_data, access, err )
1479  character(len=*), intent(IN) :: name
1480  INTEGER(KIND=2), pointer &
1481  , contiguous &
1482  :: ptr_data(:,:,:,:,:,:)
1483  integer, intent(IN) :: access
1484  integer, intent(OUT), optional :: err
1485  endsubroutine PDI_share_INTEGER2_6D
1486  !=============================================================================
1487 
1488 
1489  !=============================================================================
1490  !< shares some data with PDI. the user code should not modify it before
1491  !! a call to either PDI_release or PDI_reclaim.
1492  !! \param[IN] name the data name
1493  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1494  !! \param[IN] access whether the data can be accessed for read or write by
1495  !! PDI
1496  !! \param[OUT] err for error status (optional)
1497  !! \pre the user code owns the data buffer
1498  !! \post ownership of the data buffer is shared between PDI and the user code
1499  !!
1500  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1501  !! * PDI_IN means PDI can set the buffer content
1502  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1503  subroutine PDI_share_INTEGER2_7D( name, ptr_data, access, err )
1504  character(len=*), intent(IN) :: name
1505  INTEGER(KIND=2), pointer &
1506  , contiguous &
1507  :: ptr_data(:,:,:,:,:,:,:)
1508  integer, intent(IN) :: access
1509  integer, intent(OUT), optional :: err
1510  endsubroutine PDI_share_INTEGER2_7D
1511  !=============================================================================
1512 
1513 
1514  !=============================================================================
1515  !< shares some data with PDI. the user code should not modify it before
1516  !! a call to either PDI_release or PDI_reclaim.
1517  !! \param[IN] name the data name
1518  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1519  !! \param[IN] access whether the data can be accessed for read or write by
1520  !! PDI
1521  !! \param[OUT] err for error status (optional)
1522  !! \pre the user code owns the data buffer
1523  !! \post ownership of the data buffer is shared between PDI and the user code
1524  !!
1525  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1526  !! * PDI_IN means PDI can set the buffer content
1527  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1528  subroutine PDI_share_INTEGER4_0D( name, ptr_data, access, err )
1529  character(len=*), intent(IN) :: name
1530  INTEGER(KIND=4), pointer &
1531  :: ptr_data
1532  integer, intent(IN) :: access
1533  integer, intent(OUT), optional :: err
1534  endsubroutine PDI_share_INTEGER4_0D
1535  !=============================================================================
1536 
1537 
1538  !=============================================================================
1539  !< shares some data with PDI. the user code should not modify it before
1540  !! a call to either PDI_release or PDI_reclaim.
1541  !! \param[IN] name the data name
1542  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1543  !! \param[IN] access whether the data can be accessed for read or write by
1544  !! PDI
1545  !! \param[OUT] err for error status (optional)
1546  !! \pre the user code owns the data buffer
1547  !! \post ownership of the data buffer is shared between PDI and the user code
1548  !!
1549  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1550  !! * PDI_IN means PDI can set the buffer content
1551  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1552  subroutine PDI_share_INTEGER4_1D( name, ptr_data, access, err )
1553  character(len=*), intent(IN) :: name
1554  INTEGER(KIND=4), pointer &
1555  :: ptr_data(:)
1556  integer, intent(IN) :: access
1557  integer, intent(OUT), optional :: err
1558  endsubroutine PDI_share_INTEGER4_1D
1559  !=============================================================================
1560 
1561 
1562  !=============================================================================
1563  !< shares some data with PDI. the user code should not modify it before
1564  !! a call to either PDI_release or PDI_reclaim.
1565  !! \param[IN] name the data name
1566  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1567  !! \param[IN] access whether the data can be accessed for read or write by
1568  !! PDI
1569  !! \param[OUT] err for error status (optional)
1570  !! \pre the user code owns the data buffer
1571  !! \post ownership of the data buffer is shared between PDI and the user code
1572  !!
1573  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1574  !! * PDI_IN means PDI can set the buffer content
1575  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1576  subroutine PDI_share_INTEGER4_2D( name, ptr_data, access, err )
1577  character(len=*), intent(IN) :: name
1578  INTEGER(KIND=4), pointer &
1579  , contiguous &
1580  :: ptr_data(:,:)
1581  integer, intent(IN) :: access
1582  integer, intent(OUT), optional :: err
1583  endsubroutine PDI_share_INTEGER4_2D
1584  !=============================================================================
1585 
1586 
1587  !=============================================================================
1588  !< shares some data with PDI. the user code should not modify it before
1589  !! a call to either PDI_release or PDI_reclaim.
1590  !! \param[IN] name the data name
1591  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1592  !! \param[IN] access whether the data can be accessed for read or write by
1593  !! PDI
1594  !! \param[OUT] err for error status (optional)
1595  !! \pre the user code owns the data buffer
1596  !! \post ownership of the data buffer is shared between PDI and the user code
1597  !!
1598  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1599  !! * PDI_IN means PDI can set the buffer content
1600  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1601  subroutine PDI_share_INTEGER4_3D( name, ptr_data, access, err )
1602  character(len=*), intent(IN) :: name
1603  INTEGER(KIND=4), pointer &
1604  , contiguous &
1605  :: ptr_data(:,:,:)
1606  integer, intent(IN) :: access
1607  integer, intent(OUT), optional :: err
1608  endsubroutine PDI_share_INTEGER4_3D
1609  !=============================================================================
1610 
1611 
1612  !=============================================================================
1613  !< shares some data with PDI. the user code should not modify it before
1614  !! a call to either PDI_release or PDI_reclaim.
1615  !! \param[IN] name the data name
1616  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1617  !! \param[IN] access whether the data can be accessed for read or write by
1618  !! PDI
1619  !! \param[OUT] err for error status (optional)
1620  !! \pre the user code owns the data buffer
1621  !! \post ownership of the data buffer is shared between PDI and the user code
1622  !!
1623  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1624  !! * PDI_IN means PDI can set the buffer content
1625  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1626  subroutine PDI_share_INTEGER4_4D( name, ptr_data, access, err )
1627  character(len=*), intent(IN) :: name
1628  INTEGER(KIND=4), pointer &
1629  , contiguous &
1630  :: ptr_data(:,:,:,:)
1631  integer, intent(IN) :: access
1632  integer, intent(OUT), optional :: err
1633  endsubroutine PDI_share_INTEGER4_4D
1634  !=============================================================================
1635 
1636 
1637  !=============================================================================
1638  !< shares some data with PDI. the user code should not modify it before
1639  !! a call to either PDI_release or PDI_reclaim.
1640  !! \param[IN] name the data name
1641  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1642  !! \param[IN] access whether the data can be accessed for read or write by
1643  !! PDI
1644  !! \param[OUT] err for error status (optional)
1645  !! \pre the user code owns the data buffer
1646  !! \post ownership of the data buffer is shared between PDI and the user code
1647  !!
1648  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1649  !! * PDI_IN means PDI can set the buffer content
1650  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1651  subroutine PDI_share_INTEGER4_5D( name, ptr_data, access, err )
1652  character(len=*), intent(IN) :: name
1653  INTEGER(KIND=4), pointer &
1654  , contiguous &
1655  :: ptr_data(:,:,:,:,:)
1656  integer, intent(IN) :: access
1657  integer, intent(OUT), optional :: err
1658  endsubroutine PDI_share_INTEGER4_5D
1659  !=============================================================================
1660 
1661 
1662  !=============================================================================
1663  !< shares some data with PDI. the user code should not modify it before
1664  !! a call to either PDI_release or PDI_reclaim.
1665  !! \param[IN] name the data name
1666  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1667  !! \param[IN] access whether the data can be accessed for read or write by
1668  !! PDI
1669  !! \param[OUT] err for error status (optional)
1670  !! \pre the user code owns the data buffer
1671  !! \post ownership of the data buffer is shared between PDI and the user code
1672  !!
1673  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1674  !! * PDI_IN means PDI can set the buffer content
1675  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1676  subroutine PDI_share_INTEGER4_6D( name, ptr_data, access, err )
1677  character(len=*), intent(IN) :: name
1678  INTEGER(KIND=4), pointer &
1679  , contiguous &
1680  :: ptr_data(:,:,:,:,:,:)
1681  integer, intent(IN) :: access
1682  integer, intent(OUT), optional :: err
1683  endsubroutine PDI_share_INTEGER4_6D
1684  !=============================================================================
1685 
1686 
1687  !=============================================================================
1688  !< shares some data with PDI. the user code should not modify it before
1689  !! a call to either PDI_release or PDI_reclaim.
1690  !! \param[IN] name the data name
1691  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1692  !! \param[IN] access whether the data can be accessed for read or write by
1693  !! PDI
1694  !! \param[OUT] err for error status (optional)
1695  !! \pre the user code owns the data buffer
1696  !! \post ownership of the data buffer is shared between PDI and the user code
1697  !!
1698  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1699  !! * PDI_IN means PDI can set the buffer content
1700  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1701  subroutine PDI_share_INTEGER4_7D( name, ptr_data, access, err )
1702  character(len=*), intent(IN) :: name
1703  INTEGER(KIND=4), pointer &
1704  , contiguous &
1705  :: ptr_data(:,:,:,:,:,:,:)
1706  integer, intent(IN) :: access
1707  integer, intent(OUT), optional :: err
1708  endsubroutine PDI_share_INTEGER4_7D
1709  !=============================================================================
1710 
1711 
1712  !=============================================================================
1713  !< shares some data with PDI. the user code should not modify it before
1714  !! a call to either PDI_release or PDI_reclaim.
1715  !! \param[IN] name the data name
1716  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1717  !! \param[IN] access whether the data can be accessed for read or write by
1718  !! PDI
1719  !! \param[OUT] err for error status (optional)
1720  !! \pre the user code owns the data buffer
1721  !! \post ownership of the data buffer is shared between PDI and the user code
1722  !!
1723  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1724  !! * PDI_IN means PDI can set the buffer content
1725  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1726  subroutine PDI_share_INTEGER8_0D( name, ptr_data, access, err )
1727  character(len=*), intent(IN) :: name
1728  INTEGER(KIND=8), pointer &
1729  :: ptr_data
1730  integer, intent(IN) :: access
1731  integer, intent(OUT), optional :: err
1732  endsubroutine PDI_share_INTEGER8_0D
1733  !=============================================================================
1734 
1735 
1736  !=============================================================================
1737  !< shares some data with PDI. the user code should not modify it before
1738  !! a call to either PDI_release or PDI_reclaim.
1739  !! \param[IN] name the data name
1740  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1741  !! \param[IN] access whether the data can be accessed for read or write by
1742  !! PDI
1743  !! \param[OUT] err for error status (optional)
1744  !! \pre the user code owns the data buffer
1745  !! \post ownership of the data buffer is shared between PDI and the user code
1746  !!
1747  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1748  !! * PDI_IN means PDI can set the buffer content
1749  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1750  subroutine PDI_share_INTEGER8_1D( name, ptr_data, access, err )
1751  character(len=*), intent(IN) :: name
1752  INTEGER(KIND=8), pointer &
1753  :: ptr_data(:)
1754  integer, intent(IN) :: access
1755  integer, intent(OUT), optional :: err
1756  endsubroutine PDI_share_INTEGER8_1D
1757  !=============================================================================
1758 
1759 
1760  !=============================================================================
1761  !< shares some data with PDI. the user code should not modify it before
1762  !! a call to either PDI_release or PDI_reclaim.
1763  !! \param[IN] name the data name
1764  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1765  !! \param[IN] access whether the data can be accessed for read or write by
1766  !! PDI
1767  !! \param[OUT] err for error status (optional)
1768  !! \pre the user code owns the data buffer
1769  !! \post ownership of the data buffer is shared between PDI and the user code
1770  !!
1771  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1772  !! * PDI_IN means PDI can set the buffer content
1773  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1774  subroutine PDI_share_INTEGER8_2D( name, ptr_data, access, err )
1775  character(len=*), intent(IN) :: name
1776  INTEGER(KIND=8), pointer &
1777  , contiguous &
1778  :: ptr_data(:,:)
1779  integer, intent(IN) :: access
1780  integer, intent(OUT), optional :: err
1781  endsubroutine PDI_share_INTEGER8_2D
1782  !=============================================================================
1783 
1784 
1785  !=============================================================================
1786  !< shares some data with PDI. the user code should not modify it before
1787  !! a call to either PDI_release or PDI_reclaim.
1788  !! \param[IN] name the data name
1789  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1790  !! \param[IN] access whether the data can be accessed for read or write by
1791  !! PDI
1792  !! \param[OUT] err for error status (optional)
1793  !! \pre the user code owns the data buffer
1794  !! \post ownership of the data buffer is shared between PDI and the user code
1795  !!
1796  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1797  !! * PDI_IN means PDI can set the buffer content
1798  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1799  subroutine PDI_share_INTEGER8_3D( name, ptr_data, access, err )
1800  character(len=*), intent(IN) :: name
1801  INTEGER(KIND=8), pointer &
1802  , contiguous &
1803  :: ptr_data(:,:,:)
1804  integer, intent(IN) :: access
1805  integer, intent(OUT), optional :: err
1806  endsubroutine PDI_share_INTEGER8_3D
1807  !=============================================================================
1808 
1809 
1810  !=============================================================================
1811  !< shares some data with PDI. the user code should not modify it before
1812  !! a call to either PDI_release or PDI_reclaim.
1813  !! \param[IN] name the data name
1814  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1815  !! \param[IN] access whether the data can be accessed for read or write by
1816  !! PDI
1817  !! \param[OUT] err for error status (optional)
1818  !! \pre the user code owns the data buffer
1819  !! \post ownership of the data buffer is shared between PDI and the user code
1820  !!
1821  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1822  !! * PDI_IN means PDI can set the buffer content
1823  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1824  subroutine PDI_share_INTEGER8_4D( name, ptr_data, access, err )
1825  character(len=*), intent(IN) :: name
1826  INTEGER(KIND=8), pointer &
1827  , contiguous &
1828  :: ptr_data(:,:,:,:)
1829  integer, intent(IN) :: access
1830  integer, intent(OUT), optional :: err
1831  endsubroutine PDI_share_INTEGER8_4D
1832  !=============================================================================
1833 
1834 
1835  !=============================================================================
1836  !< shares some data with PDI. the user code should not modify it before
1837  !! a call to either PDI_release or PDI_reclaim.
1838  !! \param[IN] name the data name
1839  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1840  !! \param[IN] access whether the data can be accessed for read or write by
1841  !! PDI
1842  !! \param[OUT] err for error status (optional)
1843  !! \pre the user code owns the data buffer
1844  !! \post ownership of the data buffer is shared between PDI and the user code
1845  !!
1846  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1847  !! * PDI_IN means PDI can set the buffer content
1848  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1849  subroutine PDI_share_INTEGER8_5D( name, ptr_data, access, err )
1850  character(len=*), intent(IN) :: name
1851  INTEGER(KIND=8), pointer &
1852  , contiguous &
1853  :: ptr_data(:,:,:,:,:)
1854  integer, intent(IN) :: access
1855  integer, intent(OUT), optional :: err
1856  endsubroutine PDI_share_INTEGER8_5D
1857  !=============================================================================
1858 
1859 
1860  !=============================================================================
1861  !< shares some data with PDI. the user code should not modify it before
1862  !! a call to either PDI_release or PDI_reclaim.
1863  !! \param[IN] name the data name
1864  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1865  !! \param[IN] access whether the data can be accessed for read or write by
1866  !! PDI
1867  !! \param[OUT] err for error status (optional)
1868  !! \pre the user code owns the data buffer
1869  !! \post ownership of the data buffer is shared between PDI and the user code
1870  !!
1871  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1872  !! * PDI_IN means PDI can set the buffer content
1873  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1874  subroutine PDI_share_INTEGER8_6D( name, ptr_data, access, err )
1875  character(len=*), intent(IN) :: name
1876  INTEGER(KIND=8), pointer &
1877  , contiguous &
1878  :: ptr_data(:,:,:,:,:,:)
1879  integer, intent(IN) :: access
1880  integer, intent(OUT), optional :: err
1881  endsubroutine PDI_share_INTEGER8_6D
1882  !=============================================================================
1883 
1884 
1885  !=============================================================================
1886  !< shares some data with PDI. the user code should not modify it before
1887  !! a call to either PDI_release or PDI_reclaim.
1888  !! \param[IN] name the data name
1889  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1890  !! \param[IN] access whether the data can be accessed for read or write by
1891  !! PDI
1892  !! \param[OUT] err for error status (optional)
1893  !! \pre the user code owns the data buffer
1894  !! \post ownership of the data buffer is shared between PDI and the user code
1895  !!
1896  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1897  !! * PDI_IN means PDI can set the buffer content
1898  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1899  subroutine PDI_share_INTEGER8_7D( name, ptr_data, access, err )
1900  character(len=*), intent(IN) :: name
1901  INTEGER(KIND=8), pointer &
1902  , contiguous &
1903  :: ptr_data(:,:,:,:,:,:,:)
1904  integer, intent(IN) :: access
1905  integer, intent(OUT), optional :: err
1906  endsubroutine PDI_share_INTEGER8_7D
1907  !=============================================================================
1908 
1909 
1910  !=============================================================================
1911  !< shares some data with PDI. the user code should not modify it before
1912  !! a call to either PDI_release or PDI_reclaim.
1913  !! \param[IN] name the data name
1914  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1915  !! \param[IN] access whether the data can be accessed for read or write by
1916  !! PDI
1917  !! \param[OUT] err for error status (optional)
1918  !! \pre the user code owns the data buffer
1919  !! \post ownership of the data buffer is shared between PDI and the user code
1920  !!
1921  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1922  !! * PDI_IN means PDI can set the buffer content
1923  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1924  subroutine PDI_share_INTEGER16_0D( name, ptr_data, access, err )
1925  character(len=*), intent(IN) :: name
1926  INTEGER(KIND=16), pointer &
1927  :: ptr_data
1928  integer, intent(IN) :: access
1929  integer, intent(OUT), optional :: err
1930  endsubroutine PDI_share_INTEGER16_0D
1931  !=============================================================================
1932 
1933 
1934  !=============================================================================
1935  !< shares some data with PDI. the user code should not modify it before
1936  !! a call to either PDI_release or PDI_reclaim.
1937  !! \param[IN] name the data name
1938  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1939  !! \param[IN] access whether the data can be accessed for read or write by
1940  !! PDI
1941  !! \param[OUT] err for error status (optional)
1942  !! \pre the user code owns the data buffer
1943  !! \post ownership of the data buffer is shared between PDI and the user code
1944  !!
1945  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1946  !! * PDI_IN means PDI can set the buffer content
1947  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1948  subroutine PDI_share_INTEGER16_1D( name, ptr_data, access, err )
1949  character(len=*), intent(IN) :: name
1950  INTEGER(KIND=16), pointer &
1951  :: ptr_data(:)
1952  integer, intent(IN) :: access
1953  integer, intent(OUT), optional :: err
1954  endsubroutine PDI_share_INTEGER16_1D
1955  !=============================================================================
1956 
1957 
1958  !=============================================================================
1959  !< shares some data with PDI. the user code should not modify it before
1960  !! a call to either PDI_release or PDI_reclaim.
1961  !! \param[IN] name the data name
1962  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1963  !! \param[IN] access whether the data can be accessed for read or write by
1964  !! PDI
1965  !! \param[OUT] err for error status (optional)
1966  !! \pre the user code owns the data buffer
1967  !! \post ownership of the data buffer is shared between PDI and the user code
1968  !!
1969  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1970  !! * PDI_IN means PDI can set the buffer content
1971  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1972  subroutine PDI_share_INTEGER16_2D( name, ptr_data, access, err )
1973  character(len=*), intent(IN) :: name
1974  INTEGER(KIND=16), pointer &
1975  , contiguous &
1976  :: ptr_data(:,:)
1977  integer, intent(IN) :: access
1978  integer, intent(OUT), optional :: err
1979  endsubroutine PDI_share_INTEGER16_2D
1980  !=============================================================================
1981 
1982 
1983  !=============================================================================
1984  !< shares some data with PDI. the user code should not modify it before
1985  !! a call to either PDI_release or PDI_reclaim.
1986  !! \param[IN] name the data name
1987  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1988  !! \param[IN] access whether the data can be accessed for read or write by
1989  !! PDI
1990  !! \param[OUT] err for error status (optional)
1991  !! \pre the user code owns the data buffer
1992  !! \post ownership of the data buffer is shared between PDI and the user code
1993  !!
1994  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1995  !! * PDI_IN means PDI can set the buffer content
1996  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1997  subroutine PDI_share_INTEGER16_3D( name, ptr_data, access, err )
1998  character(len=*), intent(IN) :: name
1999  INTEGER(KIND=16), pointer &
2000  , contiguous &
2001  :: ptr_data(:,:,:)
2002  integer, intent(IN) :: access
2003  integer, intent(OUT), optional :: err
2004  endsubroutine PDI_share_INTEGER16_3D
2005  !=============================================================================
2006 
2007 
2008  !=============================================================================
2009  !< shares some data with PDI. the user code should not modify it before
2010  !! a call to either PDI_release or PDI_reclaim.
2011  !! \param[IN] name the data name
2012  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2013  !! \param[IN] access whether the data can be accessed for read or write by
2014  !! PDI
2015  !! \param[OUT] err for error status (optional)
2016  !! \pre the user code owns the data buffer
2017  !! \post ownership of the data buffer is shared between PDI and the user code
2018  !!
2019  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2020  !! * PDI_IN means PDI can set the buffer content
2021  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2022  subroutine PDI_share_INTEGER16_4D( name, ptr_data, access, err )
2023  character(len=*), intent(IN) :: name
2024  INTEGER(KIND=16), pointer &
2025  , contiguous &
2026  :: ptr_data(:,:,:,:)
2027  integer, intent(IN) :: access
2028  integer, intent(OUT), optional :: err
2029  endsubroutine PDI_share_INTEGER16_4D
2030  !=============================================================================
2031 
2032 
2033  !=============================================================================
2034  !< shares some data with PDI. the user code should not modify it before
2035  !! a call to either PDI_release or PDI_reclaim.
2036  !! \param[IN] name the data name
2037  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2038  !! \param[IN] access whether the data can be accessed for read or write by
2039  !! PDI
2040  !! \param[OUT] err for error status (optional)
2041  !! \pre the user code owns the data buffer
2042  !! \post ownership of the data buffer is shared between PDI and the user code
2043  !!
2044  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2045  !! * PDI_IN means PDI can set the buffer content
2046  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2047  subroutine PDI_share_INTEGER16_5D( name, ptr_data, access, err )
2048  character(len=*), intent(IN) :: name
2049  INTEGER(KIND=16), pointer &
2050  , contiguous &
2051  :: ptr_data(:,:,:,:,:)
2052  integer, intent(IN) :: access
2053  integer, intent(OUT), optional :: err
2054  endsubroutine PDI_share_INTEGER16_5D
2055  !=============================================================================
2056 
2057 
2058  !=============================================================================
2059  !< shares some data with PDI. the user code should not modify it before
2060  !! a call to either PDI_release or PDI_reclaim.
2061  !! \param[IN] name the data name
2062  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2063  !! \param[IN] access whether the data can be accessed for read or write by
2064  !! PDI
2065  !! \param[OUT] err for error status (optional)
2066  !! \pre the user code owns the data buffer
2067  !! \post ownership of the data buffer is shared between PDI and the user code
2068  !!
2069  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2070  !! * PDI_IN means PDI can set the buffer content
2071  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2072  subroutine PDI_share_INTEGER16_6D( name, ptr_data, access, err )
2073  character(len=*), intent(IN) :: name
2074  INTEGER(KIND=16), pointer &
2075  , contiguous &
2076  :: ptr_data(:,:,:,:,:,:)
2077  integer, intent(IN) :: access
2078  integer, intent(OUT), optional :: err
2079  endsubroutine PDI_share_INTEGER16_6D
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] ptr_data the pointer to the trageted data
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_INTEGER16_7D( name, ptr_data, access, err )
2098  character(len=*), intent(IN) :: name
2099  INTEGER(KIND=16), pointer &
2100  , contiguous &
2101  :: ptr_data(:,:,:,:,:,:,:)
2102  integer, intent(IN) :: access
2103  integer, intent(OUT), optional :: err
2104  endsubroutine PDI_share_INTEGER16_7D
2105  !=============================================================================
2106 
2107 
2108  !=============================================================================
2109  !< shares some data with PDI. the user code should not modify it before
2110  !! a call to either PDI_release or PDI_reclaim.
2111  !! \param[IN] name the data name
2112  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2113  !! \param[IN] access whether the data can be accessed for read or write by
2114  !! PDI
2115  !! \param[OUT] err for error status (optional)
2116  !! \pre the user code owns the data buffer
2117  !! \post ownership of the data buffer is shared between PDI and the user code
2118  !!
2119  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2120  !! * PDI_IN means PDI can set the buffer content
2121  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2122  subroutine PDI_share_LOGICAL1_0D( name, ptr_data, access, err )
2123  character(len=*), intent(IN) :: name
2124  LOGICAL(KIND=1), pointer &
2125  :: ptr_data
2126  integer, intent(IN) :: access
2127  integer, intent(OUT), optional :: err
2128  endsubroutine PDI_share_LOGICAL1_0D
2129  !=============================================================================
2130 
2131 
2132  !=============================================================================
2133  !< shares some data with PDI. the user code should not modify it before
2134  !! a call to either PDI_release or PDI_reclaim.
2135  !! \param[IN] name the data name
2136  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2137  !! \param[IN] access whether the data can be accessed for read or write by
2138  !! PDI
2139  !! \param[OUT] err for error status (optional)
2140  !! \pre the user code owns the data buffer
2141  !! \post ownership of the data buffer is shared between PDI and the user code
2142  !!
2143  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2144  !! * PDI_IN means PDI can set the buffer content
2145  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2146  subroutine PDI_share_LOGICAL1_1D( name, ptr_data, access, err )
2147  character(len=*), intent(IN) :: name
2148  LOGICAL(KIND=1), pointer &
2149  :: ptr_data(:)
2150  integer, intent(IN) :: access
2151  integer, intent(OUT), optional :: err
2152  endsubroutine PDI_share_LOGICAL1_1D
2153  !=============================================================================
2154 
2155 
2156  !=============================================================================
2157  !< shares some data with PDI. the user code should not modify it before
2158  !! a call to either PDI_release or PDI_reclaim.
2159  !! \param[IN] name the data name
2160  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2161  !! \param[IN] access whether the data can be accessed for read or write by
2162  !! PDI
2163  !! \param[OUT] err for error status (optional)
2164  !! \pre the user code owns the data buffer
2165  !! \post ownership of the data buffer is shared between PDI and the user code
2166  !!
2167  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2168  !! * PDI_IN means PDI can set the buffer content
2169  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2170  subroutine PDI_share_LOGICAL1_2D( name, ptr_data, access, err )
2171  character(len=*), intent(IN) :: name
2172  LOGICAL(KIND=1), pointer &
2173  , contiguous &
2174  :: ptr_data(:,:)
2175  integer, intent(IN) :: access
2176  integer, intent(OUT), optional :: err
2177  endsubroutine PDI_share_LOGICAL1_2D
2178  !=============================================================================
2179 
2180 
2181  !=============================================================================
2182  !< shares some data with PDI. the user code should not modify it before
2183  !! a call to either PDI_release or PDI_reclaim.
2184  !! \param[IN] name the data name
2185  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2186  !! \param[IN] access whether the data can be accessed for read or write by
2187  !! PDI
2188  !! \param[OUT] err for error status (optional)
2189  !! \pre the user code owns the data buffer
2190  !! \post ownership of the data buffer is shared between PDI and the user code
2191  !!
2192  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2193  !! * PDI_IN means PDI can set the buffer content
2194  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2195  subroutine PDI_share_LOGICAL1_3D( name, ptr_data, access, err )
2196  character(len=*), intent(IN) :: name
2197  LOGICAL(KIND=1), pointer &
2198  , contiguous &
2199  :: ptr_data(:,:,:)
2200  integer, intent(IN) :: access
2201  integer, intent(OUT), optional :: err
2202  endsubroutine PDI_share_LOGICAL1_3D
2203  !=============================================================================
2204 
2205 
2206  !=============================================================================
2207  !< shares some data with PDI. the user code should not modify it before
2208  !! a call to either PDI_release or PDI_reclaim.
2209  !! \param[IN] name the data name
2210  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2211  !! \param[IN] access whether the data can be accessed for read or write by
2212  !! PDI
2213  !! \param[OUT] err for error status (optional)
2214  !! \pre the user code owns the data buffer
2215  !! \post ownership of the data buffer is shared between PDI and the user code
2216  !!
2217  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2218  !! * PDI_IN means PDI can set the buffer content
2219  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2220  subroutine PDI_share_LOGICAL1_4D( name, ptr_data, access, err )
2221  character(len=*), intent(IN) :: name
2222  LOGICAL(KIND=1), pointer &
2223  , contiguous &
2224  :: ptr_data(:,:,:,:)
2225  integer, intent(IN) :: access
2226  integer, intent(OUT), optional :: err
2227  endsubroutine PDI_share_LOGICAL1_4D
2228  !=============================================================================
2229 
2230 
2231  !=============================================================================
2232  !< shares some data with PDI. the user code should not modify it before
2233  !! a call to either PDI_release or PDI_reclaim.
2234  !! \param[IN] name the data name
2235  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2236  !! \param[IN] access whether the data can be accessed for read or write by
2237  !! PDI
2238  !! \param[OUT] err for error status (optional)
2239  !! \pre the user code owns the data buffer
2240  !! \post ownership of the data buffer is shared between PDI and the user code
2241  !!
2242  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2243  !! * PDI_IN means PDI can set the buffer content
2244  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2245  subroutine PDI_share_LOGICAL1_5D( name, ptr_data, access, err )
2246  character(len=*), intent(IN) :: name
2247  LOGICAL(KIND=1), pointer &
2248  , contiguous &
2249  :: ptr_data(:,:,:,:,:)
2250  integer, intent(IN) :: access
2251  integer, intent(OUT), optional :: err
2252  endsubroutine PDI_share_LOGICAL1_5D
2253  !=============================================================================
2254 
2255 
2256  !=============================================================================
2257  !< shares some data with PDI. the user code should not modify it before
2258  !! a call to either PDI_release or PDI_reclaim.
2259  !! \param[IN] name the data name
2260  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2261  !! \param[IN] access whether the data can be accessed for read or write by
2262  !! PDI
2263  !! \param[OUT] err for error status (optional)
2264  !! \pre the user code owns the data buffer
2265  !! \post ownership of the data buffer is shared between PDI and the user code
2266  !!
2267  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2268  !! * PDI_IN means PDI can set the buffer content
2269  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2270  subroutine PDI_share_LOGICAL1_6D( name, ptr_data, access, err )
2271  character(len=*), intent(IN) :: name
2272  LOGICAL(KIND=1), pointer &
2273  , contiguous &
2274  :: ptr_data(:,:,:,:,:,:)
2275  integer, intent(IN) :: access
2276  integer, intent(OUT), optional :: err
2277  endsubroutine PDI_share_LOGICAL1_6D
2278  !=============================================================================
2279 
2280 
2281  !=============================================================================
2282  !< shares some data with PDI. the user code should not modify it before
2283  !! a call to either PDI_release or PDI_reclaim.
2284  !! \param[IN] name the data name
2285  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2286  !! \param[IN] access whether the data can be accessed for read or write by
2287  !! PDI
2288  !! \param[OUT] err for error status (optional)
2289  !! \pre the user code owns the data buffer
2290  !! \post ownership of the data buffer is shared between PDI and the user code
2291  !!
2292  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2293  !! * PDI_IN means PDI can set the buffer content
2294  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2295  subroutine PDI_share_LOGICAL1_7D( name, ptr_data, access, err )
2296  character(len=*), intent(IN) :: name
2297  LOGICAL(KIND=1), pointer &
2298  , contiguous &
2299  :: ptr_data(:,:,:,:,:,:,:)
2300  integer, intent(IN) :: access
2301  integer, intent(OUT), optional :: err
2302  endsubroutine PDI_share_LOGICAL1_7D
2303  !=============================================================================
2304 
2305 
2306  !=============================================================================
2307  !< shares some data with PDI. the user code should not modify it before
2308  !! a call to either PDI_release or PDI_reclaim.
2309  !! \param[IN] name the data name
2310  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2311  !! \param[IN] access whether the data can be accessed for read or write by
2312  !! PDI
2313  !! \param[OUT] err for error status (optional)
2314  !! \pre the user code owns the data buffer
2315  !! \post ownership of the data buffer is shared between PDI and the user code
2316  !!
2317  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2318  !! * PDI_IN means PDI can set the buffer content
2319  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2320  subroutine PDI_share_LOGICAL2_0D( name, ptr_data, access, err )
2321  character(len=*), intent(IN) :: name
2322  LOGICAL(KIND=2), pointer &
2323  :: ptr_data
2324  integer, intent(IN) :: access
2325  integer, intent(OUT), optional :: err
2326  endsubroutine PDI_share_LOGICAL2_0D
2327  !=============================================================================
2328 
2329 
2330  !=============================================================================
2331  !< shares some data with PDI. the user code should not modify it before
2332  !! a call to either PDI_release or PDI_reclaim.
2333  !! \param[IN] name the data name
2334  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2335  !! \param[IN] access whether the data can be accessed for read or write by
2336  !! PDI
2337  !! \param[OUT] err for error status (optional)
2338  !! \pre the user code owns the data buffer
2339  !! \post ownership of the data buffer is shared between PDI and the user code
2340  !!
2341  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2342  !! * PDI_IN means PDI can set the buffer content
2343  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2344  subroutine PDI_share_LOGICAL2_1D( name, ptr_data, access, err )
2345  character(len=*), intent(IN) :: name
2346  LOGICAL(KIND=2), pointer &
2347  :: ptr_data(:)
2348  integer, intent(IN) :: access
2349  integer, intent(OUT), optional :: err
2350  endsubroutine PDI_share_LOGICAL2_1D
2351  !=============================================================================
2352 
2353 
2354  !=============================================================================
2355  !< shares some data with PDI. the user code should not modify it before
2356  !! a call to either PDI_release or PDI_reclaim.
2357  !! \param[IN] name the data name
2358  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2359  !! \param[IN] access whether the data can be accessed for read or write by
2360  !! PDI
2361  !! \param[OUT] err for error status (optional)
2362  !! \pre the user code owns the data buffer
2363  !! \post ownership of the data buffer is shared between PDI and the user code
2364  !!
2365  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2366  !! * PDI_IN means PDI can set the buffer content
2367  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2368  subroutine PDI_share_LOGICAL2_2D( name, ptr_data, access, err )
2369  character(len=*), intent(IN) :: name
2370  LOGICAL(KIND=2), pointer &
2371  , contiguous &
2372  :: ptr_data(:,:)
2373  integer, intent(IN) :: access
2374  integer, intent(OUT), optional :: err
2375  endsubroutine PDI_share_LOGICAL2_2D
2376  !=============================================================================
2377 
2378 
2379  !=============================================================================
2380  !< shares some data with PDI. the user code should not modify it before
2381  !! a call to either PDI_release or PDI_reclaim.
2382  !! \param[IN] name the data name
2383  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2384  !! \param[IN] access whether the data can be accessed for read or write by
2385  !! PDI
2386  !! \param[OUT] err for error status (optional)
2387  !! \pre the user code owns the data buffer
2388  !! \post ownership of the data buffer is shared between PDI and the user code
2389  !!
2390  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2391  !! * PDI_IN means PDI can set the buffer content
2392  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2393  subroutine PDI_share_LOGICAL2_3D( name, ptr_data, access, err )
2394  character(len=*), intent(IN) :: name
2395  LOGICAL(KIND=2), pointer &
2396  , contiguous &
2397  :: ptr_data(:,:,:)
2398  integer, intent(IN) :: access
2399  integer, intent(OUT), optional :: err
2400  endsubroutine PDI_share_LOGICAL2_3D
2401  !=============================================================================
2402 
2403 
2404  !=============================================================================
2405  !< shares some data with PDI. the user code should not modify it before
2406  !! a call to either PDI_release or PDI_reclaim.
2407  !! \param[IN] name the data name
2408  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2409  !! \param[IN] access whether the data can be accessed for read or write by
2410  !! PDI
2411  !! \param[OUT] err for error status (optional)
2412  !! \pre the user code owns the data buffer
2413  !! \post ownership of the data buffer is shared between PDI and the user code
2414  !!
2415  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2416  !! * PDI_IN means PDI can set the buffer content
2417  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2418  subroutine PDI_share_LOGICAL2_4D( name, ptr_data, access, err )
2419  character(len=*), intent(IN) :: name
2420  LOGICAL(KIND=2), pointer &
2421  , contiguous &
2422  :: ptr_data(:,:,:,:)
2423  integer, intent(IN) :: access
2424  integer, intent(OUT), optional :: err
2425  endsubroutine PDI_share_LOGICAL2_4D
2426  !=============================================================================
2427 
2428 
2429  !=============================================================================
2430  !< shares some data with PDI. the user code should not modify it before
2431  !! a call to either PDI_release or PDI_reclaim.
2432  !! \param[IN] name the data name
2433  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2434  !! \param[IN] access whether the data can be accessed for read or write by
2435  !! PDI
2436  !! \param[OUT] err for error status (optional)
2437  !! \pre the user code owns the data buffer
2438  !! \post ownership of the data buffer is shared between PDI and the user code
2439  !!
2440  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2441  !! * PDI_IN means PDI can set the buffer content
2442  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2443  subroutine PDI_share_LOGICAL2_5D( name, ptr_data, access, err )
2444  character(len=*), intent(IN) :: name
2445  LOGICAL(KIND=2), pointer &
2446  , contiguous &
2447  :: ptr_data(:,:,:,:,:)
2448  integer, intent(IN) :: access
2449  integer, intent(OUT), optional :: err
2450  endsubroutine PDI_share_LOGICAL2_5D
2451  !=============================================================================
2452 
2453 
2454  !=============================================================================
2455  !< shares some data with PDI. the user code should not modify it before
2456  !! a call to either PDI_release or PDI_reclaim.
2457  !! \param[IN] name the data name
2458  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2459  !! \param[IN] access whether the data can be accessed for read or write by
2460  !! PDI
2461  !! \param[OUT] err for error status (optional)
2462  !! \pre the user code owns the data buffer
2463  !! \post ownership of the data buffer is shared between PDI and the user code
2464  !!
2465  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2466  !! * PDI_IN means PDI can set the buffer content
2467  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2468  subroutine PDI_share_LOGICAL2_6D( name, ptr_data, access, err )
2469  character(len=*), intent(IN) :: name
2470  LOGICAL(KIND=2), pointer &
2471  , contiguous &
2472  :: ptr_data(:,:,:,:,:,:)
2473  integer, intent(IN) :: access
2474  integer, intent(OUT), optional :: err
2475  endsubroutine PDI_share_LOGICAL2_6D
2476  !=============================================================================
2477 
2478 
2479  !=============================================================================
2480  !< shares some data with PDI. the user code should not modify it before
2481  !! a call to either PDI_release or PDI_reclaim.
2482  !! \param[IN] name the data name
2483  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2484  !! \param[IN] access whether the data can be accessed for read or write by
2485  !! PDI
2486  !! \param[OUT] err for error status (optional)
2487  !! \pre the user code owns the data buffer
2488  !! \post ownership of the data buffer is shared between PDI and the user code
2489  !!
2490  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2491  !! * PDI_IN means PDI can set the buffer content
2492  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2493  subroutine PDI_share_LOGICAL2_7D( name, ptr_data, access, err )
2494  character(len=*), intent(IN) :: name
2495  LOGICAL(KIND=2), pointer &
2496  , contiguous &
2497  :: ptr_data(:,:,:,:,:,:,:)
2498  integer, intent(IN) :: access
2499  integer, intent(OUT), optional :: err
2500  endsubroutine PDI_share_LOGICAL2_7D
2501  !=============================================================================
2502 
2503 
2504  !=============================================================================
2505  !< shares some data with PDI. the user code should not modify it before
2506  !! a call to either PDI_release or PDI_reclaim.
2507  !! \param[IN] name the data name
2508  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2509  !! \param[IN] access whether the data can be accessed for read or write by
2510  !! PDI
2511  !! \param[OUT] err for error status (optional)
2512  !! \pre the user code owns the data buffer
2513  !! \post ownership of the data buffer is shared between PDI and the user code
2514  !!
2515  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2516  !! * PDI_IN means PDI can set the buffer content
2517  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2518  subroutine PDI_share_LOGICAL4_0D( name, ptr_data, access, err )
2519  character(len=*), intent(IN) :: name
2520  LOGICAL(KIND=4), pointer &
2521  :: ptr_data
2522  integer, intent(IN) :: access
2523  integer, intent(OUT), optional :: err
2524  endsubroutine PDI_share_LOGICAL4_0D
2525  !=============================================================================
2526 
2527 
2528  !=============================================================================
2529  !< shares some data with PDI. the user code should not modify it before
2530  !! a call to either PDI_release or PDI_reclaim.
2531  !! \param[IN] name the data name
2532  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2533  !! \param[IN] access whether the data can be accessed for read or write by
2534  !! PDI
2535  !! \param[OUT] err for error status (optional)
2536  !! \pre the user code owns the data buffer
2537  !! \post ownership of the data buffer is shared between PDI and the user code
2538  !!
2539  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2540  !! * PDI_IN means PDI can set the buffer content
2541  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2542  subroutine PDI_share_LOGICAL4_1D( name, ptr_data, access, err )
2543  character(len=*), intent(IN) :: name
2544  LOGICAL(KIND=4), pointer &
2545  :: ptr_data(:)
2546  integer, intent(IN) :: access
2547  integer, intent(OUT), optional :: err
2548  endsubroutine PDI_share_LOGICAL4_1D
2549  !=============================================================================
2550 
2551 
2552  !=============================================================================
2553  !< shares some data with PDI. the user code should not modify it before
2554  !! a call to either PDI_release or PDI_reclaim.
2555  !! \param[IN] name the data name
2556  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2557  !! \param[IN] access whether the data can be accessed for read or write by
2558  !! PDI
2559  !! \param[OUT] err for error status (optional)
2560  !! \pre the user code owns the data buffer
2561  !! \post ownership of the data buffer is shared between PDI and the user code
2562  !!
2563  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2564  !! * PDI_IN means PDI can set the buffer content
2565  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2566  subroutine PDI_share_LOGICAL4_2D( name, ptr_data, access, err )
2567  character(len=*), intent(IN) :: name
2568  LOGICAL(KIND=4), pointer &
2569  , contiguous &
2570  :: ptr_data(:,:)
2571  integer, intent(IN) :: access
2572  integer, intent(OUT), optional :: err
2573  endsubroutine PDI_share_LOGICAL4_2D
2574  !=============================================================================
2575 
2576 
2577  !=============================================================================
2578  !< shares some data with PDI. the user code should not modify it before
2579  !! a call to either PDI_release or PDI_reclaim.
2580  !! \param[IN] name the data name
2581  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2582  !! \param[IN] access whether the data can be accessed for read or write by
2583  !! PDI
2584  !! \param[OUT] err for error status (optional)
2585  !! \pre the user code owns the data buffer
2586  !! \post ownership of the data buffer is shared between PDI and the user code
2587  !!
2588  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2589  !! * PDI_IN means PDI can set the buffer content
2590  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2591  subroutine PDI_share_LOGICAL4_3D( name, ptr_data, access, err )
2592  character(len=*), intent(IN) :: name
2593  LOGICAL(KIND=4), pointer &
2594  , contiguous &
2595  :: ptr_data(:,:,:)
2596  integer, intent(IN) :: access
2597  integer, intent(OUT), optional :: err
2598  endsubroutine PDI_share_LOGICAL4_3D
2599  !=============================================================================
2600 
2601 
2602  !=============================================================================
2603  !< shares some data with PDI. the user code should not modify it before
2604  !! a call to either PDI_release or PDI_reclaim.
2605  !! \param[IN] name the data name
2606  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2607  !! \param[IN] access whether the data can be accessed for read or write by
2608  !! PDI
2609  !! \param[OUT] err for error status (optional)
2610  !! \pre the user code owns the data buffer
2611  !! \post ownership of the data buffer is shared between PDI and the user code
2612  !!
2613  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2614  !! * PDI_IN means PDI can set the buffer content
2615  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2616  subroutine PDI_share_LOGICAL4_4D( name, ptr_data, access, err )
2617  character(len=*), intent(IN) :: name
2618  LOGICAL(KIND=4), pointer &
2619  , contiguous &
2620  :: ptr_data(:,:,:,:)
2621  integer, intent(IN) :: access
2622  integer, intent(OUT), optional :: err
2623  endsubroutine PDI_share_LOGICAL4_4D
2624  !=============================================================================
2625 
2626 
2627  !=============================================================================
2628  !< shares some data with PDI. the user code should not modify it before
2629  !! a call to either PDI_release or PDI_reclaim.
2630  !! \param[IN] name the data name
2631  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2632  !! \param[IN] access whether the data can be accessed for read or write by
2633  !! PDI
2634  !! \param[OUT] err for error status (optional)
2635  !! \pre the user code owns the data buffer
2636  !! \post ownership of the data buffer is shared between PDI and the user code
2637  !!
2638  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2639  !! * PDI_IN means PDI can set the buffer content
2640  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2641  subroutine PDI_share_LOGICAL4_5D( name, ptr_data, access, err )
2642  character(len=*), intent(IN) :: name
2643  LOGICAL(KIND=4), pointer &
2644  , contiguous &
2645  :: ptr_data(:,:,:,:,:)
2646  integer, intent(IN) :: access
2647  integer, intent(OUT), optional :: err
2648  endsubroutine PDI_share_LOGICAL4_5D
2649  !=============================================================================
2650 
2651 
2652  !=============================================================================
2653  !< shares some data with PDI. the user code should not modify it before
2654  !! a call to either PDI_release or PDI_reclaim.
2655  !! \param[IN] name the data name
2656  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2657  !! \param[IN] access whether the data can be accessed for read or write by
2658  !! PDI
2659  !! \param[OUT] err for error status (optional)
2660  !! \pre the user code owns the data buffer
2661  !! \post ownership of the data buffer is shared between PDI and the user code
2662  !!
2663  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2664  !! * PDI_IN means PDI can set the buffer content
2665  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2666  subroutine PDI_share_LOGICAL4_6D( name, ptr_data, access, err )
2667  character(len=*), intent(IN) :: name
2668  LOGICAL(KIND=4), pointer &
2669  , contiguous &
2670  :: ptr_data(:,:,:,:,:,:)
2671  integer, intent(IN) :: access
2672  integer, intent(OUT), optional :: err
2673  endsubroutine PDI_share_LOGICAL4_6D
2674  !=============================================================================
2675 
2676 
2677  !=============================================================================
2678  !< shares some data with PDI. the user code should not modify it before
2679  !! a call to either PDI_release or PDI_reclaim.
2680  !! \param[IN] name the data name
2681  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2682  !! \param[IN] access whether the data can be accessed for read or write by
2683  !! PDI
2684  !! \param[OUT] err for error status (optional)
2685  !! \pre the user code owns the data buffer
2686  !! \post ownership of the data buffer is shared between PDI and the user code
2687  !!
2688  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2689  !! * PDI_IN means PDI can set the buffer content
2690  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2691  subroutine PDI_share_LOGICAL4_7D( name, ptr_data, access, err )
2692  character(len=*), intent(IN) :: name
2693  LOGICAL(KIND=4), pointer &
2694  , contiguous &
2695  :: ptr_data(:,:,:,:,:,:,:)
2696  integer, intent(IN) :: access
2697  integer, intent(OUT), optional :: err
2698  endsubroutine PDI_share_LOGICAL4_7D
2699  !=============================================================================
2700 
2701 
2702  !=============================================================================
2703  !< shares some data with PDI. the user code should not modify it before
2704  !! a call to either PDI_release or PDI_reclaim.
2705  !! \param[IN] name the data name
2706  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2707  !! \param[IN] access whether the data can be accessed for read or write by
2708  !! PDI
2709  !! \param[OUT] err for error status (optional)
2710  !! \pre the user code owns the data buffer
2711  !! \post ownership of the data buffer is shared between PDI and the user code
2712  !!
2713  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2714  !! * PDI_IN means PDI can set the buffer content
2715  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2716  subroutine PDI_share_LOGICAL8_0D( name, ptr_data, access, err )
2717  character(len=*), intent(IN) :: name
2718  LOGICAL(KIND=8), pointer &
2719  :: ptr_data
2720  integer, intent(IN) :: access
2721  integer, intent(OUT), optional :: err
2722  endsubroutine PDI_share_LOGICAL8_0D
2723  !=============================================================================
2724 
2725 
2726  !=============================================================================
2727  !< shares some data with PDI. the user code should not modify it before
2728  !! a call to either PDI_release or PDI_reclaim.
2729  !! \param[IN] name the data name
2730  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2731  !! \param[IN] access whether the data can be accessed for read or write by
2732  !! PDI
2733  !! \param[OUT] err for error status (optional)
2734  !! \pre the user code owns the data buffer
2735  !! \post ownership of the data buffer is shared between PDI and the user code
2736  !!
2737  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2738  !! * PDI_IN means PDI can set the buffer content
2739  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2740  subroutine PDI_share_LOGICAL8_1D( name, ptr_data, access, err )
2741  character(len=*), intent(IN) :: name
2742  LOGICAL(KIND=8), pointer &
2743  :: ptr_data(:)
2744  integer, intent(IN) :: access
2745  integer, intent(OUT), optional :: err
2746  endsubroutine PDI_share_LOGICAL8_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] ptr_data the pointer to the trageted data
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_LOGICAL8_2D( name, ptr_data, access, err )
2765  character(len=*), intent(IN) :: name
2766  LOGICAL(KIND=8), pointer &
2767  , contiguous &
2768  :: ptr_data(:,:)
2769  integer, intent(IN) :: access
2770  integer, intent(OUT), optional :: err
2771  endsubroutine PDI_share_LOGICAL8_2D
2772  !=============================================================================
2773 
2774 
2775  !=============================================================================
2776  !< shares some data with PDI. the user code should not modify it before
2777  !! a call to either PDI_release or PDI_reclaim.
2778  !! \param[IN] name the data name
2779  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2780  !! \param[IN] access whether the data can be accessed for read or write by
2781  !! PDI
2782  !! \param[OUT] err for error status (optional)
2783  !! \pre the user code owns the data buffer
2784  !! \post ownership of the data buffer is shared between PDI and the user code
2785  !!
2786  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2787  !! * PDI_IN means PDI can set the buffer content
2788  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2789  subroutine PDI_share_LOGICAL8_3D( name, ptr_data, access, err )
2790  character(len=*), intent(IN) :: name
2791  LOGICAL(KIND=8), pointer &
2792  , contiguous &
2793  :: ptr_data(:,:,:)
2794  integer, intent(IN) :: access
2795  integer, intent(OUT), optional :: err
2796  endsubroutine PDI_share_LOGICAL8_3D
2797  !=============================================================================
2798 
2799 
2800  !=============================================================================
2801  !< shares some data with PDI. the user code should not modify it before
2802  !! a call to either PDI_release or PDI_reclaim.
2803  !! \param[IN] name the data name
2804  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2805  !! \param[IN] access whether the data can be accessed for read or write by
2806  !! PDI
2807  !! \param[OUT] err for error status (optional)
2808  !! \pre the user code owns the data buffer
2809  !! \post ownership of the data buffer is shared between PDI and the user code
2810  !!
2811  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2812  !! * PDI_IN means PDI can set the buffer content
2813  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2814  subroutine PDI_share_LOGICAL8_4D( name, ptr_data, access, err )
2815  character(len=*), intent(IN) :: name
2816  LOGICAL(KIND=8), pointer &
2817  , contiguous &
2818  :: ptr_data(:,:,:,:)
2819  integer, intent(IN) :: access
2820  integer, intent(OUT), optional :: err
2821  endsubroutine PDI_share_LOGICAL8_4D
2822  !=============================================================================
2823 
2824 
2825  !=============================================================================
2826  !< shares some data with PDI. the user code should not modify it before
2827  !! a call to either PDI_release or PDI_reclaim.
2828  !! \param[IN] name the data name
2829  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2830  !! \param[IN] access whether the data can be accessed for read or write by
2831  !! PDI
2832  !! \param[OUT] err for error status (optional)
2833  !! \pre the user code owns the data buffer
2834  !! \post ownership of the data buffer is shared between PDI and the user code
2835  !!
2836  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2837  !! * PDI_IN means PDI can set the buffer content
2838  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2839  subroutine PDI_share_LOGICAL8_5D( name, ptr_data, access, err )
2840  character(len=*), intent(IN) :: name
2841  LOGICAL(KIND=8), pointer &
2842  , contiguous &
2843  :: ptr_data(:,:,:,:,:)
2844  integer, intent(IN) :: access
2845  integer, intent(OUT), optional :: err
2846  endsubroutine PDI_share_LOGICAL8_5D
2847  !=============================================================================
2848 
2849 
2850  !=============================================================================
2851  !< shares some data with PDI. the user code should not modify it before
2852  !! a call to either PDI_release or PDI_reclaim.
2853  !! \param[IN] name the data name
2854  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2855  !! \param[IN] access whether the data can be accessed for read or write by
2856  !! PDI
2857  !! \param[OUT] err for error status (optional)
2858  !! \pre the user code owns the data buffer
2859  !! \post ownership of the data buffer is shared between PDI and the user code
2860  !!
2861  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2862  !! * PDI_IN means PDI can set the buffer content
2863  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2864  subroutine PDI_share_LOGICAL8_6D( name, ptr_data, access, err )
2865  character(len=*), intent(IN) :: name
2866  LOGICAL(KIND=8), pointer &
2867  , contiguous &
2868  :: ptr_data(:,:,:,:,:,:)
2869  integer, intent(IN) :: access
2870  integer, intent(OUT), optional :: err
2871  endsubroutine PDI_share_LOGICAL8_6D
2872  !=============================================================================
2873 
2874 
2875  !=============================================================================
2876  !< shares some data with PDI. the user code should not modify it before
2877  !! a call to either PDI_release or PDI_reclaim.
2878  !! \param[IN] name the data name
2879  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2880  !! \param[IN] access whether the data can be accessed for read or write by
2881  !! PDI
2882  !! \param[OUT] err for error status (optional)
2883  !! \pre the user code owns the data buffer
2884  !! \post ownership of the data buffer is shared between PDI and the user code
2885  !!
2886  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2887  !! * PDI_IN means PDI can set the buffer content
2888  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2889  subroutine PDI_share_LOGICAL8_7D( name, ptr_data, access, err )
2890  character(len=*), intent(IN) :: name
2891  LOGICAL(KIND=8), pointer &
2892  , contiguous &
2893  :: ptr_data(:,:,:,:,:,:,:)
2894  integer, intent(IN) :: access
2895  integer, intent(OUT), optional :: err
2896  endsubroutine PDI_share_LOGICAL8_7D
2897  !=============================================================================
2898 
2899 
2900  !=============================================================================
2901  !< shares some data with PDI. the user code should not modify it before
2902  !! a call to either PDI_release or PDI_reclaim.
2903  !! \param[IN] name the data name
2904  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2905  !! \param[IN] access whether the data can be accessed for read or write by
2906  !! PDI
2907  !! \param[OUT] err for error status (optional)
2908  !! \pre the user code owns the data buffer
2909  !! \post ownership of the data buffer is shared between PDI and the user code
2910  !!
2911  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2912  !! * PDI_IN means PDI can set the buffer content
2913  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2914  subroutine PDI_share_LOGICAL16_0D( name, ptr_data, access, err )
2915  character(len=*), intent(IN) :: name
2916  LOGICAL(KIND=16), pointer &
2917  :: ptr_data
2918  integer, intent(IN) :: access
2919  integer, intent(OUT), optional :: err
2920  endsubroutine PDI_share_LOGICAL16_0D
2921  !=============================================================================
2922 
2923 
2924  !=============================================================================
2925  !< shares some data with PDI. the user code should not modify it before
2926  !! a call to either PDI_release or PDI_reclaim.
2927  !! \param[IN] name the data name
2928  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2929  !! \param[IN] access whether the data can be accessed for read or write by
2930  !! PDI
2931  !! \param[OUT] err for error status (optional)
2932  !! \pre the user code owns the data buffer
2933  !! \post ownership of the data buffer is shared between PDI and the user code
2934  !!
2935  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2936  !! * PDI_IN means PDI can set the buffer content
2937  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2938  subroutine PDI_share_LOGICAL16_1D( name, ptr_data, access, err )
2939  character(len=*), intent(IN) :: name
2940  LOGICAL(KIND=16), pointer &
2941  :: ptr_data(:)
2942  integer, intent(IN) :: access
2943  integer, intent(OUT), optional :: err
2944  endsubroutine PDI_share_LOGICAL16_1D
2945  !=============================================================================
2946 
2947 
2948  !=============================================================================
2949  !< shares some data with PDI. the user code should not modify it before
2950  !! a call to either PDI_release or PDI_reclaim.
2951  !! \param[IN] name the data name
2952  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2953  !! \param[IN] access whether the data can be accessed for read or write by
2954  !! PDI
2955  !! \param[OUT] err for error status (optional)
2956  !! \pre the user code owns the data buffer
2957  !! \post ownership of the data buffer is shared between PDI and the user code
2958  !!
2959  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2960  !! * PDI_IN means PDI can set the buffer content
2961  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2962  subroutine PDI_share_LOGICAL16_2D( name, ptr_data, access, err )
2963  character(len=*), intent(IN) :: name
2964  LOGICAL(KIND=16), pointer &
2965  , contiguous &
2966  :: ptr_data(:,:)
2967  integer, intent(IN) :: access
2968  integer, intent(OUT), optional :: err
2969  endsubroutine PDI_share_LOGICAL16_2D
2970  !=============================================================================
2971 
2972 
2973  !=============================================================================
2974  !< shares some data with PDI. the user code should not modify it before
2975  !! a call to either PDI_release or PDI_reclaim.
2976  !! \param[IN] name the data name
2977  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2978  !! \param[IN] access whether the data can be accessed for read or write by
2979  !! PDI
2980  !! \param[OUT] err for error status (optional)
2981  !! \pre the user code owns the data buffer
2982  !! \post ownership of the data buffer is shared between PDI and the user code
2983  !!
2984  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2985  !! * PDI_IN means PDI can set the buffer content
2986  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2987  subroutine PDI_share_LOGICAL16_3D( name, ptr_data, access, err )
2988  character(len=*), intent(IN) :: name
2989  LOGICAL(KIND=16), pointer &
2990  , contiguous &
2991  :: ptr_data(:,:,:)
2992  integer, intent(IN) :: access
2993  integer, intent(OUT), optional :: err
2994  endsubroutine PDI_share_LOGICAL16_3D
2995  !=============================================================================
2996 
2997 
2998  !=============================================================================
2999  !< shares some data with PDI. the user code should not modify it before
3000  !! a call to either PDI_release or PDI_reclaim.
3001  !! \param[IN] name the data name
3002  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3003  !! \param[IN] access whether the data can be accessed for read or write by
3004  !! PDI
3005  !! \param[OUT] err for error status (optional)
3006  !! \pre the user code owns the data buffer
3007  !! \post ownership of the data buffer is shared between PDI and the user code
3008  !!
3009  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3010  !! * PDI_IN means PDI can set the buffer content
3011  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3012  subroutine PDI_share_LOGICAL16_4D( name, ptr_data, access, err )
3013  character(len=*), intent(IN) :: name
3014  LOGICAL(KIND=16), pointer &
3015  , contiguous &
3016  :: ptr_data(:,:,:,:)
3017  integer, intent(IN) :: access
3018  integer, intent(OUT), optional :: err
3019  endsubroutine PDI_share_LOGICAL16_4D
3020  !=============================================================================
3021 
3022 
3023  !=============================================================================
3024  !< shares some data with PDI. the user code should not modify it before
3025  !! a call to either PDI_release or PDI_reclaim.
3026  !! \param[IN] name the data name
3027  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3028  !! \param[IN] access whether the data can be accessed for read or write by
3029  !! PDI
3030  !! \param[OUT] err for error status (optional)
3031  !! \pre the user code owns the data buffer
3032  !! \post ownership of the data buffer is shared between PDI and the user code
3033  !!
3034  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3035  !! * PDI_IN means PDI can set the buffer content
3036  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3037  subroutine PDI_share_LOGICAL16_5D( name, ptr_data, access, err )
3038  character(len=*), intent(IN) :: name
3039  LOGICAL(KIND=16), pointer &
3040  , contiguous &
3041  :: ptr_data(:,:,:,:,:)
3042  integer, intent(IN) :: access
3043  integer, intent(OUT), optional :: err
3044  endsubroutine PDI_share_LOGICAL16_5D
3045  !=============================================================================
3046 
3047 
3048  !=============================================================================
3049  !< shares some data with PDI. the user code should not modify it before
3050  !! a call to either PDI_release or PDI_reclaim.
3051  !! \param[IN] name the data name
3052  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3053  !! \param[IN] access whether the data can be accessed for read or write by
3054  !! PDI
3055  !! \param[OUT] err for error status (optional)
3056  !! \pre the user code owns the data buffer
3057  !! \post ownership of the data buffer is shared between PDI and the user code
3058  !!
3059  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3060  !! * PDI_IN means PDI can set the buffer content
3061  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3062  subroutine PDI_share_LOGICAL16_6D( name, ptr_data, access, err )
3063  character(len=*), intent(IN) :: name
3064  LOGICAL(KIND=16), pointer &
3065  , contiguous &
3066  :: ptr_data(:,:,:,:,:,:)
3067  integer, intent(IN) :: access
3068  integer, intent(OUT), optional :: err
3069  endsubroutine PDI_share_LOGICAL16_6D
3070  !=============================================================================
3071 
3072 
3073  !=============================================================================
3074  !< shares some data with PDI. the user code should not modify it before
3075  !! a call to either PDI_release or PDI_reclaim.
3076  !! \param[IN] name the data name
3077  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3078  !! \param[IN] access whether the data can be accessed for read or write by
3079  !! PDI
3080  !! \param[OUT] err for error status (optional)
3081  !! \pre the user code owns the data buffer
3082  !! \post ownership of the data buffer is shared between PDI and the user code
3083  !!
3084  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3085  !! * PDI_IN means PDI can set the buffer content
3086  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3087  subroutine PDI_share_LOGICAL16_7D( name, ptr_data, access, err )
3088  character(len=*), intent(IN) :: name
3089  LOGICAL(KIND=16), pointer &
3090  , contiguous &
3091  :: ptr_data(:,:,:,:,:,:,:)
3092  integer, intent(IN) :: access
3093  integer, intent(OUT), optional :: err
3094  endsubroutine PDI_share_LOGICAL16_7D
3095  !=============================================================================
3096 
3097 
3098  !=============================================================================
3099  !< shares some data with PDI. the user code should not modify it before
3100  !! a call to either PDI_release or PDI_reclaim.
3101  !! \param[IN] name the data name
3102  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3103  !! \param[IN] access whether the data can be accessed for read or write by
3104  !! PDI
3105  !! \param[OUT] err for error status (optional)
3106  !! \pre the user code owns the data buffer
3107  !! \post ownership of the data buffer is shared between PDI and the user code
3108  !!
3109  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3110  !! * PDI_IN means PDI can set the buffer content
3111  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3112  subroutine PDI_share_REAL4_0D( name, ptr_data, access, err )
3113  character(len=*), intent(IN) :: name
3114  REAL(KIND=4), pointer &
3115  :: ptr_data
3116  integer, intent(IN) :: access
3117  integer, intent(OUT), optional :: err
3118  endsubroutine PDI_share_REAL4_0D
3119  !=============================================================================
3120 
3121 
3122  !=============================================================================
3123  !< shares some data with PDI. the user code should not modify it before
3124  !! a call to either PDI_release or PDI_reclaim.
3125  !! \param[IN] name the data name
3126  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3127  !! \param[IN] access whether the data can be accessed for read or write by
3128  !! PDI
3129  !! \param[OUT] err for error status (optional)
3130  !! \pre the user code owns the data buffer
3131  !! \post ownership of the data buffer is shared between PDI and the user code
3132  !!
3133  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3134  !! * PDI_IN means PDI can set the buffer content
3135  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3136  subroutine PDI_share_REAL4_1D( name, ptr_data, access, err )
3137  character(len=*), intent(IN) :: name
3138  REAL(KIND=4), pointer &
3139  :: ptr_data(:)
3140  integer, intent(IN) :: access
3141  integer, intent(OUT), optional :: err
3142  endsubroutine PDI_share_REAL4_1D
3143  !=============================================================================
3144 
3145 
3146  !=============================================================================
3147  !< shares some data with PDI. the user code should not modify it before
3148  !! a call to either PDI_release or PDI_reclaim.
3149  !! \param[IN] name the data name
3150  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3151  !! \param[IN] access whether the data can be accessed for read or write by
3152  !! PDI
3153  !! \param[OUT] err for error status (optional)
3154  !! \pre the user code owns the data buffer
3155  !! \post ownership of the data buffer is shared between PDI and the user code
3156  !!
3157  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3158  !! * PDI_IN means PDI can set the buffer content
3159  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3160  subroutine PDI_share_REAL4_2D( name, ptr_data, access, err )
3161  character(len=*), intent(IN) :: name
3162  REAL(KIND=4), pointer &
3163  , contiguous &
3164  :: ptr_data(:,:)
3165  integer, intent(IN) :: access
3166  integer, intent(OUT), optional :: err
3167  endsubroutine PDI_share_REAL4_2D
3168  !=============================================================================
3169 
3170 
3171  !=============================================================================
3172  !< shares some data with PDI. the user code should not modify it before
3173  !! a call to either PDI_release or PDI_reclaim.
3174  !! \param[IN] name the data name
3175  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3176  !! \param[IN] access whether the data can be accessed for read or write by
3177  !! PDI
3178  !! \param[OUT] err for error status (optional)
3179  !! \pre the user code owns the data buffer
3180  !! \post ownership of the data buffer is shared between PDI and the user code
3181  !!
3182  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3183  !! * PDI_IN means PDI can set the buffer content
3184  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3185  subroutine PDI_share_REAL4_3D( name, ptr_data, access, err )
3186  character(len=*), intent(IN) :: name
3187  REAL(KIND=4), pointer &
3188  , contiguous &
3189  :: ptr_data(:,:,:)
3190  integer, intent(IN) :: access
3191  integer, intent(OUT), optional :: err
3192  endsubroutine PDI_share_REAL4_3D
3193  !=============================================================================
3194 
3195 
3196  !=============================================================================
3197  !< shares some data with PDI. the user code should not modify it before
3198  !! a call to either PDI_release or PDI_reclaim.
3199  !! \param[IN] name the data name
3200  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3201  !! \param[IN] access whether the data can be accessed for read or write by
3202  !! PDI
3203  !! \param[OUT] err for error status (optional)
3204  !! \pre the user code owns the data buffer
3205  !! \post ownership of the data buffer is shared between PDI and the user code
3206  !!
3207  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3208  !! * PDI_IN means PDI can set the buffer content
3209  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3210  subroutine PDI_share_REAL4_4D( name, ptr_data, access, err )
3211  character(len=*), intent(IN) :: name
3212  REAL(KIND=4), pointer &
3213  , contiguous &
3214  :: ptr_data(:,:,:,:)
3215  integer, intent(IN) :: access
3216  integer, intent(OUT), optional :: err
3217  endsubroutine PDI_share_REAL4_4D
3218  !=============================================================================
3219 
3220 
3221  !=============================================================================
3222  !< shares some data with PDI. the user code should not modify it before
3223  !! a call to either PDI_release or PDI_reclaim.
3224  !! \param[IN] name the data name
3225  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3226  !! \param[IN] access whether the data can be accessed for read or write by
3227  !! PDI
3228  !! \param[OUT] err for error status (optional)
3229  !! \pre the user code owns the data buffer
3230  !! \post ownership of the data buffer is shared between PDI and the user code
3231  !!
3232  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3233  !! * PDI_IN means PDI can set the buffer content
3234  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3235  subroutine PDI_share_REAL4_5D( name, ptr_data, access, err )
3236  character(len=*), intent(IN) :: name
3237  REAL(KIND=4), pointer &
3238  , contiguous &
3239  :: ptr_data(:,:,:,:,:)
3240  integer, intent(IN) :: access
3241  integer, intent(OUT), optional :: err
3242  endsubroutine PDI_share_REAL4_5D
3243  !=============================================================================
3244 
3245 
3246  !=============================================================================
3247  !< shares some data with PDI. the user code should not modify it before
3248  !! a call to either PDI_release or PDI_reclaim.
3249  !! \param[IN] name the data name
3250  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3251  !! \param[IN] access whether the data can be accessed for read or write by
3252  !! PDI
3253  !! \param[OUT] err for error status (optional)
3254  !! \pre the user code owns the data buffer
3255  !! \post ownership of the data buffer is shared between PDI and the user code
3256  !!
3257  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3258  !! * PDI_IN means PDI can set the buffer content
3259  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3260  subroutine PDI_share_REAL4_6D( name, ptr_data, access, err )
3261  character(len=*), intent(IN) :: name
3262  REAL(KIND=4), pointer &
3263  , contiguous &
3264  :: ptr_data(:,:,:,:,:,:)
3265  integer, intent(IN) :: access
3266  integer, intent(OUT), optional :: err
3267  endsubroutine PDI_share_REAL4_6D
3268  !=============================================================================
3269 
3270 
3271  !=============================================================================
3272  !< shares some data with PDI. the user code should not modify it before
3273  !! a call to either PDI_release or PDI_reclaim.
3274  !! \param[IN] name the data name
3275  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3276  !! \param[IN] access whether the data can be accessed for read or write by
3277  !! PDI
3278  !! \param[OUT] err for error status (optional)
3279  !! \pre the user code owns the data buffer
3280  !! \post ownership of the data buffer is shared between PDI and the user code
3281  !!
3282  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3283  !! * PDI_IN means PDI can set the buffer content
3284  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3285  subroutine PDI_share_REAL4_7D( name, ptr_data, access, err )
3286  character(len=*), intent(IN) :: name
3287  REAL(KIND=4), pointer &
3288  , contiguous &
3289  :: ptr_data(:,:,:,:,:,:,:)
3290  integer, intent(IN) :: access
3291  integer, intent(OUT), optional :: err
3292  endsubroutine PDI_share_REAL4_7D
3293  !=============================================================================
3294 
3295 
3296  !=============================================================================
3297  !< shares some data with PDI. the user code should not modify it before
3298  !! a call to either PDI_release or PDI_reclaim.
3299  !! \param[IN] name the data name
3300  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3301  !! \param[IN] access whether the data can be accessed for read or write by
3302  !! PDI
3303  !! \param[OUT] err for error status (optional)
3304  !! \pre the user code owns the data buffer
3305  !! \post ownership of the data buffer is shared between PDI and the user code
3306  !!
3307  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3308  !! * PDI_IN means PDI can set the buffer content
3309  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3310  subroutine PDI_share_REAL8_0D( name, ptr_data, access, err )
3311  character(len=*), intent(IN) :: name
3312  REAL(KIND=8), pointer &
3313  :: ptr_data
3314  integer, intent(IN) :: access
3315  integer, intent(OUT), optional :: err
3316  endsubroutine PDI_share_REAL8_0D
3317  !=============================================================================
3318 
3319 
3320  !=============================================================================
3321  !< shares some data with PDI. the user code should not modify it before
3322  !! a call to either PDI_release or PDI_reclaim.
3323  !! \param[IN] name the data name
3324  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3325  !! \param[IN] access whether the data can be accessed for read or write by
3326  !! PDI
3327  !! \param[OUT] err for error status (optional)
3328  !! \pre the user code owns the data buffer
3329  !! \post ownership of the data buffer is shared between PDI and the user code
3330  !!
3331  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3332  !! * PDI_IN means PDI can set the buffer content
3333  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3334  subroutine PDI_share_REAL8_1D( name, ptr_data, access, err )
3335  character(len=*), intent(IN) :: name
3336  REAL(KIND=8), pointer &
3337  :: ptr_data(:)
3338  integer, intent(IN) :: access
3339  integer, intent(OUT), optional :: err
3340  endsubroutine PDI_share_REAL8_1D
3341  !=============================================================================
3342 
3343 
3344  !=============================================================================
3345  !< shares some data with PDI. the user code should not modify it before
3346  !! a call to either PDI_release or PDI_reclaim.
3347  !! \param[IN] name the data name
3348  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3349  !! \param[IN] access whether the data can be accessed for read or write by
3350  !! PDI
3351  !! \param[OUT] err for error status (optional)
3352  !! \pre the user code owns the data buffer
3353  !! \post ownership of the data buffer is shared between PDI and the user code
3354  !!
3355  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3356  !! * PDI_IN means PDI can set the buffer content
3357  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3358  subroutine PDI_share_REAL8_2D( name, ptr_data, access, err )
3359  character(len=*), intent(IN) :: name
3360  REAL(KIND=8), pointer &
3361  , contiguous &
3362  :: ptr_data(:,:)
3363  integer, intent(IN) :: access
3364  integer, intent(OUT), optional :: err
3365  endsubroutine PDI_share_REAL8_2D
3366  !=============================================================================
3367 
3368 
3369  !=============================================================================
3370  !< shares some data with PDI. the user code should not modify it before
3371  !! a call to either PDI_release or PDI_reclaim.
3372  !! \param[IN] name the data name
3373  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3374  !! \param[IN] access whether the data can be accessed for read or write by
3375  !! PDI
3376  !! \param[OUT] err for error status (optional)
3377  !! \pre the user code owns the data buffer
3378  !! \post ownership of the data buffer is shared between PDI and the user code
3379  !!
3380  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3381  !! * PDI_IN means PDI can set the buffer content
3382  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3383  subroutine PDI_share_REAL8_3D( name, ptr_data, access, err )
3384  character(len=*), intent(IN) :: name
3385  REAL(KIND=8), pointer &
3386  , contiguous &
3387  :: ptr_data(:,:,:)
3388  integer, intent(IN) :: access
3389  integer, intent(OUT), optional :: err
3390  endsubroutine PDI_share_REAL8_3D
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] ptr_data the pointer to the trageted data
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_REAL8_4D( name, ptr_data, access, err )
3409  character(len=*), intent(IN) :: name
3410  REAL(KIND=8), pointer &
3411  , contiguous &
3412  :: ptr_data(:,:,:,:)
3413  integer, intent(IN) :: access
3414  integer, intent(OUT), optional :: err
3415  endsubroutine PDI_share_REAL8_4D
3416  !=============================================================================
3417 
3418 
3419  !=============================================================================
3420  !< shares some data with PDI. the user code should not modify it before
3421  !! a call to either PDI_release or PDI_reclaim.
3422  !! \param[IN] name the data name
3423  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3424  !! \param[IN] access whether the data can be accessed for read or write by
3425  !! PDI
3426  !! \param[OUT] err for error status (optional)
3427  !! \pre the user code owns the data buffer
3428  !! \post ownership of the data buffer is shared between PDI and the user code
3429  !!
3430  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3431  !! * PDI_IN means PDI can set the buffer content
3432  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3433  subroutine PDI_share_REAL8_5D( name, ptr_data, access, err )
3434  character(len=*), intent(IN) :: name
3435  REAL(KIND=8), pointer &
3436  , contiguous &
3437  :: ptr_data(:,:,:,:,:)
3438  integer, intent(IN) :: access
3439  integer, intent(OUT), optional :: err
3440  endsubroutine PDI_share_REAL8_5D
3441  !=============================================================================
3442 
3443 
3444  !=============================================================================
3445  !< shares some data with PDI. the user code should not modify it before
3446  !! a call to either PDI_release or PDI_reclaim.
3447  !! \param[IN] name the data name
3448  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3449  !! \param[IN] access whether the data can be accessed for read or write by
3450  !! PDI
3451  !! \param[OUT] err for error status (optional)
3452  !! \pre the user code owns the data buffer
3453  !! \post ownership of the data buffer is shared between PDI and the user code
3454  !!
3455  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3456  !! * PDI_IN means PDI can set the buffer content
3457  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3458  subroutine PDI_share_REAL8_6D( name, ptr_data, access, err )
3459  character(len=*), intent(IN) :: name
3460  REAL(KIND=8), pointer &
3461  , contiguous &
3462  :: ptr_data(:,:,:,:,:,:)
3463  integer, intent(IN) :: access
3464  integer, intent(OUT), optional :: err
3465  endsubroutine PDI_share_REAL8_6D
3466  !=============================================================================
3467 
3468 
3469  !=============================================================================
3470  !< shares some data with PDI. the user code should not modify it before
3471  !! a call to either PDI_release or PDI_reclaim.
3472  !! \param[IN] name the data name
3473  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3474  !! \param[IN] access whether the data can be accessed for read or write by
3475  !! PDI
3476  !! \param[OUT] err for error status (optional)
3477  !! \pre the user code owns the data buffer
3478  !! \post ownership of the data buffer is shared between PDI and the user code
3479  !!
3480  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3481  !! * PDI_IN means PDI can set the buffer content
3482  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3483  subroutine PDI_share_REAL8_7D( name, ptr_data, access, err )
3484  character(len=*), intent(IN) :: name
3485  REAL(KIND=8), pointer &
3486  , contiguous &
3487  :: ptr_data(:,:,:,:,:,:,:)
3488  integer, intent(IN) :: access
3489  integer, intent(OUT), optional :: err
3490  endsubroutine PDI_share_REAL8_7D
3491  !=============================================================================
3492 
3493 
3494  !=============================================================================
3495  !< shares some data with PDI. the user code should not modify it before
3496  !! a call to either PDI_release or PDI_reclaim.
3497  !! \param[IN] name the data name
3498  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3499  !! \param[IN] access whether the data can be accessed for read or write by
3500  !! PDI
3501  !! \param[OUT] err for error status (optional)
3502  !! \pre the user code owns the data buffer
3503  !! \post ownership of the data buffer is shared between PDI and the user code
3504  !!
3505  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3506  !! * PDI_IN means PDI can set the buffer content
3507  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3508  subroutine PDI_share_REAL16_0D( name, ptr_data, access, err )
3509  character(len=*), intent(IN) :: name
3510  REAL(KIND=16), pointer &
3511  :: ptr_data
3512  integer, intent(IN) :: access
3513  integer, intent(OUT), optional :: err
3514  endsubroutine PDI_share_REAL16_0D
3515  !=============================================================================
3516 
3517 
3518  !=============================================================================
3519  !< shares some data with PDI. the user code should not modify it before
3520  !! a call to either PDI_release or PDI_reclaim.
3521  !! \param[IN] name the data name
3522  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3523  !! \param[IN] access whether the data can be accessed for read or write by
3524  !! PDI
3525  !! \param[OUT] err for error status (optional)
3526  !! \pre the user code owns the data buffer
3527  !! \post ownership of the data buffer is shared between PDI and the user code
3528  !!
3529  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3530  !! * PDI_IN means PDI can set the buffer content
3531  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3532  subroutine PDI_share_REAL16_1D( name, ptr_data, access, err )
3533  character(len=*), intent(IN) :: name
3534  REAL(KIND=16), pointer &
3535  :: ptr_data(:)
3536  integer, intent(IN) :: access
3537  integer, intent(OUT), optional :: err
3538  endsubroutine PDI_share_REAL16_1D
3539  !=============================================================================
3540 
3541 
3542  !=============================================================================
3543  !< shares some data with PDI. the user code should not modify it before
3544  !! a call to either PDI_release or PDI_reclaim.
3545  !! \param[IN] name the data name
3546  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3547  !! \param[IN] access whether the data can be accessed for read or write by
3548  !! PDI
3549  !! \param[OUT] err for error status (optional)
3550  !! \pre the user code owns the data buffer
3551  !! \post ownership of the data buffer is shared between PDI and the user code
3552  !!
3553  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3554  !! * PDI_IN means PDI can set the buffer content
3555  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3556  subroutine PDI_share_REAL16_2D( name, ptr_data, access, err )
3557  character(len=*), intent(IN) :: name
3558  REAL(KIND=16), pointer &
3559  , contiguous &
3560  :: ptr_data(:,:)
3561  integer, intent(IN) :: access
3562  integer, intent(OUT), optional :: err
3563  endsubroutine PDI_share_REAL16_2D
3564  !=============================================================================
3565 
3566 
3567  !=============================================================================
3568  !< shares some data with PDI. the user code should not modify it before
3569  !! a call to either PDI_release or PDI_reclaim.
3570  !! \param[IN] name the data name
3571  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3572  !! \param[IN] access whether the data can be accessed for read or write by
3573  !! PDI
3574  !! \param[OUT] err for error status (optional)
3575  !! \pre the user code owns the data buffer
3576  !! \post ownership of the data buffer is shared between PDI and the user code
3577  !!
3578  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3579  !! * PDI_IN means PDI can set the buffer content
3580  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3581  subroutine PDI_share_REAL16_3D( name, ptr_data, access, err )
3582  character(len=*), intent(IN) :: name
3583  REAL(KIND=16), pointer &
3584  , contiguous &
3585  :: ptr_data(:,:,:)
3586  integer, intent(IN) :: access
3587  integer, intent(OUT), optional :: err
3588  endsubroutine PDI_share_REAL16_3D
3589  !=============================================================================
3590 
3591 
3592  !=============================================================================
3593  !< shares some data with PDI. the user code should not modify it before
3594  !! a call to either PDI_release or PDI_reclaim.
3595  !! \param[IN] name the data name
3596  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3597  !! \param[IN] access whether the data can be accessed for read or write by
3598  !! PDI
3599  !! \param[OUT] err for error status (optional)
3600  !! \pre the user code owns the data buffer
3601  !! \post ownership of the data buffer is shared between PDI and the user code
3602  !!
3603  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3604  !! * PDI_IN means PDI can set the buffer content
3605  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3606  subroutine PDI_share_REAL16_4D( name, ptr_data, access, err )
3607  character(len=*), intent(IN) :: name
3608  REAL(KIND=16), pointer &
3609  , contiguous &
3610  :: ptr_data(:,:,:,:)
3611  integer, intent(IN) :: access
3612  integer, intent(OUT), optional :: err
3613  endsubroutine PDI_share_REAL16_4D
3614  !=============================================================================
3615 
3616 
3617  !=============================================================================
3618  !< shares some data with PDI. the user code should not modify it before
3619  !! a call to either PDI_release or PDI_reclaim.
3620  !! \param[IN] name the data name
3621  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3622  !! \param[IN] access whether the data can be accessed for read or write by
3623  !! PDI
3624  !! \param[OUT] err for error status (optional)
3625  !! \pre the user code owns the data buffer
3626  !! \post ownership of the data buffer is shared between PDI and the user code
3627  !!
3628  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3629  !! * PDI_IN means PDI can set the buffer content
3630  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3631  subroutine PDI_share_REAL16_5D( name, ptr_data, access, err )
3632  character(len=*), intent(IN) :: name
3633  REAL(KIND=16), pointer &
3634  , contiguous &
3635  :: ptr_data(:,:,:,:,:)
3636  integer, intent(IN) :: access
3637  integer, intent(OUT), optional :: err
3638  endsubroutine PDI_share_REAL16_5D
3639  !=============================================================================
3640 
3641 
3642  !=============================================================================
3643  !< shares some data with PDI. the user code should not modify it before
3644  !! a call to either PDI_release or PDI_reclaim.
3645  !! \param[IN] name the data name
3646  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3647  !! \param[IN] access whether the data can be accessed for read or write by
3648  !! PDI
3649  !! \param[OUT] err for error status (optional)
3650  !! \pre the user code owns the data buffer
3651  !! \post ownership of the data buffer is shared between PDI and the user code
3652  !!
3653  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3654  !! * PDI_IN means PDI can set the buffer content
3655  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3656  subroutine PDI_share_REAL16_6D( name, ptr_data, access, err )
3657  character(len=*), intent(IN) :: name
3658  REAL(KIND=16), pointer &
3659  , contiguous &
3660  :: ptr_data(:,:,:,:,:,:)
3661  integer, intent(IN) :: access
3662  integer, intent(OUT), optional :: err
3663  endsubroutine PDI_share_REAL16_6D
3664  !=============================================================================
3665 
3666 
3667  !=============================================================================
3668  !< shares some data with PDI. the user code should not modify it before
3669  !! a call to either PDI_release or PDI_reclaim.
3670  !! \param[IN] name the data name
3671  !! \param[IN,OUT] ptr_data the pointer to the trageted 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  !! \pre the user code owns the data buffer
3676  !! \post ownership of the data buffer is shared between PDI and the user code
3677  !!
3678  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3679  !! * PDI_IN means PDI can set the buffer content
3680  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3681  subroutine PDI_share_REAL16_7D( name, ptr_data, access, err )
3682  character(len=*), intent(IN) :: name
3683  REAL(KIND=16), pointer &
3684  , contiguous &
3685  :: ptr_data(:,:,:,:,:,:,:)
3686  integer, intent(IN) :: access
3687  integer, intent(OUT), optional :: err
3688  endsubroutine PDI_share_REAL16_7D
3689  !=============================================================================
3690 
3691 endinterface PDI_share
3692 
3693 
3694 interface PDI_expose
3695 
3696  !=============================================================================
3697  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3698  !! \param[IN] name the data name
3699  !! \param[IN] data the exposed data
3700  !! \param[IN] access whether the data can be accessed for read or write by
3701  !! PDI
3702  !! \param[OUT] err for error status (optional)
3703  subroutine PDI_expose_CHARACTER1_0D(name, data, access, err)
3704  character(len=*), intent(IN) :: name
3705  CHARACTER(KIND=1), target &
3706  :: data
3707  integer, intent(IN) :: access
3708  integer, intent(OUT), optional :: err
3709  endsubroutine PDI_expose_CHARACTER1_0D
3710  !=============================================================================
3711 
3712 
3713  !=============================================================================
3714  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3715  !! \param[IN] name the data name
3716  !! \param[IN] data the exposed data
3717  !! \param[IN] access whether the data can be accessed for read or write by
3718  !! PDI
3719  !! \param[OUT] err for error status (optional)
3720  subroutine PDI_expose_CHARACTER1_1D(name, data, access, err)
3721  character(len=*), intent(IN) :: name
3722  CHARACTER(KIND=1), target &
3723  :: data(:)
3724  integer, intent(IN) :: access
3725  integer, intent(OUT), optional :: err
3726  endsubroutine PDI_expose_CHARACTER1_1D
3727  !=============================================================================
3728 
3729 
3730  !=============================================================================
3731  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3732  !! \param[IN] name the data name
3733  !! \param[IN] data the exposed data
3734  !! \param[IN] access whether the data can be accessed for read or write by
3735  !! PDI
3736  !! \param[OUT] err for error status (optional)
3737  subroutine PDI_expose_CHARACTER1_2D(name, data, access, err)
3738  character(len=*), intent(IN) :: name
3739  CHARACTER(KIND=1), target &
3740  , contiguous &
3741  :: data(:,:)
3742  integer, intent(IN) :: access
3743  integer, intent(OUT), optional :: err
3744  endsubroutine PDI_expose_CHARACTER1_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_CHARACTER1_3D(name, data, access, err)
3756  character(len=*), intent(IN) :: name
3757  CHARACTER(KIND=1), target &
3758  , contiguous &
3759  :: data(:,:,:)
3760  integer, intent(IN) :: access
3761  integer, intent(OUT), optional :: err
3762  endsubroutine PDI_expose_CHARACTER1_3D
3763  !=============================================================================
3764 
3765 
3766  !=============================================================================
3767  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3768  !! \param[IN] name the data name
3769  !! \param[IN] data the exposed data
3770  !! \param[IN] access whether the data can be accessed for read or write by
3771  !! PDI
3772  !! \param[OUT] err for error status (optional)
3773  subroutine PDI_expose_CHARACTER1_4D(name, data, access, err)
3774  character(len=*), intent(IN) :: name
3775  CHARACTER(KIND=1), target &
3776  , contiguous &
3777  :: data(:,:,:,:)
3778  integer, intent(IN) :: access
3779  integer, intent(OUT), optional :: err
3780  endsubroutine PDI_expose_CHARACTER1_4D
3781  !=============================================================================
3782 
3783 
3784  !=============================================================================
3785  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3786  !! \param[IN] name the data name
3787  !! \param[IN] data the exposed data
3788  !! \param[IN] access whether the data can be accessed for read or write by
3789  !! PDI
3790  !! \param[OUT] err for error status (optional)
3791  subroutine PDI_expose_CHARACTER1_5D(name, data, access, err)
3792  character(len=*), intent(IN) :: name
3793  CHARACTER(KIND=1), target &
3794  , contiguous &
3795  :: data(:,:,:,:,:)
3796  integer, intent(IN) :: access
3797  integer, intent(OUT), optional :: err
3798  endsubroutine PDI_expose_CHARACTER1_5D
3799  !=============================================================================
3800 
3801 
3802  !=============================================================================
3803  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3804  !! \param[IN] name the data name
3805  !! \param[IN] data the exposed data
3806  !! \param[IN] access whether the data can be accessed for read or write by
3807  !! PDI
3808  !! \param[OUT] err for error status (optional)
3809  subroutine PDI_expose_CHARACTER1_6D(name, data, access, err)
3810  character(len=*), intent(IN) :: name
3811  CHARACTER(KIND=1), target &
3812  , contiguous &
3813  :: data(:,:,:,:,:,:)
3814  integer, intent(IN) :: access
3815  integer, intent(OUT), optional :: err
3816  endsubroutine PDI_expose_CHARACTER1_6D
3817  !=============================================================================
3818 
3819 
3820  !=============================================================================
3821  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3822  !! \param[IN] name the data name
3823  !! \param[IN] data the exposed data
3824  !! \param[IN] access whether the data can be accessed for read or write by
3825  !! PDI
3826  !! \param[OUT] err for error status (optional)
3827  subroutine PDI_expose_CHARACTER1_7D(name, data, access, err)
3828  character(len=*), intent(IN) :: name
3829  CHARACTER(KIND=1), target &
3830  , contiguous &
3831  :: data(:,:,:,:,:,:,:)
3832  integer, intent(IN) :: access
3833  integer, intent(OUT), optional :: err
3834  endsubroutine PDI_expose_CHARACTER1_7D
3835  !=============================================================================
3836 
3837 
3838  !=============================================================================
3839  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3840  !! \param[IN] name the data name
3841  !! \param[IN] data the exposed data
3842  !! \param[IN] access whether the data can be accessed for read or write by
3843  !! PDI
3844  !! \param[OUT] err for error status (optional)
3845  subroutine PDI_expose_CHARACTER4_0D(name, data, access, err)
3846  character(len=*), intent(IN) :: name
3847  CHARACTER(KIND=4), target &
3848  :: data
3849  integer, intent(IN) :: access
3850  integer, intent(OUT), optional :: err
3851  endsubroutine PDI_expose_CHARACTER4_0D
3852  !=============================================================================
3853 
3854 
3855  !=============================================================================
3856  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3857  !! \param[IN] name the data name
3858  !! \param[IN] data the exposed data
3859  !! \param[IN] access whether the data can be accessed for read or write by
3860  !! PDI
3861  !! \param[OUT] err for error status (optional)
3862  subroutine PDI_expose_CHARACTER4_1D(name, data, access, err)
3863  character(len=*), intent(IN) :: name
3864  CHARACTER(KIND=4), target &
3865  :: data(:)
3866  integer, intent(IN) :: access
3867  integer, intent(OUT), optional :: err
3868  endsubroutine PDI_expose_CHARACTER4_1D
3869  !=============================================================================
3870 
3871 
3872  !=============================================================================
3873  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3874  !! \param[IN] name the data name
3875  !! \param[IN] data the exposed data
3876  !! \param[IN] access whether the data can be accessed for read or write by
3877  !! PDI
3878  !! \param[OUT] err for error status (optional)
3879  subroutine PDI_expose_CHARACTER4_2D(name, data, access, err)
3880  character(len=*), intent(IN) :: name
3881  CHARACTER(KIND=4), target &
3882  , contiguous &
3883  :: data(:,:)
3884  integer, intent(IN) :: access
3885  integer, intent(OUT), optional :: err
3886  endsubroutine PDI_expose_CHARACTER4_2D
3887  !=============================================================================
3888 
3889 
3890  !=============================================================================
3891  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3892  !! \param[IN] name the data name
3893  !! \param[IN] data the exposed data
3894  !! \param[IN] access whether the data can be accessed for read or write by
3895  !! PDI
3896  !! \param[OUT] err for error status (optional)
3897  subroutine PDI_expose_CHARACTER4_3D(name, data, access, err)
3898  character(len=*), intent(IN) :: name
3899  CHARACTER(KIND=4), target &
3900  , contiguous &
3901  :: data(:,:,:)
3902  integer, intent(IN) :: access
3903  integer, intent(OUT), optional :: err
3904  endsubroutine PDI_expose_CHARACTER4_3D
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_CHARACTER4_4D(name, data, access, err)
3916  character(len=*), intent(IN) :: name
3917  CHARACTER(KIND=4), target &
3918  , contiguous &
3919  :: data(:,:,:,:)
3920  integer, intent(IN) :: access
3921  integer, intent(OUT), optional :: err
3922  endsubroutine PDI_expose_CHARACTER4_4D
3923  !=============================================================================
3924 
3925 
3926  !=============================================================================
3927  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3928  !! \param[IN] name the data name
3929  !! \param[IN] data the exposed data
3930  !! \param[IN] access whether the data can be accessed for read or write by
3931  !! PDI
3932  !! \param[OUT] err for error status (optional)
3933  subroutine PDI_expose_CHARACTER4_5D(name, data, access, err)
3934  character(len=*), intent(IN) :: name
3935  CHARACTER(KIND=4), target &
3936  , contiguous &
3937  :: data(:,:,:,:,:)
3938  integer, intent(IN) :: access
3939  integer, intent(OUT), optional :: err
3940  endsubroutine PDI_expose_CHARACTER4_5D
3941  !=============================================================================
3942 
3943 
3944  !=============================================================================
3945  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3946  !! \param[IN] name the data name
3947  !! \param[IN] data the exposed data
3948  !! \param[IN] access whether the data can be accessed for read or write by
3949  !! PDI
3950  !! \param[OUT] err for error status (optional)
3951  subroutine PDI_expose_CHARACTER4_6D(name, data, access, err)
3952  character(len=*), intent(IN) :: name
3953  CHARACTER(KIND=4), target &
3954  , contiguous &
3955  :: data(:,:,:,:,:,:)
3956  integer, intent(IN) :: access
3957  integer, intent(OUT), optional :: err
3958  endsubroutine PDI_expose_CHARACTER4_6D
3959  !=============================================================================
3960 
3961 
3962  !=============================================================================
3963  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3964  !! \param[IN] name the data name
3965  !! \param[IN] data the exposed data
3966  !! \param[IN] access whether the data can be accessed for read or write by
3967  !! PDI
3968  !! \param[OUT] err for error status (optional)
3969  subroutine PDI_expose_CHARACTER4_7D(name, data, access, err)
3970  character(len=*), intent(IN) :: name
3971  CHARACTER(KIND=4), target &
3972  , contiguous &
3973  :: data(:,:,:,:,:,:,:)
3974  integer, intent(IN) :: access
3975  integer, intent(OUT), optional :: err
3976  endsubroutine PDI_expose_CHARACTER4_7D
3977  !=============================================================================
3978 
3979 
3980  !=============================================================================
3981  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3982  !! \param[IN] name the data name
3983  !! \param[IN] data the exposed data
3984  !! \param[IN] access whether the data can be accessed for read or write by
3985  !! PDI
3986  !! \param[OUT] err for error status (optional)
3987  subroutine PDI_expose_COMPLEX4_0D(name, data, access, err)
3988  character(len=*), intent(IN) :: name
3989  COMPLEX(KIND=4), target &
3990  :: data
3991  integer, intent(IN) :: access
3992  integer, intent(OUT), optional :: err
3993  endsubroutine PDI_expose_COMPLEX4_0D
3994  !=============================================================================
3995 
3996 
3997  !=============================================================================
3998  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3999  !! \param[IN] name the data name
4000  !! \param[IN] data the exposed data
4001  !! \param[IN] access whether the data can be accessed for read or write by
4002  !! PDI
4003  !! \param[OUT] err for error status (optional)
4004  subroutine PDI_expose_COMPLEX4_1D(name, data, access, err)
4005  character(len=*), intent(IN) :: name
4006  COMPLEX(KIND=4), target &
4007  :: data(:)
4008  integer, intent(IN) :: access
4009  integer, intent(OUT), optional :: err
4010  endsubroutine PDI_expose_COMPLEX4_1D
4011  !=============================================================================
4012 
4013 
4014  !=============================================================================
4015  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4016  !! \param[IN] name the data name
4017  !! \param[IN] data the exposed data
4018  !! \param[IN] access whether the data can be accessed for read or write by
4019  !! PDI
4020  !! \param[OUT] err for error status (optional)
4021  subroutine PDI_expose_COMPLEX4_2D(name, data, access, err)
4022  character(len=*), intent(IN) :: name
4023  COMPLEX(KIND=4), target &
4024  , contiguous &
4025  :: data(:,:)
4026  integer, intent(IN) :: access
4027  integer, intent(OUT), optional :: err
4028  endsubroutine PDI_expose_COMPLEX4_2D
4029  !=============================================================================
4030 
4031 
4032  !=============================================================================
4033  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4034  !! \param[IN] name the data name
4035  !! \param[IN] data the exposed data
4036  !! \param[IN] access whether the data can be accessed for read or write by
4037  !! PDI
4038  !! \param[OUT] err for error status (optional)
4039  subroutine PDI_expose_COMPLEX4_3D(name, data, access, err)
4040  character(len=*), intent(IN) :: name
4041  COMPLEX(KIND=4), target &
4042  , contiguous &
4043  :: data(:,:,:)
4044  integer, intent(IN) :: access
4045  integer, intent(OUT), optional :: err
4046  endsubroutine PDI_expose_COMPLEX4_3D
4047  !=============================================================================
4048 
4049 
4050  !=============================================================================
4051  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4052  !! \param[IN] name the data name
4053  !! \param[IN] data the exposed data
4054  !! \param[IN] access whether the data can be accessed for read or write by
4055  !! PDI
4056  !! \param[OUT] err for error status (optional)
4057  subroutine PDI_expose_COMPLEX4_4D(name, data, access, err)
4058  character(len=*), intent(IN) :: name
4059  COMPLEX(KIND=4), target &
4060  , contiguous &
4061  :: data(:,:,:,:)
4062  integer, intent(IN) :: access
4063  integer, intent(OUT), optional :: err
4064  endsubroutine PDI_expose_COMPLEX4_4D
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_COMPLEX4_5D(name, data, access, err)
4076  character(len=*), intent(IN) :: name
4077  COMPLEX(KIND=4), target &
4078  , contiguous &
4079  :: data(:,:,:,:,:)
4080  integer, intent(IN) :: access
4081  integer, intent(OUT), optional :: err
4082  endsubroutine PDI_expose_COMPLEX4_5D
4083  !=============================================================================
4084 
4085 
4086  !=============================================================================
4087  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4088  !! \param[IN] name the data name
4089  !! \param[IN] data the exposed data
4090  !! \param[IN] access whether the data can be accessed for read or write by
4091  !! PDI
4092  !! \param[OUT] err for error status (optional)
4093  subroutine PDI_expose_COMPLEX4_6D(name, data, access, err)
4094  character(len=*), intent(IN) :: name
4095  COMPLEX(KIND=4), target &
4096  , contiguous &
4097  :: data(:,:,:,:,:,:)
4098  integer, intent(IN) :: access
4099  integer, intent(OUT), optional :: err
4100  endsubroutine PDI_expose_COMPLEX4_6D
4101  !=============================================================================
4102 
4103 
4104  !=============================================================================
4105  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4106  !! \param[IN] name the data name
4107  !! \param[IN] data the exposed data
4108  !! \param[IN] access whether the data can be accessed for read or write by
4109  !! PDI
4110  !! \param[OUT] err for error status (optional)
4111  subroutine PDI_expose_COMPLEX4_7D(name, data, access, err)
4112  character(len=*), intent(IN) :: name
4113  COMPLEX(KIND=4), target &
4114  , contiguous &
4115  :: data(:,:,:,:,:,:,:)
4116  integer, intent(IN) :: access
4117  integer, intent(OUT), optional :: err
4118  endsubroutine PDI_expose_COMPLEX4_7D
4119  !=============================================================================
4120 
4121 
4122  !=============================================================================
4123  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4124  !! \param[IN] name the data name
4125  !! \param[IN] data the exposed data
4126  !! \param[IN] access whether the data can be accessed for read or write by
4127  !! PDI
4128  !! \param[OUT] err for error status (optional)
4129  subroutine PDI_expose_COMPLEX8_0D(name, data, access, err)
4130  character(len=*), intent(IN) :: name
4131  COMPLEX(KIND=8), target &
4132  :: data
4133  integer, intent(IN) :: access
4134  integer, intent(OUT), optional :: err
4135  endsubroutine PDI_expose_COMPLEX8_0D
4136  !=============================================================================
4137 
4138 
4139  !=============================================================================
4140  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4141  !! \param[IN] name the data name
4142  !! \param[IN] data the exposed data
4143  !! \param[IN] access whether the data can be accessed for read or write by
4144  !! PDI
4145  !! \param[OUT] err for error status (optional)
4146  subroutine PDI_expose_COMPLEX8_1D(name, data, access, err)
4147  character(len=*), intent(IN) :: name
4148  COMPLEX(KIND=8), target &
4149  :: data(:)
4150  integer, intent(IN) :: access
4151  integer, intent(OUT), optional :: err
4152  endsubroutine PDI_expose_COMPLEX8_1D
4153  !=============================================================================
4154 
4155 
4156  !=============================================================================
4157  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4158  !! \param[IN] name the data name
4159  !! \param[IN] data the exposed data
4160  !! \param[IN] access whether the data can be accessed for read or write by
4161  !! PDI
4162  !! \param[OUT] err for error status (optional)
4163  subroutine PDI_expose_COMPLEX8_2D(name, data, access, err)
4164  character(len=*), intent(IN) :: name
4165  COMPLEX(KIND=8), target &
4166  , contiguous &
4167  :: data(:,:)
4168  integer, intent(IN) :: access
4169  integer, intent(OUT), optional :: err
4170  endsubroutine PDI_expose_COMPLEX8_2D
4171  !=============================================================================
4172 
4173 
4174  !=============================================================================
4175  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4176  !! \param[IN] name the data name
4177  !! \param[IN] data the exposed data
4178  !! \param[IN] access whether the data can be accessed for read or write by
4179  !! PDI
4180  !! \param[OUT] err for error status (optional)
4181  subroutine PDI_expose_COMPLEX8_3D(name, data, access, err)
4182  character(len=*), intent(IN) :: name
4183  COMPLEX(KIND=8), target &
4184  , contiguous &
4185  :: data(:,:,:)
4186  integer, intent(IN) :: access
4187  integer, intent(OUT), optional :: err
4188  endsubroutine PDI_expose_COMPLEX8_3D
4189  !=============================================================================
4190 
4191 
4192  !=============================================================================
4193  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4194  !! \param[IN] name the data name
4195  !! \param[IN] data the exposed data
4196  !! \param[IN] access whether the data can be accessed for read or write by
4197  !! PDI
4198  !! \param[OUT] err for error status (optional)
4199  subroutine PDI_expose_COMPLEX8_4D(name, data, access, err)
4200  character(len=*), intent(IN) :: name
4201  COMPLEX(KIND=8), target &
4202  , contiguous &
4203  :: data(:,:,:,:)
4204  integer, intent(IN) :: access
4205  integer, intent(OUT), optional :: err
4206  endsubroutine PDI_expose_COMPLEX8_4D
4207  !=============================================================================
4208 
4209 
4210  !=============================================================================
4211  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4212  !! \param[IN] name the data name
4213  !! \param[IN] data the exposed data
4214  !! \param[IN] access whether the data can be accessed for read or write by
4215  !! PDI
4216  !! \param[OUT] err for error status (optional)
4217  subroutine PDI_expose_COMPLEX8_5D(name, data, access, err)
4218  character(len=*), intent(IN) :: name
4219  COMPLEX(KIND=8), target &
4220  , contiguous &
4221  :: data(:,:,:,:,:)
4222  integer, intent(IN) :: access
4223  integer, intent(OUT), optional :: err
4224  endsubroutine PDI_expose_COMPLEX8_5D
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_COMPLEX8_6D(name, data, access, err)
4236  character(len=*), intent(IN) :: name
4237  COMPLEX(KIND=8), target &
4238  , contiguous &
4239  :: data(:,:,:,:,:,:)
4240  integer, intent(IN) :: access
4241  integer, intent(OUT), optional :: err
4242  endsubroutine PDI_expose_COMPLEX8_6D
4243  !=============================================================================
4244 
4245 
4246  !=============================================================================
4247  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4248  !! \param[IN] name the data name
4249  !! \param[IN] data the exposed data
4250  !! \param[IN] access whether the data can be accessed for read or write by
4251  !! PDI
4252  !! \param[OUT] err for error status (optional)
4253  subroutine PDI_expose_COMPLEX8_7D(name, data, access, err)
4254  character(len=*), intent(IN) :: name
4255  COMPLEX(KIND=8), target &
4256  , contiguous &
4257  :: data(:,:,:,:,:,:,:)
4258  integer, intent(IN) :: access
4259  integer, intent(OUT), optional :: err
4260  endsubroutine PDI_expose_COMPLEX8_7D
4261  !=============================================================================
4262 
4263 
4264  !=============================================================================
4265  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4266  !! \param[IN] name the data name
4267  !! \param[IN] data the exposed data
4268  !! \param[IN] access whether the data can be accessed for read or write by
4269  !! PDI
4270  !! \param[OUT] err for error status (optional)
4271  subroutine PDI_expose_COMPLEX16_0D(name, data, access, err)
4272  character(len=*), intent(IN) :: name
4273  COMPLEX(KIND=16), target &
4274  :: data
4275  integer, intent(IN) :: access
4276  integer, intent(OUT), optional :: err
4277  endsubroutine PDI_expose_COMPLEX16_0D
4278  !=============================================================================
4279 
4280 
4281  !=============================================================================
4282  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4283  !! \param[IN] name the data name
4284  !! \param[IN] data the exposed data
4285  !! \param[IN] access whether the data can be accessed for read or write by
4286  !! PDI
4287  !! \param[OUT] err for error status (optional)
4288  subroutine PDI_expose_COMPLEX16_1D(name, data, access, err)
4289  character(len=*), intent(IN) :: name
4290  COMPLEX(KIND=16), target &
4291  :: data(:)
4292  integer, intent(IN) :: access
4293  integer, intent(OUT), optional :: err
4294  endsubroutine PDI_expose_COMPLEX16_1D
4295  !=============================================================================
4296 
4297 
4298  !=============================================================================
4299  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4300  !! \param[IN] name the data name
4301  !! \param[IN] data the exposed data
4302  !! \param[IN] access whether the data can be accessed for read or write by
4303  !! PDI
4304  !! \param[OUT] err for error status (optional)
4305  subroutine PDI_expose_COMPLEX16_2D(name, data, access, err)
4306  character(len=*), intent(IN) :: name
4307  COMPLEX(KIND=16), target &
4308  , contiguous &
4309  :: data(:,:)
4310  integer, intent(IN) :: access
4311  integer, intent(OUT), optional :: err
4312  endsubroutine PDI_expose_COMPLEX16_2D
4313  !=============================================================================
4314 
4315 
4316  !=============================================================================
4317  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4318  !! \param[IN] name the data name
4319  !! \param[IN] data the exposed data
4320  !! \param[IN] access whether the data can be accessed for read or write by
4321  !! PDI
4322  !! \param[OUT] err for error status (optional)
4323  subroutine PDI_expose_COMPLEX16_3D(name, data, access, err)
4324  character(len=*), intent(IN) :: name
4325  COMPLEX(KIND=16), target &
4326  , contiguous &
4327  :: data(:,:,:)
4328  integer, intent(IN) :: access
4329  integer, intent(OUT), optional :: err
4330  endsubroutine PDI_expose_COMPLEX16_3D
4331  !=============================================================================
4332 
4333 
4334  !=============================================================================
4335  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4336  !! \param[IN] name the data name
4337  !! \param[IN] data the exposed data
4338  !! \param[IN] access whether the data can be accessed for read or write by
4339  !! PDI
4340  !! \param[OUT] err for error status (optional)
4341  subroutine PDI_expose_COMPLEX16_4D(name, data, access, err)
4342  character(len=*), intent(IN) :: name
4343  COMPLEX(KIND=16), target &
4344  , contiguous &
4345  :: data(:,:,:,:)
4346  integer, intent(IN) :: access
4347  integer, intent(OUT), optional :: err
4348  endsubroutine PDI_expose_COMPLEX16_4D
4349  !=============================================================================
4350 
4351 
4352  !=============================================================================
4353  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4354  !! \param[IN] name the data name
4355  !! \param[IN] data the exposed data
4356  !! \param[IN] access whether the data can be accessed for read or write by
4357  !! PDI
4358  !! \param[OUT] err for error status (optional)
4359  subroutine PDI_expose_COMPLEX16_5D(name, data, access, err)
4360  character(len=*), intent(IN) :: name
4361  COMPLEX(KIND=16), target &
4362  , contiguous &
4363  :: data(:,:,:,:,:)
4364  integer, intent(IN) :: access
4365  integer, intent(OUT), optional :: err
4366  endsubroutine PDI_expose_COMPLEX16_5D
4367  !=============================================================================
4368 
4369 
4370  !=============================================================================
4371  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4372  !! \param[IN] name the data name
4373  !! \param[IN] data the exposed data
4374  !! \param[IN] access whether the data can be accessed for read or write by
4375  !! PDI
4376  !! \param[OUT] err for error status (optional)
4377  subroutine PDI_expose_COMPLEX16_6D(name, data, access, err)
4378  character(len=*), intent(IN) :: name
4379  COMPLEX(KIND=16), target &
4380  , contiguous &
4381  :: data(:,:,:,:,:,:)
4382  integer, intent(IN) :: access
4383  integer, intent(OUT), optional :: err
4384  endsubroutine PDI_expose_COMPLEX16_6D
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_COMPLEX16_7D(name, data, access, err)
4396  character(len=*), intent(IN) :: name
4397  COMPLEX(KIND=16), target &
4398  , contiguous &
4399  :: data(:,:,:,:,:,:,:)
4400  integer, intent(IN) :: access
4401  integer, intent(OUT), optional :: err
4402  endsubroutine PDI_expose_COMPLEX16_7D
4403  !=============================================================================
4404 
4405 
4406  !=============================================================================
4407  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4408  !! \param[IN] name the data name
4409  !! \param[IN] data the exposed data
4410  !! \param[IN] access whether the data can be accessed for read or write by
4411  !! PDI
4412  !! \param[OUT] err for error status (optional)
4413  subroutine PDI_expose_INTEGER1_0D(name, data, access, err)
4414  character(len=*), intent(IN) :: name
4415  INTEGER(KIND=1), target &
4416  :: data
4417  integer, intent(IN) :: access
4418  integer, intent(OUT), optional :: err
4419  endsubroutine PDI_expose_INTEGER1_0D
4420  !=============================================================================
4421 
4422 
4423  !=============================================================================
4424  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4425  !! \param[IN] name the data name
4426  !! \param[IN] data the exposed data
4427  !! \param[IN] access whether the data can be accessed for read or write by
4428  !! PDI
4429  !! \param[OUT] err for error status (optional)
4430  subroutine PDI_expose_INTEGER1_1D(name, data, access, err)
4431  character(len=*), intent(IN) :: name
4432  INTEGER(KIND=1), target &
4433  :: data(:)
4434  integer, intent(IN) :: access
4435  integer, intent(OUT), optional :: err
4436  endsubroutine PDI_expose_INTEGER1_1D
4437  !=============================================================================
4438 
4439 
4440  !=============================================================================
4441  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4442  !! \param[IN] name the data name
4443  !! \param[IN] data the exposed data
4444  !! \param[IN] access whether the data can be accessed for read or write by
4445  !! PDI
4446  !! \param[OUT] err for error status (optional)
4447  subroutine PDI_expose_INTEGER1_2D(name, data, access, err)
4448  character(len=*), intent(IN) :: name
4449  INTEGER(KIND=1), target &
4450  , contiguous &
4451  :: data(:,:)
4452  integer, intent(IN) :: access
4453  integer, intent(OUT), optional :: err
4454  endsubroutine PDI_expose_INTEGER1_2D
4455  !=============================================================================
4456 
4457 
4458  !=============================================================================
4459  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4460  !! \param[IN] name the data name
4461  !! \param[IN] data the exposed data
4462  !! \param[IN] access whether the data can be accessed for read or write by
4463  !! PDI
4464  !! \param[OUT] err for error status (optional)
4465  subroutine PDI_expose_INTEGER1_3D(name, data, access, err)
4466  character(len=*), intent(IN) :: name
4467  INTEGER(KIND=1), target &
4468  , contiguous &
4469  :: data(:,:,:)
4470  integer, intent(IN) :: access
4471  integer, intent(OUT), optional :: err
4472  endsubroutine PDI_expose_INTEGER1_3D
4473  !=============================================================================
4474 
4475 
4476  !=============================================================================
4477  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4478  !! \param[IN] name the data name
4479  !! \param[IN] data the exposed data
4480  !! \param[IN] access whether the data can be accessed for read or write by
4481  !! PDI
4482  !! \param[OUT] err for error status (optional)
4483  subroutine PDI_expose_INTEGER1_4D(name, data, access, err)
4484  character(len=*), intent(IN) :: name
4485  INTEGER(KIND=1), target &
4486  , contiguous &
4487  :: data(:,:,:,:)
4488  integer, intent(IN) :: access
4489  integer, intent(OUT), optional :: err
4490  endsubroutine PDI_expose_INTEGER1_4D
4491  !=============================================================================
4492 
4493 
4494  !=============================================================================
4495  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4496  !! \param[IN] name the data name
4497  !! \param[IN] data the exposed data
4498  !! \param[IN] access whether the data can be accessed for read or write by
4499  !! PDI
4500  !! \param[OUT] err for error status (optional)
4501  subroutine PDI_expose_INTEGER1_5D(name, data, access, err)
4502  character(len=*), intent(IN) :: name
4503  INTEGER(KIND=1), target &
4504  , contiguous &
4505  :: data(:,:,:,:,:)
4506  integer, intent(IN) :: access
4507  integer, intent(OUT), optional :: err
4508  endsubroutine PDI_expose_INTEGER1_5D
4509  !=============================================================================
4510 
4511 
4512  !=============================================================================
4513  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4514  !! \param[IN] name the data name
4515  !! \param[IN] data the exposed data
4516  !! \param[IN] access whether the data can be accessed for read or write by
4517  !! PDI
4518  !! \param[OUT] err for error status (optional)
4519  subroutine PDI_expose_INTEGER1_6D(name, data, access, err)
4520  character(len=*), intent(IN) :: name
4521  INTEGER(KIND=1), target &
4522  , contiguous &
4523  :: data(:,:,:,:,:,:)
4524  integer, intent(IN) :: access
4525  integer, intent(OUT), optional :: err
4526  endsubroutine PDI_expose_INTEGER1_6D
4527  !=============================================================================
4528 
4529 
4530  !=============================================================================
4531  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4532  !! \param[IN] name the data name
4533  !! \param[IN] data the exposed data
4534  !! \param[IN] access whether the data can be accessed for read or write by
4535  !! PDI
4536  !! \param[OUT] err for error status (optional)
4537  subroutine PDI_expose_INTEGER1_7D(name, data, access, err)
4538  character(len=*), intent(IN) :: name
4539  INTEGER(KIND=1), target &
4540  , contiguous &
4541  :: data(:,:,:,:,:,:,:)
4542  integer, intent(IN) :: access
4543  integer, intent(OUT), optional :: err
4544  endsubroutine PDI_expose_INTEGER1_7D
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_INTEGER2_0D(name, data, access, err)
4556  character(len=*), intent(IN) :: name
4557  INTEGER(KIND=2), target &
4558  :: data
4559  integer, intent(IN) :: access
4560  integer, intent(OUT), optional :: err
4561  endsubroutine PDI_expose_INTEGER2_0D
4562  !=============================================================================
4563 
4564 
4565  !=============================================================================
4566  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4567  !! \param[IN] name the data name
4568  !! \param[IN] data the exposed data
4569  !! \param[IN] access whether the data can be accessed for read or write by
4570  !! PDI
4571  !! \param[OUT] err for error status (optional)
4572  subroutine PDI_expose_INTEGER2_1D(name, data, access, err)
4573  character(len=*), intent(IN) :: name
4574  INTEGER(KIND=2), target &
4575  :: data(:)
4576  integer, intent(IN) :: access
4577  integer, intent(OUT), optional :: err
4578  endsubroutine PDI_expose_INTEGER2_1D
4579  !=============================================================================
4580 
4581 
4582  !=============================================================================
4583  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4584  !! \param[IN] name the data name
4585  !! \param[IN] data the exposed data
4586  !! \param[IN] access whether the data can be accessed for read or write by
4587  !! PDI
4588  !! \param[OUT] err for error status (optional)
4589  subroutine PDI_expose_INTEGER2_2D(name, data, access, err)
4590  character(len=*), intent(IN) :: name
4591  INTEGER(KIND=2), target &
4592  , contiguous &
4593  :: data(:,:)
4594  integer, intent(IN) :: access
4595  integer, intent(OUT), optional :: err
4596  endsubroutine PDI_expose_INTEGER2_2D
4597  !=============================================================================
4598 
4599 
4600  !=============================================================================
4601  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4602  !! \param[IN] name the data name
4603  !! \param[IN] data the exposed data
4604  !! \param[IN] access whether the data can be accessed for read or write by
4605  !! PDI
4606  !! \param[OUT] err for error status (optional)
4607  subroutine PDI_expose_INTEGER2_3D(name, data, access, err)
4608  character(len=*), intent(IN) :: name
4609  INTEGER(KIND=2), target &
4610  , contiguous &
4611  :: data(:,:,:)
4612  integer, intent(IN) :: access
4613  integer, intent(OUT), optional :: err
4614  endsubroutine PDI_expose_INTEGER2_3D
4615  !=============================================================================
4616 
4617 
4618  !=============================================================================
4619  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4620  !! \param[IN] name the data name
4621  !! \param[IN] data the exposed data
4622  !! \param[IN] access whether the data can be accessed for read or write by
4623  !! PDI
4624  !! \param[OUT] err for error status (optional)
4625  subroutine PDI_expose_INTEGER2_4D(name, data, access, err)
4626  character(len=*), intent(IN) :: name
4627  INTEGER(KIND=2), target &
4628  , contiguous &
4629  :: data(:,:,:,:)
4630  integer, intent(IN) :: access
4631  integer, intent(OUT), optional :: err
4632  endsubroutine PDI_expose_INTEGER2_4D
4633  !=============================================================================
4634 
4635 
4636  !=============================================================================
4637  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4638  !! \param[IN] name the data name
4639  !! \param[IN] data the exposed data
4640  !! \param[IN] access whether the data can be accessed for read or write by
4641  !! PDI
4642  !! \param[OUT] err for error status (optional)
4643  subroutine PDI_expose_INTEGER2_5D(name, data, access, err)
4644  character(len=*), intent(IN) :: name
4645  INTEGER(KIND=2), target &
4646  , contiguous &
4647  :: data(:,:,:,:,:)
4648  integer, intent(IN) :: access
4649  integer, intent(OUT), optional :: err
4650  endsubroutine PDI_expose_INTEGER2_5D
4651  !=============================================================================
4652 
4653 
4654  !=============================================================================
4655  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4656  !! \param[IN] name the data name
4657  !! \param[IN] data the exposed data
4658  !! \param[IN] access whether the data can be accessed for read or write by
4659  !! PDI
4660  !! \param[OUT] err for error status (optional)
4661  subroutine PDI_expose_INTEGER2_6D(name, data, access, err)
4662  character(len=*), intent(IN) :: name
4663  INTEGER(KIND=2), target &
4664  , contiguous &
4665  :: data(:,:,:,:,:,:)
4666  integer, intent(IN) :: access
4667  integer, intent(OUT), optional :: err
4668  endsubroutine PDI_expose_INTEGER2_6D
4669  !=============================================================================
4670 
4671 
4672  !=============================================================================
4673  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4674  !! \param[IN] name the data name
4675  !! \param[IN] data the exposed data
4676  !! \param[IN] access whether the data can be accessed for read or write by
4677  !! PDI
4678  !! \param[OUT] err for error status (optional)
4679  subroutine PDI_expose_INTEGER2_7D(name, data, access, err)
4680  character(len=*), intent(IN) :: name
4681  INTEGER(KIND=2), target &
4682  , contiguous &
4683  :: data(:,:,:,:,:,:,:)
4684  integer, intent(IN) :: access
4685  integer, intent(OUT), optional :: err
4686  endsubroutine PDI_expose_INTEGER2_7D
4687  !=============================================================================
4688 
4689 
4690  !=============================================================================
4691  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4692  !! \param[IN] name the data name
4693  !! \param[IN] data the exposed data
4694  !! \param[IN] access whether the data can be accessed for read or write by
4695  !! PDI
4696  !! \param[OUT] err for error status (optional)
4697  subroutine PDI_expose_INTEGER4_0D(name, data, access, err)
4698  character(len=*), intent(IN) :: name
4699  INTEGER(KIND=4), target &
4700  :: data
4701  integer, intent(IN) :: access
4702  integer, intent(OUT), optional :: err
4703  endsubroutine PDI_expose_INTEGER4_0D
4704  !=============================================================================
4705 
4706 
4707  !=============================================================================
4708  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4709  !! \param[IN] name the data name
4710  !! \param[IN] data the exposed data
4711  !! \param[IN] access whether the data can be accessed for read or write by
4712  !! PDI
4713  !! \param[OUT] err for error status (optional)
4714  subroutine PDI_expose_INTEGER4_1D(name, data, access, err)
4715  character(len=*), intent(IN) :: name
4716  INTEGER(KIND=4), target &
4717  :: data(:)
4718  integer, intent(IN) :: access
4719  integer, intent(OUT), optional :: err
4720  endsubroutine PDI_expose_INTEGER4_1D
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_INTEGER4_2D(name, data, access, err)
4732  character(len=*), intent(IN) :: name
4733  INTEGER(KIND=4), target &
4734  , contiguous &
4735  :: data(:,:)
4736  integer, intent(IN) :: access
4737  integer, intent(OUT), optional :: err
4738  endsubroutine PDI_expose_INTEGER4_2D
4739  !=============================================================================
4740 
4741 
4742  !=============================================================================
4743  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4744  !! \param[IN] name the data name
4745  !! \param[IN] data the exposed data
4746  !! \param[IN] access whether the data can be accessed for read or write by
4747  !! PDI
4748  !! \param[OUT] err for error status (optional)
4749  subroutine PDI_expose_INTEGER4_3D(name, data, access, err)
4750  character(len=*), intent(IN) :: name
4751  INTEGER(KIND=4), target &
4752  , contiguous &
4753  :: data(:,:,:)
4754  integer, intent(IN) :: access
4755  integer, intent(OUT), optional :: err
4756  endsubroutine PDI_expose_INTEGER4_3D
4757  !=============================================================================
4758 
4759 
4760  !=============================================================================
4761  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4762  !! \param[IN] name the data name
4763  !! \param[IN] data the exposed data
4764  !! \param[IN] access whether the data can be accessed for read or write by
4765  !! PDI
4766  !! \param[OUT] err for error status (optional)
4767  subroutine PDI_expose_INTEGER4_4D(name, data, access, err)
4768  character(len=*), intent(IN) :: name
4769  INTEGER(KIND=4), target &
4770  , contiguous &
4771  :: data(:,:,:,:)
4772  integer, intent(IN) :: access
4773  integer, intent(OUT), optional :: err
4774  endsubroutine PDI_expose_INTEGER4_4D
4775  !=============================================================================
4776 
4777 
4778  !=============================================================================
4779  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4780  !! \param[IN] name the data name
4781  !! \param[IN] data the exposed data
4782  !! \param[IN] access whether the data can be accessed for read or write by
4783  !! PDI
4784  !! \param[OUT] err for error status (optional)
4785  subroutine PDI_expose_INTEGER4_5D(name, data, access, err)
4786  character(len=*), intent(IN) :: name
4787  INTEGER(KIND=4), target &
4788  , contiguous &
4789  :: data(:,:,:,:,:)
4790  integer, intent(IN) :: access
4791  integer, intent(OUT), optional :: err
4792  endsubroutine PDI_expose_INTEGER4_5D
4793  !=============================================================================
4794 
4795 
4796  !=============================================================================
4797  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4798  !! \param[IN] name the data name
4799  !! \param[IN] data the exposed data
4800  !! \param[IN] access whether the data can be accessed for read or write by
4801  !! PDI
4802  !! \param[OUT] err for error status (optional)
4803  subroutine PDI_expose_INTEGER4_6D(name, data, access, err)
4804  character(len=*), intent(IN) :: name
4805  INTEGER(KIND=4), target &
4806  , contiguous &
4807  :: data(:,:,:,:,:,:)
4808  integer, intent(IN) :: access
4809  integer, intent(OUT), optional :: err
4810  endsubroutine PDI_expose_INTEGER4_6D
4811  !=============================================================================
4812 
4813 
4814  !=============================================================================
4815  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4816  !! \param[IN] name the data name
4817  !! \param[IN] data the exposed data
4818  !! \param[IN] access whether the data can be accessed for read or write by
4819  !! PDI
4820  !! \param[OUT] err for error status (optional)
4821  subroutine PDI_expose_INTEGER4_7D(name, data, access, err)
4822  character(len=*), intent(IN) :: name
4823  INTEGER(KIND=4), target &
4824  , contiguous &
4825  :: data(:,:,:,:,:,:,:)
4826  integer, intent(IN) :: access
4827  integer, intent(OUT), optional :: err
4828  endsubroutine PDI_expose_INTEGER4_7D
4829  !=============================================================================
4830 
4831 
4832  !=============================================================================
4833  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4834  !! \param[IN] name the data name
4835  !! \param[IN] data the exposed data
4836  !! \param[IN] access whether the data can be accessed for read or write by
4837  !! PDI
4838  !! \param[OUT] err for error status (optional)
4839  subroutine PDI_expose_INTEGER8_0D(name, data, access, err)
4840  character(len=*), intent(IN) :: name
4841  INTEGER(KIND=8), target &
4842  :: data
4843  integer, intent(IN) :: access
4844  integer, intent(OUT), optional :: err
4845  endsubroutine PDI_expose_INTEGER8_0D
4846  !=============================================================================
4847 
4848 
4849  !=============================================================================
4850  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4851  !! \param[IN] name the data name
4852  !! \param[IN] data the exposed data
4853  !! \param[IN] access whether the data can be accessed for read or write by
4854  !! PDI
4855  !! \param[OUT] err for error status (optional)
4856  subroutine PDI_expose_INTEGER8_1D(name, data, access, err)
4857  character(len=*), intent(IN) :: name
4858  INTEGER(KIND=8), target &
4859  :: data(:)
4860  integer, intent(IN) :: access
4861  integer, intent(OUT), optional :: err
4862  endsubroutine PDI_expose_INTEGER8_1D
4863  !=============================================================================
4864 
4865 
4866  !=============================================================================
4867  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4868  !! \param[IN] name the data name
4869  !! \param[IN] data the exposed data
4870  !! \param[IN] access whether the data can be accessed for read or write by
4871  !! PDI
4872  !! \param[OUT] err for error status (optional)
4873  subroutine PDI_expose_INTEGER8_2D(name, data, access, err)
4874  character(len=*), intent(IN) :: name
4875  INTEGER(KIND=8), target &
4876  , contiguous &
4877  :: data(:,:)
4878  integer, intent(IN) :: access
4879  integer, intent(OUT), optional :: err
4880  endsubroutine PDI_expose_INTEGER8_2D
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_INTEGER8_3D(name, data, access, err)
4892  character(len=*), intent(IN) :: name
4893  INTEGER(KIND=8), target &
4894  , contiguous &
4895  :: data(:,:,:)
4896  integer, intent(IN) :: access
4897  integer, intent(OUT), optional :: err
4898  endsubroutine PDI_expose_INTEGER8_3D
4899  !=============================================================================
4900 
4901 
4902  !=============================================================================
4903  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4904  !! \param[IN] name the data name
4905  !! \param[IN] data the exposed data
4906  !! \param[IN] access whether the data can be accessed for read or write by
4907  !! PDI
4908  !! \param[OUT] err for error status (optional)
4909  subroutine PDI_expose_INTEGER8_4D(name, data, access, err)
4910  character(len=*), intent(IN) :: name
4911  INTEGER(KIND=8), target &
4912  , contiguous &
4913  :: data(:,:,:,:)
4914  integer, intent(IN) :: access
4915  integer, intent(OUT), optional :: err
4916  endsubroutine PDI_expose_INTEGER8_4D
4917  !=============================================================================
4918 
4919 
4920  !=============================================================================
4921  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4922  !! \param[IN] name the data name
4923  !! \param[IN] data the exposed data
4924  !! \param[IN] access whether the data can be accessed for read or write by
4925  !! PDI
4926  !! \param[OUT] err for error status (optional)
4927  subroutine PDI_expose_INTEGER8_5D(name, data, access, err)
4928  character(len=*), intent(IN) :: name
4929  INTEGER(KIND=8), target &
4930  , contiguous &
4931  :: data(:,:,:,:,:)
4932  integer, intent(IN) :: access
4933  integer, intent(OUT), optional :: err
4934  endsubroutine PDI_expose_INTEGER8_5D
4935  !=============================================================================
4936 
4937 
4938  !=============================================================================
4939  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4940  !! \param[IN] name the data name
4941  !! \param[IN] data the exposed data
4942  !! \param[IN] access whether the data can be accessed for read or write by
4943  !! PDI
4944  !! \param[OUT] err for error status (optional)
4945  subroutine PDI_expose_INTEGER8_6D(name, data, access, err)
4946  character(len=*), intent(IN) :: name
4947  INTEGER(KIND=8), target &
4948  , contiguous &
4949  :: data(:,:,:,:,:,:)
4950  integer, intent(IN) :: access
4951  integer, intent(OUT), optional :: err
4952  endsubroutine PDI_expose_INTEGER8_6D
4953  !=============================================================================
4954 
4955 
4956  !=============================================================================
4957  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4958  !! \param[IN] name the data name
4959  !! \param[IN] data the exposed data
4960  !! \param[IN] access whether the data can be accessed for read or write by
4961  !! PDI
4962  !! \param[OUT] err for error status (optional)
4963  subroutine PDI_expose_INTEGER8_7D(name, data, access, err)
4964  character(len=*), intent(IN) :: name
4965  INTEGER(KIND=8), target &
4966  , contiguous &
4967  :: data(:,:,:,:,:,:,:)
4968  integer, intent(IN) :: access
4969  integer, intent(OUT), optional :: err
4970  endsubroutine PDI_expose_INTEGER8_7D
4971  !=============================================================================
4972 
4973 
4974  !=============================================================================
4975  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4976  !! \param[IN] name the data name
4977  !! \param[IN] data the exposed data
4978  !! \param[IN] access whether the data can be accessed for read or write by
4979  !! PDI
4980  !! \param[OUT] err for error status (optional)
4981  subroutine PDI_expose_INTEGER16_0D(name, data, access, err)
4982  character(len=*), intent(IN) :: name
4983  INTEGER(KIND=16), target &
4984  :: data
4985  integer, intent(IN) :: access
4986  integer, intent(OUT), optional :: err
4987  endsubroutine PDI_expose_INTEGER16_0D
4988  !=============================================================================
4989 
4990 
4991  !=============================================================================
4992  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4993  !! \param[IN] name the data name
4994  !! \param[IN] data the exposed data
4995  !! \param[IN] access whether the data can be accessed for read or write by
4996  !! PDI
4997  !! \param[OUT] err for error status (optional)
4998  subroutine PDI_expose_INTEGER16_1D(name, data, access, err)
4999  character(len=*), intent(IN) :: name
5000  INTEGER(KIND=16), target &
5001  :: data(:)
5002  integer, intent(IN) :: access
5003  integer, intent(OUT), optional :: err
5004  endsubroutine PDI_expose_INTEGER16_1D
5005  !=============================================================================
5006 
5007 
5008  !=============================================================================
5009  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5010  !! \param[IN] name the data name
5011  !! \param[IN] data the exposed data
5012  !! \param[IN] access whether the data can be accessed for read or write by
5013  !! PDI
5014  !! \param[OUT] err for error status (optional)
5015  subroutine PDI_expose_INTEGER16_2D(name, data, access, err)
5016  character(len=*), intent(IN) :: name
5017  INTEGER(KIND=16), target &
5018  , contiguous &
5019  :: data(:,:)
5020  integer, intent(IN) :: access
5021  integer, intent(OUT), optional :: err
5022  endsubroutine PDI_expose_INTEGER16_2D
5023  !=============================================================================
5024 
5025 
5026  !=============================================================================
5027  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5028  !! \param[IN] name the data name
5029  !! \param[IN] data the exposed data
5030  !! \param[IN] access whether the data can be accessed for read or write by
5031  !! PDI
5032  !! \param[OUT] err for error status (optional)
5033  subroutine PDI_expose_INTEGER16_3D(name, data, access, err)
5034  character(len=*), intent(IN) :: name
5035  INTEGER(KIND=16), target &
5036  , contiguous &
5037  :: data(:,:,:)
5038  integer, intent(IN) :: access
5039  integer, intent(OUT), optional :: err
5040  endsubroutine PDI_expose_INTEGER16_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_INTEGER16_4D(name, data, access, err)
5052  character(len=*), intent(IN) :: name
5053  INTEGER(KIND=16), target &
5054  , contiguous &
5055  :: data(:,:,:,:)
5056  integer, intent(IN) :: access
5057  integer, intent(OUT), optional :: err
5058  endsubroutine PDI_expose_INTEGER16_4D
5059  !=============================================================================
5060 
5061 
5062  !=============================================================================
5063  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5064  !! \param[IN] name the data name
5065  !! \param[IN] data the exposed data
5066  !! \param[IN] access whether the data can be accessed for read or write by
5067  !! PDI
5068  !! \param[OUT] err for error status (optional)
5069  subroutine PDI_expose_INTEGER16_5D(name, data, access, err)
5070  character(len=*), intent(IN) :: name
5071  INTEGER(KIND=16), target &
5072  , contiguous &
5073  :: data(:,:,:,:,:)
5074  integer, intent(IN) :: access
5075  integer, intent(OUT), optional :: err
5076  endsubroutine PDI_expose_INTEGER16_5D
5077  !=============================================================================
5078 
5079 
5080  !=============================================================================
5081  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5082  !! \param[IN] name the data name
5083  !! \param[IN] data the exposed data
5084  !! \param[IN] access whether the data can be accessed for read or write by
5085  !! PDI
5086  !! \param[OUT] err for error status (optional)
5087  subroutine PDI_expose_INTEGER16_6D(name, data, access, err)
5088  character(len=*), intent(IN) :: name
5089  INTEGER(KIND=16), target &
5090  , contiguous &
5091  :: data(:,:,:,:,:,:)
5092  integer, intent(IN) :: access
5093  integer, intent(OUT), optional :: err
5094  endsubroutine PDI_expose_INTEGER16_6D
5095  !=============================================================================
5096 
5097 
5098  !=============================================================================
5099  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5100  !! \param[IN] name the data name
5101  !! \param[IN] data the exposed data
5102  !! \param[IN] access whether the data can be accessed for read or write by
5103  !! PDI
5104  !! \param[OUT] err for error status (optional)
5105  subroutine PDI_expose_INTEGER16_7D(name, data, access, err)
5106  character(len=*), intent(IN) :: name
5107  INTEGER(KIND=16), target &
5108  , contiguous &
5109  :: data(:,:,:,:,:,:,:)
5110  integer, intent(IN) :: access
5111  integer, intent(OUT), optional :: err
5112  endsubroutine PDI_expose_INTEGER16_7D
5113  !=============================================================================
5114 
5115 
5116  !=============================================================================
5117  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5118  !! \param[IN] name the data name
5119  !! \param[IN] data the exposed data
5120  !! \param[IN] access whether the data can be accessed for read or write by
5121  !! PDI
5122  !! \param[OUT] err for error status (optional)
5123  subroutine PDI_expose_LOGICAL1_0D(name, data, access, err)
5124  character(len=*), intent(IN) :: name
5125  LOGICAL(KIND=1), target &
5126  :: data
5127  integer, intent(IN) :: access
5128  integer, intent(OUT), optional :: err
5129  endsubroutine PDI_expose_LOGICAL1_0D
5130  !=============================================================================
5131 
5132 
5133  !=============================================================================
5134  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5135  !! \param[IN] name the data name
5136  !! \param[IN] data the exposed data
5137  !! \param[IN] access whether the data can be accessed for read or write by
5138  !! PDI
5139  !! \param[OUT] err for error status (optional)
5140  subroutine PDI_expose_LOGICAL1_1D(name, data, access, err)
5141  character(len=*), intent(IN) :: name
5142  LOGICAL(KIND=1), target &
5143  :: data(:)
5144  integer, intent(IN) :: access
5145  integer, intent(OUT), optional :: err
5146  endsubroutine PDI_expose_LOGICAL1_1D
5147  !=============================================================================
5148 
5149 
5150  !=============================================================================
5151  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5152  !! \param[IN] name the data name
5153  !! \param[IN] data the exposed data
5154  !! \param[IN] access whether the data can be accessed for read or write by
5155  !! PDI
5156  !! \param[OUT] err for error status (optional)
5157  subroutine PDI_expose_LOGICAL1_2D(name, data, access, err)
5158  character(len=*), intent(IN) :: name
5159  LOGICAL(KIND=1), target &
5160  , contiguous &
5161  :: data(:,:)
5162  integer, intent(IN) :: access
5163  integer, intent(OUT), optional :: err
5164  endsubroutine PDI_expose_LOGICAL1_2D
5165  !=============================================================================
5166 
5167 
5168  !=============================================================================
5169  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5170  !! \param[IN] name the data name
5171  !! \param[IN] data the exposed data
5172  !! \param[IN] access whether the data can be accessed for read or write by
5173  !! PDI
5174  !! \param[OUT] err for error status (optional)
5175  subroutine PDI_expose_LOGICAL1_3D(name, data, access, err)
5176  character(len=*), intent(IN) :: name
5177  LOGICAL(KIND=1), target &
5178  , contiguous &
5179  :: data(:,:,:)
5180  integer, intent(IN) :: access
5181  integer, intent(OUT), optional :: err
5182  endsubroutine PDI_expose_LOGICAL1_3D
5183  !=============================================================================
5184 
5185 
5186  !=============================================================================
5187  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5188  !! \param[IN] name the data name
5189  !! \param[IN] data the exposed data
5190  !! \param[IN] access whether the data can be accessed for read or write by
5191  !! PDI
5192  !! \param[OUT] err for error status (optional)
5193  subroutine PDI_expose_LOGICAL1_4D(name, data, access, err)
5194  character(len=*), intent(IN) :: name
5195  LOGICAL(KIND=1), target &
5196  , contiguous &
5197  :: data(:,:,:,:)
5198  integer, intent(IN) :: access
5199  integer, intent(OUT), optional :: err
5200  endsubroutine PDI_expose_LOGICAL1_4D
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_LOGICAL1_5D(name, data, access, err)
5212  character(len=*), intent(IN) :: name
5213  LOGICAL(KIND=1), target &
5214  , contiguous &
5215  :: data(:,:,:,:,:)
5216  integer, intent(IN) :: access
5217  integer, intent(OUT), optional :: err
5218  endsubroutine PDI_expose_LOGICAL1_5D
5219  !=============================================================================
5220 
5221 
5222  !=============================================================================
5223  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5224  !! \param[IN] name the data name
5225  !! \param[IN] data the exposed data
5226  !! \param[IN] access whether the data can be accessed for read or write by
5227  !! PDI
5228  !! \param[OUT] err for error status (optional)
5229  subroutine PDI_expose_LOGICAL1_6D(name, data, access, err)
5230  character(len=*), intent(IN) :: name
5231  LOGICAL(KIND=1), target &
5232  , contiguous &
5233  :: data(:,:,:,:,:,:)
5234  integer, intent(IN) :: access
5235  integer, intent(OUT), optional :: err
5236  endsubroutine PDI_expose_LOGICAL1_6D
5237  !=============================================================================
5238 
5239 
5240  !=============================================================================
5241  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5242  !! \param[IN] name the data name
5243  !! \param[IN] data the exposed data
5244  !! \param[IN] access whether the data can be accessed for read or write by
5245  !! PDI
5246  !! \param[OUT] err for error status (optional)
5247  subroutine PDI_expose_LOGICAL1_7D(name, data, access, err)
5248  character(len=*), intent(IN) :: name
5249  LOGICAL(KIND=1), target &
5250  , contiguous &
5251  :: data(:,:,:,:,:,:,:)
5252  integer, intent(IN) :: access
5253  integer, intent(OUT), optional :: err
5254  endsubroutine PDI_expose_LOGICAL1_7D
5255  !=============================================================================
5256 
5257 
5258  !=============================================================================
5259  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5260  !! \param[IN] name the data name
5261  !! \param[IN] data the exposed data
5262  !! \param[IN] access whether the data can be accessed for read or write by
5263  !! PDI
5264  !! \param[OUT] err for error status (optional)
5265  subroutine PDI_expose_LOGICAL2_0D(name, data, access, err)
5266  character(len=*), intent(IN) :: name
5267  LOGICAL(KIND=2), target &
5268  :: data
5269  integer, intent(IN) :: access
5270  integer, intent(OUT), optional :: err
5271  endsubroutine PDI_expose_LOGICAL2_0D
5272  !=============================================================================
5273 
5274 
5275  !=============================================================================
5276  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5277  !! \param[IN] name the data name
5278  !! \param[IN] data the exposed data
5279  !! \param[IN] access whether the data can be accessed for read or write by
5280  !! PDI
5281  !! \param[OUT] err for error status (optional)
5282  subroutine PDI_expose_LOGICAL2_1D(name, data, access, err)
5283  character(len=*), intent(IN) :: name
5284  LOGICAL(KIND=2), target &
5285  :: data(:)
5286  integer, intent(IN) :: access
5287  integer, intent(OUT), optional :: err
5288  endsubroutine PDI_expose_LOGICAL2_1D
5289  !=============================================================================
5290 
5291 
5292  !=============================================================================
5293  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5294  !! \param[IN] name the data name
5295  !! \param[IN] data the exposed data
5296  !! \param[IN] access whether the data can be accessed for read or write by
5297  !! PDI
5298  !! \param[OUT] err for error status (optional)
5299  subroutine PDI_expose_LOGICAL2_2D(name, data, access, err)
5300  character(len=*), intent(IN) :: name
5301  LOGICAL(KIND=2), target &
5302  , contiguous &
5303  :: data(:,:)
5304  integer, intent(IN) :: access
5305  integer, intent(OUT), optional :: err
5306  endsubroutine PDI_expose_LOGICAL2_2D
5307  !=============================================================================
5308 
5309 
5310  !=============================================================================
5311  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5312  !! \param[IN] name the data name
5313  !! \param[IN] data the exposed data
5314  !! \param[IN] access whether the data can be accessed for read or write by
5315  !! PDI
5316  !! \param[OUT] err for error status (optional)
5317  subroutine PDI_expose_LOGICAL2_3D(name, data, access, err)
5318  character(len=*), intent(IN) :: name
5319  LOGICAL(KIND=2), target &
5320  , contiguous &
5321  :: data(:,:,:)
5322  integer, intent(IN) :: access
5323  integer, intent(OUT), optional :: err
5324  endsubroutine PDI_expose_LOGICAL2_3D
5325  !=============================================================================
5326 
5327 
5328  !=============================================================================
5329  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5330  !! \param[IN] name the data name
5331  !! \param[IN] data the exposed data
5332  !! \param[IN] access whether the data can be accessed for read or write by
5333  !! PDI
5334  !! \param[OUT] err for error status (optional)
5335  subroutine PDI_expose_LOGICAL2_4D(name, data, access, err)
5336  character(len=*), intent(IN) :: name
5337  LOGICAL(KIND=2), target &
5338  , contiguous &
5339  :: data(:,:,:,:)
5340  integer, intent(IN) :: access
5341  integer, intent(OUT), optional :: err
5342  endsubroutine PDI_expose_LOGICAL2_4D
5343  !=============================================================================
5344 
5345 
5346  !=============================================================================
5347  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5348  !! \param[IN] name the data name
5349  !! \param[IN] data the exposed data
5350  !! \param[IN] access whether the data can be accessed for read or write by
5351  !! PDI
5352  !! \param[OUT] err for error status (optional)
5353  subroutine PDI_expose_LOGICAL2_5D(name, data, access, err)
5354  character(len=*), intent(IN) :: name
5355  LOGICAL(KIND=2), target &
5356  , contiguous &
5357  :: data(:,:,:,:,:)
5358  integer, intent(IN) :: access
5359  integer, intent(OUT), optional :: err
5360  endsubroutine PDI_expose_LOGICAL2_5D
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_LOGICAL2_6D(name, data, access, err)
5372  character(len=*), intent(IN) :: name
5373  LOGICAL(KIND=2), target &
5374  , contiguous &
5375  :: data(:,:,:,:,:,:)
5376  integer, intent(IN) :: access
5377  integer, intent(OUT), optional :: err
5378  endsubroutine PDI_expose_LOGICAL2_6D
5379  !=============================================================================
5380 
5381 
5382  !=============================================================================
5383  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5384  !! \param[IN] name the data name
5385  !! \param[IN] data the exposed data
5386  !! \param[IN] access whether the data can be accessed for read or write by
5387  !! PDI
5388  !! \param[OUT] err for error status (optional)
5389  subroutine PDI_expose_LOGICAL2_7D(name, data, access, err)
5390  character(len=*), intent(IN) :: name
5391  LOGICAL(KIND=2), target &
5392  , contiguous &
5393  :: data(:,:,:,:,:,:,:)
5394  integer, intent(IN) :: access
5395  integer, intent(OUT), optional :: err
5396  endsubroutine PDI_expose_LOGICAL2_7D
5397  !=============================================================================
5398 
5399 
5400  !=============================================================================
5401  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5402  !! \param[IN] name the data name
5403  !! \param[IN] data the exposed data
5404  !! \param[IN] access whether the data can be accessed for read or write by
5405  !! PDI
5406  !! \param[OUT] err for error status (optional)
5407  subroutine PDI_expose_LOGICAL4_0D(name, data, access, err)
5408  character(len=*), intent(IN) :: name
5409  LOGICAL(KIND=4), target &
5410  :: data
5411  integer, intent(IN) :: access
5412  integer, intent(OUT), optional :: err
5413  endsubroutine PDI_expose_LOGICAL4_0D
5414  !=============================================================================
5415 
5416 
5417  !=============================================================================
5418  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5419  !! \param[IN] name the data name
5420  !! \param[IN] data the exposed data
5421  !! \param[IN] access whether the data can be accessed for read or write by
5422  !! PDI
5423  !! \param[OUT] err for error status (optional)
5424  subroutine PDI_expose_LOGICAL4_1D(name, data, access, err)
5425  character(len=*), intent(IN) :: name
5426  LOGICAL(KIND=4), target &
5427  :: data(:)
5428  integer, intent(IN) :: access
5429  integer, intent(OUT), optional :: err
5430  endsubroutine PDI_expose_LOGICAL4_1D
5431  !=============================================================================
5432 
5433 
5434  !=============================================================================
5435  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5436  !! \param[IN] name the data name
5437  !! \param[IN] data the exposed data
5438  !! \param[IN] access whether the data can be accessed for read or write by
5439  !! PDI
5440  !! \param[OUT] err for error status (optional)
5441  subroutine PDI_expose_LOGICAL4_2D(name, data, access, err)
5442  character(len=*), intent(IN) :: name
5443  LOGICAL(KIND=4), target &
5444  , contiguous &
5445  :: data(:,:)
5446  integer, intent(IN) :: access
5447  integer, intent(OUT), optional :: err
5448  endsubroutine PDI_expose_LOGICAL4_2D
5449  !=============================================================================
5450 
5451 
5452  !=============================================================================
5453  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5454  !! \param[IN] name the data name
5455  !! \param[IN] data the exposed data
5456  !! \param[IN] access whether the data can be accessed for read or write by
5457  !! PDI
5458  !! \param[OUT] err for error status (optional)
5459  subroutine PDI_expose_LOGICAL4_3D(name, data, access, err)
5460  character(len=*), intent(IN) :: name
5461  LOGICAL(KIND=4), target &
5462  , contiguous &
5463  :: data(:,:,:)
5464  integer, intent(IN) :: access
5465  integer, intent(OUT), optional :: err
5466  endsubroutine PDI_expose_LOGICAL4_3D
5467  !=============================================================================
5468 
5469 
5470  !=============================================================================
5471  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5472  !! \param[IN] name the data name
5473  !! \param[IN] data the exposed data
5474  !! \param[IN] access whether the data can be accessed for read or write by
5475  !! PDI
5476  !! \param[OUT] err for error status (optional)
5477  subroutine PDI_expose_LOGICAL4_4D(name, data, access, err)
5478  character(len=*), intent(IN) :: name
5479  LOGICAL(KIND=4), target &
5480  , contiguous &
5481  :: data(:,:,:,:)
5482  integer, intent(IN) :: access
5483  integer, intent(OUT), optional :: err
5484  endsubroutine PDI_expose_LOGICAL4_4D
5485  !=============================================================================
5486 
5487 
5488  !=============================================================================
5489  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5490  !! \param[IN] name the data name
5491  !! \param[IN] data the exposed data
5492  !! \param[IN] access whether the data can be accessed for read or write by
5493  !! PDI
5494  !! \param[OUT] err for error status (optional)
5495  subroutine PDI_expose_LOGICAL4_5D(name, data, access, err)
5496  character(len=*), intent(IN) :: name
5497  LOGICAL(KIND=4), target &
5498  , contiguous &
5499  :: data(:,:,:,:,:)
5500  integer, intent(IN) :: access
5501  integer, intent(OUT), optional :: err
5502  endsubroutine PDI_expose_LOGICAL4_5D
5503  !=============================================================================
5504 
5505 
5506  !=============================================================================
5507  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5508  !! \param[IN] name the data name
5509  !! \param[IN] data the exposed data
5510  !! \param[IN] access whether the data can be accessed for read or write by
5511  !! PDI
5512  !! \param[OUT] err for error status (optional)
5513  subroutine PDI_expose_LOGICAL4_6D(name, data, access, err)
5514  character(len=*), intent(IN) :: name
5515  LOGICAL(KIND=4), target &
5516  , contiguous &
5517  :: data(:,:,:,:,:,:)
5518  integer, intent(IN) :: access
5519  integer, intent(OUT), optional :: err
5520  endsubroutine PDI_expose_LOGICAL4_6D
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_LOGICAL4_7D(name, data, access, err)
5532  character(len=*), intent(IN) :: name
5533  LOGICAL(KIND=4), target &
5534  , contiguous &
5535  :: data(:,:,:,:,:,:,:)
5536  integer, intent(IN) :: access
5537  integer, intent(OUT), optional :: err
5538  endsubroutine PDI_expose_LOGICAL4_7D
5539  !=============================================================================
5540 
5541 
5542  !=============================================================================
5543  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5544  !! \param[IN] name the data name
5545  !! \param[IN] data the exposed data
5546  !! \param[IN] access whether the data can be accessed for read or write by
5547  !! PDI
5548  !! \param[OUT] err for error status (optional)
5549  subroutine PDI_expose_LOGICAL8_0D(name, data, access, err)
5550  character(len=*), intent(IN) :: name
5551  LOGICAL(KIND=8), target &
5552  :: data
5553  integer, intent(IN) :: access
5554  integer, intent(OUT), optional :: err
5555  endsubroutine PDI_expose_LOGICAL8_0D
5556  !=============================================================================
5557 
5558 
5559  !=============================================================================
5560  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5561  !! \param[IN] name the data name
5562  !! \param[IN] data the exposed data
5563  !! \param[IN] access whether the data can be accessed for read or write by
5564  !! PDI
5565  !! \param[OUT] err for error status (optional)
5566  subroutine PDI_expose_LOGICAL8_1D(name, data, access, err)
5567  character(len=*), intent(IN) :: name
5568  LOGICAL(KIND=8), target &
5569  :: data(:)
5570  integer, intent(IN) :: access
5571  integer, intent(OUT), optional :: err
5572  endsubroutine PDI_expose_LOGICAL8_1D
5573  !=============================================================================
5574 
5575 
5576  !=============================================================================
5577  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5578  !! \param[IN] name the data name
5579  !! \param[IN] data the exposed data
5580  !! \param[IN] access whether the data can be accessed for read or write by
5581  !! PDI
5582  !! \param[OUT] err for error status (optional)
5583  subroutine PDI_expose_LOGICAL8_2D(name, data, access, err)
5584  character(len=*), intent(IN) :: name
5585  LOGICAL(KIND=8), target &
5586  , contiguous &
5587  :: data(:,:)
5588  integer, intent(IN) :: access
5589  integer, intent(OUT), optional :: err
5590  endsubroutine PDI_expose_LOGICAL8_2D
5591  !=============================================================================
5592 
5593 
5594  !=============================================================================
5595  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5596  !! \param[IN] name the data name
5597  !! \param[IN] data the exposed data
5598  !! \param[IN] access whether the data can be accessed for read or write by
5599  !! PDI
5600  !! \param[OUT] err for error status (optional)
5601  subroutine PDI_expose_LOGICAL8_3D(name, data, access, err)
5602  character(len=*), intent(IN) :: name
5603  LOGICAL(KIND=8), target &
5604  , contiguous &
5605  :: data(:,:,:)
5606  integer, intent(IN) :: access
5607  integer, intent(OUT), optional :: err
5608  endsubroutine PDI_expose_LOGICAL8_3D
5609  !=============================================================================
5610 
5611 
5612  !=============================================================================
5613  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5614  !! \param[IN] name the data name
5615  !! \param[IN] data the exposed data
5616  !! \param[IN] access whether the data can be accessed for read or write by
5617  !! PDI
5618  !! \param[OUT] err for error status (optional)
5619  subroutine PDI_expose_LOGICAL8_4D(name, data, access, err)
5620  character(len=*), intent(IN) :: name
5621  LOGICAL(KIND=8), target &
5622  , contiguous &
5623  :: data(:,:,:,:)
5624  integer, intent(IN) :: access
5625  integer, intent(OUT), optional :: err
5626  endsubroutine PDI_expose_LOGICAL8_4D
5627  !=============================================================================
5628 
5629 
5630  !=============================================================================
5631  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5632  !! \param[IN] name the data name
5633  !! \param[IN] data the exposed data
5634  !! \param[IN] access whether the data can be accessed for read or write by
5635  !! PDI
5636  !! \param[OUT] err for error status (optional)
5637  subroutine PDI_expose_LOGICAL8_5D(name, data, access, err)
5638  character(len=*), intent(IN) :: name
5639  LOGICAL(KIND=8), target &
5640  , contiguous &
5641  :: data(:,:,:,:,:)
5642  integer, intent(IN) :: access
5643  integer, intent(OUT), optional :: err
5644  endsubroutine PDI_expose_LOGICAL8_5D
5645  !=============================================================================
5646 
5647 
5648  !=============================================================================
5649  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5650  !! \param[IN] name the data name
5651  !! \param[IN] data the exposed data
5652  !! \param[IN] access whether the data can be accessed for read or write by
5653  !! PDI
5654  !! \param[OUT] err for error status (optional)
5655  subroutine PDI_expose_LOGICAL8_6D(name, data, access, err)
5656  character(len=*), intent(IN) :: name
5657  LOGICAL(KIND=8), target &
5658  , contiguous &
5659  :: data(:,:,:,:,:,:)
5660  integer, intent(IN) :: access
5661  integer, intent(OUT), optional :: err
5662  endsubroutine PDI_expose_LOGICAL8_6D
5663  !=============================================================================
5664 
5665 
5666  !=============================================================================
5667  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5668  !! \param[IN] name the data name
5669  !! \param[IN] data the exposed data
5670  !! \param[IN] access whether the data can be accessed for read or write by
5671  !! PDI
5672  !! \param[OUT] err for error status (optional)
5673  subroutine PDI_expose_LOGICAL8_7D(name, data, access, err)
5674  character(len=*), intent(IN) :: name
5675  LOGICAL(KIND=8), target &
5676  , contiguous &
5677  :: data(:,:,:,:,:,:,:)
5678  integer, intent(IN) :: access
5679  integer, intent(OUT), optional :: err
5680  endsubroutine PDI_expose_LOGICAL8_7D
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_LOGICAL16_0D(name, data, access, err)
5692  character(len=*), intent(IN) :: name
5693  LOGICAL(KIND=16), target &
5694  :: data
5695  integer, intent(IN) :: access
5696  integer, intent(OUT), optional :: err
5697  endsubroutine PDI_expose_LOGICAL16_0D
5698  !=============================================================================
5699 
5700 
5701  !=============================================================================
5702  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5703  !! \param[IN] name the data name
5704  !! \param[IN] data the exposed data
5705  !! \param[IN] access whether the data can be accessed for read or write by
5706  !! PDI
5707  !! \param[OUT] err for error status (optional)
5708  subroutine PDI_expose_LOGICAL16_1D(name, data, access, err)
5709  character(len=*), intent(IN) :: name
5710  LOGICAL(KIND=16), target &
5711  :: data(:)
5712  integer, intent(IN) :: access
5713  integer, intent(OUT), optional :: err
5714  endsubroutine PDI_expose_LOGICAL16_1D
5715  !=============================================================================
5716 
5717 
5718  !=============================================================================
5719  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5720  !! \param[IN] name the data name
5721  !! \param[IN] data the exposed data
5722  !! \param[IN] access whether the data can be accessed for read or write by
5723  !! PDI
5724  !! \param[OUT] err for error status (optional)
5725  subroutine PDI_expose_LOGICAL16_2D(name, data, access, err)
5726  character(len=*), intent(IN) :: name
5727  LOGICAL(KIND=16), target &
5728  , contiguous &
5729  :: data(:,:)
5730  integer, intent(IN) :: access
5731  integer, intent(OUT), optional :: err
5732  endsubroutine PDI_expose_LOGICAL16_2D
5733  !=============================================================================
5734 
5735 
5736  !=============================================================================
5737  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5738  !! \param[IN] name the data name
5739  !! \param[IN] data the exposed data
5740  !! \param[IN] access whether the data can be accessed for read or write by
5741  !! PDI
5742  !! \param[OUT] err for error status (optional)
5743  subroutine PDI_expose_LOGICAL16_3D(name, data, access, err)
5744  character(len=*), intent(IN) :: name
5745  LOGICAL(KIND=16), target &
5746  , contiguous &
5747  :: data(:,:,:)
5748  integer, intent(IN) :: access
5749  integer, intent(OUT), optional :: err
5750  endsubroutine PDI_expose_LOGICAL16_3D
5751  !=============================================================================
5752 
5753 
5754  !=============================================================================
5755  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5756  !! \param[IN] name the data name
5757  !! \param[IN] data the exposed data
5758  !! \param[IN] access whether the data can be accessed for read or write by
5759  !! PDI
5760  !! \param[OUT] err for error status (optional)
5761  subroutine PDI_expose_LOGICAL16_4D(name, data, access, err)
5762  character(len=*), intent(IN) :: name
5763  LOGICAL(KIND=16), target &
5764  , contiguous &
5765  :: data(:,:,:,:)
5766  integer, intent(IN) :: access
5767  integer, intent(OUT), optional :: err
5768  endsubroutine PDI_expose_LOGICAL16_4D
5769  !=============================================================================
5770 
5771 
5772  !=============================================================================
5773  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5774  !! \param[IN] name the data name
5775  !! \param[IN] data the exposed data
5776  !! \param[IN] access whether the data can be accessed for read or write by
5777  !! PDI
5778  !! \param[OUT] err for error status (optional)
5779  subroutine PDI_expose_LOGICAL16_5D(name, data, access, err)
5780  character(len=*), intent(IN) :: name
5781  LOGICAL(KIND=16), target &
5782  , contiguous &
5783  :: data(:,:,:,:,:)
5784  integer, intent(IN) :: access
5785  integer, intent(OUT), optional :: err
5786  endsubroutine PDI_expose_LOGICAL16_5D
5787  !=============================================================================
5788 
5789 
5790  !=============================================================================
5791  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5792  !! \param[IN] name the data name
5793  !! \param[IN] data the exposed data
5794  !! \param[IN] access whether the data can be accessed for read or write by
5795  !! PDI
5796  !! \param[OUT] err for error status (optional)
5797  subroutine PDI_expose_LOGICAL16_6D(name, data, access, err)
5798  character(len=*), intent(IN) :: name
5799  LOGICAL(KIND=16), target &
5800  , contiguous &
5801  :: data(:,:,:,:,:,:)
5802  integer, intent(IN) :: access
5803  integer, intent(OUT), optional :: err
5804  endsubroutine PDI_expose_LOGICAL16_6D
5805  !=============================================================================
5806 
5807 
5808  !=============================================================================
5809  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5810  !! \param[IN] name the data name
5811  !! \param[IN] data the exposed data
5812  !! \param[IN] access whether the data can be accessed for read or write by
5813  !! PDI
5814  !! \param[OUT] err for error status (optional)
5815  subroutine PDI_expose_LOGICAL16_7D(name, data, access, err)
5816  character(len=*), intent(IN) :: name
5817  LOGICAL(KIND=16), target &
5818  , contiguous &
5819  :: data(:,:,:,:,:,:,:)
5820  integer, intent(IN) :: access
5821  integer, intent(OUT), optional :: err
5822  endsubroutine PDI_expose_LOGICAL16_7D
5823  !=============================================================================
5824 
5825 
5826  !=============================================================================
5827  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5828  !! \param[IN] name the data name
5829  !! \param[IN] data the exposed data
5830  !! \param[IN] access whether the data can be accessed for read or write by
5831  !! PDI
5832  !! \param[OUT] err for error status (optional)
5833  subroutine PDI_expose_REAL4_0D(name, data, access, err)
5834  character(len=*), intent(IN) :: name
5835  REAL(KIND=4), target &
5836  :: data
5837  integer, intent(IN) :: access
5838  integer, intent(OUT), optional :: err
5839  endsubroutine PDI_expose_REAL4_0D
5840  !=============================================================================
5841 
5842 
5843  !=============================================================================
5844  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5845  !! \param[IN] name the data name
5846  !! \param[IN] data the exposed data
5847  !! \param[IN] access whether the data can be accessed for read or write by
5848  !! PDI
5849  !! \param[OUT] err for error status (optional)
5850  subroutine PDI_expose_REAL4_1D(name, data, access, err)
5851  character(len=*), intent(IN) :: name
5852  REAL(KIND=4), target &
5853  :: data(:)
5854  integer, intent(IN) :: access
5855  integer, intent(OUT), optional :: err
5856  endsubroutine PDI_expose_REAL4_1D
5857  !=============================================================================
5858 
5859 
5860  !=============================================================================
5861  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5862  !! \param[IN] name the data name
5863  !! \param[IN] data the exposed data
5864  !! \param[IN] access whether the data can be accessed for read or write by
5865  !! PDI
5866  !! \param[OUT] err for error status (optional)
5867  subroutine PDI_expose_REAL4_2D(name, data, access, err)
5868  character(len=*), intent(IN) :: name
5869  REAL(KIND=4), target &
5870  , contiguous &
5871  :: data(:,:)
5872  integer, intent(IN) :: access
5873  integer, intent(OUT), optional :: err
5874  endsubroutine PDI_expose_REAL4_2D
5875  !=============================================================================
5876 
5877 
5878  !=============================================================================
5879  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5880  !! \param[IN] name the data name
5881  !! \param[IN] data the exposed data
5882  !! \param[IN] access whether the data can be accessed for read or write by
5883  !! PDI
5884  !! \param[OUT] err for error status (optional)
5885  subroutine PDI_expose_REAL4_3D(name, data, access, err)
5886  character(len=*), intent(IN) :: name
5887  REAL(KIND=4), target &
5888  , contiguous &
5889  :: data(:,:,:)
5890  integer, intent(IN) :: access
5891  integer, intent(OUT), optional :: err
5892  endsubroutine PDI_expose_REAL4_3D
5893  !=============================================================================
5894 
5895 
5896  !=============================================================================
5897  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5898  !! \param[IN] name the data name
5899  !! \param[IN] data the exposed 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_expose_REAL4_4D(name, data, access, err)
5904  character(len=*), intent(IN) :: name
5905  REAL(KIND=4), target &
5906  , contiguous &
5907  :: data(:,:,:,:)
5908  integer, intent(IN) :: access
5909  integer, intent(OUT), optional :: err
5910  endsubroutine PDI_expose_REAL4_4D
5911  !=============================================================================
5912 
5913 
5914  !=============================================================================
5915  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5916  !! \param[IN] name the data name
5917  !! \param[IN] data the exposed data
5918  !! \param[IN] access whether the data can be accessed for read or write by
5919  !! PDI
5920  !! \param[OUT] err for error status (optional)
5921  subroutine PDI_expose_REAL4_5D(name, data, access, err)
5922  character(len=*), intent(IN) :: name
5923  REAL(KIND=4), target &
5924  , contiguous &
5925  :: data(:,:,:,:,:)
5926  integer, intent(IN) :: access
5927  integer, intent(OUT), optional :: err
5928  endsubroutine PDI_expose_REAL4_5D
5929  !=============================================================================
5930 
5931 
5932  !=============================================================================
5933  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5934  !! \param[IN] name the data name
5935  !! \param[IN] data the exposed data
5936  !! \param[IN] access whether the data can be accessed for read or write by
5937  !! PDI
5938  !! \param[OUT] err for error status (optional)
5939  subroutine PDI_expose_REAL4_6D(name, data, access, err)
5940  character(len=*), intent(IN) :: name
5941  REAL(KIND=4), target &
5942  , contiguous &
5943  :: data(:,:,:,:,:,:)
5944  integer, intent(IN) :: access
5945  integer, intent(OUT), optional :: err
5946  endsubroutine PDI_expose_REAL4_6D
5947  !=============================================================================
5948 
5949 
5950  !=============================================================================
5951  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5952  !! \param[IN] name the data name
5953  !! \param[IN] data the exposed data
5954  !! \param[IN] access whether the data can be accessed for read or write by
5955  !! PDI
5956  !! \param[OUT] err for error status (optional)
5957  subroutine PDI_expose_REAL4_7D(name, data, access, err)
5958  character(len=*), intent(IN) :: name
5959  REAL(KIND=4), target &
5960  , contiguous &
5961  :: data(:,:,:,:,:,:,:)
5962  integer, intent(IN) :: access
5963  integer, intent(OUT), optional :: err
5964  endsubroutine PDI_expose_REAL4_7D
5965  !=============================================================================
5966 
5967 
5968  !=============================================================================
5969  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5970  !! \param[IN] name the data name
5971  !! \param[IN] data the exposed data
5972  !! \param[IN] access whether the data can be accessed for read or write by
5973  !! PDI
5974  !! \param[OUT] err for error status (optional)
5975  subroutine PDI_expose_REAL8_0D(name, data, access, err)
5976  character(len=*), intent(IN) :: name
5977  REAL(KIND=8), target &
5978  :: data
5979  integer, intent(IN) :: access
5980  integer, intent(OUT), optional :: err
5981  endsubroutine PDI_expose_REAL8_0D
5982  !=============================================================================
5983 
5984 
5985  !=============================================================================
5986  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5987  !! \param[IN] name the data name
5988  !! \param[IN] data the exposed data
5989  !! \param[IN] access whether the data can be accessed for read or write by
5990  !! PDI
5991  !! \param[OUT] err for error status (optional)
5992  subroutine PDI_expose_REAL8_1D(name, data, access, err)
5993  character(len=*), intent(IN) :: name
5994  REAL(KIND=8), target &
5995  :: data(:)
5996  integer, intent(IN) :: access
5997  integer, intent(OUT), optional :: err
5998  endsubroutine PDI_expose_REAL8_1D
5999  !=============================================================================
6000 
6001 
6002  !=============================================================================
6003  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6004  !! \param[IN] name the data name
6005  !! \param[IN] data the exposed data
6006  !! \param[IN] access whether the data can be accessed for read or write by
6007  !! PDI
6008  !! \param[OUT] err for error status (optional)
6009  subroutine PDI_expose_REAL8_2D(name, data, access, err)
6010  character(len=*), intent(IN) :: name
6011  REAL(KIND=8), target &
6012  , contiguous &
6013  :: data(:,:)
6014  integer, intent(IN) :: access
6015  integer, intent(OUT), optional :: err
6016  endsubroutine PDI_expose_REAL8_2D
6017  !=============================================================================
6018 
6019 
6020  !=============================================================================
6021  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6022  !! \param[IN] name the data name
6023  !! \param[IN] data the exposed data
6024  !! \param[IN] access whether the data can be accessed for read or write by
6025  !! PDI
6026  !! \param[OUT] err for error status (optional)
6027  subroutine PDI_expose_REAL8_3D(name, data, access, err)
6028  character(len=*), intent(IN) :: name
6029  REAL(KIND=8), target &
6030  , contiguous &
6031  :: data(:,:,:)
6032  integer, intent(IN) :: access
6033  integer, intent(OUT), optional :: err
6034  endsubroutine PDI_expose_REAL8_3D
6035  !=============================================================================
6036 
6037 
6038  !=============================================================================
6039  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6040  !! \param[IN] name the data name
6041  !! \param[IN] data the exposed data
6042  !! \param[IN] access whether the data can be accessed for read or write by
6043  !! PDI
6044  !! \param[OUT] err for error status (optional)
6045  subroutine PDI_expose_REAL8_4D(name, data, access, err)
6046  character(len=*), intent(IN) :: name
6047  REAL(KIND=8), target &
6048  , contiguous &
6049  :: data(:,:,:,:)
6050  integer, intent(IN) :: access
6051  integer, intent(OUT), optional :: err
6052  endsubroutine PDI_expose_REAL8_4D
6053  !=============================================================================
6054 
6055 
6056  !=============================================================================
6057  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6058  !! \param[IN] name the data name
6059  !! \param[IN] data the exposed data
6060  !! \param[IN] access whether the data can be accessed for read or write by
6061  !! PDI
6062  !! \param[OUT] err for error status (optional)
6063  subroutine PDI_expose_REAL8_5D(name, data, access, err)
6064  character(len=*), intent(IN) :: name
6065  REAL(KIND=8), target &
6066  , contiguous &
6067  :: data(:,:,:,:,:)
6068  integer, intent(IN) :: access
6069  integer, intent(OUT), optional :: err
6070  endsubroutine PDI_expose_REAL8_5D
6071  !=============================================================================
6072 
6073 
6074  !=============================================================================
6075  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6076  !! \param[IN] name the data name
6077  !! \param[IN] data the exposed data
6078  !! \param[IN] access whether the data can be accessed for read or write by
6079  !! PDI
6080  !! \param[OUT] err for error status (optional)
6081  subroutine PDI_expose_REAL8_6D(name, data, access, err)
6082  character(len=*), intent(IN) :: name
6083  REAL(KIND=8), target &
6084  , contiguous &
6085  :: data(:,:,:,:,:,:)
6086  integer, intent(IN) :: access
6087  integer, intent(OUT), optional :: err
6088  endsubroutine PDI_expose_REAL8_6D
6089  !=============================================================================
6090 
6091 
6092  !=============================================================================
6093  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6094  !! \param[IN] name the data name
6095  !! \param[IN] data the exposed data
6096  !! \param[IN] access whether the data can be accessed for read or write by
6097  !! PDI
6098  !! \param[OUT] err for error status (optional)
6099  subroutine PDI_expose_REAL8_7D(name, data, access, err)
6100  character(len=*), intent(IN) :: name
6101  REAL(KIND=8), target &
6102  , contiguous &
6103  :: data(:,:,:,:,:,:,:)
6104  integer, intent(IN) :: access
6105  integer, intent(OUT), optional :: err
6106  endsubroutine PDI_expose_REAL8_7D
6107  !=============================================================================
6108 
6109 
6110  !=============================================================================
6111  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6112  !! \param[IN] name the data name
6113  !! \param[IN] data the exposed data
6114  !! \param[IN] access whether the data can be accessed for read or write by
6115  !! PDI
6116  !! \param[OUT] err for error status (optional)
6117  subroutine PDI_expose_REAL16_0D(name, data, access, err)
6118  character(len=*), intent(IN) :: name
6119  REAL(KIND=16), target &
6120  :: data
6121  integer, intent(IN) :: access
6122  integer, intent(OUT), optional :: err
6123  endsubroutine PDI_expose_REAL16_0D
6124  !=============================================================================
6125 
6126 
6127  !=============================================================================
6128  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6129  !! \param[IN] name the data name
6130  !! \param[IN] data the exposed data
6131  !! \param[IN] access whether the data can be accessed for read or write by
6132  !! PDI
6133  !! \param[OUT] err for error status (optional)
6134  subroutine PDI_expose_REAL16_1D(name, data, access, err)
6135  character(len=*), intent(IN) :: name
6136  REAL(KIND=16), target &
6137  :: data(:)
6138  integer, intent(IN) :: access
6139  integer, intent(OUT), optional :: err
6140  endsubroutine PDI_expose_REAL16_1D
6141  !=============================================================================
6142 
6143 
6144  !=============================================================================
6145  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6146  !! \param[IN] name the data name
6147  !! \param[IN] data the exposed data
6148  !! \param[IN] access whether the data can be accessed for read or write by
6149  !! PDI
6150  !! \param[OUT] err for error status (optional)
6151  subroutine PDI_expose_REAL16_2D(name, data, access, err)
6152  character(len=*), intent(IN) :: name
6153  REAL(KIND=16), target &
6154  , contiguous &
6155  :: data(:,:)
6156  integer, intent(IN) :: access
6157  integer, intent(OUT), optional :: err
6158  endsubroutine PDI_expose_REAL16_2D
6159  !=============================================================================
6160 
6161 
6162  !=============================================================================
6163  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6164  !! \param[IN] name the data name
6165  !! \param[IN] data the exposed data
6166  !! \param[IN] access whether the data can be accessed for read or write by
6167  !! PDI
6168  !! \param[OUT] err for error status (optional)
6169  subroutine PDI_expose_REAL16_3D(name, data, access, err)
6170  character(len=*), intent(IN) :: name
6171  REAL(KIND=16), target &
6172  , contiguous &
6173  :: data(:,:,:)
6174  integer, intent(IN) :: access
6175  integer, intent(OUT), optional :: err
6176  endsubroutine PDI_expose_REAL16_3D
6177  !=============================================================================
6178 
6179 
6180  !=============================================================================
6181  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6182  !! \param[IN] name the data name
6183  !! \param[IN] data the exposed data
6184  !! \param[IN] access whether the data can be accessed for read or write by
6185  !! PDI
6186  !! \param[OUT] err for error status (optional)
6187  subroutine PDI_expose_REAL16_4D(name, data, access, err)
6188  character(len=*), intent(IN) :: name
6189  REAL(KIND=16), target &
6190  , contiguous &
6191  :: data(:,:,:,:)
6192  integer, intent(IN) :: access
6193  integer, intent(OUT), optional :: err
6194  endsubroutine PDI_expose_REAL16_4D
6195  !=============================================================================
6196 
6197 
6198  !=============================================================================
6199  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6200  !! \param[IN] name the data name
6201  !! \param[IN] data the exposed data
6202  !! \param[IN] access whether the data can be accessed for read or write by
6203  !! PDI
6204  !! \param[OUT] err for error status (optional)
6205  subroutine PDI_expose_REAL16_5D(name, data, access, err)
6206  character(len=*), intent(IN) :: name
6207  REAL(KIND=16), target &
6208  , contiguous &
6209  :: data(:,:,:,:,:)
6210  integer, intent(IN) :: access
6211  integer, intent(OUT), optional :: err
6212  endsubroutine PDI_expose_REAL16_5D
6213  !=============================================================================
6214 
6215 
6216  !=============================================================================
6217  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6218  !! \param[IN] name the data name
6219  !! \param[IN] data the exposed data
6220  !! \param[IN] access whether the data can be accessed for read or write by
6221  !! PDI
6222  !! \param[OUT] err for error status (optional)
6223  subroutine PDI_expose_REAL16_6D(name, data, access, err)
6224  character(len=*), intent(IN) :: name
6225  REAL(KIND=16), target &
6226  , contiguous &
6227  :: data(:,:,:,:,:,:)
6228  integer, intent(IN) :: access
6229  integer, intent(OUT), optional :: err
6230  endsubroutine PDI_expose_REAL16_6D
6231  !=============================================================================
6232 
6233 
6234  !=============================================================================
6235  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6236  !! \param[IN] name the data name
6237  !! \param[IN] data the exposed data
6238  !! \param[IN] access whether the data can be accessed for read or write by
6239  !! PDI
6240  !! \param[OUT] err for error status (optional)
6241  subroutine PDI_expose_REAL16_7D(name, data, access, err)
6242  character(len=*), intent(IN) :: name
6243  REAL(KIND=16), target &
6244  , contiguous &
6245  :: data(:,:,:,:,:,:,:)
6246  integer, intent(IN) :: access
6247  integer, intent(OUT), optional :: err
6248  endsubroutine PDI_expose_REAL16_7D
6249  !=============================================================================
6250 
6251 endinterface PDI_expose
6252 
6253 
6254 interface PDI_access
6255 
6256  !=============================================================================
6257  !< requests for PDI to access a data buffer.
6258  !! \param[IN] name the data name
6259  !! \param[OUT] ptr_data pointer associated with the accessd data
6260  !! \param[IN] access whether the data can be accessed for read or write by
6261  !! PDI
6262  !! \param[OUT] err for error status (optional)
6263  subroutine PDI_access_CHARACTER1_0D(name, ptr_data, access, &
6264  err)
6265  character(len=*), intent(IN) :: name
6266  CHARACTER(KIND=1), pointer &
6267  :: ptr_data
6268  integer, intent(IN) :: access
6269  integer, intent(OUT), optional :: err
6270  endsubroutine PDI_access_CHARACTER1_0D
6271  !=============================================================================
6272 
6273 
6274  !=============================================================================
6275  !< requests for PDI to access a data buffer.
6276  !! \param[IN] name the data name
6277  !! \param[OUT] ptr_data pointer associated with the accessd data
6278  !! \param[IN] access whether the data can be accessed for read or write by
6279  !! PDI
6280  !! \param[OUT] err for error status (optional)
6281  subroutine PDI_access_CHARACTER1_1D(name, ptr_data, access, &
6282  ptr_data_shape, &
6283  err)
6284  character(len=*), intent(IN) :: name
6285  CHARACTER(KIND=1), pointer &
6286  :: ptr_data(:)
6287  integer, intent(IN) :: access
6288  integer, intent(IN) :: ptr_data_shape(1)
6289  integer, intent(OUT), optional :: err
6290  endsubroutine PDI_access_CHARACTER1_1D
6291  !=============================================================================
6292 
6293 
6294  !=============================================================================
6295  !< requests for PDI to access a data buffer.
6296  !! \param[IN] name the data name
6297  !! \param[OUT] ptr_data pointer associated with the accessd data
6298  !! \param[IN] access whether the data can be accessed for read or write by
6299  !! PDI
6300  !! \param[OUT] err for error status (optional)
6301  subroutine PDI_access_CHARACTER1_2D(name, ptr_data, access, &
6302  ptr_data_shape, &
6303  err)
6304  character(len=*), intent(IN) :: name
6305  CHARACTER(KIND=1), pointer &
6306  , contiguous &
6307  :: ptr_data(:,:)
6308  integer, intent(IN) :: access
6309  integer, intent(IN) :: ptr_data_shape(2)
6310  integer, intent(OUT), optional :: err
6311  endsubroutine PDI_access_CHARACTER1_2D
6312  !=============================================================================
6313 
6314 
6315  !=============================================================================
6316  !< requests for PDI to access a data buffer.
6317  !! \param[IN] name the data name
6318  !! \param[OUT] ptr_data pointer associated with the accessd data
6319  !! \param[IN] access whether the data can be accessed for read or write by
6320  !! PDI
6321  !! \param[OUT] err for error status (optional)
6322  subroutine PDI_access_CHARACTER1_3D(name, ptr_data, access, &
6323  ptr_data_shape, &
6324  err)
6325  character(len=*), intent(IN) :: name
6326  CHARACTER(KIND=1), pointer &
6327  , contiguous &
6328  :: ptr_data(:,:,:)
6329  integer, intent(IN) :: access
6330  integer, intent(IN) :: ptr_data_shape(3)
6331  integer, intent(OUT), optional :: err
6332  endsubroutine PDI_access_CHARACTER1_3D
6333  !=============================================================================
6334 
6335 
6336  !=============================================================================
6337  !< requests for PDI to access a data buffer.
6338  !! \param[IN] name the data name
6339  !! \param[OUT] ptr_data pointer associated with the accessd data
6340  !! \param[IN] access whether the data can be accessed for read or write by
6341  !! PDI
6342  !! \param[OUT] err for error status (optional)
6343  subroutine PDI_access_CHARACTER1_4D(name, ptr_data, access, &
6344  ptr_data_shape, &
6345  err)
6346  character(len=*), intent(IN) :: name
6347  CHARACTER(KIND=1), pointer &
6348  , contiguous &
6349  :: ptr_data(:,:,:,:)
6350  integer, intent(IN) :: access
6351  integer, intent(IN) :: ptr_data_shape(4)
6352  integer, intent(OUT), optional :: err
6353  endsubroutine PDI_access_CHARACTER1_4D
6354  !=============================================================================
6355 
6356 
6357  !=============================================================================
6358  !< requests for PDI to access a data buffer.
6359  !! \param[IN] name the data name
6360  !! \param[OUT] ptr_data pointer associated with the accessd data
6361  !! \param[IN] access whether the data can be accessed for read or write by
6362  !! PDI
6363  !! \param[OUT] err for error status (optional)
6364  subroutine PDI_access_CHARACTER1_5D(name, ptr_data, access, &
6365  ptr_data_shape, &
6366  err)
6367  character(len=*), intent(IN) :: name
6368  CHARACTER(KIND=1), pointer &
6369  , contiguous &
6370  :: ptr_data(:,:,:,:,:)
6371  integer, intent(IN) :: access
6372  integer, intent(IN) :: ptr_data_shape(5)
6373  integer, intent(OUT), optional :: err
6374  endsubroutine PDI_access_CHARACTER1_5D
6375  !=============================================================================
6376 
6377 
6378  !=============================================================================
6379  !< requests for PDI to access a data buffer.
6380  !! \param[IN] name the data name
6381  !! \param[OUT] ptr_data pointer associated with the accessd data
6382  !! \param[IN] access whether the data can be accessed for read or write by
6383  !! PDI
6384  !! \param[OUT] err for error status (optional)
6385  subroutine PDI_access_CHARACTER1_6D(name, ptr_data, access, &
6386  ptr_data_shape, &
6387  err)
6388  character(len=*), intent(IN) :: name
6389  CHARACTER(KIND=1), pointer &
6390  , contiguous &
6391  :: ptr_data(:,:,:,:,:,:)
6392  integer, intent(IN) :: access
6393  integer, intent(IN) :: ptr_data_shape(6)
6394  integer, intent(OUT), optional :: err
6395  endsubroutine PDI_access_CHARACTER1_6D
6396  !=============================================================================
6397 
6398 
6399  !=============================================================================
6400  !< requests for PDI to access a data buffer.
6401  !! \param[IN] name the data name
6402  !! \param[OUT] ptr_data pointer associated with the accessd data
6403  !! \param[IN] access whether the data can be accessed for read or write by
6404  !! PDI
6405  !! \param[OUT] err for error status (optional)
6406  subroutine PDI_access_CHARACTER1_7D(name, ptr_data, access, &
6407  ptr_data_shape, &
6408  err)
6409  character(len=*), intent(IN) :: name
6410  CHARACTER(KIND=1), pointer &
6411  , contiguous &
6412  :: ptr_data(:,:,:,:,:,:,:)
6413  integer, intent(IN) :: access
6414  integer, intent(IN) :: ptr_data_shape(7)
6415  integer, intent(OUT), optional :: err
6416  endsubroutine PDI_access_CHARACTER1_7D
6417  !=============================================================================
6418 
6419 
6420  !=============================================================================
6421  !< requests for PDI to access a data buffer.
6422  !! \param[IN] name the data name
6423  !! \param[OUT] ptr_data pointer associated with the accessd data
6424  !! \param[IN] access whether the data can be accessed for read or write by
6425  !! PDI
6426  !! \param[OUT] err for error status (optional)
6427  subroutine PDI_access_CHARACTER4_0D(name, ptr_data, access, &
6428  err)
6429  character(len=*), intent(IN) :: name
6430  CHARACTER(KIND=4), pointer &
6431  :: ptr_data
6432  integer, intent(IN) :: access
6433  integer, intent(OUT), optional :: err
6434  endsubroutine PDI_access_CHARACTER4_0D