Ignore:
Timestamp:
Mar 20, 2014 8:40:49 AM (7 years ago)
Author:
raasch
Message:

ONLY-attribute added to USE-statements,
kind-parameters added to all INTEGER and REAL declaration statements,
kinds are defined in new module kinds,
old module precision_kind is removed,
revision history before 2012 removed,
comment fields (!:) to be used for variable explanations added to all variable declaration statements

File:
1 edited

Legend:

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

    r1310 r1320  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! ONLY-attribute added to USE-statements,
     23! kind-parameters added to all INTEGER and REAL declaration statements,
     24! kinds are defined in new module kinds,
     25! old module precision_kind is removed,
     26! revision history before 2012 removed,
     27! comment fields (!:) to be used for variable explanations added to
     28! all variable declaration statements
    2329!
    2430! Former revisions:
     
    3743! 964 2012-07-26 09:14:24Z raasch
    3844! old profil-units (40:49) and respective code removed
    39 !
    40 ! 564 2010-09-30 13:18:59Z helmke
    41 ! start number of mask output files changed to 201, netcdf message identifiers
    42 ! of masked output changed
    43 !
    44 ! 493 2010-03-01 08:30:24Z raasch
    45 ! Adjustments for NetCDF parallel data output
    46 !
    47 ! 410 2009-12-04 17:05:40Z letzel
    48 ! masked data output
    49 !
    50 ! 263 2009-03-18 12:26:04Z heinze
    51 ! Output of NetCDF messages with aid of message handling routine.
    52 !
    53 ! Feb. 2007
    54 ! RCS Log replace by Id keyword, revision history cleaned up
    55 !
    56 ! Revision 1.10  2006/08/22 13:50:01  raasch
    57 ! xz and yz cross sections now up to nzt+1
    58 !
    59 ! Revision 1.1  2001/01/02 17:23:41  raasch
    60 ! Initial revision
    61 !
    62 ! Last revision before renaming subroutine  2001/01/01  raasch
    63 ! Subroutine name changed from close_files to close_file. Closing of a single
    64 ! file is allowed by passing its file-id as an argument. Variable openfile now
    65 ! is of type file_status and contains a flag which indicates if a file has
    66 ! been opened before. Old revision remarks deleted.
    67 !
    68 ! Revision 1.13 (close_files) 2000/12/20 09:10:24  letzel
    69 ! All comments translated into English.
    70 !
    71 ! Revision 1.12 (close_files) 1999/03/02 09:22:46  raasch
    72 ! FLD-Header fuer komprimierte 3D-Daten
    7345!
    7446! Revision 1.1 (close_files) 1997/08/11 06:11:18  raasch
     
    8355!------------------------------------------------------------------------------!
    8456
    85     USE control_parameters
    86     USE grid_variables
    87     USE indices
     57    USE control_parameters,                                                    &
     58        ONLY:  do2d_xz_n, do2d_xy_n, do2d_yz_n, do3d_avs_n, do3d_compress,     &
     59               host, iso2d_output, max_masks, mid, netcdf_data_format,         &
     60               netcdf_output, nz_do3d, openfile, run_description_header,       &
     61               z_max_do2d
     62               
     63    USE grid_variables,                                                        &
     64        ONLY:  dy
     65       
     66    USE indices,                                                               &
     67        ONLY:  nx, ny, nz
     68       
     69    USE kinds
     70   
    8871    USE netcdf_control
    89     USE pegrid
    90     USE profil_parameter
    91     USE statistics
     72               
     73    USE pegrid                                           
    9274
    9375    IMPLICIT NONE
    9476
    95     CHARACTER (LEN=10)  ::  datform = 'lit_endian'
    96     CHARACTER (LEN=80)  ::  title
    97 
    98     INTEGER ::  av, dimx, dimy, &
    99                 fid, file_id, planz
    100 
    101     LOGICAL ::  checkuf = .TRUE., datleg = .TRUE., dp = .FALSE.
    102 
    103     REAL ::  sizex, sizey, yright
    104 
    105     NAMELIST /GLOBAL/  checkuf, datform, dimx, dimy, dp, planz, &
     77    CHARACTER (LEN=10)  ::  datform = 'lit_endian' !:
     78    CHARACTER (LEN=80)  ::  title                  !:
     79
     80    INTEGER(iwp) ::  av           !:
     81    INTEGER(iwp) ::  dimx         !:
     82    INTEGER(iwp) ::  dimy         !:
     83    INTEGER(iwp) ::  fid          !:
     84    INTEGER(iwp) ::  file_id      !:
     85    INTEGER(iwp) ::  planz        !:
     86
     87    LOGICAL ::  checkuf = .TRUE.  !:
     88    LOGICAL ::  datleg = .TRUE.   !:
     89    LOGICAL ::  dbp = .FALSE.     !:
     90
     91    REAL(wp) ::  sizex            !:
     92    REAL(wp) ::  sizey            !:
     93    REAL(wp) ::  yright           !:
     94
     95    NAMELIST /GLOBAL/  checkuf, datform, dimx, dimy, dbp, planz,               &
    10696                       title
    10797    NAMELIST /RAHMEN/  datleg
     
    140130                   yright = ( ny + 1.0 ) * dy
    141131                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 't3e' )  THEN
    142                       checkuf = .FALSE.; dp = .TRUE.
     132                      checkuf = .FALSE.; dbp = .TRUE.
    143133                   ENDIF
    144134                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec' )  THEN
    145135                      datform = 'big_endian'
    146136                   ENDIF
    147                    OPEN ( 90, FILE='PLOT2D_XY_GLOBAL', FORM='FORMATTED', &
     137                   OPEN ( 90, FILE='PLOT2D_XY_GLOBAL', FORM='FORMATTED',       &
    148138                              DELIM='APOSTROPHE' )
    149139                   WRITE ( 90, GLOBAL )
     
    163153                   yright = z_max_do2d
    164154                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 't3e' )  THEN
    165                       checkuf = .FALSE.; dp = .TRUE.
     155                      checkuf = .FALSE.; dbp = .TRUE.
    166156                   ENDIF
    167157                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec' )  THEN
    168158                      datform = 'big_endian'
    169159                   ENDIF
    170                    OPEN ( 90, FILE='PLOT2D_XZ_GLOBAL', FORM='FORMATTED', &
     160                   OPEN ( 90, FILE='PLOT2D_XZ_GLOBAL', FORM='FORMATTED',       &
    171161                              DELIM='APOSTROPHE' )
    172162                   WRITE ( 90, GLOBAL )
     
    186176                   yright = z_max_do2d
    187177                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 't3e' )  THEN
    188                       checkuf = .FALSE.; dp = .TRUE.
     178                      checkuf = .FALSE.; dbp = .TRUE.
    189179                   ENDIF
    190180                   IF ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec' )  THEN
    191181                      datform = 'big_endian'
    192182                   ENDIF
    193                    OPEN ( 90, FILE='PLOT2D_YZ_GLOBAL', FORM='FORMATTED', &
     183                   OPEN ( 90, FILE='PLOT2D_YZ_GLOBAL', FORM='FORMATTED',       &
    194184                              DELIM='APOSTROPHE' )
    195185                   WRITE ( 90, GLOBAL )
     
    201191!--             Write header for FLD-file
    202192                IF ( do3d_compress )  THEN
    203                    WRITE ( 32, 3200)  ' compressed ',                       &
    204                                       TRIM( run_description_header ), nx+2, &
     193                   WRITE ( 32, 3200)  ' compressed ',                          &
     194                                      TRIM( run_description_header ), nx+2,    &
    205195                                      ny+2, nz_do3d+1, do3d_avs_n
    206196                ELSE
    207                    WRITE ( 32, 3200)  ' ', TRIM( run_description_header ), &
     197                   WRITE ( 32, 3200)  ' ', TRIM( run_description_header ),     &
    208198                                      nx+2, ny+2, nz_do3d+1, do3d_avs_n
    209199                ENDIF
     
    212202             CASE ( 101 )
    213203
    214                 IF ( netcdf_output  .AND.  &
     204                IF ( netcdf_output  .AND.                                      &
    215205                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    216206                   nc_stat = NF90_CLOSE( id_set_xy(0) )
     
    220210             CASE ( 102 )
    221211
    222                 IF ( netcdf_output  .AND.  &
     212                IF ( netcdf_output  .AND.                                      &
    223213                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    224214                   nc_stat = NF90_CLOSE( id_set_xz(0) )
     
    228218             CASE ( 103 )
    229219
    230                 IF ( netcdf_output  .AND.  &
     220                IF ( netcdf_output  .AND.                                      &
    231221                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    232222                   nc_stat = NF90_CLOSE( id_set_yz(0) )
     
    279269             CASE ( 111 )
    280270
    281                 IF ( netcdf_output  .AND.  &
     271                IF ( netcdf_output  .AND.                                      &
    282272                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    283273                   nc_stat = NF90_CLOSE( id_set_xy(1) )
     
    287277             CASE ( 112 )
    288278
    289                 IF ( netcdf_output  .AND.  &
     279                IF ( netcdf_output  .AND.                                      &
    290280                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    291281                   nc_stat = NF90_CLOSE( id_set_xz(1) )
     
    295285             CASE ( 113 )
    296286
    297                 IF ( netcdf_output  .AND.  &
     287                IF ( netcdf_output  .AND.                                      &
    298288                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    299289                   nc_stat = NF90_CLOSE( id_set_yz(1) )
     
    303293             CASE ( 116 )
    304294
    305                 IF ( netcdf_output  .AND.  &
     295                IF ( netcdf_output  .AND.                                      &
    306296                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    307297                   nc_stat = NF90_CLOSE( id_set_3d(1) )
     
    311301             CASE ( 201:200+2*max_masks )
    312302             
    313                 IF ( netcdf_output  .AND.  &
     303                IF ( netcdf_output  .AND.                                      &
    314304                     ( myid == 0  .OR.  netcdf_data_format > 4 ) )  THEN
    315305!
     
    340330!
    341331!-- Formats
    342 3200 FORMAT ('# AVS',A,'field file'/ &
    343              '#'/                &
    344              '# ',A/             &
    345              'ndim=3'/           &
    346              'dim1=',I5/         &
    347              'dim2=',I5/         &
    348              'dim3=',I5/         &
    349              'nspace=3'/         &
    350              'veclen=',I5/       &
    351              'data=xdr_float'/   &
     3323200 FORMAT ('# AVS',A,'field file'/                                           &
     333             '#'/                                                              &
     334             '# ',A/                                                           &
     335             'ndim=3'/                                                         &
     336             'dim1=',I5/                                                       &
     337             'dim2=',I5/                                                       &
     338             'dim3=',I5/                                                       &
     339             'nspace=3'/                                                       &
     340             'veclen=',I5/                                                     &
     341             'data=xdr_float'/                                                 &
    352342             'field=rectilinear')
    3533434000 FORMAT ('time averaged over',F7.1,' s')
Note: See TracChangeset for help on using the changeset viewer.