PDI 1.1.0

Data exchange made easy

pdif.h
1 !******************************************************************************
2 ! Copyright (C) 2015-2020 Commissariat a l'energie atomique et aux energies alternatives (CEA)
3 ! All rights reserved.
4 !
5 ! Redistribution and use in source and binary forms, with or without
6 ! modification, are permitted provided that the following conditions are met:
7 ! * Redistributions of source code must retain the above copyright
8 ! notice, this list of conditions and the following disclaimer.
9 ! * Redistributions in binary form must reproduce the above copyright
10 ! notice, this list of conditions and the following disclaimer in the
11 ! documentation and/or other materials provided with the distribution.
12 ! * Neither the name of CEA nor the names of its contributors may be used to
13 ! endorse or promote products derived from this software without specific
14 ! prior written permission.
15 !
16 ! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 ! THE SOFTWARE.
23 !******************************************************************************
24 
25 
26 !> These are the values for enum PDI_inout_t
27 !! \{
28 integer, parameter :: PDI_NONE = 0
29 integer, parameter :: PDI_IN = 1
30 integer, parameter :: PDI_OUT = 2
31 integer, parameter :: PDI_INOUT = 3
32 !> \}
33 
34 
35 interface
36 
37  !=============================================================================
38  !< initializes PDI
39  !! \param[IN] treeconf the configuration
40  !! \param[OUT] err for error status (optional)
41  subroutine PDI_init(treeconf, err)
42  use paraconf
43  type(PC_tree_t), intent(IN) :: treeconf
44  integer, intent(OUT), optional :: err
45  endsubroutine PDI_init
46  !=============================================================================
47 
48 
49  !=============================================================================
50  !< finalizes PDI
51  !! \param[OUT] err for error status (optional)
52  subroutine PDI_finalize(err)
53  integer, intent(OUT), optional :: err
54  endsubroutine PDI_finalize
55  !=============================================================================
56 
57 
58  !=============================================================================
59  !< triggers a PDI "event"
60  !! \param[IN] event the event name
61  !! \param[OUT] err for error status (optional)
62  subroutine PDI_event(event, err)
63  character(len=*), intent(IN) :: event
64  integer, intent(OUT), optional :: err
65  endsubroutine PDI_event
66  !=============================================================================
67 
68 
69  !=============================================================================
70  !< wrapper for PDI_release :
71  !! releases ownership of a data shared with PDI. PDI is then responsible to
72  !! free the associated memory whenever necessary.
73  !! \param[IN] name name of the data to release
74  !! \param[OUT] err for error status (optional)
75  !! \pre ownership of the data buffer is shared between PDI and the user code
76  !! \pre PDI owns the data buffer
77  subroutine PDI_release(name, err)
78  character(len=*), intent(IN) :: name
79  integer, intent(OUT), optional :: err
80  endsubroutine PDI_release
81  !=============================================================================
82 
83 
84  !=============================================================================
85  !< wrapper for PDI_reclaim :
86  !! reclaims ownership of a data buffer shared with PDI. PDI is then
87  !! responsible to free the associated memory whenever necessary.
88  !! \param[IN] name name of the data to reclaim
89  !! \param[OUT] err for error status (optional)
90  !! \pre ownership of the data buffer is shared between PDI and the user code
91  !! \post the user code owns the data buffer
92  subroutine PDI_reclaim(name, err)
93  character(len=*), intent(IN) :: name
94  integer, intent(OUT), optional :: err
95  endsubroutine PDI_reclaim
96  !=============================================================================
97 
98 
99  !=============================================================================
100  !< Begin a transaction. All the ::PDI_expose will be exposed together.
101  !!
102  !! This requires a ::PDI_transaction_end to close the transaction.
103  !!
104  !! \param[in] name the name of the transaction (an event thus named will be
105  !! triggered when all data become available)
106  !! \param[out] err an error status
107  subroutine PDI_transaction_begin( name, err )
108  character(len=*), intent(IN) :: name
109  integer, intent(OUT), optional :: err
110  endsubroutine PDI_transaction_begin
111  !=============================================================================
112 
113 
114  !=============================================================================
115  !< Ends the previously opened transaction.
116  !! \param[out] err an error status
117  subroutine PDI_transaction_end( err )
118  integer, intent(OUT), optional :: err
119  endsubroutine PDI_transaction_end
120  !=============================================================================
121 
122 endinterface
123 
124 
125 interface PDI_share
126 
127  !=============================================================================
128  !< shares some data with PDI. the user code should not modify it before
129  !! a call to either PDI_release or PDI_reclaim.
130  !! \param[IN] name the data name
131  !! \param[IN,OUT] ptr_data the pointer to the trageted data
132  !! \param[IN] access whether the data can be accessed for read or write by
133  !! PDI
134  !! \param[OUT] err for error status (optional)
135  !! \pre the user code owns the data buffer
136  !! \post ownership of the data buffer is shared between PDI and the user code
137  !!
138  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
139  !! * PDI_IN means PDI can set the buffer content
140  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
141  subroutine PDI_share_CHARACTER1_0D( name, ptr_data, access, err )
142  character(len=*), intent(IN) :: name
143  CHARACTER(KIND=1), pointer &
144  :: ptr_data
145  integer, intent(IN) :: access
146  integer, intent(OUT), optional :: err
147  endsubroutine PDI_share_CHARACTER1_0D
148  !=============================================================================
149 
150 
151  !=============================================================================
152  !< shares some data with PDI. the user code should not modify it before
153  !! a call to either PDI_release or PDI_reclaim.
154  !! \param[IN] name the data name
155  !! \param[IN,OUT] ptr_data the pointer to the trageted data
156  !! \param[IN] access whether the data can be accessed for read or write by
157  !! PDI
158  !! \param[OUT] err for error status (optional)
159  !! \pre the user code owns the data buffer
160  !! \post ownership of the data buffer is shared between PDI and the user code
161  !!
162  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
163  !! * PDI_IN means PDI can set the buffer content
164  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
165  subroutine PDI_share_CHARACTER1_1D( name, ptr_data, access, err )
166  character(len=*), intent(IN) :: name
167  CHARACTER(KIND=1), pointer &
168  , contiguous &
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  , contiguous &
368  :: ptr_data(:)
369  integer, intent(IN) :: access
370  integer, intent(OUT), optional :: err
371  endsubroutine PDI_share_CHARACTER4_1D
372  !=============================================================================
373 
374 
375  !=============================================================================
376  !< shares some data with PDI. the user code should not modify it before
377  !! a call to either PDI_release or PDI_reclaim.
378  !! \param[IN] name the data name
379  !! \param[IN,OUT] ptr_data the pointer to the trageted data
380  !! \param[IN] access whether the data can be accessed for read or write by
381  !! PDI
382  !! \param[OUT] err for error status (optional)
383  !! \pre the user code owns the data buffer
384  !! \post ownership of the data buffer is shared between PDI and the user code
385  !!
386  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
387  !! * PDI_IN means PDI can set the buffer content
388  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
389  subroutine PDI_share_CHARACTER4_2D( name, ptr_data, access, err )
390  character(len=*), intent(IN) :: name
391  CHARACTER(KIND=4), pointer &
392  , contiguous &
393  :: ptr_data(:,:)
394  integer, intent(IN) :: access
395  integer, intent(OUT), optional :: err
396  endsubroutine PDI_share_CHARACTER4_2D
397  !=============================================================================
398 
399 
400  !=============================================================================
401  !< shares some data with PDI. the user code should not modify it before
402  !! a call to either PDI_release or PDI_reclaim.
403  !! \param[IN] name the data name
404  !! \param[IN,OUT] ptr_data the pointer to the trageted data
405  !! \param[IN] access whether the data can be accessed for read or write by
406  !! PDI
407  !! \param[OUT] err for error status (optional)
408  !! \pre the user code owns the data buffer
409  !! \post ownership of the data buffer is shared between PDI and the user code
410  !!
411  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
412  !! * PDI_IN means PDI can set the buffer content
413  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
414  subroutine PDI_share_CHARACTER4_3D( name, ptr_data, access, err )
415  character(len=*), intent(IN) :: name
416  CHARACTER(KIND=4), pointer &
417  , contiguous &
418  :: ptr_data(:,:,:)
419  integer, intent(IN) :: access
420  integer, intent(OUT), optional :: err
421  endsubroutine PDI_share_CHARACTER4_3D
422  !=============================================================================
423 
424 
425  !=============================================================================
426  !< shares some data with PDI. the user code should not modify it before
427  !! a call to either PDI_release or PDI_reclaim.
428  !! \param[IN] name the data name
429  !! \param[IN,OUT] ptr_data the pointer to the trageted data
430  !! \param[IN] access whether the data can be accessed for read or write by
431  !! PDI
432  !! \param[OUT] err for error status (optional)
433  !! \pre the user code owns the data buffer
434  !! \post ownership of the data buffer is shared between PDI and the user code
435  !!
436  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
437  !! * PDI_IN means PDI can set the buffer content
438  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
439  subroutine PDI_share_CHARACTER4_4D( name, ptr_data, access, err )
440  character(len=*), intent(IN) :: name
441  CHARACTER(KIND=4), pointer &
442  , contiguous &
443  :: ptr_data(:,:,:,:)
444  integer, intent(IN) :: access
445  integer, intent(OUT), optional :: err
446  endsubroutine PDI_share_CHARACTER4_4D
447  !=============================================================================
448 
449 
450  !=============================================================================
451  !< shares some data with PDI. the user code should not modify it before
452  !! a call to either PDI_release or PDI_reclaim.
453  !! \param[IN] name the data name
454  !! \param[IN,OUT] ptr_data the pointer to the trageted data
455  !! \param[IN] access whether the data can be accessed for read or write by
456  !! PDI
457  !! \param[OUT] err for error status (optional)
458  !! \pre the user code owns the data buffer
459  !! \post ownership of the data buffer is shared between PDI and the user code
460  !!
461  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
462  !! * PDI_IN means PDI can set the buffer content
463  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
464  subroutine PDI_share_CHARACTER4_5D( name, ptr_data, access, err )
465  character(len=*), intent(IN) :: name
466  CHARACTER(KIND=4), pointer &
467  , contiguous &
468  :: ptr_data(:,:,:,:,:)
469  integer, intent(IN) :: access
470  integer, intent(OUT), optional :: err
471  endsubroutine PDI_share_CHARACTER4_5D
472  !=============================================================================
473 
474 
475  !=============================================================================
476  !< shares some data with PDI. the user code should not modify it before
477  !! a call to either PDI_release or PDI_reclaim.
478  !! \param[IN] name the data name
479  !! \param[IN,OUT] ptr_data the pointer to the trageted data
480  !! \param[IN] access whether the data can be accessed for read or write by
481  !! PDI
482  !! \param[OUT] err for error status (optional)
483  !! \pre the user code owns the data buffer
484  !! \post ownership of the data buffer is shared between PDI and the user code
485  !!
486  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
487  !! * PDI_IN means PDI can set the buffer content
488  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
489  subroutine PDI_share_CHARACTER4_6D( name, ptr_data, access, err )
490  character(len=*), intent(IN) :: name
491  CHARACTER(KIND=4), pointer &
492  , contiguous &
493  :: ptr_data(:,:,:,:,:,:)
494  integer, intent(IN) :: access
495  integer, intent(OUT), optional :: err
496  endsubroutine PDI_share_CHARACTER4_6D
497  !=============================================================================
498 
499 
500  !=============================================================================
501  !< shares some data with PDI. the user code should not modify it before
502  !! a call to either PDI_release or PDI_reclaim.
503  !! \param[IN] name the data name
504  !! \param[IN,OUT] ptr_data the pointer to the trageted data
505  !! \param[IN] access whether the data can be accessed for read or write by
506  !! PDI
507  !! \param[OUT] err for error status (optional)
508  !! \pre the user code owns the data buffer
509  !! \post ownership of the data buffer is shared between PDI and the user code
510  !!
511  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
512  !! * PDI_IN means PDI can set the buffer content
513  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
514  subroutine PDI_share_CHARACTER4_7D( name, ptr_data, access, err )
515  character(len=*), intent(IN) :: name
516  CHARACTER(KIND=4), pointer &
517  , contiguous &
518  :: ptr_data(:,:,:,:,:,:,:)
519  integer, intent(IN) :: access
520  integer, intent(OUT), optional :: err
521  endsubroutine PDI_share_CHARACTER4_7D
522  !=============================================================================
523 
524 
525  !=============================================================================
526  !< shares some data with PDI. the user code should not modify it before
527  !! a call to either PDI_release or PDI_reclaim.
528  !! \param[IN] name the data name
529  !! \param[IN,OUT] ptr_data the pointer to the trageted data
530  !! \param[IN] access whether the data can be accessed for read or write by
531  !! PDI
532  !! \param[OUT] err for error status (optional)
533  !! \pre the user code owns the data buffer
534  !! \post ownership of the data buffer is shared between PDI and the user code
535  !!
536  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
537  !! * PDI_IN means PDI can set the buffer content
538  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
539  subroutine PDI_share_COMPLEX4_0D( name, ptr_data, access, err )
540  character(len=*), intent(IN) :: name
541  COMPLEX(KIND=4), pointer &
542  :: ptr_data
543  integer, intent(IN) :: access
544  integer, intent(OUT), optional :: err
545  endsubroutine PDI_share_COMPLEX4_0D
546  !=============================================================================
547 
548 
549  !=============================================================================
550  !< shares some data with PDI. the user code should not modify it before
551  !! a call to either PDI_release or PDI_reclaim.
552  !! \param[IN] name the data name
553  !! \param[IN,OUT] ptr_data the pointer to the trageted data
554  !! \param[IN] access whether the data can be accessed for read or write by
555  !! PDI
556  !! \param[OUT] err for error status (optional)
557  !! \pre the user code owns the data buffer
558  !! \post ownership of the data buffer is shared between PDI and the user code
559  !!
560  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
561  !! * PDI_IN means PDI can set the buffer content
562  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
563  subroutine PDI_share_COMPLEX4_1D( name, ptr_data, access, err )
564  character(len=*), intent(IN) :: name
565  COMPLEX(KIND=4), pointer &
566  , contiguous &
567  :: ptr_data(:)
568  integer, intent(IN) :: access
569  integer, intent(OUT), optional :: err
570  endsubroutine PDI_share_COMPLEX4_1D
571  !=============================================================================
572 
573 
574  !=============================================================================
575  !< shares some data with PDI. the user code should not modify it before
576  !! a call to either PDI_release or PDI_reclaim.
577  !! \param[IN] name the data name
578  !! \param[IN,OUT] ptr_data the pointer to the trageted data
579  !! \param[IN] access whether the data can be accessed for read or write by
580  !! PDI
581  !! \param[OUT] err for error status (optional)
582  !! \pre the user code owns the data buffer
583  !! \post ownership of the data buffer is shared between PDI and the user code
584  !!
585  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
586  !! * PDI_IN means PDI can set the buffer content
587  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
588  subroutine PDI_share_COMPLEX4_2D( name, ptr_data, access, err )
589  character(len=*), intent(IN) :: name
590  COMPLEX(KIND=4), pointer &
591  , contiguous &
592  :: ptr_data(:,:)
593  integer, intent(IN) :: access
594  integer, intent(OUT), optional :: err
595  endsubroutine PDI_share_COMPLEX4_2D
596  !=============================================================================
597 
598 
599  !=============================================================================
600  !< shares some data with PDI. the user code should not modify it before
601  !! a call to either PDI_release or PDI_reclaim.
602  !! \param[IN] name the data name
603  !! \param[IN,OUT] ptr_data the pointer to the trageted data
604  !! \param[IN] access whether the data can be accessed for read or write by
605  !! PDI
606  !! \param[OUT] err for error status (optional)
607  !! \pre the user code owns the data buffer
608  !! \post ownership of the data buffer is shared between PDI and the user code
609  !!
610  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
611  !! * PDI_IN means PDI can set the buffer content
612  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
613  subroutine PDI_share_COMPLEX4_3D( name, ptr_data, access, err )
614  character(len=*), intent(IN) :: name
615  COMPLEX(KIND=4), pointer &
616  , contiguous &
617  :: ptr_data(:,:,:)
618  integer, intent(IN) :: access
619  integer, intent(OUT), optional :: err
620  endsubroutine PDI_share_COMPLEX4_3D
621  !=============================================================================
622 
623 
624  !=============================================================================
625  !< shares some data with PDI. the user code should not modify it before
626  !! a call to either PDI_release or PDI_reclaim.
627  !! \param[IN] name the data name
628  !! \param[IN,OUT] ptr_data the pointer to the trageted data
629  !! \param[IN] access whether the data can be accessed for read or write by
630  !! PDI
631  !! \param[OUT] err for error status (optional)
632  !! \pre the user code owns the data buffer
633  !! \post ownership of the data buffer is shared between PDI and the user code
634  !!
635  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
636  !! * PDI_IN means PDI can set the buffer content
637  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
638  subroutine PDI_share_COMPLEX4_4D( name, ptr_data, access, err )
639  character(len=*), intent(IN) :: name
640  COMPLEX(KIND=4), pointer &
641  , contiguous &
642  :: ptr_data(:,:,:,:)
643  integer, intent(IN) :: access
644  integer, intent(OUT), optional :: err
645  endsubroutine PDI_share_COMPLEX4_4D
646  !=============================================================================
647 
648 
649  !=============================================================================
650  !< shares some data with PDI. the user code should not modify it before
651  !! a call to either PDI_release or PDI_reclaim.
652  !! \param[IN] name the data name
653  !! \param[IN,OUT] ptr_data the pointer to the trageted data
654  !! \param[IN] access whether the data can be accessed for read or write by
655  !! PDI
656  !! \param[OUT] err for error status (optional)
657  !! \pre the user code owns the data buffer
658  !! \post ownership of the data buffer is shared between PDI and the user code
659  !!
660  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
661  !! * PDI_IN means PDI can set the buffer content
662  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
663  subroutine PDI_share_COMPLEX4_5D( name, ptr_data, access, err )
664  character(len=*), intent(IN) :: name
665  COMPLEX(KIND=4), pointer &
666  , contiguous &
667  :: ptr_data(:,:,:,:,:)
668  integer, intent(IN) :: access
669  integer, intent(OUT), optional :: err
670  endsubroutine PDI_share_COMPLEX4_5D
671  !=============================================================================
672 
673 
674  !=============================================================================
675  !< shares some data with PDI. the user code should not modify it before
676  !! a call to either PDI_release or PDI_reclaim.
677  !! \param[IN] name the data name
678  !! \param[IN,OUT] ptr_data the pointer to the trageted data
679  !! \param[IN] access whether the data can be accessed for read or write by
680  !! PDI
681  !! \param[OUT] err for error status (optional)
682  !! \pre the user code owns the data buffer
683  !! \post ownership of the data buffer is shared between PDI and the user code
684  !!
685  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
686  !! * PDI_IN means PDI can set the buffer content
687  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
688  subroutine PDI_share_COMPLEX4_6D( name, ptr_data, access, err )
689  character(len=*), intent(IN) :: name
690  COMPLEX(KIND=4), pointer &
691  , contiguous &
692  :: ptr_data(:,:,:,:,:,:)
693  integer, intent(IN) :: access
694  integer, intent(OUT), optional :: err
695  endsubroutine PDI_share_COMPLEX4_6D
696  !=============================================================================
697 
698 
699  !=============================================================================
700  !< shares some data with PDI. the user code should not modify it before
701  !! a call to either PDI_release or PDI_reclaim.
702  !! \param[IN] name the data name
703  !! \param[IN,OUT] ptr_data the pointer to the trageted data
704  !! \param[IN] access whether the data can be accessed for read or write by
705  !! PDI
706  !! \param[OUT] err for error status (optional)
707  !! \pre the user code owns the data buffer
708  !! \post ownership of the data buffer is shared between PDI and the user code
709  !!
710  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
711  !! * PDI_IN means PDI can set the buffer content
712  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
713  subroutine PDI_share_COMPLEX4_7D( name, ptr_data, access, err )
714  character(len=*), intent(IN) :: name
715  COMPLEX(KIND=4), pointer &
716  , contiguous &
717  :: ptr_data(:,:,:,:,:,:,:)
718  integer, intent(IN) :: access
719  integer, intent(OUT), optional :: err
720  endsubroutine PDI_share_COMPLEX4_7D
721  !=============================================================================
722 
723 
724  !=============================================================================
725  !< shares some data with PDI. the user code should not modify it before
726  !! a call to either PDI_release or PDI_reclaim.
727  !! \param[IN] name the data name
728  !! \param[IN,OUT] ptr_data the pointer to the trageted data
729  !! \param[IN] access whether the data can be accessed for read or write by
730  !! PDI
731  !! \param[OUT] err for error status (optional)
732  !! \pre the user code owns the data buffer
733  !! \post ownership of the data buffer is shared between PDI and the user code
734  !!
735  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
736  !! * PDI_IN means PDI can set the buffer content
737  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
738  subroutine PDI_share_COMPLEX8_0D( name, ptr_data, access, err )
739  character(len=*), intent(IN) :: name
740  COMPLEX(KIND=8), pointer &
741  :: ptr_data
742  integer, intent(IN) :: access
743  integer, intent(OUT), optional :: err
744  endsubroutine PDI_share_COMPLEX8_0D
745  !=============================================================================
746 
747 
748  !=============================================================================
749  !< shares some data with PDI. the user code should not modify it before
750  !! a call to either PDI_release or PDI_reclaim.
751  !! \param[IN] name the data name
752  !! \param[IN,OUT] ptr_data the pointer to the trageted data
753  !! \param[IN] access whether the data can be accessed for read or write by
754  !! PDI
755  !! \param[OUT] err for error status (optional)
756  !! \pre the user code owns the data buffer
757  !! \post ownership of the data buffer is shared between PDI and the user code
758  !!
759  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
760  !! * PDI_IN means PDI can set the buffer content
761  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
762  subroutine PDI_share_COMPLEX8_1D( name, ptr_data, access, err )
763  character(len=*), intent(IN) :: name
764  COMPLEX(KIND=8), pointer &
765  , contiguous &
766  :: ptr_data(:)
767  integer, intent(IN) :: access
768  integer, intent(OUT), optional :: err
769  endsubroutine PDI_share_COMPLEX8_1D
770  !=============================================================================
771 
772 
773  !=============================================================================
774  !< shares some data with PDI. the user code should not modify it before
775  !! a call to either PDI_release or PDI_reclaim.
776  !! \param[IN] name the data name
777  !! \param[IN,OUT] ptr_data the pointer to the trageted data
778  !! \param[IN] access whether the data can be accessed for read or write by
779  !! PDI
780  !! \param[OUT] err for error status (optional)
781  !! \pre the user code owns the data buffer
782  !! \post ownership of the data buffer is shared between PDI and the user code
783  !!
784  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
785  !! * PDI_IN means PDI can set the buffer content
786  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
787  subroutine PDI_share_COMPLEX8_2D( name, ptr_data, access, err )
788  character(len=*), intent(IN) :: name
789  COMPLEX(KIND=8), pointer &
790  , contiguous &
791  :: ptr_data(:,:)
792  integer, intent(IN) :: access
793  integer, intent(OUT), optional :: err
794  endsubroutine PDI_share_COMPLEX8_2D
795  !=============================================================================
796 
797 
798  !=============================================================================
799  !< shares some data with PDI. the user code should not modify it before
800  !! a call to either PDI_release or PDI_reclaim.
801  !! \param[IN] name the data name
802  !! \param[IN,OUT] ptr_data the pointer to the trageted data
803  !! \param[IN] access whether the data can be accessed for read or write by
804  !! PDI
805  !! \param[OUT] err for error status (optional)
806  !! \pre the user code owns the data buffer
807  !! \post ownership of the data buffer is shared between PDI and the user code
808  !!
809  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
810  !! * PDI_IN means PDI can set the buffer content
811  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
812  subroutine PDI_share_COMPLEX8_3D( name, ptr_data, access, err )
813  character(len=*), intent(IN) :: name
814  COMPLEX(KIND=8), pointer &
815  , contiguous &
816  :: ptr_data(:,:,:)
817  integer, intent(IN) :: access
818  integer, intent(OUT), optional :: err
819  endsubroutine PDI_share_COMPLEX8_3D
820  !=============================================================================
821 
822 
823  !=============================================================================
824  !< shares some data with PDI. the user code should not modify it before
825  !! a call to either PDI_release or PDI_reclaim.
826  !! \param[IN] name the data name
827  !! \param[IN,OUT] ptr_data the pointer to the trageted data
828  !! \param[IN] access whether the data can be accessed for read or write by
829  !! PDI
830  !! \param[OUT] err for error status (optional)
831  !! \pre the user code owns the data buffer
832  !! \post ownership of the data buffer is shared between PDI and the user code
833  !!
834  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
835  !! * PDI_IN means PDI can set the buffer content
836  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
837  subroutine PDI_share_COMPLEX8_4D( name, ptr_data, access, err )
838  character(len=*), intent(IN) :: name
839  COMPLEX(KIND=8), pointer &
840  , contiguous &
841  :: ptr_data(:,:,:,:)
842  integer, intent(IN) :: access
843  integer, intent(OUT), optional :: err
844  endsubroutine PDI_share_COMPLEX8_4D
845  !=============================================================================
846 
847 
848  !=============================================================================
849  !< shares some data with PDI. the user code should not modify it before
850  !! a call to either PDI_release or PDI_reclaim.
851  !! \param[IN] name the data name
852  !! \param[IN,OUT] ptr_data the pointer to the trageted data
853  !! \param[IN] access whether the data can be accessed for read or write by
854  !! PDI
855  !! \param[OUT] err for error status (optional)
856  !! \pre the user code owns the data buffer
857  !! \post ownership of the data buffer is shared between PDI and the user code
858  !!
859  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
860  !! * PDI_IN means PDI can set the buffer content
861  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
862  subroutine PDI_share_COMPLEX8_5D( name, ptr_data, access, err )
863  character(len=*), intent(IN) :: name
864  COMPLEX(KIND=8), pointer &
865  , contiguous &
866  :: ptr_data(:,:,:,:,:)
867  integer, intent(IN) :: access
868  integer, intent(OUT), optional :: err
869  endsubroutine PDI_share_COMPLEX8_5D
870  !=============================================================================
871 
872 
873  !=============================================================================
874  !< shares some data with PDI. the user code should not modify it before
875  !! a call to either PDI_release or PDI_reclaim.
876  !! \param[IN] name the data name
877  !! \param[IN,OUT] ptr_data the pointer to the trageted data
878  !! \param[IN] access whether the data can be accessed for read or write by
879  !! PDI
880  !! \param[OUT] err for error status (optional)
881  !! \pre the user code owns the data buffer
882  !! \post ownership of the data buffer is shared between PDI and the user code
883  !!
884  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
885  !! * PDI_IN means PDI can set the buffer content
886  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
887  subroutine PDI_share_COMPLEX8_6D( name, ptr_data, access, err )
888  character(len=*), intent(IN) :: name
889  COMPLEX(KIND=8), pointer &
890  , contiguous &
891  :: ptr_data(:,:,:,:,:,:)
892  integer, intent(IN) :: access
893  integer, intent(OUT), optional :: err
894  endsubroutine PDI_share_COMPLEX8_6D
895  !=============================================================================
896 
897 
898  !=============================================================================
899  !< shares some data with PDI. the user code should not modify it before
900  !! a call to either PDI_release or PDI_reclaim.
901  !! \param[IN] name the data name
902  !! \param[IN,OUT] ptr_data the pointer to the trageted data
903  !! \param[IN] access whether the data can be accessed for read or write by
904  !! PDI
905  !! \param[OUT] err for error status (optional)
906  !! \pre the user code owns the data buffer
907  !! \post ownership of the data buffer is shared between PDI and the user code
908  !!
909  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
910  !! * PDI_IN means PDI can set the buffer content
911  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
912  subroutine PDI_share_COMPLEX8_7D( name, ptr_data, access, err )
913  character(len=*), intent(IN) :: name
914  COMPLEX(KIND=8), pointer &
915  , contiguous &
916  :: ptr_data(:,:,:,:,:,:,:)
917  integer, intent(IN) :: access
918  integer, intent(OUT), optional :: err
919  endsubroutine PDI_share_COMPLEX8_7D
920  !=============================================================================
921 
922 
923  !=============================================================================
924  !< shares some data with PDI. the user code should not modify it before
925  !! a call to either PDI_release or PDI_reclaim.
926  !! \param[IN] name the data name
927  !! \param[IN,OUT] ptr_data the pointer to the trageted data
928  !! \param[IN] access whether the data can be accessed for read or write by
929  !! PDI
930  !! \param[OUT] err for error status (optional)
931  !! \pre the user code owns the data buffer
932  !! \post ownership of the data buffer is shared between PDI and the user code
933  !!
934  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
935  !! * PDI_IN means PDI can set the buffer content
936  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
937  subroutine PDI_share_COMPLEX16_0D( name, ptr_data, access, err )
938  character(len=*), intent(IN) :: name
939  COMPLEX(KIND=16), pointer &
940  :: ptr_data
941  integer, intent(IN) :: access
942  integer, intent(OUT), optional :: err
943  endsubroutine PDI_share_COMPLEX16_0D
944  !=============================================================================
945 
946 
947  !=============================================================================
948  !< shares some data with PDI. the user code should not modify it before
949  !! a call to either PDI_release or PDI_reclaim.
950  !! \param[IN] name the data name
951  !! \param[IN,OUT] ptr_data the pointer to the trageted data
952  !! \param[IN] access whether the data can be accessed for read or write by
953  !! PDI
954  !! \param[OUT] err for error status (optional)
955  !! \pre the user code owns the data buffer
956  !! \post ownership of the data buffer is shared between PDI and the user code
957  !!
958  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
959  !! * PDI_IN means PDI can set the buffer content
960  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
961  subroutine PDI_share_COMPLEX16_1D( name, ptr_data, access, err )
962  character(len=*), intent(IN) :: name
963  COMPLEX(KIND=16), pointer &
964  , contiguous &
965  :: ptr_data(:)
966  integer, intent(IN) :: access
967  integer, intent(OUT), optional :: err
968  endsubroutine PDI_share_COMPLEX16_1D
969  !=============================================================================
970 
971 
972  !=============================================================================
973  !< shares some data with PDI. the user code should not modify it before
974  !! a call to either PDI_release or PDI_reclaim.
975  !! \param[IN] name the data name
976  !! \param[IN,OUT] ptr_data the pointer to the trageted data
977  !! \param[IN] access whether the data can be accessed for read or write by
978  !! PDI
979  !! \param[OUT] err for error status (optional)
980  !! \pre the user code owns the data buffer
981  !! \post ownership of the data buffer is shared between PDI and the user code
982  !!
983  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
984  !! * PDI_IN means PDI can set the buffer content
985  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
986  subroutine PDI_share_COMPLEX16_2D( name, ptr_data, access, err )
987  character(len=*), intent(IN) :: name
988  COMPLEX(KIND=16), pointer &
989  , contiguous &
990  :: ptr_data(:,:)
991  integer, intent(IN) :: access
992  integer, intent(OUT), optional :: err
993  endsubroutine PDI_share_COMPLEX16_2D
994  !=============================================================================
995 
996 
997  !=============================================================================
998  !< shares some data with PDI. the user code should not modify it before
999  !! a call to either PDI_release or PDI_reclaim.
1000  !! \param[IN] name the data name
1001  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1002  !! \param[IN] access whether the data can be accessed for read or write by
1003  !! PDI
1004  !! \param[OUT] err for error status (optional)
1005  !! \pre the user code owns the data buffer
1006  !! \post ownership of the data buffer is shared between PDI and the user code
1007  !!
1008  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1009  !! * PDI_IN means PDI can set the buffer content
1010  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1011  subroutine PDI_share_COMPLEX16_3D( name, ptr_data, access, err )
1012  character(len=*), intent(IN) :: name
1013  COMPLEX(KIND=16), pointer &
1014  , contiguous &
1015  :: ptr_data(:,:,:)
1016  integer, intent(IN) :: access
1017  integer, intent(OUT), optional :: err
1018  endsubroutine PDI_share_COMPLEX16_3D
1019  !=============================================================================
1020 
1021 
1022  !=============================================================================
1023  !< shares some data with PDI. the user code should not modify it before
1024  !! a call to either PDI_release or PDI_reclaim.
1025  !! \param[IN] name the data name
1026  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1027  !! \param[IN] access whether the data can be accessed for read or write by
1028  !! PDI
1029  !! \param[OUT] err for error status (optional)
1030  !! \pre the user code owns the data buffer
1031  !! \post ownership of the data buffer is shared between PDI and the user code
1032  !!
1033  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1034  !! * PDI_IN means PDI can set the buffer content
1035  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1036  subroutine PDI_share_COMPLEX16_4D( name, ptr_data, access, err )
1037  character(len=*), intent(IN) :: name
1038  COMPLEX(KIND=16), pointer &
1039  , contiguous &
1040  :: ptr_data(:,:,:,:)
1041  integer, intent(IN) :: access
1042  integer, intent(OUT), optional :: err
1043  endsubroutine PDI_share_COMPLEX16_4D
1044  !=============================================================================
1045 
1046 
1047  !=============================================================================
1048  !< shares some data with PDI. the user code should not modify it before
1049  !! a call to either PDI_release or PDI_reclaim.
1050  !! \param[IN] name the data name
1051  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1052  !! \param[IN] access whether the data can be accessed for read or write by
1053  !! PDI
1054  !! \param[OUT] err for error status (optional)
1055  !! \pre the user code owns the data buffer
1056  !! \post ownership of the data buffer is shared between PDI and the user code
1057  !!
1058  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1059  !! * PDI_IN means PDI can set the buffer content
1060  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1061  subroutine PDI_share_COMPLEX16_5D( name, ptr_data, access, err )
1062  character(len=*), intent(IN) :: name
1063  COMPLEX(KIND=16), pointer &
1064  , contiguous &
1065  :: ptr_data(:,:,:,:,:)
1066  integer, intent(IN) :: access
1067  integer, intent(OUT), optional :: err
1068  endsubroutine PDI_share_COMPLEX16_5D
1069  !=============================================================================
1070 
1071 
1072  !=============================================================================
1073  !< shares some data with PDI. the user code should not modify it before
1074  !! a call to either PDI_release or PDI_reclaim.
1075  !! \param[IN] name the data name
1076  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1077  !! \param[IN] access whether the data can be accessed for read or write by
1078  !! PDI
1079  !! \param[OUT] err for error status (optional)
1080  !! \pre the user code owns the data buffer
1081  !! \post ownership of the data buffer is shared between PDI and the user code
1082  !!
1083  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1084  !! * PDI_IN means PDI can set the buffer content
1085  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1086  subroutine PDI_share_COMPLEX16_6D( name, ptr_data, access, err )
1087  character(len=*), intent(IN) :: name
1088  COMPLEX(KIND=16), pointer &
1089  , contiguous &
1090  :: ptr_data(:,:,:,:,:,:)
1091  integer, intent(IN) :: access
1092  integer, intent(OUT), optional :: err
1093  endsubroutine PDI_share_COMPLEX16_6D
1094  !=============================================================================
1095 
1096 
1097  !=============================================================================
1098  !< shares some data with PDI. the user code should not modify it before
1099  !! a call to either PDI_release or PDI_reclaim.
1100  !! \param[IN] name the data name
1101  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1102  !! \param[IN] access whether the data can be accessed for read or write by
1103  !! PDI
1104  !! \param[OUT] err for error status (optional)
1105  !! \pre the user code owns the data buffer
1106  !! \post ownership of the data buffer is shared between PDI and the user code
1107  !!
1108  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1109  !! * PDI_IN means PDI can set the buffer content
1110  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1111  subroutine PDI_share_COMPLEX16_7D( name, ptr_data, access, err )
1112  character(len=*), intent(IN) :: name
1113  COMPLEX(KIND=16), pointer &
1114  , contiguous &
1115  :: ptr_data(:,:,:,:,:,:,:)
1116  integer, intent(IN) :: access
1117  integer, intent(OUT), optional :: err
1118  endsubroutine PDI_share_COMPLEX16_7D
1119  !=============================================================================
1120 
1121 
1122  !=============================================================================
1123  !< shares some data with PDI. the user code should not modify it before
1124  !! a call to either PDI_release or PDI_reclaim.
1125  !! \param[IN] name the data name
1126  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1127  !! \param[IN] access whether the data can be accessed for read or write by
1128  !! PDI
1129  !! \param[OUT] err for error status (optional)
1130  !! \pre the user code owns the data buffer
1131  !! \post ownership of the data buffer is shared between PDI and the user code
1132  !!
1133  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1134  !! * PDI_IN means PDI can set the buffer content
1135  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1136  subroutine PDI_share_INTEGER1_0D( name, ptr_data, access, err )
1137  character(len=*), intent(IN) :: name
1138  INTEGER(KIND=1), pointer &
1139  :: ptr_data
1140  integer, intent(IN) :: access
1141  integer, intent(OUT), optional :: err
1142  endsubroutine PDI_share_INTEGER1_0D
1143  !=============================================================================
1144 
1145 
1146  !=============================================================================
1147  !< shares some data with PDI. the user code should not modify it before
1148  !! a call to either PDI_release or PDI_reclaim.
1149  !! \param[IN] name the data name
1150  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1151  !! \param[IN] access whether the data can be accessed for read or write by
1152  !! PDI
1153  !! \param[OUT] err for error status (optional)
1154  !! \pre the user code owns the data buffer
1155  !! \post ownership of the data buffer is shared between PDI and the user code
1156  !!
1157  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1158  !! * PDI_IN means PDI can set the buffer content
1159  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1160  subroutine PDI_share_INTEGER1_1D( name, ptr_data, access, err )
1161  character(len=*), intent(IN) :: name
1162  INTEGER(KIND=1), pointer &
1163  , contiguous &
1164  :: ptr_data(:)
1165  integer, intent(IN) :: access
1166  integer, intent(OUT), optional :: err
1167  endsubroutine PDI_share_INTEGER1_1D
1168  !=============================================================================
1169 
1170 
1171  !=============================================================================
1172  !< shares some data with PDI. the user code should not modify it before
1173  !! a call to either PDI_release or PDI_reclaim.
1174  !! \param[IN] name the data name
1175  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1176  !! \param[IN] access whether the data can be accessed for read or write by
1177  !! PDI
1178  !! \param[OUT] err for error status (optional)
1179  !! \pre the user code owns the data buffer
1180  !! \post ownership of the data buffer is shared between PDI and the user code
1181  !!
1182  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1183  !! * PDI_IN means PDI can set the buffer content
1184  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1185  subroutine PDI_share_INTEGER1_2D( name, ptr_data, access, err )
1186  character(len=*), intent(IN) :: name
1187  INTEGER(KIND=1), pointer &
1188  , contiguous &
1189  :: ptr_data(:,:)
1190  integer, intent(IN) :: access
1191  integer, intent(OUT), optional :: err
1192  endsubroutine PDI_share_INTEGER1_2D
1193  !=============================================================================
1194 
1195 
1196  !=============================================================================
1197  !< shares some data with PDI. the user code should not modify it before
1198  !! a call to either PDI_release or PDI_reclaim.
1199  !! \param[IN] name the data name
1200  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1201  !! \param[IN] access whether the data can be accessed for read or write by
1202  !! PDI
1203  !! \param[OUT] err for error status (optional)
1204  !! \pre the user code owns the data buffer
1205  !! \post ownership of the data buffer is shared between PDI and the user code
1206  !!
1207  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1208  !! * PDI_IN means PDI can set the buffer content
1209  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1210  subroutine PDI_share_INTEGER1_3D( name, ptr_data, access, err )
1211  character(len=*), intent(IN) :: name
1212  INTEGER(KIND=1), pointer &
1213  , contiguous &
1214  :: ptr_data(:,:,:)
1215  integer, intent(IN) :: access
1216  integer, intent(OUT), optional :: err
1217  endsubroutine PDI_share_INTEGER1_3D
1218  !=============================================================================
1219 
1220 
1221  !=============================================================================
1222  !< shares some data with PDI. the user code should not modify it before
1223  !! a call to either PDI_release or PDI_reclaim.
1224  !! \param[IN] name the data name
1225  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1226  !! \param[IN] access whether the data can be accessed for read or write by
1227  !! PDI
1228  !! \param[OUT] err for error status (optional)
1229  !! \pre the user code owns the data buffer
1230  !! \post ownership of the data buffer is shared between PDI and the user code
1231  !!
1232  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1233  !! * PDI_IN means PDI can set the buffer content
1234  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1235  subroutine PDI_share_INTEGER1_4D( name, ptr_data, access, err )
1236  character(len=*), intent(IN) :: name
1237  INTEGER(KIND=1), pointer &
1238  , contiguous &
1239  :: ptr_data(:,:,:,:)
1240  integer, intent(IN) :: access
1241  integer, intent(OUT), optional :: err
1242  endsubroutine PDI_share_INTEGER1_4D
1243  !=============================================================================
1244 
1245 
1246  !=============================================================================
1247  !< shares some data with PDI. the user code should not modify it before
1248  !! a call to either PDI_release or PDI_reclaim.
1249  !! \param[IN] name the data name
1250  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1251  !! \param[IN] access whether the data can be accessed for read or write by
1252  !! PDI
1253  !! \param[OUT] err for error status (optional)
1254  !! \pre the user code owns the data buffer
1255  !! \post ownership of the data buffer is shared between PDI and the user code
1256  !!
1257  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1258  !! * PDI_IN means PDI can set the buffer content
1259  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1260  subroutine PDI_share_INTEGER1_5D( name, ptr_data, access, err )
1261  character(len=*), intent(IN) :: name
1262  INTEGER(KIND=1), pointer &
1263  , contiguous &
1264  :: ptr_data(:,:,:,:,:)
1265  integer, intent(IN) :: access
1266  integer, intent(OUT), optional :: err
1267  endsubroutine PDI_share_INTEGER1_5D
1268  !=============================================================================
1269 
1270 
1271  !=============================================================================
1272  !< shares some data with PDI. the user code should not modify it before
1273  !! a call to either PDI_release or PDI_reclaim.
1274  !! \param[IN] name the data name
1275  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1276  !! \param[IN] access whether the data can be accessed for read or write by
1277  !! PDI
1278  !! \param[OUT] err for error status (optional)
1279  !! \pre the user code owns the data buffer
1280  !! \post ownership of the data buffer is shared between PDI and the user code
1281  !!
1282  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1283  !! * PDI_IN means PDI can set the buffer content
1284  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1285  subroutine PDI_share_INTEGER1_6D( name, ptr_data, access, err )
1286  character(len=*), intent(IN) :: name
1287  INTEGER(KIND=1), pointer &
1288  , contiguous &
1289  :: ptr_data(:,:,:,:,:,:)
1290  integer, intent(IN) :: access
1291  integer, intent(OUT), optional :: err
1292  endsubroutine PDI_share_INTEGER1_6D
1293  !=============================================================================
1294 
1295 
1296  !=============================================================================
1297  !< shares some data with PDI. the user code should not modify it before
1298  !! a call to either PDI_release or PDI_reclaim.
1299  !! \param[IN] name the data name
1300  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1301  !! \param[IN] access whether the data can be accessed for read or write by
1302  !! PDI
1303  !! \param[OUT] err for error status (optional)
1304  !! \pre the user code owns the data buffer
1305  !! \post ownership of the data buffer is shared between PDI and the user code
1306  !!
1307  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1308  !! * PDI_IN means PDI can set the buffer content
1309  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1310  subroutine PDI_share_INTEGER1_7D( name, ptr_data, access, err )
1311  character(len=*), intent(IN) :: name
1312  INTEGER(KIND=1), pointer &
1313  , contiguous &
1314  :: ptr_data(:,:,:,:,:,:,:)
1315  integer, intent(IN) :: access
1316  integer, intent(OUT), optional :: err
1317  endsubroutine PDI_share_INTEGER1_7D
1318  !=============================================================================
1319 
1320 
1321  !=============================================================================
1322  !< shares some data with PDI. the user code should not modify it before
1323  !! a call to either PDI_release or PDI_reclaim.
1324  !! \param[IN] name the data name
1325  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1326  !! \param[IN] access whether the data can be accessed for read or write by
1327  !! PDI
1328  !! \param[OUT] err for error status (optional)
1329  !! \pre the user code owns the data buffer
1330  !! \post ownership of the data buffer is shared between PDI and the user code
1331  !!
1332  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1333  !! * PDI_IN means PDI can set the buffer content
1334  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1335  subroutine PDI_share_INTEGER2_0D( name, ptr_data, access, err )
1336  character(len=*), intent(IN) :: name
1337  INTEGER(KIND=2), pointer &
1338  :: ptr_data
1339  integer, intent(IN) :: access
1340  integer, intent(OUT), optional :: err
1341  endsubroutine PDI_share_INTEGER2_0D
1342  !=============================================================================
1343 
1344 
1345  !=============================================================================
1346  !< shares some data with PDI. the user code should not modify it before
1347  !! a call to either PDI_release or PDI_reclaim.
1348  !! \param[IN] name the data name
1349  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1350  !! \param[IN] access whether the data can be accessed for read or write by
1351  !! PDI
1352  !! \param[OUT] err for error status (optional)
1353  !! \pre the user code owns the data buffer
1354  !! \post ownership of the data buffer is shared between PDI and the user code
1355  !!
1356  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1357  !! * PDI_IN means PDI can set the buffer content
1358  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1359  subroutine PDI_share_INTEGER2_1D( name, ptr_data, access, err )
1360  character(len=*), intent(IN) :: name
1361  INTEGER(KIND=2), pointer &
1362  , contiguous &
1363  :: ptr_data(:)
1364  integer, intent(IN) :: access
1365  integer, intent(OUT), optional :: err
1366  endsubroutine PDI_share_INTEGER2_1D
1367  !=============================================================================
1368 
1369 
1370  !=============================================================================
1371  !< shares some data with PDI. the user code should not modify it before
1372  !! a call to either PDI_release or PDI_reclaim.
1373  !! \param[IN] name the data name
1374  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1375  !! \param[IN] access whether the data can be accessed for read or write by
1376  !! PDI
1377  !! \param[OUT] err for error status (optional)
1378  !! \pre the user code owns the data buffer
1379  !! \post ownership of the data buffer is shared between PDI and the user code
1380  !!
1381  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1382  !! * PDI_IN means PDI can set the buffer content
1383  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1384  subroutine PDI_share_INTEGER2_2D( name, ptr_data, access, err )
1385  character(len=*), intent(IN) :: name
1386  INTEGER(KIND=2), pointer &
1387  , contiguous &
1388  :: ptr_data(:,:)
1389  integer, intent(IN) :: access
1390  integer, intent(OUT), optional :: err
1391  endsubroutine PDI_share_INTEGER2_2D
1392  !=============================================================================
1393 
1394 
1395  !=============================================================================
1396  !< shares some data with PDI. the user code should not modify it before
1397  !! a call to either PDI_release or PDI_reclaim.
1398  !! \param[IN] name the data name
1399  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1400  !! \param[IN] access whether the data can be accessed for read or write by
1401  !! PDI
1402  !! \param[OUT] err for error status (optional)
1403  !! \pre the user code owns the data buffer
1404  !! \post ownership of the data buffer is shared between PDI and the user code
1405  !!
1406  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1407  !! * PDI_IN means PDI can set the buffer content
1408  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1409  subroutine PDI_share_INTEGER2_3D( name, ptr_data, access, err )
1410  character(len=*), intent(IN) :: name
1411  INTEGER(KIND=2), pointer &
1412  , contiguous &
1413  :: ptr_data(:,:,:)
1414  integer, intent(IN) :: access
1415  integer, intent(OUT), optional :: err
1416  endsubroutine PDI_share_INTEGER2_3D
1417  !=============================================================================
1418 
1419 
1420  !=============================================================================
1421  !< shares some data with PDI. the user code should not modify it before
1422  !! a call to either PDI_release or PDI_reclaim.
1423  !! \param[IN] name the data name
1424  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1425  !! \param[IN] access whether the data can be accessed for read or write by
1426  !! PDI
1427  !! \param[OUT] err for error status (optional)
1428  !! \pre the user code owns the data buffer
1429  !! \post ownership of the data buffer is shared between PDI and the user code
1430  !!
1431  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1432  !! * PDI_IN means PDI can set the buffer content
1433  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1434  subroutine PDI_share_INTEGER2_4D( name, ptr_data, access, err )
1435  character(len=*), intent(IN) :: name
1436  INTEGER(KIND=2), pointer &
1437  , contiguous &
1438  :: ptr_data(:,:,:,:)
1439  integer, intent(IN) :: access
1440  integer, intent(OUT), optional :: err
1441  endsubroutine PDI_share_INTEGER2_4D
1442  !=============================================================================
1443 
1444 
1445  !=============================================================================
1446  !< shares some data with PDI. the user code should not modify it before
1447  !! a call to either PDI_release or PDI_reclaim.
1448  !! \param[IN] name the data name
1449  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1450  !! \param[IN] access whether the data can be accessed for read or write by
1451  !! PDI
1452  !! \param[OUT] err for error status (optional)
1453  !! \pre the user code owns the data buffer
1454  !! \post ownership of the data buffer is shared between PDI and the user code
1455  !!
1456  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1457  !! * PDI_IN means PDI can set the buffer content
1458  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1459  subroutine PDI_share_INTEGER2_5D( name, ptr_data, access, err )
1460  character(len=*), intent(IN) :: name
1461  INTEGER(KIND=2), pointer &
1462  , contiguous &
1463  :: ptr_data(:,:,:,:,:)
1464  integer, intent(IN) :: access
1465  integer, intent(OUT), optional :: err
1466  endsubroutine PDI_share_INTEGER2_5D
1467  !=============================================================================
1468 
1469 
1470  !=============================================================================
1471  !< shares some data with PDI. the user code should not modify it before
1472  !! a call to either PDI_release or PDI_reclaim.
1473  !! \param[IN] name the data name
1474  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1475  !! \param[IN] access whether the data can be accessed for read or write by
1476  !! PDI
1477  !! \param[OUT] err for error status (optional)
1478  !! \pre the user code owns the data buffer
1479  !! \post ownership of the data buffer is shared between PDI and the user code
1480  !!
1481  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1482  !! * PDI_IN means PDI can set the buffer content
1483  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1484  subroutine PDI_share_INTEGER2_6D( name, ptr_data, access, err )
1485  character(len=*), intent(IN) :: name
1486  INTEGER(KIND=2), pointer &
1487  , contiguous &
1488  :: ptr_data(:,:,:,:,:,:)
1489  integer, intent(IN) :: access
1490  integer, intent(OUT), optional :: err
1491  endsubroutine PDI_share_INTEGER2_6D
1492  !=============================================================================
1493 
1494 
1495  !=============================================================================
1496  !< shares some data with PDI. the user code should not modify it before
1497  !! a call to either PDI_release or PDI_reclaim.
1498  !! \param[IN] name the data name
1499  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1500  !! \param[IN] access whether the data can be accessed for read or write by
1501  !! PDI
1502  !! \param[OUT] err for error status (optional)
1503  !! \pre the user code owns the data buffer
1504  !! \post ownership of the data buffer is shared between PDI and the user code
1505  !!
1506  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1507  !! * PDI_IN means PDI can set the buffer content
1508  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1509  subroutine PDI_share_INTEGER2_7D( name, ptr_data, access, err )
1510  character(len=*), intent(IN) :: name
1511  INTEGER(KIND=2), pointer &
1512  , contiguous &
1513  :: ptr_data(:,:,:,:,:,:,:)
1514  integer, intent(IN) :: access
1515  integer, intent(OUT), optional :: err
1516  endsubroutine PDI_share_INTEGER2_7D
1517  !=============================================================================
1518 
1519 
1520  !=============================================================================
1521  !< shares some data with PDI. the user code should not modify it before
1522  !! a call to either PDI_release or PDI_reclaim.
1523  !! \param[IN] name the data name
1524  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1525  !! \param[IN] access whether the data can be accessed for read or write by
1526  !! PDI
1527  !! \param[OUT] err for error status (optional)
1528  !! \pre the user code owns the data buffer
1529  !! \post ownership of the data buffer is shared between PDI and the user code
1530  !!
1531  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1532  !! * PDI_IN means PDI can set the buffer content
1533  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1534  subroutine PDI_share_INTEGER4_0D( name, ptr_data, access, err )
1535  character(len=*), intent(IN) :: name
1536  INTEGER(KIND=4), pointer &
1537  :: ptr_data
1538  integer, intent(IN) :: access
1539  integer, intent(OUT), optional :: err
1540  endsubroutine PDI_share_INTEGER4_0D
1541  !=============================================================================
1542 
1543 
1544  !=============================================================================
1545  !< shares some data with PDI. the user code should not modify it before
1546  !! a call to either PDI_release or PDI_reclaim.
1547  !! \param[IN] name the data name
1548  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1549  !! \param[IN] access whether the data can be accessed for read or write by
1550  !! PDI
1551  !! \param[OUT] err for error status (optional)
1552  !! \pre the user code owns the data buffer
1553  !! \post ownership of the data buffer is shared between PDI and the user code
1554  !!
1555  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1556  !! * PDI_IN means PDI can set the buffer content
1557  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1558  subroutine PDI_share_INTEGER4_1D( name, ptr_data, access, err )
1559  character(len=*), intent(IN) :: name
1560  INTEGER(KIND=4), pointer &
1561  , contiguous &
1562  :: ptr_data(:)
1563  integer, intent(IN) :: access
1564  integer, intent(OUT), optional :: err
1565  endsubroutine PDI_share_INTEGER4_1D
1566  !=============================================================================
1567 
1568 
1569  !=============================================================================
1570  !< shares some data with PDI. the user code should not modify it before
1571  !! a call to either PDI_release or PDI_reclaim.
1572  !! \param[IN] name the data name
1573  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1574  !! \param[IN] access whether the data can be accessed for read or write by
1575  !! PDI
1576  !! \param[OUT] err for error status (optional)
1577  !! \pre the user code owns the data buffer
1578  !! \post ownership of the data buffer is shared between PDI and the user code
1579  !!
1580  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1581  !! * PDI_IN means PDI can set the buffer content
1582  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1583  subroutine PDI_share_INTEGER4_2D( name, ptr_data, access, err )
1584  character(len=*), intent(IN) :: name
1585  INTEGER(KIND=4), pointer &
1586  , contiguous &
1587  :: ptr_data(:,:)
1588  integer, intent(IN) :: access
1589  integer, intent(OUT), optional :: err
1590  endsubroutine PDI_share_INTEGER4_2D
1591  !=============================================================================
1592 
1593 
1594  !=============================================================================
1595  !< shares some data with PDI. the user code should not modify it before
1596  !! a call to either PDI_release or PDI_reclaim.
1597  !! \param[IN] name the data name
1598  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1599  !! \param[IN] access whether the data can be accessed for read or write by
1600  !! PDI
1601  !! \param[OUT] err for error status (optional)
1602  !! \pre the user code owns the data buffer
1603  !! \post ownership of the data buffer is shared between PDI and the user code
1604  !!
1605  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1606  !! * PDI_IN means PDI can set the buffer content
1607  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1608  subroutine PDI_share_INTEGER4_3D( name, ptr_data, access, err )
1609  character(len=*), intent(IN) :: name
1610  INTEGER(KIND=4), pointer &
1611  , contiguous &
1612  :: ptr_data(:,:,:)
1613  integer, intent(IN) :: access
1614  integer, intent(OUT), optional :: err
1615  endsubroutine PDI_share_INTEGER4_3D
1616  !=============================================================================
1617 
1618 
1619  !=============================================================================
1620  !< shares some data with PDI. the user code should not modify it before
1621  !! a call to either PDI_release or PDI_reclaim.
1622  !! \param[IN] name the data name
1623  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1624  !! \param[IN] access whether the data can be accessed for read or write by
1625  !! PDI
1626  !! \param[OUT] err for error status (optional)
1627  !! \pre the user code owns the data buffer
1628  !! \post ownership of the data buffer is shared between PDI and the user code
1629  !!
1630  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1631  !! * PDI_IN means PDI can set the buffer content
1632  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1633  subroutine PDI_share_INTEGER4_4D( name, ptr_data, access, err )
1634  character(len=*), intent(IN) :: name
1635  INTEGER(KIND=4), pointer &
1636  , contiguous &
1637  :: ptr_data(:,:,:,:)
1638  integer, intent(IN) :: access
1639  integer, intent(OUT), optional :: err
1640  endsubroutine PDI_share_INTEGER4_4D
1641  !=============================================================================
1642 
1643 
1644  !=============================================================================
1645  !< shares some data with PDI. the user code should not modify it before
1646  !! a call to either PDI_release or PDI_reclaim.
1647  !! \param[IN] name the data name
1648  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1649  !! \param[IN] access whether the data can be accessed for read or write by
1650  !! PDI
1651  !! \param[OUT] err for error status (optional)
1652  !! \pre the user code owns the data buffer
1653  !! \post ownership of the data buffer is shared between PDI and the user code
1654  !!
1655  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1656  !! * PDI_IN means PDI can set the buffer content
1657  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1658  subroutine PDI_share_INTEGER4_5D( name, ptr_data, access, err )
1659  character(len=*), intent(IN) :: name
1660  INTEGER(KIND=4), pointer &
1661  , contiguous &
1662  :: ptr_data(:,:,:,:,:)
1663  integer, intent(IN) :: access
1664  integer, intent(OUT), optional :: err
1665  endsubroutine PDI_share_INTEGER4_5D
1666  !=============================================================================
1667 
1668 
1669  !=============================================================================
1670  !< shares some data with PDI. the user code should not modify it before
1671  !! a call to either PDI_release or PDI_reclaim.
1672  !! \param[IN] name the data name
1673  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1674  !! \param[IN] access whether the data can be accessed for read or write by
1675  !! PDI
1676  !! \param[OUT] err for error status (optional)
1677  !! \pre the user code owns the data buffer
1678  !! \post ownership of the data buffer is shared between PDI and the user code
1679  !!
1680  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1681  !! * PDI_IN means PDI can set the buffer content
1682  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1683  subroutine PDI_share_INTEGER4_6D( name, ptr_data, access, err )
1684  character(len=*), intent(IN) :: name
1685  INTEGER(KIND=4), pointer &
1686  , contiguous &
1687  :: ptr_data(:,:,:,:,:,:)
1688  integer, intent(IN) :: access
1689  integer, intent(OUT), optional :: err
1690  endsubroutine PDI_share_INTEGER4_6D
1691  !=============================================================================
1692 
1693 
1694  !=============================================================================
1695  !< shares some data with PDI. the user code should not modify it before
1696  !! a call to either PDI_release or PDI_reclaim.
1697  !! \param[IN] name the data name
1698  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1699  !! \param[IN] access whether the data can be accessed for read or write by
1700  !! PDI
1701  !! \param[OUT] err for error status (optional)
1702  !! \pre the user code owns the data buffer
1703  !! \post ownership of the data buffer is shared between PDI and the user code
1704  !!
1705  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1706  !! * PDI_IN means PDI can set the buffer content
1707  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1708  subroutine PDI_share_INTEGER4_7D( name, ptr_data, access, err )
1709  character(len=*), intent(IN) :: name
1710  INTEGER(KIND=4), pointer &
1711  , contiguous &
1712  :: ptr_data(:,:,:,:,:,:,:)
1713  integer, intent(IN) :: access
1714  integer, intent(OUT), optional :: err
1715  endsubroutine PDI_share_INTEGER4_7D
1716  !=============================================================================
1717 
1718 
1719  !=============================================================================
1720  !< shares some data with PDI. the user code should not modify it before
1721  !! a call to either PDI_release or PDI_reclaim.
1722  !! \param[IN] name the data name
1723  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1724  !! \param[IN] access whether the data can be accessed for read or write by
1725  !! PDI
1726  !! \param[OUT] err for error status (optional)
1727  !! \pre the user code owns the data buffer
1728  !! \post ownership of the data buffer is shared between PDI and the user code
1729  !!
1730  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1731  !! * PDI_IN means PDI can set the buffer content
1732  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1733  subroutine PDI_share_INTEGER8_0D( name, ptr_data, access, err )
1734  character(len=*), intent(IN) :: name
1735  INTEGER(KIND=8), pointer &
1736  :: ptr_data
1737  integer, intent(IN) :: access
1738  integer, intent(OUT), optional :: err
1739  endsubroutine PDI_share_INTEGER8_0D
1740  !=============================================================================
1741 
1742 
1743  !=============================================================================
1744  !< shares some data with PDI. the user code should not modify it before
1745  !! a call to either PDI_release or PDI_reclaim.
1746  !! \param[IN] name the data name
1747  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1748  !! \param[IN] access whether the data can be accessed for read or write by
1749  !! PDI
1750  !! \param[OUT] err for error status (optional)
1751  !! \pre the user code owns the data buffer
1752  !! \post ownership of the data buffer is shared between PDI and the user code
1753  !!
1754  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1755  !! * PDI_IN means PDI can set the buffer content
1756  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1757  subroutine PDI_share_INTEGER8_1D( name, ptr_data, access, err )
1758  character(len=*), intent(IN) :: name
1759  INTEGER(KIND=8), pointer &
1760  , contiguous &
1761  :: ptr_data(:)
1762  integer, intent(IN) :: access
1763  integer, intent(OUT), optional :: err
1764  endsubroutine PDI_share_INTEGER8_1D
1765  !=============================================================================
1766 
1767 
1768  !=============================================================================
1769  !< shares some data with PDI. the user code should not modify it before
1770  !! a call to either PDI_release or PDI_reclaim.
1771  !! \param[IN] name the data name
1772  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1773  !! \param[IN] access whether the data can be accessed for read or write by
1774  !! PDI
1775  !! \param[OUT] err for error status (optional)
1776  !! \pre the user code owns the data buffer
1777  !! \post ownership of the data buffer is shared between PDI and the user code
1778  !!
1779  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1780  !! * PDI_IN means PDI can set the buffer content
1781  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1782  subroutine PDI_share_INTEGER8_2D( name, ptr_data, access, err )
1783  character(len=*), intent(IN) :: name
1784  INTEGER(KIND=8), pointer &
1785  , contiguous &
1786  :: ptr_data(:,:)
1787  integer, intent(IN) :: access
1788  integer, intent(OUT), optional :: err
1789  endsubroutine PDI_share_INTEGER8_2D
1790  !=============================================================================
1791 
1792 
1793  !=============================================================================
1794  !< shares some data with PDI. the user code should not modify it before
1795  !! a call to either PDI_release or PDI_reclaim.
1796  !! \param[IN] name the data name
1797  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1798  !! \param[IN] access whether the data can be accessed for read or write by
1799  !! PDI
1800  !! \param[OUT] err for error status (optional)
1801  !! \pre the user code owns the data buffer
1802  !! \post ownership of the data buffer is shared between PDI and the user code
1803  !!
1804  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1805  !! * PDI_IN means PDI can set the buffer content
1806  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1807  subroutine PDI_share_INTEGER8_3D( name, ptr_data, access, err )
1808  character(len=*), intent(IN) :: name
1809  INTEGER(KIND=8), pointer &
1810  , contiguous &
1811  :: ptr_data(:,:,:)
1812  integer, intent(IN) :: access
1813  integer, intent(OUT), optional :: err
1814  endsubroutine PDI_share_INTEGER8_3D
1815  !=============================================================================
1816 
1817 
1818  !=============================================================================
1819  !< shares some data with PDI. the user code should not modify it before
1820  !! a call to either PDI_release or PDI_reclaim.
1821  !! \param[IN] name the data name
1822  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1823  !! \param[IN] access whether the data can be accessed for read or write by
1824  !! PDI
1825  !! \param[OUT] err for error status (optional)
1826  !! \pre the user code owns the data buffer
1827  !! \post ownership of the data buffer is shared between PDI and the user code
1828  !!
1829  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1830  !! * PDI_IN means PDI can set the buffer content
1831  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1832  subroutine PDI_share_INTEGER8_4D( name, ptr_data, access, err )
1833  character(len=*), intent(IN) :: name
1834  INTEGER(KIND=8), pointer &
1835  , contiguous &
1836  :: ptr_data(:,:,:,:)
1837  integer, intent(IN) :: access
1838  integer, intent(OUT), optional :: err
1839  endsubroutine PDI_share_INTEGER8_4D
1840  !=============================================================================
1841 
1842 
1843  !=============================================================================
1844  !< shares some data with PDI. the user code should not modify it before
1845  !! a call to either PDI_release or PDI_reclaim.
1846  !! \param[IN] name the data name
1847  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1848  !! \param[IN] access whether the data can be accessed for read or write by
1849  !! PDI
1850  !! \param[OUT] err for error status (optional)
1851  !! \pre the user code owns the data buffer
1852  !! \post ownership of the data buffer is shared between PDI and the user code
1853  !!
1854  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1855  !! * PDI_IN means PDI can set the buffer content
1856  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1857  subroutine PDI_share_INTEGER8_5D( name, ptr_data, access, err )
1858  character(len=*), intent(IN) :: name
1859  INTEGER(KIND=8), pointer &
1860  , contiguous &
1861  :: ptr_data(:,:,:,:,:)
1862  integer, intent(IN) :: access
1863  integer, intent(OUT), optional :: err
1864  endsubroutine PDI_share_INTEGER8_5D
1865  !=============================================================================
1866 
1867 
1868  !=============================================================================
1869  !< shares some data with PDI. the user code should not modify it before
1870  !! a call to either PDI_release or PDI_reclaim.
1871  !! \param[IN] name the data name
1872  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1873  !! \param[IN] access whether the data can be accessed for read or write by
1874  !! PDI
1875  !! \param[OUT] err for error status (optional)
1876  !! \pre the user code owns the data buffer
1877  !! \post ownership of the data buffer is shared between PDI and the user code
1878  !!
1879  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1880  !! * PDI_IN means PDI can set the buffer content
1881  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1882  subroutine PDI_share_INTEGER8_6D( name, ptr_data, access, err )
1883  character(len=*), intent(IN) :: name
1884  INTEGER(KIND=8), pointer &
1885  , contiguous &
1886  :: ptr_data(:,:,:,:,:,:)
1887  integer, intent(IN) :: access
1888  integer, intent(OUT), optional :: err
1889  endsubroutine PDI_share_INTEGER8_6D
1890  !=============================================================================
1891 
1892 
1893  !=============================================================================
1894  !< shares some data with PDI. the user code should not modify it before
1895  !! a call to either PDI_release or PDI_reclaim.
1896  !! \param[IN] name the data name
1897  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1898  !! \param[IN] access whether the data can be accessed for read or write by
1899  !! PDI
1900  !! \param[OUT] err for error status (optional)
1901  !! \pre the user code owns the data buffer
1902  !! \post ownership of the data buffer is shared between PDI and the user code
1903  !!
1904  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1905  !! * PDI_IN means PDI can set the buffer content
1906  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1907  subroutine PDI_share_INTEGER8_7D( name, ptr_data, access, err )
1908  character(len=*), intent(IN) :: name
1909  INTEGER(KIND=8), pointer &
1910  , contiguous &
1911  :: ptr_data(:,:,:,:,:,:,:)
1912  integer, intent(IN) :: access
1913  integer, intent(OUT), optional :: err
1914  endsubroutine PDI_share_INTEGER8_7D
1915  !=============================================================================
1916 
1917 
1918  !=============================================================================
1919  !< shares some data with PDI. the user code should not modify it before
1920  !! a call to either PDI_release or PDI_reclaim.
1921  !! \param[IN] name the data name
1922  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1923  !! \param[IN] access whether the data can be accessed for read or write by
1924  !! PDI
1925  !! \param[OUT] err for error status (optional)
1926  !! \pre the user code owns the data buffer
1927  !! \post ownership of the data buffer is shared between PDI and the user code
1928  !!
1929  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1930  !! * PDI_IN means PDI can set the buffer content
1931  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1932  subroutine PDI_share_INTEGER16_0D( name, ptr_data, access, err )
1933  character(len=*), intent(IN) :: name
1934  INTEGER(KIND=16), pointer &
1935  :: ptr_data
1936  integer, intent(IN) :: access
1937  integer, intent(OUT), optional :: err
1938  endsubroutine PDI_share_INTEGER16_0D
1939  !=============================================================================
1940 
1941 
1942  !=============================================================================
1943  !< shares some data with PDI. the user code should not modify it before
1944  !! a call to either PDI_release or PDI_reclaim.
1945  !! \param[IN] name the data name
1946  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1947  !! \param[IN] access whether the data can be accessed for read or write by
1948  !! PDI
1949  !! \param[OUT] err for error status (optional)
1950  !! \pre the user code owns the data buffer
1951  !! \post ownership of the data buffer is shared between PDI and the user code
1952  !!
1953  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1954  !! * PDI_IN means PDI can set the buffer content
1955  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1956  subroutine PDI_share_INTEGER16_1D( name, ptr_data, access, err )
1957  character(len=*), intent(IN) :: name
1958  INTEGER(KIND=16), pointer &
1959  , contiguous &
1960  :: ptr_data(:)
1961  integer, intent(IN) :: access
1962  integer, intent(OUT), optional :: err
1963  endsubroutine PDI_share_INTEGER16_1D
1964  !=============================================================================
1965 
1966 
1967  !=============================================================================
1968  !< shares some data with PDI. the user code should not modify it before
1969  !! a call to either PDI_release or PDI_reclaim.
1970  !! \param[IN] name the data name
1971  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1972  !! \param[IN] access whether the data can be accessed for read or write by
1973  !! PDI
1974  !! \param[OUT] err for error status (optional)
1975  !! \pre the user code owns the data buffer
1976  !! \post ownership of the data buffer is shared between PDI and the user code
1977  !!
1978  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
1979  !! * PDI_IN means PDI can set the buffer content
1980  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
1981  subroutine PDI_share_INTEGER16_2D( name, ptr_data, access, err )
1982  character(len=*), intent(IN) :: name
1983  INTEGER(KIND=16), pointer &
1984  , contiguous &
1985  :: ptr_data(:,:)
1986  integer, intent(IN) :: access
1987  integer, intent(OUT), optional :: err
1988  endsubroutine PDI_share_INTEGER16_2D
1989  !=============================================================================
1990 
1991 
1992  !=============================================================================
1993  !< shares some data with PDI. the user code should not modify it before
1994  !! a call to either PDI_release or PDI_reclaim.
1995  !! \param[IN] name the data name
1996  !! \param[IN,OUT] ptr_data the pointer to the trageted data
1997  !! \param[IN] access whether the data can be accessed for read or write by
1998  !! PDI
1999  !! \param[OUT] err for error status (optional)
2000  !! \pre the user code owns the data buffer
2001  !! \post ownership of the data buffer is shared between PDI and the user code
2002  !!
2003  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2004  !! * PDI_IN means PDI can set the buffer content
2005  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2006  subroutine PDI_share_INTEGER16_3D( name, ptr_data, access, err )
2007  character(len=*), intent(IN) :: name
2008  INTEGER(KIND=16), pointer &
2009  , contiguous &
2010  :: ptr_data(:,:,:)
2011  integer, intent(IN) :: access
2012  integer, intent(OUT), optional :: err
2013  endsubroutine PDI_share_INTEGER16_3D
2014  !=============================================================================
2015 
2016 
2017  !=============================================================================
2018  !< shares some data with PDI. the user code should not modify it before
2019  !! a call to either PDI_release or PDI_reclaim.
2020  !! \param[IN] name the data name
2021  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2022  !! \param[IN] access whether the data can be accessed for read or write by
2023  !! PDI
2024  !! \param[OUT] err for error status (optional)
2025  !! \pre the user code owns the data buffer
2026  !! \post ownership of the data buffer is shared between PDI and the user code
2027  !!
2028  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2029  !! * PDI_IN means PDI can set the buffer content
2030  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2031  subroutine PDI_share_INTEGER16_4D( name, ptr_data, access, err )
2032  character(len=*), intent(IN) :: name
2033  INTEGER(KIND=16), pointer &
2034  , contiguous &
2035  :: ptr_data(:,:,:,:)
2036  integer, intent(IN) :: access
2037  integer, intent(OUT), optional :: err
2038  endsubroutine PDI_share_INTEGER16_4D
2039  !=============================================================================
2040 
2041 
2042  !=============================================================================
2043  !< shares some data with PDI. the user code should not modify it before
2044  !! a call to either PDI_release or PDI_reclaim.
2045  !! \param[IN] name the data name
2046  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2047  !! \param[IN] access whether the data can be accessed for read or write by
2048  !! PDI
2049  !! \param[OUT] err for error status (optional)
2050  !! \pre the user code owns the data buffer
2051  !! \post ownership of the data buffer is shared between PDI and the user code
2052  !!
2053  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2054  !! * PDI_IN means PDI can set the buffer content
2055  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2056  subroutine PDI_share_INTEGER16_5D( name, ptr_data, access, err )
2057  character(len=*), intent(IN) :: name
2058  INTEGER(KIND=16), pointer &
2059  , contiguous &
2060  :: ptr_data(:,:,:,:,:)
2061  integer, intent(IN) :: access
2062  integer, intent(OUT), optional :: err
2063  endsubroutine PDI_share_INTEGER16_5D
2064  !=============================================================================
2065 
2066 
2067  !=============================================================================
2068  !< shares some data with PDI. the user code should not modify it before
2069  !! a call to either PDI_release or PDI_reclaim.
2070  !! \param[IN] name the data name
2071  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2072  !! \param[IN] access whether the data can be accessed for read or write by
2073  !! PDI
2074  !! \param[OUT] err for error status (optional)
2075  !! \pre the user code owns the data buffer
2076  !! \post ownership of the data buffer is shared between PDI and the user code
2077  !!
2078  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2079  !! * PDI_IN means PDI can set the buffer content
2080  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2081  subroutine PDI_share_INTEGER16_6D( name, ptr_data, access, err )
2082  character(len=*), intent(IN) :: name
2083  INTEGER(KIND=16), pointer &
2084  , contiguous &
2085  :: ptr_data(:,:,:,:,:,:)
2086  integer, intent(IN) :: access
2087  integer, intent(OUT), optional :: err
2088  endsubroutine PDI_share_INTEGER16_6D
2089  !=============================================================================
2090 
2091 
2092  !=============================================================================
2093  !< shares some data with PDI. the user code should not modify it before
2094  !! a call to either PDI_release or PDI_reclaim.
2095  !! \param[IN] name the data name
2096  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2097  !! \param[IN] access whether the data can be accessed for read or write by
2098  !! PDI
2099  !! \param[OUT] err for error status (optional)
2100  !! \pre the user code owns the data buffer
2101  !! \post ownership of the data buffer is shared between PDI and the user code
2102  !!
2103  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2104  !! * PDI_IN means PDI can set the buffer content
2105  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2106  subroutine PDI_share_INTEGER16_7D( name, ptr_data, access, err )
2107  character(len=*), intent(IN) :: name
2108  INTEGER(KIND=16), pointer &
2109  , contiguous &
2110  :: ptr_data(:,:,:,:,:,:,:)
2111  integer, intent(IN) :: access
2112  integer, intent(OUT), optional :: err
2113  endsubroutine PDI_share_INTEGER16_7D
2114  !=============================================================================
2115 
2116 
2117  !=============================================================================
2118  !< shares some data with PDI. the user code should not modify it before
2119  !! a call to either PDI_release or PDI_reclaim.
2120  !! \param[IN] name the data name
2121  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2122  !! \param[IN] access whether the data can be accessed for read or write by
2123  !! PDI
2124  !! \param[OUT] err for error status (optional)
2125  !! \pre the user code owns the data buffer
2126  !! \post ownership of the data buffer is shared between PDI and the user code
2127  !!
2128  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2129  !! * PDI_IN means PDI can set the buffer content
2130  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2131  subroutine PDI_share_LOGICAL1_0D( name, ptr_data, access, err )
2132  character(len=*), intent(IN) :: name
2133  LOGICAL(KIND=1), pointer &
2134  :: ptr_data
2135  integer, intent(IN) :: access
2136  integer, intent(OUT), optional :: err
2137  endsubroutine PDI_share_LOGICAL1_0D
2138  !=============================================================================
2139 
2140 
2141  !=============================================================================
2142  !< shares some data with PDI. the user code should not modify it before
2143  !! a call to either PDI_release or PDI_reclaim.
2144  !! \param[IN] name the data name
2145  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2146  !! \param[IN] access whether the data can be accessed for read or write by
2147  !! PDI
2148  !! \param[OUT] err for error status (optional)
2149  !! \pre the user code owns the data buffer
2150  !! \post ownership of the data buffer is shared between PDI and the user code
2151  !!
2152  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2153  !! * PDI_IN means PDI can set the buffer content
2154  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2155  subroutine PDI_share_LOGICAL1_1D( name, ptr_data, access, err )
2156  character(len=*), intent(IN) :: name
2157  LOGICAL(KIND=1), pointer &
2158  , contiguous &
2159  :: ptr_data(:)
2160  integer, intent(IN) :: access
2161  integer, intent(OUT), optional :: err
2162  endsubroutine PDI_share_LOGICAL1_1D
2163  !=============================================================================
2164 
2165 
2166  !=============================================================================
2167  !< shares some data with PDI. the user code should not modify it before
2168  !! a call to either PDI_release or PDI_reclaim.
2169  !! \param[IN] name the data name
2170  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2171  !! \param[IN] access whether the data can be accessed for read or write by
2172  !! PDI
2173  !! \param[OUT] err for error status (optional)
2174  !! \pre the user code owns the data buffer
2175  !! \post ownership of the data buffer is shared between PDI and the user code
2176  !!
2177  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2178  !! * PDI_IN means PDI can set the buffer content
2179  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2180  subroutine PDI_share_LOGICAL1_2D( name, ptr_data, access, err )
2181  character(len=*), intent(IN) :: name
2182  LOGICAL(KIND=1), pointer &
2183  , contiguous &
2184  :: ptr_data(:,:)
2185  integer, intent(IN) :: access
2186  integer, intent(OUT), optional :: err
2187  endsubroutine PDI_share_LOGICAL1_2D
2188  !=============================================================================
2189 
2190 
2191  !=============================================================================
2192  !< shares some data with PDI. the user code should not modify it before
2193  !! a call to either PDI_release or PDI_reclaim.
2194  !! \param[IN] name the data name
2195  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2196  !! \param[IN] access whether the data can be accessed for read or write by
2197  !! PDI
2198  !! \param[OUT] err for error status (optional)
2199  !! \pre the user code owns the data buffer
2200  !! \post ownership of the data buffer is shared between PDI and the user code
2201  !!
2202  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2203  !! * PDI_IN means PDI can set the buffer content
2204  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2205  subroutine PDI_share_LOGICAL1_3D( name, ptr_data, access, err )
2206  character(len=*), intent(IN) :: name
2207  LOGICAL(KIND=1), pointer &
2208  , contiguous &
2209  :: ptr_data(:,:,:)
2210  integer, intent(IN) :: access
2211  integer, intent(OUT), optional :: err
2212  endsubroutine PDI_share_LOGICAL1_3D
2213  !=============================================================================
2214 
2215 
2216  !=============================================================================
2217  !< shares some data with PDI. the user code should not modify it before
2218  !! a call to either PDI_release or PDI_reclaim.
2219  !! \param[IN] name the data name
2220  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2221  !! \param[IN] access whether the data can be accessed for read or write by
2222  !! PDI
2223  !! \param[OUT] err for error status (optional)
2224  !! \pre the user code owns the data buffer
2225  !! \post ownership of the data buffer is shared between PDI and the user code
2226  !!
2227  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2228  !! * PDI_IN means PDI can set the buffer content
2229  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2230  subroutine PDI_share_LOGICAL1_4D( name, ptr_data, access, err )
2231  character(len=*), intent(IN) :: name
2232  LOGICAL(KIND=1), pointer &
2233  , contiguous &
2234  :: ptr_data(:,:,:,:)
2235  integer, intent(IN) :: access
2236  integer, intent(OUT), optional :: err
2237  endsubroutine PDI_share_LOGICAL1_4D
2238  !=============================================================================
2239 
2240 
2241  !=============================================================================
2242  !< shares some data with PDI. the user code should not modify it before
2243  !! a call to either PDI_release or PDI_reclaim.
2244  !! \param[IN] name the data name
2245  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2246  !! \param[IN] access whether the data can be accessed for read or write by
2247  !! PDI
2248  !! \param[OUT] err for error status (optional)
2249  !! \pre the user code owns the data buffer
2250  !! \post ownership of the data buffer is shared between PDI and the user code
2251  !!
2252  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2253  !! * PDI_IN means PDI can set the buffer content
2254  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2255  subroutine PDI_share_LOGICAL1_5D( name, ptr_data, access, err )
2256  character(len=*), intent(IN) :: name
2257  LOGICAL(KIND=1), pointer &
2258  , contiguous &
2259  :: ptr_data(:,:,:,:,:)
2260  integer, intent(IN) :: access
2261  integer, intent(OUT), optional :: err
2262  endsubroutine PDI_share_LOGICAL1_5D
2263  !=============================================================================
2264 
2265 
2266  !=============================================================================
2267  !< shares some data with PDI. the user code should not modify it before
2268  !! a call to either PDI_release or PDI_reclaim.
2269  !! \param[IN] name the data name
2270  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2271  !! \param[IN] access whether the data can be accessed for read or write by
2272  !! PDI
2273  !! \param[OUT] err for error status (optional)
2274  !! \pre the user code owns the data buffer
2275  !! \post ownership of the data buffer is shared between PDI and the user code
2276  !!
2277  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2278  !! * PDI_IN means PDI can set the buffer content
2279  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2280  subroutine PDI_share_LOGICAL1_6D( name, ptr_data, access, err )
2281  character(len=*), intent(IN) :: name
2282  LOGICAL(KIND=1), pointer &
2283  , contiguous &
2284  :: ptr_data(:,:,:,:,:,:)
2285  integer, intent(IN) :: access
2286  integer, intent(OUT), optional :: err
2287  endsubroutine PDI_share_LOGICAL1_6D
2288  !=============================================================================
2289 
2290 
2291  !=============================================================================
2292  !< shares some data with PDI. the user code should not modify it before
2293  !! a call to either PDI_release or PDI_reclaim.
2294  !! \param[IN] name the data name
2295  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2296  !! \param[IN] access whether the data can be accessed for read or write by
2297  !! PDI
2298  !! \param[OUT] err for error status (optional)
2299  !! \pre the user code owns the data buffer
2300  !! \post ownership of the data buffer is shared between PDI and the user code
2301  !!
2302  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2303  !! * PDI_IN means PDI can set the buffer content
2304  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2305  subroutine PDI_share_LOGICAL1_7D( name, ptr_data, access, err )
2306  character(len=*), intent(IN) :: name
2307  LOGICAL(KIND=1), pointer &
2308  , contiguous &
2309  :: ptr_data(:,:,:,:,:,:,:)
2310  integer, intent(IN) :: access
2311  integer, intent(OUT), optional :: err
2312  endsubroutine PDI_share_LOGICAL1_7D
2313  !=============================================================================
2314 
2315 
2316  !=============================================================================
2317  !< shares some data with PDI. the user code should not modify it before
2318  !! a call to either PDI_release or PDI_reclaim.
2319  !! \param[IN] name the data name
2320  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2321  !! \param[IN] access whether the data can be accessed for read or write by
2322  !! PDI
2323  !! \param[OUT] err for error status (optional)
2324  !! \pre the user code owns the data buffer
2325  !! \post ownership of the data buffer is shared between PDI and the user code
2326  !!
2327  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2328  !! * PDI_IN means PDI can set the buffer content
2329  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2330  subroutine PDI_share_LOGICAL2_0D( name, ptr_data, access, err )
2331  character(len=*), intent(IN) :: name
2332  LOGICAL(KIND=2), pointer &
2333  :: ptr_data
2334  integer, intent(IN) :: access
2335  integer, intent(OUT), optional :: err
2336  endsubroutine PDI_share_LOGICAL2_0D
2337  !=============================================================================
2338 
2339 
2340  !=============================================================================
2341  !< shares some data with PDI. the user code should not modify it before
2342  !! a call to either PDI_release or PDI_reclaim.
2343  !! \param[IN] name the data name
2344  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2345  !! \param[IN] access whether the data can be accessed for read or write by
2346  !! PDI
2347  !! \param[OUT] err for error status (optional)
2348  !! \pre the user code owns the data buffer
2349  !! \post ownership of the data buffer is shared between PDI and the user code
2350  !!
2351  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2352  !! * PDI_IN means PDI can set the buffer content
2353  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2354  subroutine PDI_share_LOGICAL2_1D( name, ptr_data, access, err )
2355  character(len=*), intent(IN) :: name
2356  LOGICAL(KIND=2), pointer &
2357  , contiguous &
2358  :: ptr_data(:)
2359  integer, intent(IN) :: access
2360  integer, intent(OUT), optional :: err
2361  endsubroutine PDI_share_LOGICAL2_1D
2362  !=============================================================================
2363 
2364 
2365  !=============================================================================
2366  !< shares some data with PDI. the user code should not modify it before
2367  !! a call to either PDI_release or PDI_reclaim.
2368  !! \param[IN] name the data name
2369  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2370  !! \param[IN] access whether the data can be accessed for read or write by
2371  !! PDI
2372  !! \param[OUT] err for error status (optional)
2373  !! \pre the user code owns the data buffer
2374  !! \post ownership of the data buffer is shared between PDI and the user code
2375  !!
2376  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2377  !! * PDI_IN means PDI can set the buffer content
2378  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2379  subroutine PDI_share_LOGICAL2_2D( name, ptr_data, access, err )
2380  character(len=*), intent(IN) :: name
2381  LOGICAL(KIND=2), pointer &
2382  , contiguous &
2383  :: ptr_data(:,:)
2384  integer, intent(IN) :: access
2385  integer, intent(OUT), optional :: err
2386  endsubroutine PDI_share_LOGICAL2_2D
2387  !=============================================================================
2388 
2389 
2390  !=============================================================================
2391  !< shares some data with PDI. the user code should not modify it before
2392  !! a call to either PDI_release or PDI_reclaim.
2393  !! \param[IN] name the data name
2394  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2395  !! \param[IN] access whether the data can be accessed for read or write by
2396  !! PDI
2397  !! \param[OUT] err for error status (optional)
2398  !! \pre the user code owns the data buffer
2399  !! \post ownership of the data buffer is shared between PDI and the user code
2400  !!
2401  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2402  !! * PDI_IN means PDI can set the buffer content
2403  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2404  subroutine PDI_share_LOGICAL2_3D( name, ptr_data, access, err )
2405  character(len=*), intent(IN) :: name
2406  LOGICAL(KIND=2), pointer &
2407  , contiguous &
2408  :: ptr_data(:,:,:)
2409  integer, intent(IN) :: access
2410  integer, intent(OUT), optional :: err
2411  endsubroutine PDI_share_LOGICAL2_3D
2412  !=============================================================================
2413 
2414 
2415  !=============================================================================
2416  !< shares some data with PDI. the user code should not modify it before
2417  !! a call to either PDI_release or PDI_reclaim.
2418  !! \param[IN] name the data name
2419  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2420  !! \param[IN] access whether the data can be accessed for read or write by
2421  !! PDI
2422  !! \param[OUT] err for error status (optional)
2423  !! \pre the user code owns the data buffer
2424  !! \post ownership of the data buffer is shared between PDI and the user code
2425  !!
2426  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2427  !! * PDI_IN means PDI can set the buffer content
2428  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2429  subroutine PDI_share_LOGICAL2_4D( name, ptr_data, access, err )
2430  character(len=*), intent(IN) :: name
2431  LOGICAL(KIND=2), pointer &
2432  , contiguous &
2433  :: ptr_data(:,:,:,:)
2434  integer, intent(IN) :: access
2435  integer, intent(OUT), optional :: err
2436  endsubroutine PDI_share_LOGICAL2_4D
2437  !=============================================================================
2438 
2439 
2440  !=============================================================================
2441  !< shares some data with PDI. the user code should not modify it before
2442  !! a call to either PDI_release or PDI_reclaim.
2443  !! \param[IN] name the data name
2444  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2445  !! \param[IN] access whether the data can be accessed for read or write by
2446  !! PDI
2447  !! \param[OUT] err for error status (optional)
2448  !! \pre the user code owns the data buffer
2449  !! \post ownership of the data buffer is shared between PDI and the user code
2450  !!
2451  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2452  !! * PDI_IN means PDI can set the buffer content
2453  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2454  subroutine PDI_share_LOGICAL2_5D( name, ptr_data, access, err )
2455  character(len=*), intent(IN) :: name
2456  LOGICAL(KIND=2), pointer &
2457  , contiguous &
2458  :: ptr_data(:,:,:,:,:)
2459  integer, intent(IN) :: access
2460  integer, intent(OUT), optional :: err
2461  endsubroutine PDI_share_LOGICAL2_5D
2462  !=============================================================================
2463 
2464 
2465  !=============================================================================
2466  !< shares some data with PDI. the user code should not modify it before
2467  !! a call to either PDI_release or PDI_reclaim.
2468  !! \param[IN] name the data name
2469  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2470  !! \param[IN] access whether the data can be accessed for read or write by
2471  !! PDI
2472  !! \param[OUT] err for error status (optional)
2473  !! \pre the user code owns the data buffer
2474  !! \post ownership of the data buffer is shared between PDI and the user code
2475  !!
2476  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2477  !! * PDI_IN means PDI can set the buffer content
2478  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2479  subroutine PDI_share_LOGICAL2_6D( name, ptr_data, access, err )
2480  character(len=*), intent(IN) :: name
2481  LOGICAL(KIND=2), pointer &
2482  , contiguous &
2483  :: ptr_data(:,:,:,:,:,:)
2484  integer, intent(IN) :: access
2485  integer, intent(OUT), optional :: err
2486  endsubroutine PDI_share_LOGICAL2_6D
2487  !=============================================================================
2488 
2489 
2490  !=============================================================================
2491  !< shares some data with PDI. the user code should not modify it before
2492  !! a call to either PDI_release or PDI_reclaim.
2493  !! \param[IN] name the data name
2494  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2495  !! \param[IN] access whether the data can be accessed for read or write by
2496  !! PDI
2497  !! \param[OUT] err for error status (optional)
2498  !! \pre the user code owns the data buffer
2499  !! \post ownership of the data buffer is shared between PDI and the user code
2500  !!
2501  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2502  !! * PDI_IN means PDI can set the buffer content
2503  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2504  subroutine PDI_share_LOGICAL2_7D( name, ptr_data, access, err )
2505  character(len=*), intent(IN) :: name
2506  LOGICAL(KIND=2), pointer &
2507  , contiguous &
2508  :: ptr_data(:,:,:,:,:,:,:)
2509  integer, intent(IN) :: access
2510  integer, intent(OUT), optional :: err
2511  endsubroutine PDI_share_LOGICAL2_7D
2512  !=============================================================================
2513 
2514 
2515  !=============================================================================
2516  !< shares some data with PDI. the user code should not modify it before
2517  !! a call to either PDI_release or PDI_reclaim.
2518  !! \param[IN] name the data name
2519  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2520  !! \param[IN] access whether the data can be accessed for read or write by
2521  !! PDI
2522  !! \param[OUT] err for error status (optional)
2523  !! \pre the user code owns the data buffer
2524  !! \post ownership of the data buffer is shared between PDI and the user code
2525  !!
2526  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2527  !! * PDI_IN means PDI can set the buffer content
2528  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2529  subroutine PDI_share_LOGICAL4_0D( name, ptr_data, access, err )
2530  character(len=*), intent(IN) :: name
2531  LOGICAL(KIND=4), pointer &
2532  :: ptr_data
2533  integer, intent(IN) :: access
2534  integer, intent(OUT), optional :: err
2535  endsubroutine PDI_share_LOGICAL4_0D
2536  !=============================================================================
2537 
2538 
2539  !=============================================================================
2540  !< shares some data with PDI. the user code should not modify it before
2541  !! a call to either PDI_release or PDI_reclaim.
2542  !! \param[IN] name the data name
2543  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2544  !! \param[IN] access whether the data can be accessed for read or write by
2545  !! PDI
2546  !! \param[OUT] err for error status (optional)
2547  !! \pre the user code owns the data buffer
2548  !! \post ownership of the data buffer is shared between PDI and the user code
2549  !!
2550  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2551  !! * PDI_IN means PDI can set the buffer content
2552  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2553  subroutine PDI_share_LOGICAL4_1D( name, ptr_data, access, err )
2554  character(len=*), intent(IN) :: name
2555  LOGICAL(KIND=4), pointer &
2556  , contiguous &
2557  :: ptr_data(:)
2558  integer, intent(IN) :: access
2559  integer, intent(OUT), optional :: err
2560  endsubroutine PDI_share_LOGICAL4_1D
2561  !=============================================================================
2562 
2563 
2564  !=============================================================================
2565  !< shares some data with PDI. the user code should not modify it before
2566  !! a call to either PDI_release or PDI_reclaim.
2567  !! \param[IN] name the data name
2568  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2569  !! \param[IN] access whether the data can be accessed for read or write by
2570  !! PDI
2571  !! \param[OUT] err for error status (optional)
2572  !! \pre the user code owns the data buffer
2573  !! \post ownership of the data buffer is shared between PDI and the user code
2574  !!
2575  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2576  !! * PDI_IN means PDI can set the buffer content
2577  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2578  subroutine PDI_share_LOGICAL4_2D( name, ptr_data, access, err )
2579  character(len=*), intent(IN) :: name
2580  LOGICAL(KIND=4), pointer &
2581  , contiguous &
2582  :: ptr_data(:,:)
2583  integer, intent(IN) :: access
2584  integer, intent(OUT), optional :: err
2585  endsubroutine PDI_share_LOGICAL4_2D
2586  !=============================================================================
2587 
2588 
2589  !=============================================================================
2590  !< shares some data with PDI. the user code should not modify it before
2591  !! a call to either PDI_release or PDI_reclaim.
2592  !! \param[IN] name the data name
2593  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2594  !! \param[IN] access whether the data can be accessed for read or write by
2595  !! PDI
2596  !! \param[OUT] err for error status (optional)
2597  !! \pre the user code owns the data buffer
2598  !! \post ownership of the data buffer is shared between PDI and the user code
2599  !!
2600  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2601  !! * PDI_IN means PDI can set the buffer content
2602  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2603  subroutine PDI_share_LOGICAL4_3D( name, ptr_data, access, err )
2604  character(len=*), intent(IN) :: name
2605  LOGICAL(KIND=4), pointer &
2606  , contiguous &
2607  :: ptr_data(:,:,:)
2608  integer, intent(IN) :: access
2609  integer, intent(OUT), optional :: err
2610  endsubroutine PDI_share_LOGICAL4_3D
2611  !=============================================================================
2612 
2613 
2614  !=============================================================================
2615  !< shares some data with PDI. the user code should not modify it before
2616  !! a call to either PDI_release or PDI_reclaim.
2617  !! \param[IN] name the data name
2618  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2619  !! \param[IN] access whether the data can be accessed for read or write by
2620  !! PDI
2621  !! \param[OUT] err for error status (optional)
2622  !! \pre the user code owns the data buffer
2623  !! \post ownership of the data buffer is shared between PDI and the user code
2624  !!
2625  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2626  !! * PDI_IN means PDI can set the buffer content
2627  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2628  subroutine PDI_share_LOGICAL4_4D( name, ptr_data, access, err )
2629  character(len=*), intent(IN) :: name
2630  LOGICAL(KIND=4), pointer &
2631  , contiguous &
2632  :: ptr_data(:,:,:,:)
2633  integer, intent(IN) :: access
2634  integer, intent(OUT), optional :: err
2635  endsubroutine PDI_share_LOGICAL4_4D
2636  !=============================================================================
2637 
2638 
2639  !=============================================================================
2640  !< shares some data with PDI. the user code should not modify it before
2641  !! a call to either PDI_release or PDI_reclaim.
2642  !! \param[IN] name the data name
2643  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2644  !! \param[IN] access whether the data can be accessed for read or write by
2645  !! PDI
2646  !! \param[OUT] err for error status (optional)
2647  !! \pre the user code owns the data buffer
2648  !! \post ownership of the data buffer is shared between PDI and the user code
2649  !!
2650  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2651  !! * PDI_IN means PDI can set the buffer content
2652  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2653  subroutine PDI_share_LOGICAL4_5D( name, ptr_data, access, err )
2654  character(len=*), intent(IN) :: name
2655  LOGICAL(KIND=4), pointer &
2656  , contiguous &
2657  :: ptr_data(:,:,:,:,:)
2658  integer, intent(IN) :: access
2659  integer, intent(OUT), optional :: err
2660  endsubroutine PDI_share_LOGICAL4_5D
2661  !=============================================================================
2662 
2663 
2664  !=============================================================================
2665  !< shares some data with PDI. the user code should not modify it before
2666  !! a call to either PDI_release or PDI_reclaim.
2667  !! \param[IN] name the data name
2668  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2669  !! \param[IN] access whether the data can be accessed for read or write by
2670  !! PDI
2671  !! \param[OUT] err for error status (optional)
2672  !! \pre the user code owns the data buffer
2673  !! \post ownership of the data buffer is shared between PDI and the user code
2674  !!
2675  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2676  !! * PDI_IN means PDI can set the buffer content
2677  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2678  subroutine PDI_share_LOGICAL4_6D( name, ptr_data, access, err )
2679  character(len=*), intent(IN) :: name
2680  LOGICAL(KIND=4), pointer &
2681  , contiguous &
2682  :: ptr_data(:,:,:,:,:,:)
2683  integer, intent(IN) :: access
2684  integer, intent(OUT), optional :: err
2685  endsubroutine PDI_share_LOGICAL4_6D
2686  !=============================================================================
2687 
2688 
2689  !=============================================================================
2690  !< shares some data with PDI. the user code should not modify it before
2691  !! a call to either PDI_release or PDI_reclaim.
2692  !! \param[IN] name the data name
2693  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2694  !! \param[IN] access whether the data can be accessed for read or write by
2695  !! PDI
2696  !! \param[OUT] err for error status (optional)
2697  !! \pre the user code owns the data buffer
2698  !! \post ownership of the data buffer is shared between PDI and the user code
2699  !!
2700  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2701  !! * PDI_IN means PDI can set the buffer content
2702  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2703  subroutine PDI_share_LOGICAL4_7D( name, ptr_data, access, err )
2704  character(len=*), intent(IN) :: name
2705  LOGICAL(KIND=4), pointer &
2706  , contiguous &
2707  :: ptr_data(:,:,:,:,:,:,:)
2708  integer, intent(IN) :: access
2709  integer, intent(OUT), optional :: err
2710  endsubroutine PDI_share_LOGICAL4_7D
2711  !=============================================================================
2712 
2713 
2714  !=============================================================================
2715  !< shares some data with PDI. the user code should not modify it before
2716  !! a call to either PDI_release or PDI_reclaim.
2717  !! \param[IN] name the data name
2718  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2719  !! \param[IN] access whether the data can be accessed for read or write by
2720  !! PDI
2721  !! \param[OUT] err for error status (optional)
2722  !! \pre the user code owns the data buffer
2723  !! \post ownership of the data buffer is shared between PDI and the user code
2724  !!
2725  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2726  !! * PDI_IN means PDI can set the buffer content
2727  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2728  subroutine PDI_share_LOGICAL8_0D( name, ptr_data, access, err )
2729  character(len=*), intent(IN) :: name
2730  LOGICAL(KIND=8), pointer &
2731  :: ptr_data
2732  integer, intent(IN) :: access
2733  integer, intent(OUT), optional :: err
2734  endsubroutine PDI_share_LOGICAL8_0D
2735  !=============================================================================
2736 
2737 
2738  !=============================================================================
2739  !< shares some data with PDI. the user code should not modify it before
2740  !! a call to either PDI_release or PDI_reclaim.
2741  !! \param[IN] name the data name
2742  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2743  !! \param[IN] access whether the data can be accessed for read or write by
2744  !! PDI
2745  !! \param[OUT] err for error status (optional)
2746  !! \pre the user code owns the data buffer
2747  !! \post ownership of the data buffer is shared between PDI and the user code
2748  !!
2749  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2750  !! * PDI_IN means PDI can set the buffer content
2751  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2752  subroutine PDI_share_LOGICAL8_1D( name, ptr_data, access, err )
2753  character(len=*), intent(IN) :: name
2754  LOGICAL(KIND=8), pointer &
2755  , contiguous &
2756  :: ptr_data(:)
2757  integer, intent(IN) :: access
2758  integer, intent(OUT), optional :: err
2759  endsubroutine PDI_share_LOGICAL8_1D
2760  !=============================================================================
2761 
2762 
2763  !=============================================================================
2764  !< shares some data with PDI. the user code should not modify it before
2765  !! a call to either PDI_release or PDI_reclaim.
2766  !! \param[IN] name the data name
2767  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2768  !! \param[IN] access whether the data can be accessed for read or write by
2769  !! PDI
2770  !! \param[OUT] err for error status (optional)
2771  !! \pre the user code owns the data buffer
2772  !! \post ownership of the data buffer is shared between PDI and the user code
2773  !!
2774  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2775  !! * PDI_IN means PDI can set the buffer content
2776  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2777  subroutine PDI_share_LOGICAL8_2D( name, ptr_data, access, err )
2778  character(len=*), intent(IN) :: name
2779  LOGICAL(KIND=8), pointer &
2780  , contiguous &
2781  :: ptr_data(:,:)
2782  integer, intent(IN) :: access
2783  integer, intent(OUT), optional :: err
2784  endsubroutine PDI_share_LOGICAL8_2D
2785  !=============================================================================
2786 
2787 
2788  !=============================================================================
2789  !< shares some data with PDI. the user code should not modify it before
2790  !! a call to either PDI_release or PDI_reclaim.
2791  !! \param[IN] name the data name
2792  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2793  !! \param[IN] access whether the data can be accessed for read or write by
2794  !! PDI
2795  !! \param[OUT] err for error status (optional)
2796  !! \pre the user code owns the data buffer
2797  !! \post ownership of the data buffer is shared between PDI and the user code
2798  !!
2799  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2800  !! * PDI_IN means PDI can set the buffer content
2801  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2802  subroutine PDI_share_LOGICAL8_3D( name, ptr_data, access, err )
2803  character(len=*), intent(IN) :: name
2804  LOGICAL(KIND=8), pointer &
2805  , contiguous &
2806  :: ptr_data(:,:,:)
2807  integer, intent(IN) :: access
2808  integer, intent(OUT), optional :: err
2809  endsubroutine PDI_share_LOGICAL8_3D
2810  !=============================================================================
2811 
2812 
2813  !=============================================================================
2814  !< shares some data with PDI. the user code should not modify it before
2815  !! a call to either PDI_release or PDI_reclaim.
2816  !! \param[IN] name the data name
2817  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2818  !! \param[IN] access whether the data can be accessed for read or write by
2819  !! PDI
2820  !! \param[OUT] err for error status (optional)
2821  !! \pre the user code owns the data buffer
2822  !! \post ownership of the data buffer is shared between PDI and the user code
2823  !!
2824  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2825  !! * PDI_IN means PDI can set the buffer content
2826  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2827  subroutine PDI_share_LOGICAL8_4D( name, ptr_data, access, err )
2828  character(len=*), intent(IN) :: name
2829  LOGICAL(KIND=8), pointer &
2830  , contiguous &
2831  :: ptr_data(:,:,:,:)
2832  integer, intent(IN) :: access
2833  integer, intent(OUT), optional :: err
2834  endsubroutine PDI_share_LOGICAL8_4D
2835  !=============================================================================
2836 
2837 
2838  !=============================================================================
2839  !< shares some data with PDI. the user code should not modify it before
2840  !! a call to either PDI_release or PDI_reclaim.
2841  !! \param[IN] name the data name
2842  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2843  !! \param[IN] access whether the data can be accessed for read or write by
2844  !! PDI
2845  !! \param[OUT] err for error status (optional)
2846  !! \pre the user code owns the data buffer
2847  !! \post ownership of the data buffer is shared between PDI and the user code
2848  !!
2849  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2850  !! * PDI_IN means PDI can set the buffer content
2851  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2852  subroutine PDI_share_LOGICAL8_5D( name, ptr_data, access, err )
2853  character(len=*), intent(IN) :: name
2854  LOGICAL(KIND=8), pointer &
2855  , contiguous &
2856  :: ptr_data(:,:,:,:,:)
2857  integer, intent(IN) :: access
2858  integer, intent(OUT), optional :: err
2859  endsubroutine PDI_share_LOGICAL8_5D
2860  !=============================================================================
2861 
2862 
2863  !=============================================================================
2864  !< shares some data with PDI. the user code should not modify it before
2865  !! a call to either PDI_release or PDI_reclaim.
2866  !! \param[IN] name the data name
2867  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2868  !! \param[IN] access whether the data can be accessed for read or write by
2869  !! PDI
2870  !! \param[OUT] err for error status (optional)
2871  !! \pre the user code owns the data buffer
2872  !! \post ownership of the data buffer is shared between PDI and the user code
2873  !!
2874  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2875  !! * PDI_IN means PDI can set the buffer content
2876  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2877  subroutine PDI_share_LOGICAL8_6D( name, ptr_data, access, err )
2878  character(len=*), intent(IN) :: name
2879  LOGICAL(KIND=8), pointer &
2880  , contiguous &
2881  :: ptr_data(:,:,:,:,:,:)
2882  integer, intent(IN) :: access
2883  integer, intent(OUT), optional :: err
2884  endsubroutine PDI_share_LOGICAL8_6D
2885  !=============================================================================
2886 
2887 
2888  !=============================================================================
2889  !< shares some data with PDI. the user code should not modify it before
2890  !! a call to either PDI_release or PDI_reclaim.
2891  !! \param[IN] name the data name
2892  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2893  !! \param[IN] access whether the data can be accessed for read or write by
2894  !! PDI
2895  !! \param[OUT] err for error status (optional)
2896  !! \pre the user code owns the data buffer
2897  !! \post ownership of the data buffer is shared between PDI and the user code
2898  !!
2899  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2900  !! * PDI_IN means PDI can set the buffer content
2901  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2902  subroutine PDI_share_LOGICAL8_7D( name, ptr_data, access, err )
2903  character(len=*), intent(IN) :: name
2904  LOGICAL(KIND=8), pointer &
2905  , contiguous &
2906  :: ptr_data(:,:,:,:,:,:,:)
2907  integer, intent(IN) :: access
2908  integer, intent(OUT), optional :: err
2909  endsubroutine PDI_share_LOGICAL8_7D
2910  !=============================================================================
2911 
2912 
2913  !=============================================================================
2914  !< shares some data with PDI. the user code should not modify it before
2915  !! a call to either PDI_release or PDI_reclaim.
2916  !! \param[IN] name the data name
2917  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2918  !! \param[IN] access whether the data can be accessed for read or write by
2919  !! PDI
2920  !! \param[OUT] err for error status (optional)
2921  !! \pre the user code owns the data buffer
2922  !! \post ownership of the data buffer is shared between PDI and the user code
2923  !!
2924  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2925  !! * PDI_IN means PDI can set the buffer content
2926  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2927  subroutine PDI_share_LOGICAL16_0D( name, ptr_data, access, err )
2928  character(len=*), intent(IN) :: name
2929  LOGICAL(KIND=16), pointer &
2930  :: ptr_data
2931  integer, intent(IN) :: access
2932  integer, intent(OUT), optional :: err
2933  endsubroutine PDI_share_LOGICAL16_0D
2934  !=============================================================================
2935 
2936 
2937  !=============================================================================
2938  !< shares some data with PDI. the user code should not modify it before
2939  !! a call to either PDI_release or PDI_reclaim.
2940  !! \param[IN] name the data name
2941  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2942  !! \param[IN] access whether the data can be accessed for read or write by
2943  !! PDI
2944  !! \param[OUT] err for error status (optional)
2945  !! \pre the user code owns the data buffer
2946  !! \post ownership of the data buffer is shared between PDI and the user code
2947  !!
2948  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2949  !! * PDI_IN means PDI can set the buffer content
2950  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2951  subroutine PDI_share_LOGICAL16_1D( name, ptr_data, access, err )
2952  character(len=*), intent(IN) :: name
2953  LOGICAL(KIND=16), pointer &
2954  , contiguous &
2955  :: ptr_data(:)
2956  integer, intent(IN) :: access
2957  integer, intent(OUT), optional :: err
2958  endsubroutine PDI_share_LOGICAL16_1D
2959  !=============================================================================
2960 
2961 
2962  !=============================================================================
2963  !< shares some data with PDI. the user code should not modify it before
2964  !! a call to either PDI_release or PDI_reclaim.
2965  !! \param[IN] name the data name
2966  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2967  !! \param[IN] access whether the data can be accessed for read or write by
2968  !! PDI
2969  !! \param[OUT] err for error status (optional)
2970  !! \pre the user code owns the data buffer
2971  !! \post ownership of the data buffer is shared between PDI and the user code
2972  !!
2973  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2974  !! * PDI_IN means PDI can set the buffer content
2975  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
2976  subroutine PDI_share_LOGICAL16_2D( name, ptr_data, access, err )
2977  character(len=*), intent(IN) :: name
2978  LOGICAL(KIND=16), pointer &
2979  , contiguous &
2980  :: ptr_data(:,:)
2981  integer, intent(IN) :: access
2982  integer, intent(OUT), optional :: err
2983  endsubroutine PDI_share_LOGICAL16_2D
2984  !=============================================================================
2985 
2986 
2987  !=============================================================================
2988  !< shares some data with PDI. the user code should not modify it before
2989  !! a call to either PDI_release or PDI_reclaim.
2990  !! \param[IN] name the data name
2991  !! \param[IN,OUT] ptr_data the pointer to the trageted data
2992  !! \param[IN] access whether the data can be accessed for read or write by
2993  !! PDI
2994  !! \param[OUT] err for error status (optional)
2995  !! \pre the user code owns the data buffer
2996  !! \post ownership of the data buffer is shared between PDI and the user code
2997  !!
2998  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
2999  !! * PDI_IN means PDI can set the buffer content
3000  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3001  subroutine PDI_share_LOGICAL16_3D( name, ptr_data, access, err )
3002  character(len=*), intent(IN) :: name
3003  LOGICAL(KIND=16), pointer &
3004  , contiguous &
3005  :: ptr_data(:,:,:)
3006  integer, intent(IN) :: access
3007  integer, intent(OUT), optional :: err
3008  endsubroutine PDI_share_LOGICAL16_3D
3009  !=============================================================================
3010 
3011 
3012  !=============================================================================
3013  !< shares some data with PDI. the user code should not modify it before
3014  !! a call to either PDI_release or PDI_reclaim.
3015  !! \param[IN] name the data name
3016  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3017  !! \param[IN] access whether the data can be accessed for read or write by
3018  !! PDI
3019  !! \param[OUT] err for error status (optional)
3020  !! \pre the user code owns the data buffer
3021  !! \post ownership of the data buffer is shared between PDI and the user code
3022  !!
3023  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3024  !! * PDI_IN means PDI can set the buffer content
3025  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3026  subroutine PDI_share_LOGICAL16_4D( name, ptr_data, access, err )
3027  character(len=*), intent(IN) :: name
3028  LOGICAL(KIND=16), pointer &
3029  , contiguous &
3030  :: ptr_data(:,:,:,:)
3031  integer, intent(IN) :: access
3032  integer, intent(OUT), optional :: err
3033  endsubroutine PDI_share_LOGICAL16_4D
3034  !=============================================================================
3035 
3036 
3037  !=============================================================================
3038  !< shares some data with PDI. the user code should not modify it before
3039  !! a call to either PDI_release or PDI_reclaim.
3040  !! \param[IN] name the data name
3041  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3042  !! \param[IN] access whether the data can be accessed for read or write by
3043  !! PDI
3044  !! \param[OUT] err for error status (optional)
3045  !! \pre the user code owns the data buffer
3046  !! \post ownership of the data buffer is shared between PDI and the user code
3047  !!
3048  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3049  !! * PDI_IN means PDI can set the buffer content
3050  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3051  subroutine PDI_share_LOGICAL16_5D( name, ptr_data, access, err )
3052  character(len=*), intent(IN) :: name
3053  LOGICAL(KIND=16), pointer &
3054  , contiguous &
3055  :: ptr_data(:,:,:,:,:)
3056  integer, intent(IN) :: access
3057  integer, intent(OUT), optional :: err
3058  endsubroutine PDI_share_LOGICAL16_5D
3059  !=============================================================================
3060 
3061 
3062  !=============================================================================
3063  !< shares some data with PDI. the user code should not modify it before
3064  !! a call to either PDI_release or PDI_reclaim.
3065  !! \param[IN] name the data name
3066  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3067  !! \param[IN] access whether the data can be accessed for read or write by
3068  !! PDI
3069  !! \param[OUT] err for error status (optional)
3070  !! \pre the user code owns the data buffer
3071  !! \post ownership of the data buffer is shared between PDI and the user code
3072  !!
3073  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3074  !! * PDI_IN means PDI can set the buffer content
3075  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3076  subroutine PDI_share_LOGICAL16_6D( name, ptr_data, access, err )
3077  character(len=*), intent(IN) :: name
3078  LOGICAL(KIND=16), pointer &
3079  , contiguous &
3080  :: ptr_data(:,:,:,:,:,:)
3081  integer, intent(IN) :: access
3082  integer, intent(OUT), optional :: err
3083  endsubroutine PDI_share_LOGICAL16_6D
3084  !=============================================================================
3085 
3086 
3087  !=============================================================================
3088  !< shares some data with PDI. the user code should not modify it before
3089  !! a call to either PDI_release or PDI_reclaim.
3090  !! \param[IN] name the data name
3091  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3092  !! \param[IN] access whether the data can be accessed for read or write by
3093  !! PDI
3094  !! \param[OUT] err for error status (optional)
3095  !! \pre the user code owns the data buffer
3096  !! \post ownership of the data buffer is shared between PDI and the user code
3097  !!
3098  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3099  !! * PDI_IN means PDI can set the buffer content
3100  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3101  subroutine PDI_share_LOGICAL16_7D( name, ptr_data, access, err )
3102  character(len=*), intent(IN) :: name
3103  LOGICAL(KIND=16), pointer &
3104  , contiguous &
3105  :: ptr_data(:,:,:,:,:,:,:)
3106  integer, intent(IN) :: access
3107  integer, intent(OUT), optional :: err
3108  endsubroutine PDI_share_LOGICAL16_7D
3109  !=============================================================================
3110 
3111 
3112  !=============================================================================
3113  !< shares some data with PDI. the user code should not modify it before
3114  !! a call to either PDI_release or PDI_reclaim.
3115  !! \param[IN] name the data name
3116  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3117  !! \param[IN] access whether the data can be accessed for read or write by
3118  !! PDI
3119  !! \param[OUT] err for error status (optional)
3120  !! \pre the user code owns the data buffer
3121  !! \post ownership of the data buffer is shared between PDI and the user code
3122  !!
3123  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3124  !! * PDI_IN means PDI can set the buffer content
3125  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3126  subroutine PDI_share_REAL4_0D( name, ptr_data, access, err )
3127  character(len=*), intent(IN) :: name
3128  REAL(KIND=4), pointer &
3129  :: ptr_data
3130  integer, intent(IN) :: access
3131  integer, intent(OUT), optional :: err
3132  endsubroutine PDI_share_REAL4_0D
3133  !=============================================================================
3134 
3135 
3136  !=============================================================================
3137  !< shares some data with PDI. the user code should not modify it before
3138  !! a call to either PDI_release or PDI_reclaim.
3139  !! \param[IN] name the data name
3140  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3141  !! \param[IN] access whether the data can be accessed for read or write by
3142  !! PDI
3143  !! \param[OUT] err for error status (optional)
3144  !! \pre the user code owns the data buffer
3145  !! \post ownership of the data buffer is shared between PDI and the user code
3146  !!
3147  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3148  !! * PDI_IN means PDI can set the buffer content
3149  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3150  subroutine PDI_share_REAL4_1D( name, ptr_data, access, err )
3151  character(len=*), intent(IN) :: name
3152  REAL(KIND=4), pointer &
3153  , contiguous &
3154  :: ptr_data(:)
3155  integer, intent(IN) :: access
3156  integer, intent(OUT), optional :: err
3157  endsubroutine PDI_share_REAL4_1D
3158  !=============================================================================
3159 
3160 
3161  !=============================================================================
3162  !< shares some data with PDI. the user code should not modify it before
3163  !! a call to either PDI_release or PDI_reclaim.
3164  !! \param[IN] name the data name
3165  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3166  !! \param[IN] access whether the data can be accessed for read or write by
3167  !! PDI
3168  !! \param[OUT] err for error status (optional)
3169  !! \pre the user code owns the data buffer
3170  !! \post ownership of the data buffer is shared between PDI and the user code
3171  !!
3172  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3173  !! * PDI_IN means PDI can set the buffer content
3174  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3175  subroutine PDI_share_REAL4_2D( name, ptr_data, access, err )
3176  character(len=*), intent(IN) :: name
3177  REAL(KIND=4), pointer &
3178  , contiguous &
3179  :: ptr_data(:,:)
3180  integer, intent(IN) :: access
3181  integer, intent(OUT), optional :: err
3182  endsubroutine PDI_share_REAL4_2D
3183  !=============================================================================
3184 
3185 
3186  !=============================================================================
3187  !< shares some data with PDI. the user code should not modify it before
3188  !! a call to either PDI_release or PDI_reclaim.
3189  !! \param[IN] name the data name
3190  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3191  !! \param[IN] access whether the data can be accessed for read or write by
3192  !! PDI
3193  !! \param[OUT] err for error status (optional)
3194  !! \pre the user code owns the data buffer
3195  !! \post ownership of the data buffer is shared between PDI and the user code
3196  !!
3197  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3198  !! * PDI_IN means PDI can set the buffer content
3199  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3200  subroutine PDI_share_REAL4_3D( name, ptr_data, access, err )
3201  character(len=*), intent(IN) :: name
3202  REAL(KIND=4), pointer &
3203  , contiguous &
3204  :: ptr_data(:,:,:)
3205  integer, intent(IN) :: access
3206  integer, intent(OUT), optional :: err
3207  endsubroutine PDI_share_REAL4_3D
3208  !=============================================================================
3209 
3210 
3211  !=============================================================================
3212  !< shares some data with PDI. the user code should not modify it before
3213  !! a call to either PDI_release or PDI_reclaim.
3214  !! \param[IN] name the data name
3215  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3216  !! \param[IN] access whether the data can be accessed for read or write by
3217  !! PDI
3218  !! \param[OUT] err for error status (optional)
3219  !! \pre the user code owns the data buffer
3220  !! \post ownership of the data buffer is shared between PDI and the user code
3221  !!
3222  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3223  !! * PDI_IN means PDI can set the buffer content
3224  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3225  subroutine PDI_share_REAL4_4D( name, ptr_data, access, err )
3226  character(len=*), intent(IN) :: name
3227  REAL(KIND=4), pointer &
3228  , contiguous &
3229  :: ptr_data(:,:,:,:)
3230  integer, intent(IN) :: access
3231  integer, intent(OUT), optional :: err
3232  endsubroutine PDI_share_REAL4_4D
3233  !=============================================================================
3234 
3235 
3236  !=============================================================================
3237  !< shares some data with PDI. the user code should not modify it before
3238  !! a call to either PDI_release or PDI_reclaim.
3239  !! \param[IN] name the data name
3240  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3241  !! \param[IN] access whether the data can be accessed for read or write by
3242  !! PDI
3243  !! \param[OUT] err for error status (optional)
3244  !! \pre the user code owns the data buffer
3245  !! \post ownership of the data buffer is shared between PDI and the user code
3246  !!
3247  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3248  !! * PDI_IN means PDI can set the buffer content
3249  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3250  subroutine PDI_share_REAL4_5D( name, ptr_data, access, err )
3251  character(len=*), intent(IN) :: name
3252  REAL(KIND=4), pointer &
3253  , contiguous &
3254  :: ptr_data(:,:,:,:,:)
3255  integer, intent(IN) :: access
3256  integer, intent(OUT), optional :: err
3257  endsubroutine PDI_share_REAL4_5D
3258  !=============================================================================
3259 
3260 
3261  !=============================================================================
3262  !< shares some data with PDI. the user code should not modify it before
3263  !! a call to either PDI_release or PDI_reclaim.
3264  !! \param[IN] name the data name
3265  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3266  !! \param[IN] access whether the data can be accessed for read or write by
3267  !! PDI
3268  !! \param[OUT] err for error status (optional)
3269  !! \pre the user code owns the data buffer
3270  !! \post ownership of the data buffer is shared between PDI and the user code
3271  !!
3272  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3273  !! * PDI_IN means PDI can set the buffer content
3274  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3275  subroutine PDI_share_REAL4_6D( name, ptr_data, access, err )
3276  character(len=*), intent(IN) :: name
3277  REAL(KIND=4), pointer &
3278  , contiguous &
3279  :: ptr_data(:,:,:,:,:,:)
3280  integer, intent(IN) :: access
3281  integer, intent(OUT), optional :: err
3282  endsubroutine PDI_share_REAL4_6D
3283  !=============================================================================
3284 
3285 
3286  !=============================================================================
3287  !< shares some data with PDI. the user code should not modify it before
3288  !! a call to either PDI_release or PDI_reclaim.
3289  !! \param[IN] name the data name
3290  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3291  !! \param[IN] access whether the data can be accessed for read or write by
3292  !! PDI
3293  !! \param[OUT] err for error status (optional)
3294  !! \pre the user code owns the data buffer
3295  !! \post ownership of the data buffer is shared between PDI and the user code
3296  !!
3297  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3298  !! * PDI_IN means PDI can set the buffer content
3299  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3300  subroutine PDI_share_REAL4_7D( name, ptr_data, access, err )
3301  character(len=*), intent(IN) :: name
3302  REAL(KIND=4), pointer &
3303  , contiguous &
3304  :: ptr_data(:,:,:,:,:,:,:)
3305  integer, intent(IN) :: access
3306  integer, intent(OUT), optional :: err
3307  endsubroutine PDI_share_REAL4_7D
3308  !=============================================================================
3309 
3310 
3311  !=============================================================================
3312  !< shares some data with PDI. the user code should not modify it before
3313  !! a call to either PDI_release or PDI_reclaim.
3314  !! \param[IN] name the data name
3315  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3316  !! \param[IN] access whether the data can be accessed for read or write by
3317  !! PDI
3318  !! \param[OUT] err for error status (optional)
3319  !! \pre the user code owns the data buffer
3320  !! \post ownership of the data buffer is shared between PDI and the user code
3321  !!
3322  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3323  !! * PDI_IN means PDI can set the buffer content
3324  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3325  subroutine PDI_share_REAL8_0D( name, ptr_data, access, err )
3326  character(len=*), intent(IN) :: name
3327  REAL(KIND=8), pointer &
3328  :: ptr_data
3329  integer, intent(IN) :: access
3330  integer, intent(OUT), optional :: err
3331  endsubroutine PDI_share_REAL8_0D
3332  !=============================================================================
3333 
3334 
3335  !=============================================================================
3336  !< shares some data with PDI. the user code should not modify it before
3337  !! a call to either PDI_release or PDI_reclaim.
3338  !! \param[IN] name the data name
3339  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3340  !! \param[IN] access whether the data can be accessed for read or write by
3341  !! PDI
3342  !! \param[OUT] err for error status (optional)
3343  !! \pre the user code owns the data buffer
3344  !! \post ownership of the data buffer is shared between PDI and the user code
3345  !!
3346  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3347  !! * PDI_IN means PDI can set the buffer content
3348  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3349  subroutine PDI_share_REAL8_1D( name, ptr_data, access, err )
3350  character(len=*), intent(IN) :: name
3351  REAL(KIND=8), pointer &
3352  , contiguous &
3353  :: ptr_data(:)
3354  integer, intent(IN) :: access
3355  integer, intent(OUT), optional :: err
3356  endsubroutine PDI_share_REAL8_1D
3357  !=============================================================================
3358 
3359 
3360  !=============================================================================
3361  !< shares some data with PDI. the user code should not modify it before
3362  !! a call to either PDI_release or PDI_reclaim.
3363  !! \param[IN] name the data name
3364  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3365  !! \param[IN] access whether the data can be accessed for read or write by
3366  !! PDI
3367  !! \param[OUT] err for error status (optional)
3368  !! \pre the user code owns the data buffer
3369  !! \post ownership of the data buffer is shared between PDI and the user code
3370  !!
3371  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3372  !! * PDI_IN means PDI can set the buffer content
3373  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3374  subroutine PDI_share_REAL8_2D( name, ptr_data, access, err )
3375  character(len=*), intent(IN) :: name
3376  REAL(KIND=8), pointer &
3377  , contiguous &
3378  :: ptr_data(:,:)
3379  integer, intent(IN) :: access
3380  integer, intent(OUT), optional :: err
3381  endsubroutine PDI_share_REAL8_2D
3382  !=============================================================================
3383 
3384 
3385  !=============================================================================
3386  !< shares some data with PDI. the user code should not modify it before
3387  !! a call to either PDI_release or PDI_reclaim.
3388  !! \param[IN] name the data name
3389  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3390  !! \param[IN] access whether the data can be accessed for read or write by
3391  !! PDI
3392  !! \param[OUT] err for error status (optional)
3393  !! \pre the user code owns the data buffer
3394  !! \post ownership of the data buffer is shared between PDI and the user code
3395  !!
3396  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3397  !! * PDI_IN means PDI can set the buffer content
3398  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3399  subroutine PDI_share_REAL8_3D( name, ptr_data, access, err )
3400  character(len=*), intent(IN) :: name
3401  REAL(KIND=8), pointer &
3402  , contiguous &
3403  :: ptr_data(:,:,:)
3404  integer, intent(IN) :: access
3405  integer, intent(OUT), optional :: err
3406  endsubroutine PDI_share_REAL8_3D
3407  !=============================================================================
3408 
3409 
3410  !=============================================================================
3411  !< shares some data with PDI. the user code should not modify it before
3412  !! a call to either PDI_release or PDI_reclaim.
3413  !! \param[IN] name the data name
3414  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3415  !! \param[IN] access whether the data can be accessed for read or write by
3416  !! PDI
3417  !! \param[OUT] err for error status (optional)
3418  !! \pre the user code owns the data buffer
3419  !! \post ownership of the data buffer is shared between PDI and the user code
3420  !!
3421  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3422  !! * PDI_IN means PDI can set the buffer content
3423  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3424  subroutine PDI_share_REAL8_4D( name, ptr_data, access, err )
3425  character(len=*), intent(IN) :: name
3426  REAL(KIND=8), pointer &
3427  , contiguous &
3428  :: ptr_data(:,:,:,:)
3429  integer, intent(IN) :: access
3430  integer, intent(OUT), optional :: err
3431  endsubroutine PDI_share_REAL8_4D
3432  !=============================================================================
3433 
3434 
3435  !=============================================================================
3436  !< shares some data with PDI. the user code should not modify it before
3437  !! a call to either PDI_release or PDI_reclaim.
3438  !! \param[IN] name the data name
3439  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3440  !! \param[IN] access whether the data can be accessed for read or write by
3441  !! PDI
3442  !! \param[OUT] err for error status (optional)
3443  !! \pre the user code owns the data buffer
3444  !! \post ownership of the data buffer is shared between PDI and the user code
3445  !!
3446  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3447  !! * PDI_IN means PDI can set the buffer content
3448  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3449  subroutine PDI_share_REAL8_5D( name, ptr_data, access, err )
3450  character(len=*), intent(IN) :: name
3451  REAL(KIND=8), pointer &
3452  , contiguous &
3453  :: ptr_data(:,:,:,:,:)
3454  integer, intent(IN) :: access
3455  integer, intent(OUT), optional :: err
3456  endsubroutine PDI_share_REAL8_5D
3457  !=============================================================================
3458 
3459 
3460  !=============================================================================
3461  !< shares some data with PDI. the user code should not modify it before
3462  !! a call to either PDI_release or PDI_reclaim.
3463  !! \param[IN] name the data name
3464  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3465  !! \param[IN] access whether the data can be accessed for read or write by
3466  !! PDI
3467  !! \param[OUT] err for error status (optional)
3468  !! \pre the user code owns the data buffer
3469  !! \post ownership of the data buffer is shared between PDI and the user code
3470  !!
3471  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3472  !! * PDI_IN means PDI can set the buffer content
3473  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3474  subroutine PDI_share_REAL8_6D( name, ptr_data, access, err )
3475  character(len=*), intent(IN) :: name
3476  REAL(KIND=8), pointer &
3477  , contiguous &
3478  :: ptr_data(:,:,:,:,:,:)
3479  integer, intent(IN) :: access
3480  integer, intent(OUT), optional :: err
3481  endsubroutine PDI_share_REAL8_6D
3482  !=============================================================================
3483 
3484 
3485  !=============================================================================
3486  !< shares some data with PDI. the user code should not modify it before
3487  !! a call to either PDI_release or PDI_reclaim.
3488  !! \param[IN] name the data name
3489  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3490  !! \param[IN] access whether the data can be accessed for read or write by
3491  !! PDI
3492  !! \param[OUT] err for error status (optional)
3493  !! \pre the user code owns the data buffer
3494  !! \post ownership of the data buffer is shared between PDI and the user code
3495  !!
3496  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3497  !! * PDI_IN means PDI can set the buffer content
3498  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3499  subroutine PDI_share_REAL8_7D( name, ptr_data, access, err )
3500  character(len=*), intent(IN) :: name
3501  REAL(KIND=8), pointer &
3502  , contiguous &
3503  :: ptr_data(:,:,:,:,:,:,:)
3504  integer, intent(IN) :: access
3505  integer, intent(OUT), optional :: err
3506  endsubroutine PDI_share_REAL8_7D
3507  !=============================================================================
3508 
3509 
3510  !=============================================================================
3511  !< shares some data with PDI. the user code should not modify it before
3512  !! a call to either PDI_release or PDI_reclaim.
3513  !! \param[IN] name the data name
3514  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3515  !! \param[IN] access whether the data can be accessed for read or write by
3516  !! PDI
3517  !! \param[OUT] err for error status (optional)
3518  !! \pre the user code owns the data buffer
3519  !! \post ownership of the data buffer is shared between PDI and the user code
3520  !!
3521  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3522  !! * PDI_IN means PDI can set the buffer content
3523  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3524  subroutine PDI_share_REAL16_0D( name, ptr_data, access, err )
3525  character(len=*), intent(IN) :: name
3526  REAL(KIND=16), pointer &
3527  :: ptr_data
3528  integer, intent(IN) :: access
3529  integer, intent(OUT), optional :: err
3530  endsubroutine PDI_share_REAL16_0D
3531  !=============================================================================
3532 
3533 
3534  !=============================================================================
3535  !< shares some data with PDI. the user code should not modify it before
3536  !! a call to either PDI_release or PDI_reclaim.
3537  !! \param[IN] name the data name
3538  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3539  !! \param[IN] access whether the data can be accessed for read or write by
3540  !! PDI
3541  !! \param[OUT] err for error status (optional)
3542  !! \pre the user code owns the data buffer
3543  !! \post ownership of the data buffer is shared between PDI and the user code
3544  !!
3545  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3546  !! * PDI_IN means PDI can set the buffer content
3547  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3548  subroutine PDI_share_REAL16_1D( name, ptr_data, access, err )
3549  character(len=*), intent(IN) :: name
3550  REAL(KIND=16), pointer &
3551  , contiguous &
3552  :: ptr_data(:)
3553  integer, intent(IN) :: access
3554  integer, intent(OUT), optional :: err
3555  endsubroutine PDI_share_REAL16_1D
3556  !=============================================================================
3557 
3558 
3559  !=============================================================================
3560  !< shares some data with PDI. the user code should not modify it before
3561  !! a call to either PDI_release or PDI_reclaim.
3562  !! \param[IN] name the data name
3563  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3564  !! \param[IN] access whether the data can be accessed for read or write by
3565  !! PDI
3566  !! \param[OUT] err for error status (optional)
3567  !! \pre the user code owns the data buffer
3568  !! \post ownership of the data buffer is shared between PDI and the user code
3569  !!
3570  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3571  !! * PDI_IN means PDI can set the buffer content
3572  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3573  subroutine PDI_share_REAL16_2D( name, ptr_data, access, err )
3574  character(len=*), intent(IN) :: name
3575  REAL(KIND=16), pointer &
3576  , contiguous &
3577  :: ptr_data(:,:)
3578  integer, intent(IN) :: access
3579  integer, intent(OUT), optional :: err
3580  endsubroutine PDI_share_REAL16_2D
3581  !=============================================================================
3582 
3583 
3584  !=============================================================================
3585  !< shares some data with PDI. the user code should not modify it before
3586  !! a call to either PDI_release or PDI_reclaim.
3587  !! \param[IN] name the data name
3588  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3589  !! \param[IN] access whether the data can be accessed for read or write by
3590  !! PDI
3591  !! \param[OUT] err for error status (optional)
3592  !! \pre the user code owns the data buffer
3593  !! \post ownership of the data buffer is shared between PDI and the user code
3594  !!
3595  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3596  !! * PDI_IN means PDI can set the buffer content
3597  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3598  subroutine PDI_share_REAL16_3D( name, ptr_data, access, err )
3599  character(len=*), intent(IN) :: name
3600  REAL(KIND=16), pointer &
3601  , contiguous &
3602  :: ptr_data(:,:,:)
3603  integer, intent(IN) :: access
3604  integer, intent(OUT), optional :: err
3605  endsubroutine PDI_share_REAL16_3D
3606  !=============================================================================
3607 
3608 
3609  !=============================================================================
3610  !< shares some data with PDI. the user code should not modify it before
3611  !! a call to either PDI_release or PDI_reclaim.
3612  !! \param[IN] name the data name
3613  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3614  !! \param[IN] access whether the data can be accessed for read or write by
3615  !! PDI
3616  !! \param[OUT] err for error status (optional)
3617  !! \pre the user code owns the data buffer
3618  !! \post ownership of the data buffer is shared between PDI and the user code
3619  !!
3620  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3621  !! * PDI_IN means PDI can set the buffer content
3622  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3623  subroutine PDI_share_REAL16_4D( name, ptr_data, access, err )
3624  character(len=*), intent(IN) :: name
3625  REAL(KIND=16), pointer &
3626  , contiguous &
3627  :: ptr_data(:,:,:,:)
3628  integer, intent(IN) :: access
3629  integer, intent(OUT), optional :: err
3630  endsubroutine PDI_share_REAL16_4D
3631  !=============================================================================
3632 
3633 
3634  !=============================================================================
3635  !< shares some data with PDI. the user code should not modify it before
3636  !! a call to either PDI_release or PDI_reclaim.
3637  !! \param[IN] name the data name
3638  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3639  !! \param[IN] access whether the data can be accessed for read or write by
3640  !! PDI
3641  !! \param[OUT] err for error status (optional)
3642  !! \pre the user code owns the data buffer
3643  !! \post ownership of the data buffer is shared between PDI and the user code
3644  !!
3645  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3646  !! * PDI_IN means PDI can set the buffer content
3647  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3648  subroutine PDI_share_REAL16_5D( name, ptr_data, access, err )
3649  character(len=*), intent(IN) :: name
3650  REAL(KIND=16), pointer &
3651  , contiguous &
3652  :: ptr_data(:,:,:,:,:)
3653  integer, intent(IN) :: access
3654  integer, intent(OUT), optional :: err
3655  endsubroutine PDI_share_REAL16_5D
3656  !=============================================================================
3657 
3658 
3659  !=============================================================================
3660  !< shares some data with PDI. the user code should not modify it before
3661  !! a call to either PDI_release or PDI_reclaim.
3662  !! \param[IN] name the data name
3663  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3664  !! \param[IN] access whether the data can be accessed for read or write by
3665  !! PDI
3666  !! \param[OUT] err for error status (optional)
3667  !! \pre the user code owns the data buffer
3668  !! \post ownership of the data buffer is shared between PDI and the user code
3669  !!
3670  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3671  !! * PDI_IN means PDI can set the buffer content
3672  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3673  subroutine PDI_share_REAL16_6D( name, ptr_data, access, err )
3674  character(len=*), intent(IN) :: name
3675  REAL(KIND=16), pointer &
3676  , contiguous &
3677  :: ptr_data(:,:,:,:,:,:)
3678  integer, intent(IN) :: access
3679  integer, intent(OUT), optional :: err
3680  endsubroutine PDI_share_REAL16_6D
3681  !=============================================================================
3682 
3683 
3684  !=============================================================================
3685  !< shares some data with PDI. the user code should not modify it before
3686  !! a call to either PDI_release or PDI_reclaim.
3687  !! \param[IN] name the data name
3688  !! \param[IN,OUT] ptr_data the pointer to the trageted data
3689  !! \param[IN] access whether the data can be accessed for read or write by
3690  !! PDI
3691  !! \param[OUT] err for error status (optional)
3692  !! \pre the user code owns the data buffer
3693  !! \post ownership of the data buffer is shared between PDI and the user code
3694  !!
3695  !! the access parameter is a binary or of PDI_IN & PDI_OUT.
3696  !! * PDI_IN means PDI can set the buffer content
3697  !! * PDI_OUT means the buffer contains data that can be accessed by PDI
3698  subroutine PDI_share_REAL16_7D( name, ptr_data, access, err )
3699  character(len=*), intent(IN) :: name
3700  REAL(KIND=16), pointer &
3701  , contiguous &
3702  :: ptr_data(:,:,:,:,:,:,:)
3703  integer, intent(IN) :: access
3704  integer, intent(OUT), optional :: err
3705  endsubroutine PDI_share_REAL16_7D
3706  !=============================================================================
3707 
3708 endinterface PDI_share
3709 
3710 
3711 interface PDI_expose
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_0D(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_0D
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_1D(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_1D
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_2D(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_2D
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_3D(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_3D
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_4D(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_4D
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_5D(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_5D
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_6D(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_6D
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_CHARACTER1_7D(name, data, access, err)
3846  character(len=*), intent(IN) :: name
3847  CHARACTER(KIND=1), target &
3848  , contiguous &
3849  :: data(:,:,:,:,:,:,:)
3850  integer, intent(IN) :: access
3851  integer, intent(OUT), optional :: err
3852  endsubroutine PDI_expose_CHARACTER1_7D
3853  !=============================================================================
3854 
3855 
3856  !=============================================================================
3857  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3858  !! \param[IN] name the data name
3859  !! \param[IN] data the exposed data
3860  !! \param[IN] access whether the data can be accessed for read or write by
3861  !! PDI
3862  !! \param[OUT] err for error status (optional)
3863  subroutine PDI_expose_CHARACTER4_0D(name, data, access, err)
3864  character(len=*), intent(IN) :: name
3865  CHARACTER(KIND=4), target &
3866  :: data
3867  integer, intent(IN) :: access
3868  integer, intent(OUT), optional :: err
3869  endsubroutine PDI_expose_CHARACTER4_0D
3870  !=============================================================================
3871 
3872 
3873  !=============================================================================
3874  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3875  !! \param[IN] name the data name
3876  !! \param[IN] data the exposed data
3877  !! \param[IN] access whether the data can be accessed for read or write by
3878  !! PDI
3879  !! \param[OUT] err for error status (optional)
3880  subroutine PDI_expose_CHARACTER4_1D(name, data, access, err)
3881  character(len=*), intent(IN) :: name
3882  CHARACTER(KIND=4), target &
3883  , contiguous &
3884  :: data(:)
3885  integer, intent(IN) :: access
3886  integer, intent(OUT), optional :: err
3887  endsubroutine PDI_expose_CHARACTER4_1D
3888  !=============================================================================
3889 
3890 
3891  !=============================================================================
3892  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3893  !! \param[IN] name the data name
3894  !! \param[IN] data the exposed data
3895  !! \param[IN] access whether the data can be accessed for read or write by
3896  !! PDI
3897  !! \param[OUT] err for error status (optional)
3898  subroutine PDI_expose_CHARACTER4_2D(name, data, access, err)
3899  character(len=*), intent(IN) :: name
3900  CHARACTER(KIND=4), target &
3901  , contiguous &
3902  :: data(:,:)
3903  integer, intent(IN) :: access
3904  integer, intent(OUT), optional :: err
3905  endsubroutine PDI_expose_CHARACTER4_2D
3906  !=============================================================================
3907 
3908 
3909  !=============================================================================
3910  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3911  !! \param[IN] name the data name
3912  !! \param[IN] data the exposed data
3913  !! \param[IN] access whether the data can be accessed for read or write by
3914  !! PDI
3915  !! \param[OUT] err for error status (optional)
3916  subroutine PDI_expose_CHARACTER4_3D(name, data, access, err)
3917  character(len=*), intent(IN) :: name
3918  CHARACTER(KIND=4), target &
3919  , contiguous &
3920  :: data(:,:,:)
3921  integer, intent(IN) :: access
3922  integer, intent(OUT), optional :: err
3923  endsubroutine PDI_expose_CHARACTER4_3D
3924  !=============================================================================
3925 
3926 
3927  !=============================================================================
3928  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3929  !! \param[IN] name the data name
3930  !! \param[IN] data the exposed data
3931  !! \param[IN] access whether the data can be accessed for read or write by
3932  !! PDI
3933  !! \param[OUT] err for error status (optional)
3934  subroutine PDI_expose_CHARACTER4_4D(name, data, access, err)
3935  character(len=*), intent(IN) :: name
3936  CHARACTER(KIND=4), target &
3937  , contiguous &
3938  :: data(:,:,:,:)
3939  integer, intent(IN) :: access
3940  integer, intent(OUT), optional :: err
3941  endsubroutine PDI_expose_CHARACTER4_4D
3942  !=============================================================================
3943 
3944 
3945  !=============================================================================
3946  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3947  !! \param[IN] name the data name
3948  !! \param[IN] data the exposed data
3949  !! \param[IN] access whether the data can be accessed for read or write by
3950  !! PDI
3951  !! \param[OUT] err for error status (optional)
3952  subroutine PDI_expose_CHARACTER4_5D(name, data, access, err)
3953  character(len=*), intent(IN) :: name
3954  CHARACTER(KIND=4), target &
3955  , contiguous &
3956  :: data(:,:,:,:,:)
3957  integer, intent(IN) :: access
3958  integer, intent(OUT), optional :: err
3959  endsubroutine PDI_expose_CHARACTER4_5D
3960  !=============================================================================
3961 
3962 
3963  !=============================================================================
3964  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3965  !! \param[IN] name the data name
3966  !! \param[IN] data the exposed data
3967  !! \param[IN] access whether the data can be accessed for read or write by
3968  !! PDI
3969  !! \param[OUT] err for error status (optional)
3970  subroutine PDI_expose_CHARACTER4_6D(name, data, access, err)
3971  character(len=*), intent(IN) :: name
3972  CHARACTER(KIND=4), target &
3973  , contiguous &
3974  :: data(:,:,:,:,:,:)
3975  integer, intent(IN) :: access
3976  integer, intent(OUT), optional :: err
3977  endsubroutine PDI_expose_CHARACTER4_6D
3978  !=============================================================================
3979 
3980 
3981  !=============================================================================
3982  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
3983  !! \param[IN] name the data name
3984  !! \param[IN] data the exposed data
3985  !! \param[IN] access whether the data can be accessed for read or write by
3986  !! PDI
3987  !! \param[OUT] err for error status (optional)
3988  subroutine PDI_expose_CHARACTER4_7D(name, data, access, err)
3989  character(len=*), intent(IN) :: name
3990  CHARACTER(KIND=4), target &
3991  , contiguous &
3992  :: data(:,:,:,:,:,:,:)
3993  integer, intent(IN) :: access
3994  integer, intent(OUT), optional :: err
3995  endsubroutine PDI_expose_CHARACTER4_7D
3996  !=============================================================================
3997 
3998 
3999  !=============================================================================
4000  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4001  !! \param[IN] name the data name
4002  !! \param[IN] data the exposed data
4003  !! \param[IN] access whether the data can be accessed for read or write by
4004  !! PDI
4005  !! \param[OUT] err for error status (optional)
4006  subroutine PDI_expose_COMPLEX4_0D(name, data, access, err)
4007  character(len=*), intent(IN) :: name
4008  COMPLEX(KIND=4), target &
4009  :: data
4010  integer, intent(IN) :: access
4011  integer, intent(OUT), optional :: err
4012  endsubroutine PDI_expose_COMPLEX4_0D
4013  !=============================================================================
4014 
4015 
4016  !=============================================================================
4017  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4018  !! \param[IN] name the data name
4019  !! \param[IN] data the exposed data
4020  !! \param[IN] access whether the data can be accessed for read or write by
4021  !! PDI
4022  !! \param[OUT] err for error status (optional)
4023  subroutine PDI_expose_COMPLEX4_1D(name, data, access, err)
4024  character(len=*), intent(IN) :: name
4025  COMPLEX(KIND=4), target &
4026  , contiguous &
4027  :: data(:)
4028  integer, intent(IN) :: access
4029  integer, intent(OUT), optional :: err
4030  endsubroutine PDI_expose_COMPLEX4_1D
4031  !=============================================================================
4032 
4033 
4034  !=============================================================================
4035  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4036  !! \param[IN] name the data name
4037  !! \param[IN] data the exposed data
4038  !! \param[IN] access whether the data can be accessed for read or write by
4039  !! PDI
4040  !! \param[OUT] err for error status (optional)
4041  subroutine PDI_expose_COMPLEX4_2D(name, data, access, err)
4042  character(len=*), intent(IN) :: name
4043  COMPLEX(KIND=4), target &
4044  , contiguous &
4045  :: data(:,:)
4046  integer, intent(IN) :: access
4047  integer, intent(OUT), optional :: err
4048  endsubroutine PDI_expose_COMPLEX4_2D
4049  !=============================================================================
4050 
4051 
4052  !=============================================================================
4053  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4054  !! \param[IN] name the data name
4055  !! \param[IN] data the exposed data
4056  !! \param[IN] access whether the data can be accessed for read or write by
4057  !! PDI
4058  !! \param[OUT] err for error status (optional)
4059  subroutine PDI_expose_COMPLEX4_3D(name, data, access, err)
4060  character(len=*), intent(IN) :: name
4061  COMPLEX(KIND=4), target &
4062  , contiguous &
4063  :: data(:,:,:)
4064  integer, intent(IN) :: access
4065  integer, intent(OUT), optional :: err
4066  endsubroutine PDI_expose_COMPLEX4_3D
4067  !=============================================================================
4068 
4069 
4070  !=============================================================================
4071  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4072  !! \param[IN] name the data name
4073  !! \param[IN] data the exposed data
4074  !! \param[IN] access whether the data can be accessed for read or write by
4075  !! PDI
4076  !! \param[OUT] err for error status (optional)
4077  subroutine PDI_expose_COMPLEX4_4D(name, data, access, err)
4078  character(len=*), intent(IN) :: name
4079  COMPLEX(KIND=4), target &
4080  , contiguous &
4081  :: data(:,:,:,:)
4082  integer, intent(IN) :: access
4083  integer, intent(OUT), optional :: err
4084  endsubroutine PDI_expose_COMPLEX4_4D
4085  !=============================================================================
4086 
4087 
4088  !=============================================================================
4089  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4090  !! \param[IN] name the data name
4091  !! \param[IN] data the exposed data
4092  !! \param[IN] access whether the data can be accessed for read or write by
4093  !! PDI
4094  !! \param[OUT] err for error status (optional)
4095  subroutine PDI_expose_COMPLEX4_5D(name, data, access, err)
4096  character(len=*), intent(IN) :: name
4097  COMPLEX(KIND=4), target &
4098  , contiguous &
4099  :: data(:,:,:,:,:)
4100  integer, intent(IN) :: access
4101  integer, intent(OUT), optional :: err
4102  endsubroutine PDI_expose_COMPLEX4_5D
4103  !=============================================================================
4104 
4105 
4106  !=============================================================================
4107  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4108  !! \param[IN] name the data name
4109  !! \param[IN] data the exposed data
4110  !! \param[IN] access whether the data can be accessed for read or write by
4111  !! PDI
4112  !! \param[OUT] err for error status (optional)
4113  subroutine PDI_expose_COMPLEX4_6D(name, data, access, err)
4114  character(len=*), intent(IN) :: name
4115  COMPLEX(KIND=4), target &
4116  , contiguous &
4117  :: data(:,:,:,:,:,:)
4118  integer, intent(IN) :: access
4119  integer, intent(OUT), optional :: err
4120  endsubroutine PDI_expose_COMPLEX4_6D
4121  !=============================================================================
4122 
4123 
4124  !=============================================================================
4125  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4126  !! \param[IN] name the data name
4127  !! \param[IN] data the exposed data
4128  !! \param[IN] access whether the data can be accessed for read or write by
4129  !! PDI
4130  !! \param[OUT] err for error status (optional)
4131  subroutine PDI_expose_COMPLEX4_7D(name, data, access, err)
4132  character(len=*), intent(IN) :: name
4133  COMPLEX(KIND=4), target &
4134  , contiguous &
4135  :: data(:,:,:,:,:,:,:)
4136  integer, intent(IN) :: access
4137  integer, intent(OUT), optional :: err
4138  endsubroutine PDI_expose_COMPLEX4_7D
4139  !=============================================================================
4140 
4141 
4142  !=============================================================================
4143  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4144  !! \param[IN] name the data name
4145  !! \param[IN] data the exposed data
4146  !! \param[IN] access whether the data can be accessed for read or write by
4147  !! PDI
4148  !! \param[OUT] err for error status (optional)
4149  subroutine PDI_expose_COMPLEX8_0D(name, data, access, err)
4150  character(len=*), intent(IN) :: name
4151  COMPLEX(KIND=8), target &
4152  :: data
4153  integer, intent(IN) :: access
4154  integer, intent(OUT), optional :: err
4155  endsubroutine PDI_expose_COMPLEX8_0D
4156  !=============================================================================
4157 
4158 
4159  !=============================================================================
4160  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4161  !! \param[IN] name the data name
4162  !! \param[IN] data the exposed data
4163  !! \param[IN] access whether the data can be accessed for read or write by
4164  !! PDI
4165  !! \param[OUT] err for error status (optional)
4166  subroutine PDI_expose_COMPLEX8_1D(name, data, access, err)
4167  character(len=*), intent(IN) :: name
4168  COMPLEX(KIND=8), target &
4169  , contiguous &
4170  :: data(:)
4171  integer, intent(IN) :: access
4172  integer, intent(OUT), optional :: err
4173  endsubroutine PDI_expose_COMPLEX8_1D
4174  !=============================================================================
4175 
4176 
4177  !=============================================================================
4178  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4179  !! \param[IN] name the data name
4180  !! \param[IN] data the exposed data
4181  !! \param[IN] access whether the data can be accessed for read or write by
4182  !! PDI
4183  !! \param[OUT] err for error status (optional)
4184  subroutine PDI_expose_COMPLEX8_2D(name, data, access, err)
4185  character(len=*), intent(IN) :: name
4186  COMPLEX(KIND=8), target &
4187  , contiguous &
4188  :: data(:,:)
4189  integer, intent(IN) :: access
4190  integer, intent(OUT), optional :: err
4191  endsubroutine PDI_expose_COMPLEX8_2D
4192  !=============================================================================
4193 
4194 
4195  !=============================================================================
4196  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4197  !! \param[IN] name the data name
4198  !! \param[IN] data the exposed data
4199  !! \param[IN] access whether the data can be accessed for read or write by
4200  !! PDI
4201  !! \param[OUT] err for error status (optional)
4202  subroutine PDI_expose_COMPLEX8_3D(name, data, access, err)
4203  character(len=*), intent(IN) :: name
4204  COMPLEX(KIND=8), target &
4205  , contiguous &
4206  :: data(:,:,:)
4207  integer, intent(IN) :: access
4208  integer, intent(OUT), optional :: err
4209  endsubroutine PDI_expose_COMPLEX8_3D
4210  !=============================================================================
4211 
4212 
4213  !=============================================================================
4214  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4215  !! \param[IN] name the data name
4216  !! \param[IN] data the exposed data
4217  !! \param[IN] access whether the data can be accessed for read or write by
4218  !! PDI
4219  !! \param[OUT] err for error status (optional)
4220  subroutine PDI_expose_COMPLEX8_4D(name, data, access, err)
4221  character(len=*), intent(IN) :: name
4222  COMPLEX(KIND=8), target &
4223  , contiguous &
4224  :: data(:,:,:,:)
4225  integer, intent(IN) :: access
4226  integer, intent(OUT), optional :: err
4227  endsubroutine PDI_expose_COMPLEX8_4D
4228  !=============================================================================
4229 
4230 
4231  !=============================================================================
4232  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4233  !! \param[IN] name the data name
4234  !! \param[IN] data the exposed data
4235  !! \param[IN] access whether the data can be accessed for read or write by
4236  !! PDI
4237  !! \param[OUT] err for error status (optional)
4238  subroutine PDI_expose_COMPLEX8_5D(name, data, access, err)
4239  character(len=*), intent(IN) :: name
4240  COMPLEX(KIND=8), target &
4241  , contiguous &
4242  :: data(:,:,:,:,:)
4243  integer, intent(IN) :: access
4244  integer, intent(OUT), optional :: err
4245  endsubroutine PDI_expose_COMPLEX8_5D
4246  !=============================================================================
4247 
4248 
4249  !=============================================================================
4250  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4251  !! \param[IN] name the data name
4252  !! \param[IN] data the exposed data
4253  !! \param[IN] access whether the data can be accessed for read or write by
4254  !! PDI
4255  !! \param[OUT] err for error status (optional)
4256  subroutine PDI_expose_COMPLEX8_6D(name, data, access, err)
4257  character(len=*), intent(IN) :: name
4258  COMPLEX(KIND=8), target &
4259  , contiguous &
4260  :: data(:,:,:,:,:,:)
4261  integer, intent(IN) :: access
4262  integer, intent(OUT), optional :: err
4263  endsubroutine PDI_expose_COMPLEX8_6D
4264  !=============================================================================
4265 
4266 
4267  !=============================================================================
4268  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4269  !! \param[IN] name the data name
4270  !! \param[IN] data the exposed data
4271  !! \param[IN] access whether the data can be accessed for read or write by
4272  !! PDI
4273  !! \param[OUT] err for error status (optional)
4274  subroutine PDI_expose_COMPLEX8_7D(name, data, access, err)
4275  character(len=*), intent(IN) :: name
4276  COMPLEX(KIND=8), target &
4277  , contiguous &
4278  :: data(:,:,:,:,:,:,:)
4279  integer, intent(IN) :: access
4280  integer, intent(OUT), optional :: err
4281  endsubroutine PDI_expose_COMPLEX8_7D
4282  !=============================================================================
4283 
4284 
4285  !=============================================================================
4286  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4287  !! \param[IN] name the data name
4288  !! \param[IN] data the exposed data
4289  !! \param[IN] access whether the data can be accessed for read or write by
4290  !! PDI
4291  !! \param[OUT] err for error status (optional)
4292  subroutine PDI_expose_COMPLEX16_0D(name, data, access, err)
4293  character(len=*), intent(IN) :: name
4294  COMPLEX(KIND=16), target &
4295  :: data
4296  integer, intent(IN) :: access
4297  integer, intent(OUT), optional :: err
4298  endsubroutine PDI_expose_COMPLEX16_0D
4299  !=============================================================================
4300 
4301 
4302  !=============================================================================
4303  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4304  !! \param[IN] name the data name
4305  !! \param[IN] data the exposed data
4306  !! \param[IN] access whether the data can be accessed for read or write by
4307  !! PDI
4308  !! \param[OUT] err for error status (optional)
4309  subroutine PDI_expose_COMPLEX16_1D(name, data, access, err)
4310  character(len=*), intent(IN) :: name
4311  COMPLEX(KIND=16), target &
4312  , contiguous &
4313  :: data(:)
4314  integer, intent(IN) :: access
4315  integer, intent(OUT), optional :: err
4316  endsubroutine PDI_expose_COMPLEX16_1D
4317  !=============================================================================
4318 
4319 
4320  !=============================================================================
4321  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4322  !! \param[IN] name the data name
4323  !! \param[IN] data the exposed data
4324  !! \param[IN] access whether the data can be accessed for read or write by
4325  !! PDI
4326  !! \param[OUT] err for error status (optional)
4327  subroutine PDI_expose_COMPLEX16_2D(name, data, access, err)
4328  character(len=*), intent(IN) :: name
4329  COMPLEX(KIND=16), target &
4330  , contiguous &
4331  :: data(:,:)
4332  integer, intent(IN) :: access
4333  integer, intent(OUT), optional :: err
4334  endsubroutine PDI_expose_COMPLEX16_2D
4335  !=============================================================================
4336 
4337 
4338  !=============================================================================
4339  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4340  !! \param[IN] name the data name
4341  !! \param[IN] data the exposed data
4342  !! \param[IN] access whether the data can be accessed for read or write by
4343  !! PDI
4344  !! \param[OUT] err for error status (optional)
4345  subroutine PDI_expose_COMPLEX16_3D(name, data, access, err)
4346  character(len=*), intent(IN) :: name
4347  COMPLEX(KIND=16), target &
4348  , contiguous &
4349  :: data(:,:,:)
4350  integer, intent(IN) :: access
4351  integer, intent(OUT), optional :: err
4352  endsubroutine PDI_expose_COMPLEX16_3D
4353  !=============================================================================
4354 
4355 
4356  !=============================================================================
4357  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4358  !! \param[IN] name the data name
4359  !! \param[IN] data the exposed data
4360  !! \param[IN] access whether the data can be accessed for read or write by
4361  !! PDI
4362  !! \param[OUT] err for error status (optional)
4363  subroutine PDI_expose_COMPLEX16_4D(name, data, access, err)
4364  character(len=*), intent(IN) :: name
4365  COMPLEX(KIND=16), target &
4366  , contiguous &
4367  :: data(:,:,:,:)
4368  integer, intent(IN) :: access
4369  integer, intent(OUT), optional :: err
4370  endsubroutine PDI_expose_COMPLEX16_4D
4371  !=============================================================================
4372 
4373 
4374  !=============================================================================
4375  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4376  !! \param[IN] name the data name
4377  !! \param[IN] data the exposed data
4378  !! \param[IN] access whether the data can be accessed for read or write by
4379  !! PDI
4380  !! \param[OUT] err for error status (optional)
4381  subroutine PDI_expose_COMPLEX16_5D(name, data, access, err)
4382  character(len=*), intent(IN) :: name
4383  COMPLEX(KIND=16), target &
4384  , contiguous &
4385  :: data(:,:,:,:,:)
4386  integer, intent(IN) :: access
4387  integer, intent(OUT), optional :: err
4388  endsubroutine PDI_expose_COMPLEX16_5D
4389  !=============================================================================
4390 
4391 
4392  !=============================================================================
4393  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4394  !! \param[IN] name the data name
4395  !! \param[IN] data the exposed data
4396  !! \param[IN] access whether the data can be accessed for read or write by
4397  !! PDI
4398  !! \param[OUT] err for error status (optional)
4399  subroutine PDI_expose_COMPLEX16_6D(name, data, access, err)
4400  character(len=*), intent(IN) :: name
4401  COMPLEX(KIND=16), target &
4402  , contiguous &
4403  :: data(:,:,:,:,:,:)
4404  integer, intent(IN) :: access
4405  integer, intent(OUT), optional :: err
4406  endsubroutine PDI_expose_COMPLEX16_6D
4407  !=============================================================================
4408 
4409 
4410  !=============================================================================
4411  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4412  !! \param[IN] name the data name
4413  !! \param[IN] data the exposed data
4414  !! \param[IN] access whether the data can be accessed for read or write by
4415  !! PDI
4416  !! \param[OUT] err for error status (optional)
4417  subroutine PDI_expose_COMPLEX16_7D(name, data, access, err)
4418  character(len=*), intent(IN) :: name
4419  COMPLEX(KIND=16), target &
4420  , contiguous &
4421  :: data(:,:,:,:,:,:,:)
4422  integer, intent(IN) :: access
4423  integer, intent(OUT), optional :: err
4424  endsubroutine PDI_expose_COMPLEX16_7D
4425  !=============================================================================
4426 
4427 
4428  !=============================================================================
4429  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4430  !! \param[IN] name the data name
4431  !! \param[IN] data the exposed data
4432  !! \param[IN] access whether the data can be accessed for read or write by
4433  !! PDI
4434  !! \param[OUT] err for error status (optional)
4435  subroutine PDI_expose_INTEGER1_0D(name, data, access, err)
4436  character(len=*), intent(IN) :: name
4437  INTEGER(KIND=1), target &
4438  :: data
4439  integer, intent(IN) :: access
4440  integer, intent(OUT), optional :: err
4441  endsubroutine PDI_expose_INTEGER1_0D
4442  !=============================================================================
4443 
4444 
4445  !=============================================================================
4446  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4447  !! \param[IN] name the data name
4448  !! \param[IN] data the exposed data
4449  !! \param[IN] access whether the data can be accessed for read or write by
4450  !! PDI
4451  !! \param[OUT] err for error status (optional)
4452  subroutine PDI_expose_INTEGER1_1D(name, data, access, err)
4453  character(len=*), intent(IN) :: name
4454  INTEGER(KIND=1), target &
4455  , contiguous &
4456  :: data(:)
4457  integer, intent(IN) :: access
4458  integer, intent(OUT), optional :: err
4459  endsubroutine PDI_expose_INTEGER1_1D
4460  !=============================================================================
4461 
4462 
4463  !=============================================================================
4464  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4465  !! \param[IN] name the data name
4466  !! \param[IN] data the exposed data
4467  !! \param[IN] access whether the data can be accessed for read or write by
4468  !! PDI
4469  !! \param[OUT] err for error status (optional)
4470  subroutine PDI_expose_INTEGER1_2D(name, data, access, err)
4471  character(len=*), intent(IN) :: name
4472  INTEGER(KIND=1), target &
4473  , contiguous &
4474  :: data(:,:)
4475  integer, intent(IN) :: access
4476  integer, intent(OUT), optional :: err
4477  endsubroutine PDI_expose_INTEGER1_2D
4478  !=============================================================================
4479 
4480 
4481  !=============================================================================
4482  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4483  !! \param[IN] name the data name
4484  !! \param[IN] data the exposed data
4485  !! \param[IN] access whether the data can be accessed for read or write by
4486  !! PDI
4487  !! \param[OUT] err for error status (optional)
4488  subroutine PDI_expose_INTEGER1_3D(name, data, access, err)
4489  character(len=*), intent(IN) :: name
4490  INTEGER(KIND=1), target &
4491  , contiguous &
4492  :: data(:,:,:)
4493  integer, intent(IN) :: access
4494  integer, intent(OUT), optional :: err
4495  endsubroutine PDI_expose_INTEGER1_3D
4496  !=============================================================================
4497 
4498 
4499  !=============================================================================
4500  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4501  !! \param[IN] name the data name
4502  !! \param[IN] data the exposed data
4503  !! \param[IN] access whether the data can be accessed for read or write by
4504  !! PDI
4505  !! \param[OUT] err for error status (optional)
4506  subroutine PDI_expose_INTEGER1_4D(name, data, access, err)
4507  character(len=*), intent(IN) :: name
4508  INTEGER(KIND=1), target &
4509  , contiguous &
4510  :: data(:,:,:,:)
4511  integer, intent(IN) :: access
4512  integer, intent(OUT), optional :: err
4513  endsubroutine PDI_expose_INTEGER1_4D
4514  !=============================================================================
4515 
4516 
4517  !=============================================================================
4518  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4519  !! \param[IN] name the data name
4520  !! \param[IN] data the exposed data
4521  !! \param[IN] access whether the data can be accessed for read or write by
4522  !! PDI
4523  !! \param[OUT] err for error status (optional)
4524  subroutine PDI_expose_INTEGER1_5D(name, data, access, err)
4525  character(len=*), intent(IN) :: name
4526  INTEGER(KIND=1), target &
4527  , contiguous &
4528  :: data(:,:,:,:,:)
4529  integer, intent(IN) :: access
4530  integer, intent(OUT), optional :: err
4531  endsubroutine PDI_expose_INTEGER1_5D
4532  !=============================================================================
4533 
4534 
4535  !=============================================================================
4536  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4537  !! \param[IN] name the data name
4538  !! \param[IN] data the exposed data
4539  !! \param[IN] access whether the data can be accessed for read or write by
4540  !! PDI
4541  !! \param[OUT] err for error status (optional)
4542  subroutine PDI_expose_INTEGER1_6D(name, data, access, err)
4543  character(len=*), intent(IN) :: name
4544  INTEGER(KIND=1), target &
4545  , contiguous &
4546  :: data(:,:,:,:,:,:)
4547  integer, intent(IN) :: access
4548  integer, intent(OUT), optional :: err
4549  endsubroutine PDI_expose_INTEGER1_6D
4550  !=============================================================================
4551 
4552 
4553  !=============================================================================
4554  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4555  !! \param[IN] name the data name
4556  !! \param[IN] data the exposed data
4557  !! \param[IN] access whether the data can be accessed for read or write by
4558  !! PDI
4559  !! \param[OUT] err for error status (optional)
4560  subroutine PDI_expose_INTEGER1_7D(name, data, access, err)
4561  character(len=*), intent(IN) :: name
4562  INTEGER(KIND=1), target &
4563  , contiguous &
4564  :: data(:,:,:,:,:,:,:)
4565  integer, intent(IN) :: access
4566  integer, intent(OUT), optional :: err
4567  endsubroutine PDI_expose_INTEGER1_7D
4568  !=============================================================================
4569 
4570 
4571  !=============================================================================
4572  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4573  !! \param[IN] name the data name
4574  !! \param[IN] data the exposed data
4575  !! \param[IN] access whether the data can be accessed for read or write by
4576  !! PDI
4577  !! \param[OUT] err for error status (optional)
4578  subroutine PDI_expose_INTEGER2_0D(name, data, access, err)
4579  character(len=*), intent(IN) :: name
4580  INTEGER(KIND=2), target &
4581  :: data
4582  integer, intent(IN) :: access
4583  integer, intent(OUT), optional :: err
4584  endsubroutine PDI_expose_INTEGER2_0D
4585  !=============================================================================
4586 
4587 
4588  !=============================================================================
4589  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4590  !! \param[IN] name the data name
4591  !! \param[IN] data the exposed data
4592  !! \param[IN] access whether the data can be accessed for read or write by
4593  !! PDI
4594  !! \param[OUT] err for error status (optional)
4595  subroutine PDI_expose_INTEGER2_1D(name, data, access, err)
4596  character(len=*), intent(IN) :: name
4597  INTEGER(KIND=2), target &
4598  , contiguous &
4599  :: data(:)
4600  integer, intent(IN) :: access
4601  integer, intent(OUT), optional :: err
4602  endsubroutine PDI_expose_INTEGER2_1D
4603  !=============================================================================
4604 
4605 
4606  !=============================================================================
4607  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4608  !! \param[IN] name the data name
4609  !! \param[IN] data the exposed data
4610  !! \param[IN] access whether the data can be accessed for read or write by
4611  !! PDI
4612  !! \param[OUT] err for error status (optional)
4613  subroutine PDI_expose_INTEGER2_2D(name, data, access, err)
4614  character(len=*), intent(IN) :: name
4615  INTEGER(KIND=2), target &
4616  , contiguous &
4617  :: data(:,:)
4618  integer, intent(IN) :: access
4619  integer, intent(OUT), optional :: err
4620  endsubroutine PDI_expose_INTEGER2_2D
4621  !=============================================================================
4622 
4623 
4624  !=============================================================================
4625  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4626  !! \param[IN] name the data name
4627  !! \param[IN] data the exposed data
4628  !! \param[IN] access whether the data can be accessed for read or write by
4629  !! PDI
4630  !! \param[OUT] err for error status (optional)
4631  subroutine PDI_expose_INTEGER2_3D(name, data, access, err)
4632  character(len=*), intent(IN) :: name
4633  INTEGER(KIND=2), target &
4634  , contiguous &
4635  :: data(:,:,:)
4636  integer, intent(IN) :: access
4637  integer, intent(OUT), optional :: err
4638  endsubroutine PDI_expose_INTEGER2_3D
4639  !=============================================================================
4640 
4641 
4642  !=============================================================================
4643  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4644  !! \param[IN] name the data name
4645  !! \param[IN] data the exposed data
4646  !! \param[IN] access whether the data can be accessed for read or write by
4647  !! PDI
4648  !! \param[OUT] err for error status (optional)
4649  subroutine PDI_expose_INTEGER2_4D(name, data, access, err)
4650  character(len=*), intent(IN) :: name
4651  INTEGER(KIND=2), target &
4652  , contiguous &
4653  :: data(:,:,:,:)
4654  integer, intent(IN) :: access
4655  integer, intent(OUT), optional :: err
4656  endsubroutine PDI_expose_INTEGER2_4D
4657  !=============================================================================
4658 
4659 
4660  !=============================================================================
4661  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4662  !! \param[IN] name the data name
4663  !! \param[IN] data the exposed data
4664  !! \param[IN] access whether the data can be accessed for read or write by
4665  !! PDI
4666  !! \param[OUT] err for error status (optional)
4667  subroutine PDI_expose_INTEGER2_5D(name, data, access, err)
4668  character(len=*), intent(IN) :: name
4669  INTEGER(KIND=2), target &
4670  , contiguous &
4671  :: data(:,:,:,:,:)
4672  integer, intent(IN) :: access
4673  integer, intent(OUT), optional :: err
4674  endsubroutine PDI_expose_INTEGER2_5D
4675  !=============================================================================
4676 
4677 
4678  !=============================================================================
4679  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4680  !! \param[IN] name the data name
4681  !! \param[IN] data the exposed data
4682  !! \param[IN] access whether the data can be accessed for read or write by
4683  !! PDI
4684  !! \param[OUT] err for error status (optional)
4685  subroutine PDI_expose_INTEGER2_6D(name, data, access, err)
4686  character(len=*), intent(IN) :: name
4687  INTEGER(KIND=2), target &
4688  , contiguous &
4689  :: data(:,:,:,:,:,:)
4690  integer, intent(IN) :: access
4691  integer, intent(OUT), optional :: err
4692  endsubroutine PDI_expose_INTEGER2_6D
4693  !=============================================================================
4694 
4695 
4696  !=============================================================================
4697  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4698  !! \param[IN] name the data name
4699  !! \param[IN] data the exposed data
4700  !! \param[IN] access whether the data can be accessed for read or write by
4701  !! PDI
4702  !! \param[OUT] err for error status (optional)
4703  subroutine PDI_expose_INTEGER2_7D(name, data, access, err)
4704  character(len=*), intent(IN) :: name
4705  INTEGER(KIND=2), target &
4706  , contiguous &
4707  :: data(:,:,:,:,:,:,:)
4708  integer, intent(IN) :: access
4709  integer, intent(OUT), optional :: err
4710  endsubroutine PDI_expose_INTEGER2_7D
4711  !=============================================================================
4712 
4713 
4714  !=============================================================================
4715  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4716  !! \param[IN] name the data name
4717  !! \param[IN] data the exposed data
4718  !! \param[IN] access whether the data can be accessed for read or write by
4719  !! PDI
4720  !! \param[OUT] err for error status (optional)
4721  subroutine PDI_expose_INTEGER4_0D(name, data, access, err)
4722  character(len=*), intent(IN) :: name
4723  INTEGER(KIND=4), target &
4724  :: data
4725  integer, intent(IN) :: access
4726  integer, intent(OUT), optional :: err
4727  endsubroutine PDI_expose_INTEGER4_0D
4728  !=============================================================================
4729 
4730 
4731  !=============================================================================
4732  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4733  !! \param[IN] name the data name
4734  !! \param[IN] data the exposed data
4735  !! \param[IN] access whether the data can be accessed for read or write by
4736  !! PDI
4737  !! \param[OUT] err for error status (optional)
4738  subroutine PDI_expose_INTEGER4_1D(name, data, access, err)
4739  character(len=*), intent(IN) :: name
4740  INTEGER(KIND=4), target &
4741  , contiguous &
4742  :: data(:)
4743  integer, intent(IN) :: access
4744  integer, intent(OUT), optional :: err
4745  endsubroutine PDI_expose_INTEGER4_1D
4746  !=============================================================================
4747 
4748 
4749  !=============================================================================
4750  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4751  !! \param[IN] name the data name
4752  !! \param[IN] data the exposed data
4753  !! \param[IN] access whether the data can be accessed for read or write by
4754  !! PDI
4755  !! \param[OUT] err for error status (optional)
4756  subroutine PDI_expose_INTEGER4_2D(name, data, access, err)
4757  character(len=*), intent(IN) :: name
4758  INTEGER(KIND=4), target &
4759  , contiguous &
4760  :: data(:,:)
4761  integer, intent(IN) :: access
4762  integer, intent(OUT), optional :: err
4763  endsubroutine PDI_expose_INTEGER4_2D
4764  !=============================================================================
4765 
4766 
4767  !=============================================================================
4768  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4769  !! \param[IN] name the data name
4770  !! \param[IN] data the exposed data
4771  !! \param[IN] access whether the data can be accessed for read or write by
4772  !! PDI
4773  !! \param[OUT] err for error status (optional)
4774  subroutine PDI_expose_INTEGER4_3D(name, data, access, err)
4775  character(len=*), intent(IN) :: name
4776  INTEGER(KIND=4), target &
4777  , contiguous &
4778  :: data(:,:,:)
4779  integer, intent(IN) :: access
4780  integer, intent(OUT), optional :: err
4781  endsubroutine PDI_expose_INTEGER4_3D
4782  !=============================================================================
4783 
4784 
4785  !=============================================================================
4786  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4787  !! \param[IN] name the data name
4788  !! \param[IN] data the exposed data
4789  !! \param[IN] access whether the data can be accessed for read or write by
4790  !! PDI
4791  !! \param[OUT] err for error status (optional)
4792  subroutine PDI_expose_INTEGER4_4D(name, data, access, err)
4793  character(len=*), intent(IN) :: name
4794  INTEGER(KIND=4), target &
4795  , contiguous &
4796  :: data(:,:,:,:)
4797  integer, intent(IN) :: access
4798  integer, intent(OUT), optional :: err
4799  endsubroutine PDI_expose_INTEGER4_4D
4800  !=============================================================================
4801 
4802 
4803  !=============================================================================
4804  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4805  !! \param[IN] name the data name
4806  !! \param[IN] data the exposed data
4807  !! \param[IN] access whether the data can be accessed for read or write by
4808  !! PDI
4809  !! \param[OUT] err for error status (optional)
4810  subroutine PDI_expose_INTEGER4_5D(name, data, access, err)
4811  character(len=*), intent(IN) :: name
4812  INTEGER(KIND=4), target &
4813  , contiguous &
4814  :: data(:,:,:,:,:)
4815  integer, intent(IN) :: access
4816  integer, intent(OUT), optional :: err
4817  endsubroutine PDI_expose_INTEGER4_5D
4818  !=============================================================================
4819 
4820 
4821  !=============================================================================
4822  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4823  !! \param[IN] name the data name
4824  !! \param[IN] data the exposed data
4825  !! \param[IN] access whether the data can be accessed for read or write by
4826  !! PDI
4827  !! \param[OUT] err for error status (optional)
4828  subroutine PDI_expose_INTEGER4_6D(name, data, access, err)
4829  character(len=*), intent(IN) :: name
4830  INTEGER(KIND=4), target &
4831  , contiguous &
4832  :: data(:,:,:,:,:,:)
4833  integer, intent(IN) :: access
4834  integer, intent(OUT), optional :: err
4835  endsubroutine PDI_expose_INTEGER4_6D
4836  !=============================================================================
4837 
4838 
4839  !=============================================================================
4840  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4841  !! \param[IN] name the data name
4842  !! \param[IN] data the exposed data
4843  !! \param[IN] access whether the data can be accessed for read or write by
4844  !! PDI
4845  !! \param[OUT] err for error status (optional)
4846  subroutine PDI_expose_INTEGER4_7D(name, data, access, err)
4847  character(len=*), intent(IN) :: name
4848  INTEGER(KIND=4), target &
4849  , contiguous &
4850  :: data(:,:,:,:,:,:,:)
4851  integer, intent(IN) :: access
4852  integer, intent(OUT), optional :: err
4853  endsubroutine PDI_expose_INTEGER4_7D
4854  !=============================================================================
4855 
4856 
4857  !=============================================================================
4858  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4859  !! \param[IN] name the data name
4860  !! \param[IN] data the exposed data
4861  !! \param[IN] access whether the data can be accessed for read or write by
4862  !! PDI
4863  !! \param[OUT] err for error status (optional)
4864  subroutine PDI_expose_INTEGER8_0D(name, data, access, err)
4865  character(len=*), intent(IN) :: name
4866  INTEGER(KIND=8), target &
4867  :: data
4868  integer, intent(IN) :: access
4869  integer, intent(OUT), optional :: err
4870  endsubroutine PDI_expose_INTEGER8_0D
4871  !=============================================================================
4872 
4873 
4874  !=============================================================================
4875  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4876  !! \param[IN] name the data name
4877  !! \param[IN] data the exposed data
4878  !! \param[IN] access whether the data can be accessed for read or write by
4879  !! PDI
4880  !! \param[OUT] err for error status (optional)
4881  subroutine PDI_expose_INTEGER8_1D(name, data, access, err)
4882  character(len=*), intent(IN) :: name
4883  INTEGER(KIND=8), target &
4884  , contiguous &
4885  :: data(:)
4886  integer, intent(IN) :: access
4887  integer, intent(OUT), optional :: err
4888  endsubroutine PDI_expose_INTEGER8_1D
4889  !=============================================================================
4890 
4891 
4892  !=============================================================================
4893  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4894  !! \param[IN] name the data name
4895  !! \param[IN] data the exposed data
4896  !! \param[IN] access whether the data can be accessed for read or write by
4897  !! PDI
4898  !! \param[OUT] err for error status (optional)
4899  subroutine PDI_expose_INTEGER8_2D(name, data, access, err)
4900  character(len=*), intent(IN) :: name
4901  INTEGER(KIND=8), target &
4902  , contiguous &
4903  :: data(:,:)
4904  integer, intent(IN) :: access
4905  integer, intent(OUT), optional :: err
4906  endsubroutine PDI_expose_INTEGER8_2D
4907  !=============================================================================
4908 
4909 
4910  !=============================================================================
4911  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4912  !! \param[IN] name the data name
4913  !! \param[IN] data the exposed data
4914  !! \param[IN] access whether the data can be accessed for read or write by
4915  !! PDI
4916  !! \param[OUT] err for error status (optional)
4917  subroutine PDI_expose_INTEGER8_3D(name, data, access, err)
4918  character(len=*), intent(IN) :: name
4919  INTEGER(KIND=8), target &
4920  , contiguous &
4921  :: data(:,:,:)
4922  integer, intent(IN) :: access
4923  integer, intent(OUT), optional :: err
4924  endsubroutine PDI_expose_INTEGER8_3D
4925  !=============================================================================
4926 
4927 
4928  !=============================================================================
4929  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4930  !! \param[IN] name the data name
4931  !! \param[IN] data the exposed data
4932  !! \param[IN] access whether the data can be accessed for read or write by
4933  !! PDI
4934  !! \param[OUT] err for error status (optional)
4935  subroutine PDI_expose_INTEGER8_4D(name, data, access, err)
4936  character(len=*), intent(IN) :: name
4937  INTEGER(KIND=8), target &
4938  , contiguous &
4939  :: data(:,:,:,:)
4940  integer, intent(IN) :: access
4941  integer, intent(OUT), optional :: err
4942  endsubroutine PDI_expose_INTEGER8_4D
4943  !=============================================================================
4944 
4945 
4946  !=============================================================================
4947  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4948  !! \param[IN] name the data name
4949  !! \param[IN] data the exposed data
4950  !! \param[IN] access whether the data can be accessed for read or write by
4951  !! PDI
4952  !! \param[OUT] err for error status (optional)
4953  subroutine PDI_expose_INTEGER8_5D(name, data, access, err)
4954  character(len=*), intent(IN) :: name
4955  INTEGER(KIND=8), target &
4956  , contiguous &
4957  :: data(:,:,:,:,:)
4958  integer, intent(IN) :: access
4959  integer, intent(OUT), optional :: err
4960  endsubroutine PDI_expose_INTEGER8_5D
4961  !=============================================================================
4962 
4963 
4964  !=============================================================================
4965  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4966  !! \param[IN] name the data name
4967  !! \param[IN] data the exposed data
4968  !! \param[IN] access whether the data can be accessed for read or write by
4969  !! PDI
4970  !! \param[OUT] err for error status (optional)
4971  subroutine PDI_expose_INTEGER8_6D(name, data, access, err)
4972  character(len=*), intent(IN) :: name
4973  INTEGER(KIND=8), target &
4974  , contiguous &
4975  :: data(:,:,:,:,:,:)
4976  integer, intent(IN) :: access
4977  integer, intent(OUT), optional :: err
4978  endsubroutine PDI_expose_INTEGER8_6D
4979  !=============================================================================
4980 
4981 
4982  !=============================================================================
4983  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
4984  !! \param[IN] name the data name
4985  !! \param[IN] data the exposed data
4986  !! \param[IN] access whether the data can be accessed for read or write by
4987  !! PDI
4988  !! \param[OUT] err for error status (optional)
4989  subroutine PDI_expose_INTEGER8_7D(name, data, access, err)
4990  character(len=*), intent(IN) :: name
4991  INTEGER(KIND=8), target &
4992  , contiguous &
4993  :: data(:,:,:,:,:,:,:)
4994  integer, intent(IN) :: access
4995  integer, intent(OUT), optional :: err
4996  endsubroutine PDI_expose_INTEGER8_7D
4997  !=============================================================================
4998 
4999 
5000  !=============================================================================
5001  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5002  !! \param[IN] name the data name
5003  !! \param[IN] data the exposed data
5004  !! \param[IN] access whether the data can be accessed for read or write by
5005  !! PDI
5006  !! \param[OUT] err for error status (optional)
5007  subroutine PDI_expose_INTEGER16_0D(name, data, access, err)
5008  character(len=*), intent(IN) :: name
5009  INTEGER(KIND=16), target &
5010  :: data
5011  integer, intent(IN) :: access
5012  integer, intent(OUT), optional :: err
5013  endsubroutine PDI_expose_INTEGER16_0D
5014  !=============================================================================
5015 
5016 
5017  !=============================================================================
5018  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5019  !! \param[IN] name the data name
5020  !! \param[IN] data the exposed data
5021  !! \param[IN] access whether the data can be accessed for read or write by
5022  !! PDI
5023  !! \param[OUT] err for error status (optional)
5024  subroutine PDI_expose_INTEGER16_1D(name, data, access, err)
5025  character(len=*), intent(IN) :: name
5026  INTEGER(KIND=16), target &
5027  , contiguous &
5028  :: data(:)
5029  integer, intent(IN) :: access
5030  integer, intent(OUT), optional :: err
5031  endsubroutine PDI_expose_INTEGER16_1D
5032  !=============================================================================
5033 
5034 
5035  !=============================================================================
5036  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5037  !! \param[IN] name the data name
5038  !! \param[IN] data the exposed data
5039  !! \param[IN] access whether the data can be accessed for read or write by
5040  !! PDI
5041  !! \param[OUT] err for error status (optional)
5042  subroutine PDI_expose_INTEGER16_2D(name, data, access, err)
5043  character(len=*), intent(IN) :: name
5044  INTEGER(KIND=16), target &
5045  , contiguous &
5046  :: data(:,:)
5047  integer, intent(IN) :: access
5048  integer, intent(OUT), optional :: err
5049  endsubroutine PDI_expose_INTEGER16_2D
5050  !=============================================================================
5051 
5052 
5053  !=============================================================================
5054  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5055  !! \param[IN] name the data name
5056  !! \param[IN] data the exposed data
5057  !! \param[IN] access whether the data can be accessed for read or write by
5058  !! PDI
5059  !! \param[OUT] err for error status (optional)
5060  subroutine PDI_expose_INTEGER16_3D(name, data, access, err)
5061  character(len=*), intent(IN) :: name
5062  INTEGER(KIND=16), target &
5063  , contiguous &
5064  :: data(:,:,:)
5065  integer, intent(IN) :: access
5066  integer, intent(OUT), optional :: err
5067  endsubroutine PDI_expose_INTEGER16_3D
5068  !=============================================================================
5069 
5070 
5071  !=============================================================================
5072  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5073  !! \param[IN] name the data name
5074  !! \param[IN] data the exposed data
5075  !! \param[IN] access whether the data can be accessed for read or write by
5076  !! PDI
5077  !! \param[OUT] err for error status (optional)
5078  subroutine PDI_expose_INTEGER16_4D(name, data, access, err)
5079  character(len=*), intent(IN) :: name
5080  INTEGER(KIND=16), target &
5081  , contiguous &
5082  :: data(:,:,:,:)
5083  integer, intent(IN) :: access
5084  integer, intent(OUT), optional :: err
5085  endsubroutine PDI_expose_INTEGER16_4D
5086  !=============================================================================
5087 
5088 
5089  !=============================================================================
5090  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5091  !! \param[IN] name the data name
5092  !! \param[IN] data the exposed data
5093  !! \param[IN] access whether the data can be accessed for read or write by
5094  !! PDI
5095  !! \param[OUT] err for error status (optional)
5096  subroutine PDI_expose_INTEGER16_5D(name, data, access, err)
5097  character(len=*), intent(IN) :: name
5098  INTEGER(KIND=16), target &
5099  , contiguous &
5100  :: data(:,:,:,:,:)
5101  integer, intent(IN) :: access
5102  integer, intent(OUT), optional :: err
5103  endsubroutine PDI_expose_INTEGER16_5D
5104  !=============================================================================
5105 
5106 
5107  !=============================================================================
5108  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5109  !! \param[IN] name the data name
5110  !! \param[IN] data the exposed data
5111  !! \param[IN] access whether the data can be accessed for read or write by
5112  !! PDI
5113  !! \param[OUT] err for error status (optional)
5114  subroutine PDI_expose_INTEGER16_6D(name, data, access, err)
5115  character(len=*), intent(IN) :: name
5116  INTEGER(KIND=16), target &
5117  , contiguous &
5118  :: data(:,:,:,:,:,:)
5119  integer, intent(IN) :: access
5120  integer, intent(OUT), optional :: err
5121  endsubroutine PDI_expose_INTEGER16_6D
5122  !=============================================================================
5123 
5124 
5125  !=============================================================================
5126  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5127  !! \param[IN] name the data name
5128  !! \param[IN] data the exposed data
5129  !! \param[IN] access whether the data can be accessed for read or write by
5130  !! PDI
5131  !! \param[OUT] err for error status (optional)
5132  subroutine PDI_expose_INTEGER16_7D(name, data, access, err)
5133  character(len=*), intent(IN) :: name
5134  INTEGER(KIND=16), target &
5135  , contiguous &
5136  :: data(:,:,:,:,:,:,:)
5137  integer, intent(IN) :: access
5138  integer, intent(OUT), optional :: err
5139  endsubroutine PDI_expose_INTEGER16_7D
5140  !=============================================================================
5141 
5142 
5143  !=============================================================================
5144  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5145  !! \param[IN] name the data name
5146  !! \param[IN] data the exposed data
5147  !! \param[IN] access whether the data can be accessed for read or write by
5148  !! PDI
5149  !! \param[OUT] err for error status (optional)
5150  subroutine PDI_expose_LOGICAL1_0D(name, data, access, err)
5151  character(len=*), intent(IN) :: name
5152  LOGICAL(KIND=1), target &
5153  :: data
5154  integer, intent(IN) :: access
5155  integer, intent(OUT), optional :: err
5156  endsubroutine PDI_expose_LOGICAL1_0D
5157  !=============================================================================
5158 
5159 
5160  !=============================================================================
5161  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5162  !! \param[IN] name the data name
5163  !! \param[IN] data the exposed data
5164  !! \param[IN] access whether the data can be accessed for read or write by
5165  !! PDI
5166  !! \param[OUT] err for error status (optional)
5167  subroutine PDI_expose_LOGICAL1_1D(name, data, access, err)
5168  character(len=*), intent(IN) :: name
5169  LOGICAL(KIND=1), target &
5170  , contiguous &
5171  :: data(:)
5172  integer, intent(IN) :: access
5173  integer, intent(OUT), optional :: err
5174  endsubroutine PDI_expose_LOGICAL1_1D
5175  !=============================================================================
5176 
5177 
5178  !=============================================================================
5179  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5180  !! \param[IN] name the data name
5181  !! \param[IN] data the exposed data
5182  !! \param[IN] access whether the data can be accessed for read or write by
5183  !! PDI
5184  !! \param[OUT] err for error status (optional)
5185  subroutine PDI_expose_LOGICAL1_2D(name, data, access, err)
5186  character(len=*), intent(IN) :: name
5187  LOGICAL(KIND=1), target &
5188  , contiguous &
5189  :: data(:,:)
5190  integer, intent(IN) :: access
5191  integer, intent(OUT), optional :: err
5192  endsubroutine PDI_expose_LOGICAL1_2D
5193  !=============================================================================
5194 
5195 
5196  !=============================================================================
5197  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5198  !! \param[IN] name the data name
5199  !! \param[IN] data the exposed data
5200  !! \param[IN] access whether the data can be accessed for read or write by
5201  !! PDI
5202  !! \param[OUT] err for error status (optional)
5203  subroutine PDI_expose_LOGICAL1_3D(name, data, access, err)
5204  character(len=*), intent(IN) :: name
5205  LOGICAL(KIND=1), target &
5206  , contiguous &
5207  :: data(:,:,:)
5208  integer, intent(IN) :: access
5209  integer, intent(OUT), optional :: err
5210  endsubroutine PDI_expose_LOGICAL1_3D
5211  !=============================================================================
5212 
5213 
5214  !=============================================================================
5215  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5216  !! \param[IN] name the data name
5217  !! \param[IN] data the exposed data
5218  !! \param[IN] access whether the data can be accessed for read or write by
5219  !! PDI
5220  !! \param[OUT] err for error status (optional)
5221  subroutine PDI_expose_LOGICAL1_4D(name, data, access, err)
5222  character(len=*), intent(IN) :: name
5223  LOGICAL(KIND=1), target &
5224  , contiguous &
5225  :: data(:,:,:,:)
5226  integer, intent(IN) :: access
5227  integer, intent(OUT), optional :: err
5228  endsubroutine PDI_expose_LOGICAL1_4D
5229  !=============================================================================
5230 
5231 
5232  !=============================================================================
5233  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5234  !! \param[IN] name the data name
5235  !! \param[IN] data the exposed data
5236  !! \param[IN] access whether the data can be accessed for read or write by
5237  !! PDI
5238  !! \param[OUT] err for error status (optional)
5239  subroutine PDI_expose_LOGICAL1_5D(name, data, access, err)
5240  character(len=*), intent(IN) :: name
5241  LOGICAL(KIND=1), target &
5242  , contiguous &
5243  :: data(:,:,:,:,:)
5244  integer, intent(IN) :: access
5245  integer, intent(OUT), optional :: err
5246  endsubroutine PDI_expose_LOGICAL1_5D
5247  !=============================================================================
5248 
5249 
5250  !=============================================================================
5251  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5252  !! \param[IN] name the data name
5253  !! \param[IN] data the exposed data
5254  !! \param[IN] access whether the data can be accessed for read or write by
5255  !! PDI
5256  !! \param[OUT] err for error status (optional)
5257  subroutine PDI_expose_LOGICAL1_6D(name, data, access, err)
5258  character(len=*), intent(IN) :: name
5259  LOGICAL(KIND=1), target &
5260  , contiguous &
5261  :: data(:,:,:,:,:,:)
5262  integer, intent(IN) :: access
5263  integer, intent(OUT), optional :: err
5264  endsubroutine PDI_expose_LOGICAL1_6D
5265  !=============================================================================
5266 
5267 
5268  !=============================================================================
5269  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5270  !! \param[IN] name the data name
5271  !! \param[IN] data the exposed data
5272  !! \param[IN] access whether the data can be accessed for read or write by
5273  !! PDI
5274  !! \param[OUT] err for error status (optional)
5275  subroutine PDI_expose_LOGICAL1_7D(name, data, access, err)
5276  character(len=*), intent(IN) :: name
5277  LOGICAL(KIND=1), target &
5278  , contiguous &
5279  :: data(:,:,:,:,:,:,:)
5280  integer, intent(IN) :: access
5281  integer, intent(OUT), optional :: err
5282  endsubroutine PDI_expose_LOGICAL1_7D
5283  !=============================================================================
5284 
5285 
5286  !=============================================================================
5287  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5288  !! \param[IN] name the data name
5289  !! \param[IN] data the exposed data
5290  !! \param[IN] access whether the data can be accessed for read or write by
5291  !! PDI
5292  !! \param[OUT] err for error status (optional)
5293  subroutine PDI_expose_LOGICAL2_0D(name, data, access, err)
5294  character(len=*), intent(IN) :: name
5295  LOGICAL(KIND=2), target &
5296  :: data
5297  integer, intent(IN) :: access
5298  integer, intent(OUT), optional :: err
5299  endsubroutine PDI_expose_LOGICAL2_0D
5300  !=============================================================================
5301 
5302 
5303  !=============================================================================
5304  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5305  !! \param[IN] name the data name
5306  !! \param[IN] data the exposed data
5307  !! \param[IN] access whether the data can be accessed for read or write by
5308  !! PDI
5309  !! \param[OUT] err for error status (optional)
5310  subroutine PDI_expose_LOGICAL2_1D(name, data, access, err)
5311  character(len=*), intent(IN) :: name
5312  LOGICAL(KIND=2), target &
5313  , contiguous &
5314  :: data(:)
5315  integer, intent(IN) :: access
5316  integer, intent(OUT), optional :: err
5317  endsubroutine PDI_expose_LOGICAL2_1D
5318  !=============================================================================
5319 
5320 
5321  !=============================================================================
5322  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5323  !! \param[IN] name the data name
5324  !! \param[IN] data the exposed data
5325  !! \param[IN] access whether the data can be accessed for read or write by
5326  !! PDI
5327  !! \param[OUT] err for error status (optional)
5328  subroutine PDI_expose_LOGICAL2_2D(name, data, access, err)
5329  character(len=*), intent(IN) :: name
5330  LOGICAL(KIND=2), target &
5331  , contiguous &
5332  :: data(:,:)
5333  integer, intent(IN) :: access
5334  integer, intent(OUT), optional :: err
5335  endsubroutine PDI_expose_LOGICAL2_2D
5336  !=============================================================================
5337 
5338 
5339  !=============================================================================
5340  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5341  !! \param[IN] name the data name
5342  !! \param[IN] data the exposed data
5343  !! \param[IN] access whether the data can be accessed for read or write by
5344  !! PDI
5345  !! \param[OUT] err for error status (optional)
5346  subroutine PDI_expose_LOGICAL2_3D(name, data, access, err)
5347  character(len=*), intent(IN) :: name
5348  LOGICAL(KIND=2), target &
5349  , contiguous &
5350  :: data(:,:,:)
5351  integer, intent(IN) :: access
5352  integer, intent(OUT), optional :: err
5353  endsubroutine PDI_expose_LOGICAL2_3D
5354  !=============================================================================
5355 
5356 
5357  !=============================================================================
5358  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5359  !! \param[IN] name the data name
5360  !! \param[IN] data the exposed data
5361  !! \param[IN] access whether the data can be accessed for read or write by
5362  !! PDI
5363  !! \param[OUT] err for error status (optional)
5364  subroutine PDI_expose_LOGICAL2_4D(name, data, access, err)
5365  character(len=*), intent(IN) :: name
5366  LOGICAL(KIND=2), target &
5367  , contiguous &
5368  :: data(:,:,:,:)
5369  integer, intent(IN) :: access
5370  integer, intent(OUT), optional :: err
5371  endsubroutine PDI_expose_LOGICAL2_4D
5372  !=============================================================================
5373 
5374 
5375  !=============================================================================
5376  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5377  !! \param[IN] name the data name
5378  !! \param[IN] data the exposed data
5379  !! \param[IN] access whether the data can be accessed for read or write by
5380  !! PDI
5381  !! \param[OUT] err for error status (optional)
5382  subroutine PDI_expose_LOGICAL2_5D(name, data, access, err)
5383  character(len=*), intent(IN) :: name
5384  LOGICAL(KIND=2), target &
5385  , contiguous &
5386  :: data(:,:,:,:,:)
5387  integer, intent(IN) :: access
5388  integer, intent(OUT), optional :: err
5389  endsubroutine PDI_expose_LOGICAL2_5D
5390  !=============================================================================
5391 
5392 
5393  !=============================================================================
5394  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5395  !! \param[IN] name the data name
5396  !! \param[IN] data the exposed data
5397  !! \param[IN] access whether the data can be accessed for read or write by
5398  !! PDI
5399  !! \param[OUT] err for error status (optional)
5400  subroutine PDI_expose_LOGICAL2_6D(name, data, access, err)
5401  character(len=*), intent(IN) :: name
5402  LOGICAL(KIND=2), target &
5403  , contiguous &
5404  :: data(:,:,:,:,:,:)
5405  integer, intent(IN) :: access
5406  integer, intent(OUT), optional :: err
5407  endsubroutine PDI_expose_LOGICAL2_6D
5408  !=============================================================================
5409 
5410 
5411  !=============================================================================
5412  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5413  !! \param[IN] name the data name
5414  !! \param[IN] data the exposed data
5415  !! \param[IN] access whether the data can be accessed for read or write by
5416  !! PDI
5417  !! \param[OUT] err for error status (optional)
5418  subroutine PDI_expose_LOGICAL2_7D(name, data, access, err)
5419  character(len=*), intent(IN) :: name
5420  LOGICAL(KIND=2), target &
5421  , contiguous &
5422  :: data(:,:,:,:,:,:,:)
5423  integer, intent(IN) :: access
5424  integer, intent(OUT), optional :: err
5425  endsubroutine PDI_expose_LOGICAL2_7D
5426  !=============================================================================
5427 
5428 
5429  !=============================================================================
5430  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5431  !! \param[IN] name the data name
5432  !! \param[IN] data the exposed data
5433  !! \param[IN] access whether the data can be accessed for read or write by
5434  !! PDI
5435  !! \param[OUT] err for error status (optional)
5436  subroutine PDI_expose_LOGICAL4_0D(name, data, access, err)
5437  character(len=*), intent(IN) :: name
5438  LOGICAL(KIND=4), target &
5439  :: data
5440  integer, intent(IN) :: access
5441  integer, intent(OUT), optional :: err
5442  endsubroutine PDI_expose_LOGICAL4_0D
5443  !=============================================================================
5444 
5445 
5446  !=============================================================================
5447  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5448  !! \param[IN] name the data name
5449  !! \param[IN] data the exposed data
5450  !! \param[IN] access whether the data can be accessed for read or write by
5451  !! PDI
5452  !! \param[OUT] err for error status (optional)
5453  subroutine PDI_expose_LOGICAL4_1D(name, data, access, err)
5454  character(len=*), intent(IN) :: name
5455  LOGICAL(KIND=4), target &
5456  , contiguous &
5457  :: data(:)
5458  integer, intent(IN) :: access
5459  integer, intent(OUT), optional :: err
5460  endsubroutine PDI_expose_LOGICAL4_1D
5461  !=============================================================================
5462 
5463 
5464  !=============================================================================
5465  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5466  !! \param[IN] name the data name
5467  !! \param[IN] data the exposed data
5468  !! \param[IN] access whether the data can be accessed for read or write by
5469  !! PDI
5470  !! \param[OUT] err for error status (optional)
5471  subroutine PDI_expose_LOGICAL4_2D(name, data, access, err)
5472  character(len=*), intent(IN) :: name
5473  LOGICAL(KIND=4), target &
5474  , contiguous &
5475  :: data(:,:)
5476  integer, intent(IN) :: access
5477  integer, intent(OUT), optional :: err
5478  endsubroutine PDI_expose_LOGICAL4_2D
5479  !=============================================================================
5480 
5481 
5482  !=============================================================================
5483  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5484  !! \param[IN] name the data name
5485  !! \param[IN] data the exposed data
5486  !! \param[IN] access whether the data can be accessed for read or write by
5487  !! PDI
5488  !! \param[OUT] err for error status (optional)
5489  subroutine PDI_expose_LOGICAL4_3D(name, data, access, err)
5490  character(len=*), intent(IN) :: name
5491  LOGICAL(KIND=4), target &
5492  , contiguous &
5493  :: data(:,:,:)
5494  integer, intent(IN) :: access
5495  integer, intent(OUT), optional :: err
5496  endsubroutine PDI_expose_LOGICAL4_3D
5497  !=============================================================================
5498 
5499 
5500  !=============================================================================
5501  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5502  !! \param[IN] name the data name
5503  !! \param[IN] data the exposed data
5504  !! \param[IN] access whether the data can be accessed for read or write by
5505  !! PDI
5506  !! \param[OUT] err for error status (optional)
5507  subroutine PDI_expose_LOGICAL4_4D(name, data, access, err)
5508  character(len=*), intent(IN) :: name
5509  LOGICAL(KIND=4), target &
5510  , contiguous &
5511  :: data(:,:,:,:)
5512  integer, intent(IN) :: access
5513  integer, intent(OUT), optional :: err
5514  endsubroutine PDI_expose_LOGICAL4_4D
5515  !=============================================================================
5516 
5517 
5518  !=============================================================================
5519  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5520  !! \param[IN] name the data name
5521  !! \param[IN] data the exposed data
5522  !! \param[IN] access whether the data can be accessed for read or write by
5523  !! PDI
5524  !! \param[OUT] err for error status (optional)
5525  subroutine PDI_expose_LOGICAL4_5D(name, data, access, err)
5526  character(len=*), intent(IN) :: name
5527  LOGICAL(KIND=4), target &
5528  , contiguous &
5529  :: data(:,:,:,:,:)
5530  integer, intent(IN) :: access
5531  integer, intent(OUT), optional :: err
5532  endsubroutine PDI_expose_LOGICAL4_5D
5533  !=============================================================================
5534 
5535 
5536  !=============================================================================
5537  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5538  !! \param[IN] name the data name
5539  !! \param[IN] data the exposed data
5540  !! \param[IN] access whether the data can be accessed for read or write by
5541  !! PDI
5542  !! \param[OUT] err for error status (optional)
5543  subroutine PDI_expose_LOGICAL4_6D(name, data, access, err)
5544  character(len=*), intent(IN) :: name
5545  LOGICAL(KIND=4), target &
5546  , contiguous &
5547  :: data(:,:,:,:,:,:)
5548  integer, intent(IN) :: access
5549  integer, intent(OUT), optional :: err
5550  endsubroutine PDI_expose_LOGICAL4_6D
5551  !=============================================================================
5552 
5553 
5554  !=============================================================================
5555  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5556  !! \param[IN] name the data name
5557  !! \param[IN] data the exposed data
5558  !! \param[IN] access whether the data can be accessed for read or write by
5559  !! PDI
5560  !! \param[OUT] err for error status (optional)
5561  subroutine PDI_expose_LOGICAL4_7D(name, data, access, err)
5562  character(len=*), intent(IN) :: name
5563  LOGICAL(KIND=4), target &
5564  , contiguous &
5565  :: data(:,:,:,:,:,:,:)
5566  integer, intent(IN) :: access
5567  integer, intent(OUT), optional :: err
5568  endsubroutine PDI_expose_LOGICAL4_7D
5569  !=============================================================================
5570 
5571 
5572  !=============================================================================
5573  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5574  !! \param[IN] name the data name
5575  !! \param[IN] data the exposed data
5576  !! \param[IN] access whether the data can be accessed for read or write by
5577  !! PDI
5578  !! \param[OUT] err for error status (optional)
5579  subroutine PDI_expose_LOGICAL8_0D(name, data, access, err)
5580  character(len=*), intent(IN) :: name
5581  LOGICAL(KIND=8), target &
5582  :: data
5583  integer, intent(IN) :: access
5584  integer, intent(OUT), optional :: err
5585  endsubroutine PDI_expose_LOGICAL8_0D
5586  !=============================================================================
5587 
5588 
5589  !=============================================================================
5590  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5591  !! \param[IN] name the data name
5592  !! \param[IN] data the exposed data
5593  !! \param[IN] access whether the data can be accessed for read or write by
5594  !! PDI
5595  !! \param[OUT] err for error status (optional)
5596  subroutine PDI_expose_LOGICAL8_1D(name, data, access, err)
5597  character(len=*), intent(IN) :: name
5598  LOGICAL(KIND=8), target &
5599  , contiguous &
5600  :: data(:)
5601  integer, intent(IN) :: access
5602  integer, intent(OUT), optional :: err
5603  endsubroutine PDI_expose_LOGICAL8_1D
5604  !=============================================================================
5605 
5606 
5607  !=============================================================================
5608  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5609  !! \param[IN] name the data name
5610  !! \param[IN] data the exposed data
5611  !! \param[IN] access whether the data can be accessed for read or write by
5612  !! PDI
5613  !! \param[OUT] err for error status (optional)
5614  subroutine PDI_expose_LOGICAL8_2D(name, data, access, err)
5615  character(len=*), intent(IN) :: name
5616  LOGICAL(KIND=8), target &
5617  , contiguous &
5618  :: data(:,:)
5619  integer, intent(IN) :: access
5620  integer, intent(OUT), optional :: err
5621  endsubroutine PDI_expose_LOGICAL8_2D
5622  !=============================================================================
5623 
5624 
5625  !=============================================================================
5626  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5627  !! \param[IN] name the data name
5628  !! \param[IN] data the exposed data
5629  !! \param[IN] access whether the data can be accessed for read or write by
5630  !! PDI
5631  !! \param[OUT] err for error status (optional)
5632  subroutine PDI_expose_LOGICAL8_3D(name, data, access, err)
5633  character(len=*), intent(IN) :: name
5634  LOGICAL(KIND=8), target &
5635  , contiguous &
5636  :: data(:,:,:)
5637  integer, intent(IN) :: access
5638  integer, intent(OUT), optional :: err
5639  endsubroutine PDI_expose_LOGICAL8_3D
5640  !=============================================================================
5641 
5642 
5643  !=============================================================================
5644  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5645  !! \param[IN] name the data name
5646  !! \param[IN] data the exposed data
5647  !! \param[IN] access whether the data can be accessed for read or write by
5648  !! PDI
5649  !! \param[OUT] err for error status (optional)
5650  subroutine PDI_expose_LOGICAL8_4D(name, data, access, err)
5651  character(len=*), intent(IN) :: name
5652  LOGICAL(KIND=8), target &
5653  , contiguous &
5654  :: data(:,:,:,:)
5655  integer, intent(IN) :: access
5656  integer, intent(OUT), optional :: err
5657  endsubroutine PDI_expose_LOGICAL8_4D
5658  !=============================================================================
5659 
5660 
5661  !=============================================================================
5662  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5663  !! \param[IN] name the data name
5664  !! \param[IN] data the exposed data
5665  !! \param[IN] access whether the data can be accessed for read or write by
5666  !! PDI
5667  !! \param[OUT] err for error status (optional)
5668  subroutine PDI_expose_LOGICAL8_5D(name, data, access, err)
5669  character(len=*), intent(IN) :: name
5670  LOGICAL(KIND=8), target &
5671  , contiguous &
5672  :: data(:,:,:,:,:)
5673  integer, intent(IN) :: access
5674  integer, intent(OUT), optional :: err
5675  endsubroutine PDI_expose_LOGICAL8_5D
5676  !=============================================================================
5677 
5678 
5679  !=============================================================================
5680  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5681  !! \param[IN] name the data name
5682  !! \param[IN] data the exposed data
5683  !! \param[IN] access whether the data can be accessed for read or write by
5684  !! PDI
5685  !! \param[OUT] err for error status (optional)
5686  subroutine PDI_expose_LOGICAL8_6D(name, data, access, err)
5687  character(len=*), intent(IN) :: name
5688  LOGICAL(KIND=8), target &
5689  , contiguous &
5690  :: data(:,:,:,:,:,:)
5691  integer, intent(IN) :: access
5692  integer, intent(OUT), optional :: err
5693  endsubroutine PDI_expose_LOGICAL8_6D
5694  !=============================================================================
5695 
5696 
5697  !=============================================================================
5698  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5699  !! \param[IN] name the data name
5700  !! \param[IN] data the exposed data
5701  !! \param[IN] access whether the data can be accessed for read or write by
5702  !! PDI
5703  !! \param[OUT] err for error status (optional)
5704  subroutine PDI_expose_LOGICAL8_7D(name, data, access, err)
5705  character(len=*), intent(IN) :: name
5706  LOGICAL(KIND=8), target &
5707  , contiguous &
5708  :: data(:,:,:,:,:,:,:)
5709  integer, intent(IN) :: access
5710  integer, intent(OUT), optional :: err
5711  endsubroutine PDI_expose_LOGICAL8_7D
5712  !=============================================================================
5713 
5714 
5715  !=============================================================================
5716  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5717  !! \param[IN] name the data name
5718  !! \param[IN] data the exposed data
5719  !! \param[IN] access whether the data can be accessed for read or write by
5720  !! PDI
5721  !! \param[OUT] err for error status (optional)
5722  subroutine PDI_expose_LOGICAL16_0D(name, data, access, err)
5723  character(len=*), intent(IN) :: name
5724  LOGICAL(KIND=16), target &
5725  :: data
5726  integer, intent(IN) :: access
5727  integer, intent(OUT), optional :: err
5728  endsubroutine PDI_expose_LOGICAL16_0D
5729  !=============================================================================
5730 
5731 
5732  !=============================================================================
5733  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5734  !! \param[IN] name the data name
5735  !! \param[IN] data the exposed data
5736  !! \param[IN] access whether the data can be accessed for read or write by
5737  !! PDI
5738  !! \param[OUT] err for error status (optional)
5739  subroutine PDI_expose_LOGICAL16_1D(name, data, access, err)
5740  character(len=*), intent(IN) :: name
5741  LOGICAL(KIND=16), target &
5742  , contiguous &
5743  :: data(:)
5744  integer, intent(IN) :: access
5745  integer, intent(OUT), optional :: err
5746  endsubroutine PDI_expose_LOGICAL16_1D
5747  !=============================================================================
5748 
5749 
5750  !=============================================================================
5751  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5752  !! \param[IN] name the data name
5753  !! \param[IN] data the exposed data
5754  !! \param[IN] access whether the data can be accessed for read or write by
5755  !! PDI
5756  !! \param[OUT] err for error status (optional)
5757  subroutine PDI_expose_LOGICAL16_2D(name, data, access, err)
5758  character(len=*), intent(IN) :: name
5759  LOGICAL(KIND=16), target &
5760  , contiguous &
5761  :: data(:,:)
5762  integer, intent(IN) :: access
5763  integer, intent(OUT), optional :: err
5764  endsubroutine PDI_expose_LOGICAL16_2D
5765  !=============================================================================
5766 
5767 
5768  !=============================================================================
5769  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5770  !! \param[IN] name the data name
5771  !! \param[IN] data the exposed data
5772  !! \param[IN] access whether the data can be accessed for read or write by
5773  !! PDI
5774  !! \param[OUT] err for error status (optional)
5775  subroutine PDI_expose_LOGICAL16_3D(name, data, access, err)
5776  character(len=*), intent(IN) :: name
5777  LOGICAL(KIND=16), target &
5778  , contiguous &
5779  :: data(:,:,:)
5780  integer, intent(IN) :: access
5781  integer, intent(OUT), optional :: err
5782  endsubroutine PDI_expose_LOGICAL16_3D
5783  !=============================================================================
5784 
5785 
5786  !=============================================================================
5787  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5788  !! \param[IN] name the data name
5789  !! \param[IN] data the exposed data
5790  !! \param[IN] access whether the data can be accessed for read or write by
5791  !! PDI
5792  !! \param[OUT] err for error status (optional)
5793  subroutine PDI_expose_LOGICAL16_4D(name, data, access, err)
5794  character(len=*), intent(IN) :: name
5795  LOGICAL(KIND=16), target &
5796  , contiguous &
5797  :: data(:,:,:,:)
5798  integer, intent(IN) :: access
5799  integer, intent(OUT), optional :: err
5800  endsubroutine PDI_expose_LOGICAL16_4D
5801  !=============================================================================
5802 
5803 
5804  !=============================================================================
5805  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5806  !! \param[IN] name the data name
5807  !! \param[IN] data the exposed data
5808  !! \param[IN] access whether the data can be accessed for read or write by
5809  !! PDI
5810  !! \param[OUT] err for error status (optional)
5811  subroutine PDI_expose_LOGICAL16_5D(name, data, access, err)
5812  character(len=*), intent(IN) :: name
5813  LOGICAL(KIND=16), target &
5814  , contiguous &
5815  :: data(:,:,:,:,:)
5816  integer, intent(IN) :: access
5817  integer, intent(OUT), optional :: err
5818  endsubroutine PDI_expose_LOGICAL16_5D
5819  !=============================================================================
5820 
5821 
5822  !=============================================================================
5823  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5824  !! \param[IN] name the data name
5825  !! \param[IN] data the exposed data
5826  !! \param[IN] access whether the data can be accessed for read or write by
5827  !! PDI
5828  !! \param[OUT] err for error status (optional)
5829  subroutine PDI_expose_LOGICAL16_6D(name, data, access, err)
5830  character(len=*), intent(IN) :: name
5831  LOGICAL(KIND=16), target &
5832  , contiguous &
5833  :: data(:,:,:,:,:,:)
5834  integer, intent(IN) :: access
5835  integer, intent(OUT), optional :: err
5836  endsubroutine PDI_expose_LOGICAL16_6D
5837  !=============================================================================
5838 
5839 
5840  !=============================================================================
5841  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5842  !! \param[IN] name the data name
5843  !! \param[IN] data the exposed data
5844  !! \param[IN] access whether the data can be accessed for read or write by
5845  !! PDI
5846  !! \param[OUT] err for error status (optional)
5847  subroutine PDI_expose_LOGICAL16_7D(name, data, access, err)
5848  character(len=*), intent(IN) :: name
5849  LOGICAL(KIND=16), target &
5850  , contiguous &
5851  :: data(:,:,:,:,:,:,:)
5852  integer, intent(IN) :: access
5853  integer, intent(OUT), optional :: err
5854  endsubroutine PDI_expose_LOGICAL16_7D
5855  !=============================================================================
5856 
5857 
5858  !=============================================================================
5859  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5860  !! \param[IN] name the data name
5861  !! \param[IN] data the exposed data
5862  !! \param[IN] access whether the data can be accessed for read or write by
5863  !! PDI
5864  !! \param[OUT] err for error status (optional)
5865  subroutine PDI_expose_REAL4_0D(name, data, access, err)
5866  character(len=*), intent(IN) :: name
5867  REAL(KIND=4), target &
5868  :: data
5869  integer, intent(IN) :: access
5870  integer, intent(OUT), optional :: err
5871  endsubroutine PDI_expose_REAL4_0D
5872  !=============================================================================
5873 
5874 
5875  !=============================================================================
5876  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5877  !! \param[IN] name the data name
5878  !! \param[IN] data the exposed data
5879  !! \param[IN] access whether the data can be accessed for read or write by
5880  !! PDI
5881  !! \param[OUT] err for error status (optional)
5882  subroutine PDI_expose_REAL4_1D(name, data, access, err)
5883  character(len=*), intent(IN) :: name
5884  REAL(KIND=4), target &
5885  , contiguous &
5886  :: data(:)
5887  integer, intent(IN) :: access
5888  integer, intent(OUT), optional :: err
5889  endsubroutine PDI_expose_REAL4_1D
5890  !=============================================================================
5891 
5892 
5893  !=============================================================================
5894  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5895  !! \param[IN] name the data name
5896  !! \param[IN] data the exposed data
5897  !! \param[IN] access whether the data can be accessed for read or write by
5898  !! PDI
5899  !! \param[OUT] err for error status (optional)
5900  subroutine PDI_expose_REAL4_2D(name, data, access, err)
5901  character(len=*), intent(IN) :: name
5902  REAL(KIND=4), target &
5903  , contiguous &
5904  :: data(:,:)
5905  integer, intent(IN) :: access
5906  integer, intent(OUT), optional :: err
5907  endsubroutine PDI_expose_REAL4_2D
5908  !=============================================================================
5909 
5910 
5911  !=============================================================================
5912  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5913  !! \param[IN] name the data name
5914  !! \param[IN] data the exposed data
5915  !! \param[IN] access whether the data can be accessed for read or write by
5916  !! PDI
5917  !! \param[OUT] err for error status (optional)
5918  subroutine PDI_expose_REAL4_3D(name, data, access, err)
5919  character(len=*), intent(IN) :: name
5920  REAL(KIND=4), target &
5921  , contiguous &
5922  :: data(:,:,:)
5923  integer, intent(IN) :: access
5924  integer, intent(OUT), optional :: err
5925  endsubroutine PDI_expose_REAL4_3D
5926  !=============================================================================
5927 
5928 
5929  !=============================================================================
5930  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5931  !! \param[IN] name the data name
5932  !! \param[IN] data the exposed data
5933  !! \param[IN] access whether the data can be accessed for read or write by
5934  !! PDI
5935  !! \param[OUT] err for error status (optional)
5936  subroutine PDI_expose_REAL4_4D(name, data, access, err)
5937  character(len=*), intent(IN) :: name
5938  REAL(KIND=4), target &
5939  , contiguous &
5940  :: data(:,:,:,:)
5941  integer, intent(IN) :: access
5942  integer, intent(OUT), optional :: err
5943  endsubroutine PDI_expose_REAL4_4D
5944  !=============================================================================
5945 
5946 
5947  !=============================================================================
5948  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5949  !! \param[IN] name the data name
5950  !! \param[IN] data the exposed data
5951  !! \param[IN] access whether the data can be accessed for read or write by
5952  !! PDI
5953  !! \param[OUT] err for error status (optional)
5954  subroutine PDI_expose_REAL4_5D(name, data, access, err)
5955  character(len=*), intent(IN) :: name
5956  REAL(KIND=4), target &
5957  , contiguous &
5958  :: data(:,:,:,:,:)
5959  integer, intent(IN) :: access
5960  integer, intent(OUT), optional :: err
5961  endsubroutine PDI_expose_REAL4_5D
5962  !=============================================================================
5963 
5964 
5965  !=============================================================================
5966  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5967  !! \param[IN] name the data name
5968  !! \param[IN] data the exposed data
5969  !! \param[IN] access whether the data can be accessed for read or write by
5970  !! PDI
5971  !! \param[OUT] err for error status (optional)
5972  subroutine PDI_expose_REAL4_6D(name, data, access, err)
5973  character(len=*), intent(IN) :: name
5974  REAL(KIND=4), target &
5975  , contiguous &
5976  :: data(:,:,:,:,:,:)
5977  integer, intent(IN) :: access
5978  integer, intent(OUT), optional :: err
5979  endsubroutine PDI_expose_REAL4_6D
5980  !=============================================================================
5981 
5982 
5983  !=============================================================================
5984  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
5985  !! \param[IN] name the data name
5986  !! \param[IN] data the exposed data
5987  !! \param[IN] access whether the data can be accessed for read or write by
5988  !! PDI
5989  !! \param[OUT] err for error status (optional)
5990  subroutine PDI_expose_REAL4_7D(name, data, access, err)
5991  character(len=*), intent(IN) :: name
5992  REAL(KIND=4), target &
5993  , contiguous &
5994  :: data(:,:,:,:,:,:,:)
5995  integer, intent(IN) :: access
5996  integer, intent(OUT), optional :: err
5997  endsubroutine PDI_expose_REAL4_7D
5998  !=============================================================================
5999 
6000 
6001  !=============================================================================
6002  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6003  !! \param[IN] name the data name
6004  !! \param[IN] data the exposed data
6005  !! \param[IN] access whether the data can be accessed for read or write by
6006  !! PDI
6007  !! \param[OUT] err for error status (optional)
6008  subroutine PDI_expose_REAL8_0D(name, data, access, err)
6009  character(len=*), intent(IN) :: name
6010  REAL(KIND=8), target &
6011  :: data
6012  integer, intent(IN) :: access
6013  integer, intent(OUT), optional :: err
6014  endsubroutine PDI_expose_REAL8_0D
6015  !=============================================================================
6016 
6017 
6018  !=============================================================================
6019  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6020  !! \param[IN] name the data name
6021  !! \param[IN] data the exposed data
6022  !! \param[IN] access whether the data can be accessed for read or write by
6023  !! PDI
6024  !! \param[OUT] err for error status (optional)
6025  subroutine PDI_expose_REAL8_1D(name, data, access, err)
6026  character(len=*), intent(IN) :: name
6027  REAL(KIND=8), target &
6028  , contiguous &
6029  :: data(:)
6030  integer, intent(IN) :: access
6031  integer, intent(OUT), optional :: err
6032  endsubroutine PDI_expose_REAL8_1D
6033  !=============================================================================
6034 
6035 
6036  !=============================================================================
6037  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6038  !! \param[IN] name the data name
6039  !! \param[IN] data the exposed data
6040  !! \param[IN] access whether the data can be accessed for read or write by
6041  !! PDI
6042  !! \param[OUT] err for error status (optional)
6043  subroutine PDI_expose_REAL8_2D(name, data, access, err)
6044  character(len=*), intent(IN) :: name
6045  REAL(KIND=8), target &
6046  , contiguous &
6047  :: data(:,:)
6048  integer, intent(IN) :: access
6049  integer, intent(OUT), optional :: err
6050  endsubroutine PDI_expose_REAL8_2D
6051  !=============================================================================
6052 
6053 
6054  !=============================================================================
6055  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6056  !! \param[IN] name the data name
6057  !! \param[IN] data the exposed data
6058  !! \param[IN] access whether the data can be accessed for read or write by
6059  !! PDI
6060  !! \param[OUT] err for error status (optional)
6061  subroutine PDI_expose_REAL8_3D(name, data, access, err)
6062  character(len=*), intent(IN) :: name
6063  REAL(KIND=8), target &
6064  , contiguous &
6065  :: data(:,:,:)
6066  integer, intent(IN) :: access
6067  integer, intent(OUT), optional :: err
6068  endsubroutine PDI_expose_REAL8_3D
6069  !=============================================================================
6070 
6071 
6072  !=============================================================================
6073  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6074  !! \param[IN] name the data name
6075  !! \param[IN] data the exposed data
6076  !! \param[IN] access whether the data can be accessed for read or write by
6077  !! PDI
6078  !! \param[OUT] err for error status (optional)
6079  subroutine PDI_expose_REAL8_4D(name, data, access, err)
6080  character(len=*), intent(IN) :: name
6081  REAL(KIND=8), target &
6082  , contiguous &
6083  :: data(:,:,:,:)
6084  integer, intent(IN) :: access
6085  integer, intent(OUT), optional :: err
6086  endsubroutine PDI_expose_REAL8_4D
6087  !=============================================================================
6088 
6089 
6090  !=============================================================================
6091  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6092  !! \param[IN] name the data name
6093  !! \param[IN] data the exposed data
6094  !! \param[IN] access whether the data can be accessed for read or write by
6095  !! PDI
6096  !! \param[OUT] err for error status (optional)
6097  subroutine PDI_expose_REAL8_5D(name, data, access, err)
6098  character(len=*), intent(IN) :: name
6099  REAL(KIND=8), target &
6100  , contiguous &
6101  :: data(:,:,:,:,:)
6102  integer, intent(IN) :: access
6103  integer, intent(OUT), optional :: err
6104  endsubroutine PDI_expose_REAL8_5D
6105  !=============================================================================
6106 
6107 
6108  !=============================================================================
6109  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6110  !! \param[IN] name the data name
6111  !! \param[IN] data the exposed data
6112  !! \param[IN] access whether the data can be accessed for read or write by
6113  !! PDI
6114  !! \param[OUT] err for error status (optional)
6115  subroutine PDI_expose_REAL8_6D(name, data, access, err)
6116  character(len=*), intent(IN) :: name
6117  REAL(KIND=8), target &
6118  , contiguous &
6119  :: data(:,:,:,:,:,:)
6120  integer, intent(IN) :: access
6121  integer, intent(OUT), optional :: err
6122  endsubroutine PDI_expose_REAL8_6D
6123  !=============================================================================
6124 
6125 
6126  !=============================================================================
6127  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6128  !! \param[IN] name the data name
6129  !! \param[IN] data the exposed data
6130  !! \param[IN] access whether the data can be accessed for read or write by
6131  !! PDI
6132  !! \param[OUT] err for error status (optional)
6133  subroutine PDI_expose_REAL8_7D(name, data, access, err)
6134  character(len=*), intent(IN) :: name
6135  REAL(KIND=8), target &
6136  , contiguous &
6137  :: data(:,:,:,:,:,:,:)
6138  integer, intent(IN) :: access
6139  integer, intent(OUT), optional :: err
6140  endsubroutine PDI_expose_REAL8_7D
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_0D(name, data, access, err)
6152  character(len=*), intent(IN) :: name
6153  REAL(KIND=16), target &
6154  :: data
6155  integer, intent(IN) :: access
6156  integer, intent(OUT), optional :: err
6157  endsubroutine PDI_expose_REAL16_0D
6158  !=============================================================================
6159 
6160 
6161  !=============================================================================
6162  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6163  !! \param[IN] name the data name
6164  !! \param[IN] data the exposed data
6165  !! \param[IN] access whether the data can be accessed for read or write by
6166  !! PDI
6167  !! \param[OUT] err for error status (optional)
6168  subroutine PDI_expose_REAL16_1D(name, data, access, err)
6169  character(len=*), intent(IN) :: name
6170  REAL(KIND=16), target &
6171  , contiguous &
6172  :: data(:)
6173  integer, intent(IN) :: access
6174  integer, intent(OUT), optional :: err
6175  endsubroutine PDI_expose_REAL16_1D
6176  !=============================================================================
6177 
6178 
6179  !=============================================================================
6180  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6181  !! \param[IN] name the data name
6182  !! \param[IN] data the exposed data
6183  !! \param[IN] access whether the data can be accessed for read or write by
6184  !! PDI
6185  !! \param[OUT] err for error status (optional)
6186  subroutine PDI_expose_REAL16_2D(name, data, access, err)
6187  character(len=*), intent(IN) :: name
6188  REAL(KIND=16), target &
6189  , contiguous &
6190  :: data(:,:)
6191  integer, intent(IN) :: access
6192  integer, intent(OUT), optional :: err
6193  endsubroutine PDI_expose_REAL16_2D
6194  !=============================================================================
6195 
6196 
6197  !=============================================================================
6198  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6199  !! \param[IN] name the data name
6200  !! \param[IN] data the exposed data
6201  !! \param[IN] access whether the data can be accessed for read or write by
6202  !! PDI
6203  !! \param[OUT] err for error status (optional)
6204  subroutine PDI_expose_REAL16_3D(name, data, access, err)
6205  character(len=*), intent(IN) :: name
6206  REAL(KIND=16), target &
6207  , contiguous &
6208  :: data(:,:,:)
6209  integer, intent(IN) :: access
6210  integer, intent(OUT), optional :: err
6211  endsubroutine PDI_expose_REAL16_3D
6212  !=============================================================================
6213 
6214 
6215  !=============================================================================
6216  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6217  !! \param[IN] name the data name
6218  !! \param[IN] data the exposed data
6219  !! \param[IN] access whether the data can be accessed for read or write by
6220  !! PDI
6221  !! \param[OUT] err for error status (optional)
6222  subroutine PDI_expose_REAL16_4D(name, data, access, err)
6223  character(len=*), intent(IN) :: name
6224  REAL(KIND=16), target &
6225  , contiguous &
6226  :: data(:,:,:,:)
6227  integer, intent(IN) :: access
6228  integer, intent(OUT), optional :: err
6229  endsubroutine PDI_expose_REAL16_4D
6230  !=============================================================================
6231 
6232 
6233  !=============================================================================
6234  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6235  !! \param[IN] name the data name
6236  !! \param[IN] data the exposed data
6237  !! \param[IN] access whether the data can be accessed for read or write by
6238  !! PDI
6239  !! \param[OUT] err for error status (optional)
6240  subroutine PDI_expose_REAL16_5D(name, data, access, err)
6241  character(len=*), intent(IN) :: name
6242  REAL(KIND=16), target &
6243  , contiguous &
6244  :: data(:,:,:,:,:)
6245  integer, intent(IN) :: access
6246  integer, intent(OUT), optional :: err
6247  endsubroutine PDI_expose_REAL16_5D
6248  !=============================================================================
6249 
6250 
6251  !=============================================================================
6252  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6253  !! \param[IN] name the data name
6254  !! \param[IN] data the exposed data
6255  !! \param[IN] access whether the data can be accessed for read or write by
6256  !! PDI
6257  !! \param[OUT] err for error status (optional)
6258  subroutine PDI_expose_REAL16_6D(name, data, access, err)
6259  character(len=*), intent(IN) :: name
6260  REAL(KIND=16), target &
6261  , contiguous &
6262  :: data(:,:,:,:,:,:)
6263  integer, intent(IN) :: access
6264  integer, intent(OUT), optional :: err
6265  endsubroutine PDI_expose_REAL16_6D
6266  !=============================================================================
6267 
6268 
6269  !=============================================================================
6270  !< shortly exposes some data to PDI. equivalent to PDI_share + PDI_reclaim.
6271  !! \param[IN] name the data name
6272  !! \param[IN] data the exposed data
6273  !! \param[IN] access whether the data can be accessed for read or write by
6274  !! PDI
6275  !! \param[OUT] err for error status (optional)
6276  subroutine PDI_expose_REAL16_7D(name, data, access, err)
6277  character(len=*), intent(IN) :: name
6278  REAL(KIND=16), target &
6279  , contiguous &
6280  :: data(:,:,:,:,:,:,:)
6281  integer, intent(IN) :: access
6282  integer, intent(OUT), optional :: err
6283  endsubroutine PDI_expose_REAL16_7D
6284  !=============================================================================
6285 
6286 endinterface PDI_expose
6287 
6288 
6289 interface PDI_access
6290 
6291  !=============================================================================
6292  !< requests for PDI to access a data buffer.
6293  !! \param[IN] name the data name
6294  !! \param[OUT] ptr_data pointer associated with the accessd data
6295  !! \param[IN] access whether the data can be accessed for read or write by
6296  !! PDI
6297  !! \param[OUT] err for error status (optional)
6298  subroutine PDI_access_CHARACTER1_0D(name, ptr_data, access, &
6299  err)
6300  character(len=*), intent(IN) :: name
6301  CHARACTER(KIND=1), pointer &
6302  :: ptr_data
6303  integer, intent(IN) :: access
6304  integer, intent(OUT), optional :: err
6305  endsubroutine PDI_access_CHARACTER1_0D
6306  !=============================================================================
6307 
6308 
6309  !=============================================================================
6310  !< requests for PDI to access a data buffer.
6311  !! \param[IN] name the data name
6312  !! \param[OUT] ptr_data pointer associated with the accessd data
6313  !! \param[IN] access whether the data can be accessed for read or write by
6314  !! PDI
6315  !! \param[OUT] err for error status (optional)
6316  subroutine PDI_access_CHARACTER1_1D(name, ptr_data, access, &
6317  ptr_data_shape, &
6318  err)
6319  character(len=*), intent(IN) :: name
6320  CHARACTER(KIND=1), pointer &
6321  , contiguous &
6322  :: ptr_data(:)
6323  integer, intent(IN) :: access
6324  integer, intent(IN) :: ptr_data_shape(1)
6325  integer, intent(OUT), optional :: err
6326  endsubroutine PDI_access_CHARACTER1_1D
6327  !=============================================================================
6328 
6329 
6330  !=============================================================================
6331  !< requests for PDI to access a data buffer.
6332  !! \param[IN] name the data name
6333  !! \param[OUT] ptr_data pointer associated with the accessd data
6334  !! \param[IN] access whether the data can be accessed for read or write by
6335  !! PDI
6336  !! \param[OUT] err for error status (optional)
6337  subroutine PDI_access_CHARACTER1_2D(name, ptr_data, access, &
6338  ptr_data_shape, &
6339  err)
6340  character(len=*), intent(IN) :: name
6341  CHARACTER(KIND=1), pointer &
6342  , contiguous &
6343  :: ptr_data(:,:)
6344  integer, intent(IN) :: access
6345  integer, intent(IN) :: ptr_data_shape(2)
6346  integer, intent(OUT), optional :: err
6347  endsubroutine PDI_access_CHARACTER1_2D
6348  !=============================================================================
6349 
6350 
6351  !=============================================================================
6352  !< requests for PDI to access a data buffer.
6353  !! \param[IN] name the data name
6354  !! \param[OUT] ptr_data pointer associated with the accessd data
6355  !! \param[IN] access whether the data can be accessed for read or write by
6356  !! PDI
6357  !! \param[OUT] err for error status (optional)
6358  subroutine PDI_access_CHARACTER1_3D(name, ptr_data, access, &
6359  ptr_data_shape, &
6360  err)
6361  character(len=*), intent(IN) :: name
6362  CHARACTER(KIND=1), pointer &
6363  , contiguous &
6364  :: ptr_data(:,:,:)
6365  integer, intent(IN) :: access
6366  integer, intent(IN) :: ptr_data_shape(3)
6367  integer, intent(OUT), optional :: err
6368  endsubroutine PDI_access_CHARACTER1_3D
6369  !=============================================================================
6370 
6371 
6372  !=============================================================================
6373  !< requests for PDI to access a data buffer.
6374  !! \param[IN] name the data name
6375  !! \param[OUT] ptr_data pointer associated with the accessd data
6376  !! \param[IN] access whether the data can be accessed for read or write by
6377  !! PDI
6378  !! \param[OUT] err for error status (optional)
6379  subroutine PDI_access_CHARACTER1_4D(name, ptr_data, access, &
6380  ptr_data_shape, &
6381  err)
6382  character(len=*), intent(IN) :: name
6383  CHARACTER(KIND=1), pointer &
6384  , contiguous &
6385  :: ptr_data(:,:,:,:)
6386  integer, intent(IN) :: access
6387  integer, intent(IN) :: ptr_data_shape(4)
6388  integer, intent(OUT), optional :: err
6389  endsubroutine PDI_access_CHARACTER1_4D
6390  !=============================================================================
6391 
6392 
6393  !=============================================================================
6394  !< requests for PDI to access a data buffer.
6395  !! \param[IN] name the data name
6396  !! \param[OUT] ptr_data pointer associated with the accessd data
6397  !! \param[IN] access whether the data can be accessed for read or write by
6398  !! PDI
6399  !! \param[OUT] err for error status (optional)
6400  subroutine PDI_access_CHARACTER1_5D(name, ptr_data, access, &
6401  ptr_data_shape, &
6402  err)
6403  character(len=*), intent(IN) :: name
6404  CHARACTER(KIND=1), pointer &
6405  , contiguous &
6406  :: ptr_data(:,:,:,:,:)
6407  integer, intent(IN) :: access
6408  integer, intent(IN) :: ptr_data_shape(5)
6409  integer, intent(OUT), optional :: err
6410  endsubroutine PDI_access_CHARACTER1_5D
6411  !=============================================================================
6412 
6413 
6414  !=============================================================================
6415  !< requests for PDI to access a data buffer.
6416  !! \param[IN] name the data name
6417  !! \param[OUT] ptr_data pointer associated with the accessd data
6418  !! \param[IN] access whether the data can be accessed for read or write by
6419  !! PDI
6420  !! \param[OUT] err for error status (optional)
6421  subroutine PDI_access_CHARACTER1_6D(name, ptr_data, access, &
6422  ptr_data_shape, &
6423  err)
6424  character(len=*), intent(IN) :: name
6425  CHARACTER(KIND=1), pointer &
6426  , contiguous &
6427  :: ptr_data(:,:,:,:,:,:)
6428  integer, intent(IN) :: access
6429  integer, intent(IN) :: ptr_data_shape(6)
6430  integer, intent(OUT), optional :: err
6431  endsubroutine PDI_access_CHARACTER1_6D
6432  !=============================================================================
6433 
6434 
6435  !=============================================================================
6436  !< requests for PDI to access a data buffer.
6437  !! \param[IN] name the data name
6438