Ignore:
Timestamp:
Aug 25, 2020 12:11:17 PM (4 years ago)
Author:
raasch
Message:

files re-formatted to follow the PALM coding standard

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/posix_interface_mod.f90

    r4628 r4649  
    11!> @file posix_interface_mod.f90
    2 !------------------------------------------------------------------------------!
     2!--------------------------------------------------------------------------------------------------!
    33! This file is part of the PALM model system.
    44!
     
    1515!
    1616! Copyright 1997-2020 Leibniz Universitaet Hannover
    17 ! -------------------------------------------------------------------------------------------------!
     17!--------------------------------------------------------------------------------------------------!
     18!
    1819!
    1920! Current revisions:
     
    2425! -----------------
    2526! $Id$
    26 ! extensions required for MPI-I/O of particle data to restart files
    27 !
     27! File re-formatted to follow the PALM coding standard
     28!
     29!
     30! 4628 2020-07-29 07:23:03Z raasch
     31! Extensions required for MPI-I/O of particle data to restart files
     32!
    2833! 4495 2020-04-13 20:11:20Z raasch
    2934! Initial version (K. Ketelsen)
    3035!
    31 ! 
    32 !
     36!
     37!--------------------------------------------------------------------------------------------------!
    3338! Description:
    3439! ------------
    35 !> Interface to some POSIX system calls, mainly used for read/write of restart files
    36 !> in non-parallel mode in MPI-IO compatible format.
     40!> Interface to some POSIX system calls, mainly used for read/write of restart files in non-parallel
     41!> mode in MPI-IO compatible format.
    3742!--------------------------------------------------------------------------------------------------!
    3843 MODULE posix_interface
     
    5055!
    5156!-- Definitions copied from C include file fcntl.h
    52     INTEGER, PARAMETER ::  O_RDONLY =  0
    53     INTEGER, PARAMETER ::  O_WRONLY =  1
    54     INTEGER, PARAMETER ::  O_RDWR   =  2
    55     INTEGER, PARAMETER ::  O_CREAT  = 64  !> 0100 octal
    56     INTEGER, PARAMETER ::  SEEK_SET =  0
     57    INTEGER, PARAMETER ::  o_creat  = 64  !< 0100 octal
     58    INTEGER, PARAMETER ::  o_rdonly =  0  !<
     59    INTEGER, PARAMETER ::  o_rdwr   =  2  !<
     60    INTEGER, PARAMETER ::  o_wronly =  1  !<
     61    INTEGER, PARAMETER ::  seek_set =  0  !<
    5762
    5863
     
    6368          USE ISO_C_BINDING
    6469          IMPLICIT NONE
    65           CHARACTER(KIND=C_CHAR), DIMENSION(128) ::  pathname
    66           INTEGER(KIND=C_INT), VALUE             ::  flags
    67           INTEGER(KIND=C_INT), VALUE             ::  mode
     70          CHARACTER(KIND=C_CHAR), DIMENSION(128) ::  pathname  !<
     71          INTEGER(KIND=C_INT), VALUE             ::  flags     !<
     72          INTEGER(KIND=C_INT), VALUE             ::  mode      !<
    6873       END FUNCTION C_OPEN
    6974    END INTERFACE
     
    7378         USE ISO_C_BINDING
    7479         IMPLICIT NONE
    75          INTEGER(KIND=C_INT), VALUE              ::  fd
    76          INTEGER(KIND=C_SIZE_T), VALUE           ::  offset
    77          INTEGER(KIND=C_INT), VALUE              ::  whence
     80         INTEGER(KIND=C_INT), VALUE    ::  fd      !<
     81         INTEGER(KIND=C_SIZE_T), VALUE ::  offset  !<
     82         INTEGER(KIND=C_INT), VALUE    ::  whence  !<
    7883      END FUNCTION C_LSEEK
    7984   END INTERFACE
     
    8691          USE ISO_C_BINDING
    8792          IMPLICIT NONE
    88           INTEGER(KIND=C_INT), VALUE            ::  fd
    89           TYPE(C_PTR), VALUE                    ::  buf
    90           INTEGER(KIND=C_SIZE_T), VALUE         ::  nr_byte
     93          INTEGER(KIND=C_INT), VALUE    ::  fd       !<
     94          INTEGER(KIND=C_SIZE_T), VALUE ::  nr_byte  !<
     95          TYPE(C_PTR), VALUE            ::  buf      !<
    9196          END FUNCTION C_READ
    9297    END INTERFACE
     
    96101          USE ISO_C_BINDING
    97102          IMPLICIT NONE
    98           INTEGER(KIND=C_INT), VALUE            ::  fd
    99           TYPE(C_PTR), VALUE                    ::  buf
    100           INTEGER(KIND=C_SIZE_T), VALUE         ::  nr_byte
     103          INTEGER(KIND=C_INT), VALUE    ::  fd       !<
     104          INTEGER(KIND=C_SIZE_T), VALUE ::  nr_byte  !<
     105          TYPE(C_PTR), VALUE            ::  buf      !<
    101106       END FUNCTION C_WRITE
    102107    END INTERFACE
     
    106111          USE ISO_C_BINDING
    107112          IMPLICIT NONE
    108           INTEGER(KIND=C_INT), VALUE            ::  fd
     113          INTEGER(KIND=C_INT), VALUE ::  fd  !<
    109114       END FUNCTION C_CLOSE
    110115    END INTERFACE
     
    150155    END INTERFACE posix_write
    151156
    152     PUBLIC posix_close, posix_lseek, posix_open, posix_read, posix_write
     157    PUBLIC posix_close,                                                                            &
     158           posix_lseek,                                                                            &
     159           posix_open,                                                                             &
     160           posix_read,                                                                             &
     161           posix_write
    153162
    154163 CONTAINS
     
    158167    IMPLICIT NONE
    159168
    160     CHARACTER(LEN=*), INTENT(IN)            ::  file_name
    161     CHARACTER(LEN=1), DIMENSION(:), POINTER ::  f_string
    162     CHARACTER(LEN=128), TARGET              ::  lo_file_name
    163 
    164     INTEGER(C_INT)                          ::  fd
    165     INTEGER(C_INT)                          ::  flags
    166     INTEGER(C_INT)                          ::  name_len
    167     INTEGER(C_INT)                          ::  mode
    168     INTEGER, DIMENSION(1)                   ::  bufshape
    169 
    170     LOGICAL, INTENT(IN)                     ::  rd_flag
    171 
    172     TYPE(C_PTR)                             ::  ptr
     169    CHARACTER(LEN=*), INTENT(IN)            ::  file_name     !<
     170    CHARACTER(LEN=1), DIMENSION(:), POINTER ::  f_string      !<
     171    CHARACTER(LEN=128), TARGET              ::  lo_file_name  !<
     172
     173    INTEGER(C_INT)                          ::  fd            !<
     174    INTEGER(C_INT)                          ::  flags         !<
     175    INTEGER(C_INT)                          ::  name_len      !<
     176    INTEGER(C_INT)                          ::  mode          !<
     177    INTEGER, DIMENSION(1)                   ::  bufshape      !<
     178
     179    LOGICAL, INTENT(IN)                     ::  rd_flag       !<
     180
     181    TYPE(C_PTR)                             ::  ptr           !<
    173182
    174183
     
    177186!-- different FORTRAN compiler
    178187    name_len     = LEN( TRIM( file_name ) ) + 1
    179     lo_file_name = TRIM( file_name ) // CHAR(0)
     188    lo_file_name = TRIM( file_name ) // CHAR( 0 )
    180189    ptr          = C_LOC( lo_file_name(1:1) )
    181190    bufshape(1)  = name_len
     
    185194
    186195    IF ( rd_flag )  THEN
    187        flags = O_RDONLY
    188        fd    = C_OPEN (f_string, flags, mode)  ! Open for reading
     196       flags = o_rdonly
     197       fd    = C_OPEN( f_string, flags, mode )  ! Open for reading
    189198    ELSE
    190        flags = O_WRONLY + O_CREAT
    191        fd    = C_OPEN (f_string, flags, mode)  ! Open for writing
     199       flags = o_wronly + o_creat
     200       fd    = C_OPEN( f_string, flags, mode )  ! Open for writing
    192201    ENDIF
    193202
     
    202211    IMPLICIT NONE
    203212
    204     INTEGER, INTENT(IN)                ::  fid
    205     INTEGER(KIND=C_INT)                ::  my_fid
    206     INTEGER(KIND=C_SIZE_T), INTENT(IN) ::  offset
    207     INTEGER(KIND=C_SIZE_T)             ::  retval
    208     INTEGER(KIND=C_INT)                ::  whence
     213    INTEGER, INTENT(IN)                ::  fid     !<
     214    INTEGER(KIND=C_INT)                ::  my_fid  !<
     215    INTEGER(KIND=C_SIZE_T), INTENT(IN) ::  offset  !<
     216    INTEGER(KIND=C_SIZE_T)             ::  retval  !<
     217    INTEGER(KIND=C_INT)                ::  whence  !<
    209218
    210219
    211220    my_fid = fid
    212     whence = SEEK_SET
     221    whence = seek_set
    213222
    214223    retval = C_LSEEK( my_fid, offset, whence )
     
    222231    IMPLICIT NONE
    223232
    224     INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:) ::  data
    225     INTEGER, INTENT(IN)                                 ::  fid
    226     INTEGER                                             ::  nr_byte
    227     INTEGER, INTENT(IN)                                 ::  nw
    228 
    229     TYPE(C_PTR)                                         ::  buf
     233    INTEGER                                             ::  nr_byte  !<
     234    INTEGER, INTENT(IN)                                 ::  fid      !<
     235    INTEGER, INTENT(IN)                                 ::  nw       !<
     236    INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:) ::  data     !<
     237    TYPE(C_PTR)                                         ::  buf      !<
    230238
    231239
     
    243251    IMPLICIT NONE
    244252
    245     INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:,:) ::  data
    246     INTEGER, INTENT(IN)                                   ::  fid
    247     INTEGER                                               ::  nr_byte
    248     INTEGER, INTENT(IN)                                   ::  nw
    249 
    250     TYPE(C_PTR)                                           ::  buf
     253    INTEGER                                               ::  nr_byte  !<
     254    INTEGER, INTENT(IN)                                   ::  fid      !<
     255    INTEGER, INTENT(IN)                                   ::  nw       !<
     256    INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:,:) ::  data     !<
     257    TYPE(C_PTR)                                           ::  buf      !<
    251258
    252259
     
    264271    IMPLICIT NONE
    265272
    266     INTEGER(KIND=isp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data         !<
    267     INTEGER, INTENT(IN)                                     ::  fid          !<
    268     INTEGER                                                 ::  nr_byte      !<
    269     INTEGER, INTENT(IN)                                     ::  nw           !<
    270 
    271     TYPE(C_PTR)                                             ::  buf          !<
     273    INTEGER                                                 ::  nr_byte  !<
     274    INTEGER, INTENT(IN)                                     ::  fid      !<
     275    INTEGER, INTENT(IN)                                     ::  nw       !<
     276    INTEGER(KIND=isp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data     !<
     277    TYPE(C_PTR)                                             ::  buf      !<
    272278
    273279
     
    285291    IMPLICIT NONE
    286292
    287     INTEGER(KIND=idp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data         !<
    288     INTEGER, INTENT(IN)                                     ::  fid          !<
    289     INTEGER                                                 ::  nr_byte      !<
    290     INTEGER, INTENT(IN)                                     ::  nw           !<
    291 
    292     TYPE(C_PTR)                                             ::  buf          !<
     293    INTEGER                                                 ::  nr_byte  !<
     294    INTEGER, INTENT(IN)                                     ::  fid      !<
     295    INTEGER, INTENT(IN)                                     ::  nw       !<
     296    INTEGER(KIND=idp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data     !<
     297    TYPE(C_PTR)                                             ::  buf      !<
    293298
    294299
     
    306311    IMPLICIT NONE
    307312
    308     INTEGER(KIND=C_SIZE_T), INTENT(IN), TARGET, DIMENSION(:) ::  data
    309     INTEGER, INTENT(IN)                                      ::  fid
    310     INTEGER                                                  ::  nr_byte
    311     INTEGER, INTENT(IN)                                      ::  nw
    312     TYPE(C_PTR)                                              ::  buf
     313    INTEGER                                                  ::  nr_byte  !<
     314    INTEGER, INTENT(IN)                                      ::  fid      !<
     315    INTEGER, INTENT(IN)                                      ::  nw       !<
     316    INTEGER(KIND=C_SIZE_T), INTENT(IN), TARGET, DIMENSION(:) ::  data     !<
     317    TYPE(C_PTR)                                              ::  buf      !<
    313318
    314319
     
    326331    IMPLICIT NONE
    327332
    328     INTEGER, INTENT(IN)                             ::  fid
    329     INTEGER                                         ::  nr_byte
    330     INTEGER, INTENT(IN)                             ::  nw
    331 
    332     REAL(KIND=wp), INTENT(IN), TARGET, DIMENSION(:) ::  data
    333 
    334     TYPE(C_PTR)                                     ::  buf
     333    INTEGER                                         ::  nr_byte  !<
     334    INTEGER, INTENT(IN)                             ::  fid      !<
     335    INTEGER, INTENT(IN)                             ::  nw       !<
     336
     337    REAL(KIND=wp), INTENT(IN), TARGET, DIMENSION(:) ::  data     !<
     338
     339    TYPE(C_PTR)                                     ::  buf      !<
    335340
    336341
     
    348353    IMPLICIT NONE
    349354
    350     INTEGER, INTENT(IN)                                  ::  fid
    351     INTEGER                                              ::  nr_byte
    352     INTEGER, INTENT(IN)                                  ::  nw
    353 
    354     REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:) ::  data
    355 
    356     TYPE(C_PTR)                                          ::  buf
     355    INTEGER                                              ::  nr_byte  !<
     356    INTEGER, INTENT(IN)                                  ::  fid      !<
     357    INTEGER, INTENT(IN)                                  ::  nw       !<
     358
     359    REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:) ::  data     !<
     360
     361    TYPE(C_PTR)                                          ::  buf      !<
    357362
    358363
     
    370375    IMPLICIT NONE
    371376
    372     INTEGER, INTENT(IN)                                    ::  fid
    373     INTEGER                                                ::  nr_byte
    374     INTEGER, INTENT(IN)                                    ::  nw
    375 
    376     REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:,:) ::  data
    377 
    378     TYPE(C_PTR)                                            ::  buf
     377    INTEGER                                                ::  nr_byte  !<
     378    INTEGER, INTENT(IN)                                    ::  fid      !<
     379    INTEGER, INTENT(IN)                                    ::  nw       !<
     380
     381    REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:,:) ::  data     !<
     382
     383    TYPE(C_PTR)                                            ::  buf      !<
    379384
    380385
     
    392397    IMPLICIT NONE
    393398
    394     INTEGER, INTENT(IN)    ::  fid
    395     INTEGER(KIND=C_INT)    ::  my_fid
    396     INTEGER , INTENT(IN)   ::  nb
    397     INTEGER(KIND=C_SIZE_T) ::  nr_byte
    398     INTEGER(KIND=C_SIZE_T) ::  retval
    399 
    400     TYPE(C_PTR)            ::  buf
     399    INTEGER, INTENT(IN)    ::  fid      !<
     400    INTEGER , INTENT(IN)   ::  nb       !<
     401    INTEGER(KIND=C_INT)    ::  my_fid   !<
     402    INTEGER(KIND=C_SIZE_T) ::  nr_byte  !<
     403    INTEGER(KIND=C_SIZE_T) ::  retval   !<
     404
     405    TYPE(C_PTR)            ::  buf      !<
    401406
    402407
     
    407412
    408413!
    409 !-- The posix standard says that is not guaranteed that all bytes are read in one read system call.
    410 !-- If retval is not equal to nr_byte, another system call has to be issued.
     414!-- The posix standard says that it is not guaranteed that all bytes are read in one read system
     415!-- call. If retval is not equal to nr_byte, another system call has to be issued.
    411416!-- However, in all Unix distributions it is commonly accepted, that all bytes are read in one call
    412417!-- during during disk-IO. Therefore, here is only an error query and no reading in a while loop.
    413418    IF ( retval /= nr_byte )  THEN
    414         WRITE(6,*) 'Number of bytes read does not match the number of requested bytes'
     419        WRITE( 6, * ) 'Number of bytes read does not match the number of requested bytes'
    415420        CALL abort
    416421    ENDIF
     
    424429    IMPLICIT NONE
    425430
    426     CHARACTER(LEN=*), DIMENSION(:)   ::  data
    427     CHARACTER(LEN=LEN(data)), TARGET ::  data_buf
    428 
    429     INTEGER, INTENT(IN)              ::  fid
    430     INTEGER                          ::  i
    431     INTEGER(KIND=C_INT)              ::  my_fid
    432     INTEGER(KIND=C_SIZE_T)           ::  name_len
    433     INTEGER(KIND=C_SIZE_T)           ::  retval
    434 
    435     TYPE(C_PTR)                      ::  ptr
     431    CHARACTER(LEN=*), DIMENSION(:)   ::  data      !<
     432    CHARACTER(LEN=LEN(data)), TARGET ::  data_buf  !<
     433
     434    INTEGER                          ::  i         !<
     435    INTEGER, INTENT(IN)              ::  fid       !<
     436    INTEGER(KIND=C_INT)              ::  my_fid    !<
     437    INTEGER(KIND=C_SIZE_T)           ::  name_len  !<
     438    INTEGER(KIND=C_SIZE_T)           ::  retval    !<
     439
     440    TYPE(C_PTR)                      ::  ptr       !<
    436441
    437442
     
    440445    DO  i = 1, SIZE( data )
    441446       data_buf = data(i)
    442        name_len = LEN(data(i))
     447       name_len = LEN( data(i) )
    443448       ptr      = C_LOC( data_buf(1:1) )
    444449       retval   = C_READ( my_fid, ptr, name_len )
     
    454459    IMPLICIT NONE
    455460
    456     INTEGER, INTENT(IN)                                 ::  fid
    457     INTEGER(KIND=C_INT)                                 ::  my_fid
    458     INTEGER(KIND=C_SIZE_T)                              ::  nr_byte
    459     INTEGER , INTENT(IN)                                ::  nw
    460     INTEGER(KIND=C_SIZE_T)                              ::  retval
    461 
    462     INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:) ::  data
    463 
    464     TYPE(C_PTR)                                         ::  buf
     461    INTEGER, INTENT(IN)                                 ::  fid      !<
     462    INTEGER ,INTENT(IN)                                 ::  nw       !<
     463    INTEGER(KIND=C_INT)                                 ::  my_fid   !<
     464    INTEGER(KIND=C_SIZE_T)                              ::  nr_byte  !<
     465    INTEGER(KIND=C_SIZE_T)                              ::  retval   !<
     466
     467    INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:) ::  data     !<
     468
     469    TYPE(C_PTR)                                         ::  buf      !<
    465470
    466471
     
    479484    IMPLICIT NONE
    480485
    481     INTEGER, INTENT(IN)                                   ::  fid
    482     INTEGER                                               ::  nr_byte
    483     INTEGER, INTENT(IN)                                   ::  nw
    484 
    485     INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:,:) ::  data
    486 
    487     TYPE(C_PTR)                                           :: buf
     486    INTEGER                                               ::  nr_byte  !<
     487    INTEGER, INTENT(IN)                                   ::  fid      !<
     488    INTEGER, INTENT(IN)                                   ::  nw       !<
     489
     490    INTEGER(KIND=iwp), INTENT(IN), TARGET, DIMENSION(:,:) ::  data     !<
     491
     492    TYPE(C_PTR)                                           :: buf       !<
    488493
    489494
     
    501506    IMPLICIT NONE
    502507
    503     INTEGER, INTENT(IN)                                     ::  fid        !<
    504     INTEGER                                                 ::  nr_byte    !<
    505     INTEGER, INTENT(IN)                                     ::  nw         !<
    506 
    507     INTEGER(KIND=isp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data       !<
    508 
    509     TYPE(C_PTR)                                             ::  buf        !<
     508    INTEGER                                                 ::  nr_byte  !<
     509    INTEGER, INTENT(IN)                                     ::  fid      !<
     510    INTEGER, INTENT(IN)                                     ::  nw       !<
     511
     512    INTEGER(KIND=isp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data     !<
     513
     514    TYPE(C_PTR)                                             ::  buf      !<
    510515
    511516
     
    523528    IMPLICIT NONE
    524529
    525     INTEGER, INTENT(IN)                                     ::  fid        !<
    526     INTEGER                                                 ::  nr_byte    !<
    527     INTEGER, INTENT(IN)                                     ::  nw         !<
    528 
    529     INTEGER(KIND=idp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data       !<
    530 
    531     TYPE(C_PTR)                                             ::  buf        !<
     530    INTEGER                                                 ::  nr_byte  !<
     531    INTEGER, INTENT(IN)                                     ::  fid      !<
     532    INTEGER, INTENT(IN)                                     ::  nw       !<
     533
     534    INTEGER(KIND=idp), INTENT(IN), TARGET, DIMENSION(:,:,:) ::  data     !<
     535
     536    TYPE(C_PTR)                                             ::  buf      !<
    532537
    533538
     
    545550    IMPLICIT NONE
    546551
    547     INTEGER, INTENT(IN)                                      ::  fid
    548     INTEGER                                                  ::  nr_byte
    549     INTEGER, INTENT(IN)                                      ::  nw
    550 
    551     INTEGER(KIND=C_SIZE_T), INTENT(IN), TARGET, DIMENSION(:) ::  data
    552 
    553     TYPE(C_PTR)                                              ::  buf
     552    INTEGER                                                  ::  nr_byte  !<
     553    INTEGER, INTENT(IN)                                      ::  fid      !<
     554    INTEGER, INTENT(IN)                                      ::  nw       !<
     555
     556    INTEGER(KIND=C_SIZE_T), INTENT(IN), TARGET, DIMENSION(:) ::  data     !<
     557
     558    TYPE(C_PTR)                                              ::  buf      !<
    554559
    555560
     
    567572    IMPLICIT NONE
    568573
    569     INTEGER, INTENT(IN)                             ::  fid
    570     INTEGER                                         ::  nr_byte
    571     INTEGER, INTENT(IN)                             ::  nw
    572 
    573     REAL(KIND=wp), INTENT(IN), TARGET, DIMENSION(:) ::  data
    574 
    575     TYPE(C_PTR)                                     ::  buf
     574    INTEGER                                         ::  nr_byte   !<
     575    INTEGER, INTENT(IN)                             ::  fid       !<
     576    INTEGER, INTENT(IN)                             ::  nw        !<
     577
     578    REAL(KIND=wp), INTENT(IN), TARGET, DIMENSION(:) ::  data      !<
     579
     580    TYPE(C_PTR)                                     ::  buf       !<
    576581
    577582
     
    589594    IMPLICIT NONE
    590595
    591     INTEGER, INTENT(IN)                                  ::  fid
    592     INTEGER                                              ::  nr_byte
    593     INTEGER, INTENT(IN)                                  ::  nw
    594 
    595     REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:) ::  data
    596 
    597     TYPE(C_PTR)                                          ::  buf
     596    INTEGER                                              ::  nr_byte  !<
     597    INTEGER, INTENT(IN)                                  ::  fid      !<
     598    INTEGER, INTENT(IN)                                  ::  nw       !<
     599
     600    REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:) ::  data     !<
     601
     602    TYPE(C_PTR)                                          ::  buf      !<
    598603
    599604
     
    611616    IMPLICIT NONE
    612617
    613     INTEGER, INTENT(IN)                                    ::  fid
    614     INTEGER                                                ::  nr_byte
    615     INTEGER, INTENT(IN)                                    ::  nw
    616 
    617     REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:,:) ::  data
    618 
    619     TYPE(C_PTR)                                            ::  buf
     618    INTEGER                                                ::  nr_byte  !<
     619    INTEGER, INTENT(IN)                                    ::  fid      !<
     620    INTEGER, INTENT(IN)                                    ::  nw       !<
     621
     622    REAL(KIND=wp), INTENT(INOUT), TARGET, DIMENSION(:,:,:) ::  data     !<
     623
     624    TYPE(C_PTR)                                            ::  buf      !<
    620625
    621626
     
    633638    IMPLICIT NONE
    634639
    635     INTEGER, INTENT(IN)    ::  fid
    636     INTEGER(KIND=C_INT)    ::  my_fid
    637     INTEGER , INTENT(IN)   ::  nb
    638     INTEGER(KIND=C_SIZE_T) ::  nr_byte
    639     INTEGER(KIND=C_SIZE_T) ::  retval
    640 
    641     TYPE(C_PTR)            ::  buf
     640    INTEGER, INTENT(IN)    ::  fid      !<
     641    INTEGER , INTENT(IN)   ::  nb       !<
     642    INTEGER(KIND=C_INT)    ::  my_fid   !<
     643    INTEGER(KIND=C_SIZE_T) ::  nr_byte  !<
     644    INTEGER(KIND=C_SIZE_T) ::  retval   !<
     645
     646    TYPE(C_PTR)            ::  buf      !<
    642647
    643648
     
    648653
    649654    IF ( retval /= nr_byte )  THEN
    650        WRITE(6,*) 'Number of bytes to write does not match the number of requested bytes'
     655       WRITE( 6, * ) 'Number of bytes to write does not match the number of requested bytes'
    651656       CALL abort
    652657    ENDIF
     
    660665    IMPLICIT NONE
    661666
    662     CHARACTER(LEN=*), DIMENSION(:)     ::  data
    663 
    664     CHARACTER(LEN=LEN(data)+1), TARGET ::  data_buf
    665 
    666     INTEGER, INTENT(IN)                ::  fid
    667     INTEGER                            ::  i
    668     INTEGER(KIND=C_INT)                ::  my_fid
    669     INTEGER(KIND=C_SIZE_T)             ::  name_len
    670     INTEGER(KIND=C_SIZE_T)             ::  retval
    671 
    672     TYPE(C_PTR)                        ::  ptr
     667    CHARACTER(LEN=*), DIMENSION(:)     ::  data      !<
     668    CHARACTER(LEN=LEN(data)+1), TARGET ::  data_buf  !<
     669
     670    INTEGER                            ::  i         !<
     671    INTEGER, INTENT(IN)                ::  fid       !<
     672    INTEGER(KIND=C_INT)                ::  my_fid    !<
     673    INTEGER(KIND=C_SIZE_T)             ::  name_len  !<
     674    INTEGER(KIND=C_SIZE_T)             ::  retval    !<
     675
     676    TYPE(C_PTR)                        ::  ptr       !<
    673677
    674678
     
    690694    IMPLICIT NONE
    691695
    692     INTEGER, INTENT(IN) ::  fid
    693     INTEGER(KIND=C_INT) ::  my_fid
    694     INTEGER(KIND=C_INT) ::  retval
     696    INTEGER, INTENT(IN) ::  fid     !<
     697    INTEGER(KIND=C_INT) ::  my_fid  !<
     698    INTEGER(KIND=C_INT) ::  retval  !<
    695699
    696700
Note: See TracChangeset for help on using the changeset viewer.