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/init_pegrid.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! revision history before 2012 removed,
     26! comment fields (!:) to be used for variable explanations added to
     27! all variable declaration statements
    2328!
    2429! Former revisions:
     
    6974! 807 2012-01-25 11:53:51Z maronga
    7075! New cpp directive "__check" implemented which is used by check_namelist_files
    71 !
    72 ! 780 2011-11-10 07:16:47Z raasch
    73 ! Bugfix for rev 778: Misplaced error message moved to the rigth place
    74 !
    75 ! 778 2011-11-07 14:18:25Z fricke
    76 ! Calculation of subdomain_size now considers the number of ghost points.
    77 ! Further coarsening on PE0 is now possible for multigrid solver if the
    78 ! collected field has more grid points than the subdomain of an PE.
    79 !
    80 ! 759 2011-09-15 13:58:31Z raasch
    81 ! calculation of number of io_blocks and the io_group to which the respective
    82 ! PE belongs
    83 !
    84 ! 755 2011-08-29 09:55:16Z witha
    85 ! 2d-decomposition is default for lcflow (ForWind cluster in Oldenburg)
    86 !
    87 ! 722 2011-04-11 06:21:09Z raasch
    88 ! Bugfix: bc_lr/ns_cyc/dirrad/raddir replaced by bc_lr/ns, because variables
    89 !         are not yet set here; grid_level set to 0
    90 !
    91 ! 709 2011-03-30 09:31:40Z raasch
    92 ! formatting adjustments
    93 !
    94 ! 707 2011-03-29 11:39:40Z raasch
    95 ! bc_lr/ns replaced by bc_lr/ns_cyc/dirrad/raddir
    96 !
    97 ! 667 2010-12-23 12:06:00Z suehring/gryschka
    98 ! Moved determination of target_id's from init_coupling
    99 ! Determination of parameters needed for coupling (coupling_topology, ngp_a,
    100 ! ngp_o) with different grid/processor-topology in ocean and atmosphere
    101 ! Adaption of ngp_xy, ngp_y to a dynamic number of ghost points.
    102 ! The maximum_grid_level changed from 1 to 0. 0 is the normal grid, 1 to
    103 ! maximum_grid_level the grids for multigrid, in which 0 and 1 are normal grids.
    104 ! This distinction is due to reasons of data exchange and performance for the
    105 ! normal grid and grids in poismg.
    106 ! The definition of MPI-Vectors adapted to a dynamic numer of ghost points.
    107 ! New MPI-Vectors for data exchange between left and right boundaries added.
    108 ! This is due to reasons of performance (10% faster).
    109 !
    110 ! 646 2010-12-15 13:03:52Z raasch
    111 ! lctit is now using a 2d decomposition by default
    112 !
    113 ! 622 2010-12-10 08:08:13Z raasch
    114 ! optional barriers included in order to speed up collective operations
    115 !
    116 ! 438 2010-02-01 04:32:43Z raasch
    117 ! 2d-decomposition is default for Cray-XT machines
    118 !
    119 ! 274 2009-03-26 15:11:21Z heinze
    120 ! Output of messages replaced by message handling routine.
    121 !
    122 ! 206 2008-10-13 14:59:11Z raasch
    123 ! Implementation of a MPI-1 coupling: added __parallel within the __mpi2 part
    124 ! 2d-decomposition is default on SGI-ICE systems
    125 !
    126 ! 197 2008-09-16 15:29:03Z raasch
    127 ! multigrid levels are limited by subdomains if mg_switch_to_pe0_level = -1,
    128 ! nz is used instead nnz for calculating mg-levels
    129 ! Collect on PE0 horizontal index bounds from all other PEs,
    130 ! broadcast the id of the inflow PE (using the respective communicator)
    131 !
    132 ! 114 2007-10-10 00:03:15Z raasch
    133 ! Allocation of wall flag arrays for multigrid solver
    134 !
    135 ! 108 2007-08-24 15:10:38Z letzel
    136 ! Intercommunicator (comm_inter) and derived data type (type_xy) for
    137 ! coupled model runs created, assign coupling_mode_remote,
    138 ! indices nxlu and nysv are calculated (needed for non-cyclic boundary
    139 ! conditions)
    140 !
    141 ! 82 2007-04-16 15:40:52Z raasch
    142 ! Cpp-directive lcmuk changed to intel_openmp_bug, setting of host on lcmuk by
    143 ! cpp-directive removed
    144 !
    145 ! 75 2007-03-22 09:54:05Z raasch
    146 ! uxrp, vynp eliminated,
    147 ! dirichlet/neumann changed to dirichlet/radiation, etc.,
    148 ! poisfft_init is only called if fft-solver is switched on
    149 !
    150 ! RCS Log replace by Id keyword, revision history cleaned up
    151 !
    152 ! Revision 1.28  2006/04/26 13:23:32  raasch
    153 ! lcmuk does not understand the !$ comment so a cpp-directive is required
    15476!
    15577! Revision 1.1  1997/07/24 11:15:09  raasch
     
    16486!------------------------------------------------------------------------------!
    16587
    166     USE control_parameters
    167     USE grid_variables
    168     USE indices
     88    USE control_parameters,                                                    &
     89        ONLY:  bc_lr, bc_ns, coupling_mode, coupling_topology, dt_dosp,        &
     90               gathered_size, grid_level, grid_level_count, host, inflow_l,    &
     91               inflow_n, inflow_r, inflow_s, io_blocks, io_group,              & 
     92               maximum_grid_level, maximum_parallel_io_streams, message_string,&
     93               mg_switch_to_pe0_level, momentum_advec, psolver, outflow_l,     &
     94               outflow_n, outflow_r, outflow_s, recycling_width, scalar_advec, &
     95               subdomain_size
     96
     97    USE grid_variables,                                                        &
     98        ONLY:  dx
     99       
     100    USE indices,                                                               &
     101        ONLY:  mg_loc_ind, nbgp, nnx, nny, nnz, nx, nx_a, nx_o, nxl, nxl_mg,   &
     102               nxlu, nxr, nxr_mg, ny, ny_a, ny_o, nyn, nyn_mg, nys, nys_mg,    &
     103               nysv, nz, nzb, nzt, nzt_mg, wall_flags_1, wall_flags_2,         &
     104               wall_flags_3, wall_flags_4, wall_flags_5, wall_flags_6,         &
     105               wall_flags_7, wall_flags_8, wall_flags_9, wall_flags_10
     106
     107    USE kinds
     108     
    169109    USE pegrid
    170     USE statistics
    171     USE transpose_indices
    172 
    173 
     110 
     111    USE transpose_indices,                                                     &
     112        ONLY:  nxl_y, nxl_yd, nxl_z, nxr_y, nxr_yd, nxr_z, nyn_x, nyn_z, nys_x,&
     113               nys_z, nzb_x, nzb_y, nzb_yd, nzt_x, nzt_yd, nzt_y
    174114
    175115    IMPLICIT NONE
    176116
    177     INTEGER ::  i, id_inflow_l, id_recycling_l, ind(5), j, k,                &
    178                 maximum_grid_level_l, mg_switch_to_pe0_level_l, mg_levels_x, &
    179                 mg_levels_y, mg_levels_z, nnx_y, nnx_z, nny_x, nny_z, nnz_x, &
    180                 nnz_y, numproc_sqr, nxl_l, nxr_l, nyn_l, nys_l,    &
    181                 nzb_l, nzt_l, omp_get_num_threads
    182 
    183     INTEGER, DIMENSION(:), ALLOCATABLE ::  ind_all, nxlf, nxrf, nynf, nysf
    184 
    185     INTEGER, DIMENSION(2) :: pdims_remote
     117    INTEGER(iwp) ::  i                        !:
     118    INTEGER(iwp) ::  id_inflow_l              !:
     119    INTEGER(iwp) ::  id_recycling_l           !:
     120    INTEGER(iwp) ::  ind(5)                   !:
     121    INTEGER(iwp) ::  j                        !:
     122    INTEGER(iwp) ::  k                        !:
     123    INTEGER(iwp) ::  maximum_grid_level_l     !:
     124    INTEGER(iwp) ::  mg_levels_x              !:
     125    INTEGER(iwp) ::  mg_levels_y              !:
     126    INTEGER(iwp) ::  mg_levels_z              !:
     127    INTEGER(iwp) ::  mg_switch_to_pe0_level_l !:
     128    INTEGER(iwp) ::  nnx_y                    !:
     129    INTEGER(iwp) ::  nnx_z                    !:
     130    INTEGER(iwp) ::  nny_x                    !:
     131    INTEGER(iwp) ::  nny_z                    !:
     132    INTEGER(iwp) ::  nnz_x                    !:
     133    INTEGER(iwp) ::  nnz_y                    !:
     134    INTEGER(iwp) ::  numproc_sqr              !:
     135    INTEGER(iwp) ::  nxl_l                    !:
     136    INTEGER(iwp) ::  nxr_l                    !:
     137    INTEGER(iwp) ::  nyn_l                    !:
     138    INTEGER(iwp) ::  nys_l                    !:
     139    INTEGER(iwp) ::  nzb_l                    !:
     140    INTEGER(iwp) ::  nzt_l                    !:
     141    INTEGER(iwp) ::  omp_get_num_threads      !:
     142
     143    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  ind_all !:
     144    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  nxlf    !:
     145    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  nxrf    !:
     146    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  nynf    !:
     147    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  nysf    !:
     148
     149    INTEGER(iwp), DIMENSION(2) :: pdims_remote          !:
    186150
    187151#if defined( __mpi2 )
    188     LOGICAL ::  found
     152    LOGICAL ::  found                                   !:
    189153#endif
    190154
Note: See TracChangeset for help on using the changeset viewer.