source: palm/trunk/SOURCE/lpm_write_exchange_statistics.f90 @ 2000

Last change on this file since 2000 was 2000, checked in by knoop, 8 years ago

Forced header and separation lines into 80 columns

  • Property svn:keywords set to Id
File size: 4.2 KB
RevLine 
[1682]1!> @file lpm_write_exchange_statistics.f90
[2000]2!------------------------------------------------------------------------------!
[1036]3! This file is part of PALM.
4!
[2000]5! PALM is free software: you can redistribute it and/or modify it under the
6! terms of the GNU General Public License as published by the Free Software
7! Foundation, either version 3 of the License, or (at your option) any later
8! version.
[1036]9!
10! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
11! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13!
14! You should have received a copy of the GNU General Public License along with
15! PALM. If not, see <http://www.gnu.org/licenses/>.
16!
[1818]17! Copyright 1997-2016 Leibniz Universitaet Hannover
[2000]18!------------------------------------------------------------------------------!
[1036]19!
[849]20! Current revisions:
21! ------------------
[2000]22! Forced header and separation lines into 80 columns
[1360]23!
[849]24! Former revisions:
25! -----------------
26! $Id: lpm_write_exchange_statistics.f90 2000 2016-08-20 18:09:15Z knoop $
27!
[1823]28! 1822 2016-04-07 07:49:42Z hoffmann
29! Unused variables removed.
30!
[1683]31! 1682 2015-10-07 23:56:08Z knoop
32! Code annotations made doxygen readable
33!
[1360]34! 1359 2014-04-11 17:15:14Z hoffmann
35! New particle structure integrated.
36!
[1321]37! 1320 2014-03-20 08:40:49Z raasch
38! ONLY-attribute added to USE-statements,
39! comment fields (!:) to be used for variable explanations added to
40! all variable declaration statements
41!
[1037]42! 1036 2012-10-22 13:43:42Z raasch
43! code put under GPL (PALM 3.9)
44!
[850]45! 849 2012-03-15 10:35:09Z raasch
46! initial revision (former part of advec_particles)
[849]47!
[850]48!
[849]49! Description:
50! ------------
[1682]51!> Write particle statistics (total particle numbers and number of particles
52!> exchanged between subdomains) on ASCII file.
53!>
54!> @attention Output format of this file could be further improved! At current
55!>            stage it is only a test output.
[849]56!------------------------------------------------------------------------------!
[1682]57 SUBROUTINE lpm_write_exchange_statistics
58 
[849]59
[1359]60    USE control_parameters,                                                    &
[1320]61        ONLY:  current_timestep_number, dt_3d, simulated_time
62
[1359]63    USE indices,                                                               &
64        ONLY:  nxl, nxr, nys, nyn, nzb, nzt
[1320]65
[1359]66    USE particle_attributes,                                                   &
67        ONLY:  grid_particles, maximum_number_of_particles,                    &
[1822]68               number_of_particles, prt_count,                                 &
[1359]69               trlp_count_sum, trlp_count_recv_sum, trnp_count_sum,            &
70               trnp_count_recv_sum, trrp_count_sum, trrp_count_recv_sum,       &
71               trsp_count_sum, trsp_count_recv_sum
72
[849]73    USE pegrid
74
75    IMPLICIT NONE
76
[1682]77    INTEGER(iwp) :: ip         !<
78    INTEGER(iwp) :: jp         !<
79    INTEGER(iwp) :: kp         !<
[849]80
[1359]81!
82!-- Determine maximum number of particles (i.e., all possible particles that
83!-- have been allocated) and the current number of particles
84    number_of_particles         = 0
85    maximum_number_of_particles = 0
86    DO  ip = nxl, nxr
87       DO  jp = nys, nyn
88          DO  kp = nzb+1, nzt
89             number_of_particles = number_of_particles                         &
90                                     + prt_count(kp,jp,ip)
91             maximum_number_of_particles = maximum_number_of_particles         &
92                                     + SIZE(grid_particles(kp,jp,ip)%particles)
93          ENDDO
94       ENDDO
95    ENDDO
96
[849]97    CALL check_open( 80 )
98#if defined( __parallel )
99    WRITE ( 80, 8000 )  current_timestep_number+1, simulated_time+dt_3d, &
100                        number_of_particles, pleft, trlp_count_sum,      &
101                        trlp_count_recv_sum, pright, trrp_count_sum,     &
102                        trrp_count_recv_sum, psouth, trsp_count_sum,     &
103                        trsp_count_recv_sum, pnorth, trnp_count_sum,     &
104                        trnp_count_recv_sum, maximum_number_of_particles
105    CALL close_file( 80 )
106#else
107    WRITE ( 80, 8000 )  current_timestep_number+1, simulated_time+dt_3d, &
108                        number_of_particles, maximum_number_of_particles
109#endif
110
111!
112!-- Formats
[1359]1138000 FORMAT (I6,1X,F7.2,4X,I10,5X,4(I3,1X,I4,'/',I4,2X),6X,I10)
[849]114
115
116 END SUBROUTINE lpm_write_exchange_statistics
Note: See TracBrowser for help on using the repository browser.