Changeset 824 for palm/trunk/SOURCE/data_output_ptseries.f90
- Timestamp:
- Feb 17, 2012 9:09:57 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/data_output_ptseries.f90
r623 r824 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! mean particle radius added as output quantity. 7 ! particle attributes speed_x|y|z_sgs renamed rvar1|2|3. 7 8 ! 8 9 ! Former revisions: … … 87 88 pts_value_l(0,7) = pts_value_l(0,7) + particles(n)%speed_y ! mean v 88 89 pts_value_l(0,8) = pts_value_l(0,8) + particles(n)%speed_z ! mean w 89 pts_value_l(0,9) = pts_value_l(0,9) + & 90 particles(n)%speed_x_sgs ! mean sgsu 91 pts_value_l(0,10) = pts_value_l(0,10) + & 92 particles(n)%speed_y_sgs ! mean sgsv 93 pts_value_l(0,11) = pts_value_l(0,11) + & 94 particles(n)%speed_z_sgs ! mean sgsw 90 pts_value_l(0,9) = pts_value_l(0,9) + particles(n)%rvar1 ! mean sgsu 91 pts_value_l(0,10) = pts_value_l(0,10) + particles(n)%rvar2 ! mean sgsv 92 pts_value_l(0,11) = pts_value_l(0,11) + particles(n)%rvar3 ! mean sgsw 95 93 IF ( particles(n)%speed_z > 0.0 ) THEN 96 94 pts_value_l(0,12) = pts_value_l(0,12) + 1.0 ! # of upward moving prts … … 101 99 particles(n)%speed_z ! mean w down 102 100 ENDIF 103 pts_value_l(0,15) = number_of_particles101 pts_value_l(0,15) = pts_value_l(0,15) + particles(n)%radius 104 102 pts_value_l(0,16) = number_of_particles 103 pts_value_l(0,17) = number_of_particles 105 104 106 105 ! … … 120 119 pts_value_l(j,7) = pts_value_l(j,7) + particles(n)%speed_y 121 120 pts_value_l(j,8) = pts_value_l(j,8) + particles(n)%speed_z 122 pts_value_l(j,9) = pts_value_l(j,9) + particles(n)% speed_x_sgs123 pts_value_l(j,10) = pts_value_l(j,10) + particles(n)% speed_y_sgs124 pts_value_l(j,11) = pts_value_l(j,11) + particles(n)% speed_z_sgs121 pts_value_l(j,9) = pts_value_l(j,9) + particles(n)%rvar1 122 pts_value_l(j,10) = pts_value_l(j,10) + particles(n)%rvar2 123 pts_value_l(j,11) = pts_value_l(j,11) + particles(n)%rvar3 125 124 IF ( particles(n)%speed_z > 0.0 ) THEN 126 125 pts_value_l(j,12) = pts_value_l(j,12) + 1.0 … … 129 128 pts_value_l(j,14) = pts_value_l(j,14) + particles(n)%speed_z 130 129 ENDIF 131 pts_value_l(j,15) = pts_value_l(j,15) + 1.0130 pts_value_l(j,15) = pts_value_l(j,15) + particles(n)%radius 132 131 pts_value_l(j,16) = pts_value_l(j,16) + 1.0 132 pts_value_l(j,17) = pts_value_l(j,17) + 1.0 133 133 134 134 ENDIF … … 142 142 143 143 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 144 CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 1 4*inum, MPI_REAL, &144 CALL MPI_ALLREDUCE( pts_value_l(0,1), pts_value(0,1), 15*inum, MPI_REAL, & 145 145 MPI_SUM, comm2d, ierr ) 146 146 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 147 CALL MPI_ALLREDUCE( pts_value_l(0,1 5), pts_value(0,15), inum, MPI_REAL, &147 CALL MPI_ALLREDUCE( pts_value_l(0,16), pts_value(0,16), inum, MPI_REAL, & 148 148 MPI_MAX, comm2d, ierr ) 149 149 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 150 CALL MPI_ALLREDUCE( pts_value_l(0,1 6), pts_value(0,16), inum, MPI_REAL, &150 CALL MPI_ALLREDUCE( pts_value_l(0,17), pts_value(0,17), inum, MPI_REAL, & 151 151 MPI_MIN, comm2d, ierr ) 152 152 #else 153 pts_value(:,1:1 6) = pts_value_l(:,1:16)153 pts_value(:,1:17) = pts_value_l(:,1:17) 154 154 #endif 155 155 … … 167 167 IF ( pts_value(j,1) > 0.0 ) THEN 168 168 169 pts_value(j,2:1 4) = pts_value(j,2:14) / pts_value(j,1)169 pts_value(j,2:15) = pts_value(j,2:15) / pts_value(j,1) 170 170 IF ( pts_value(j,12) > 0.0 .AND. pts_value(j,12) < 1.0 ) THEN 171 171 pts_value(j,13) = pts_value(j,13) / pts_value(j,12) … … 186 186 DO n = 1, number_of_particles 187 187 188 pts_value_l(0,1 7) = pts_value_l(0,17) + ( particles(n)%x - &188 pts_value_l(0,18) = pts_value_l(0,18) + ( particles(n)%x - & 189 189 particles(n)%origin_x - pts_value(0,2) )**2 ! x*2 190 pts_value_l(0,1 8) = pts_value_l(0,18) + ( particles(n)%y - &190 pts_value_l(0,19) = pts_value_l(0,19) + ( particles(n)%y - & 191 191 particles(n)%origin_y - pts_value(0,3) )**2 ! y*2 192 pts_value_l(0, 19) = pts_value_l(0,19) + ( particles(n)%z - &192 pts_value_l(0,20) = pts_value_l(0,20) + ( particles(n)%z - & 193 193 particles(n)%origin_z - pts_value(0,4) )**2 ! z*2 194 pts_value_l(0,2 0) = pts_value_l(0,20) + ( particles(n)%speed_x - &194 pts_value_l(0,21) = pts_value_l(0,21) + ( particles(n)%speed_x - & 195 195 pts_value(0,6) )**2 ! u*2 196 pts_value_l(0,2 1) = pts_value_l(0,21) + ( particles(n)%speed_y - &196 pts_value_l(0,22) = pts_value_l(0,22) + ( particles(n)%speed_y - & 197 197 pts_value(0,7) )**2 ! v*2 198 pts_value_l(0,2 2) = pts_value_l(0,22) + ( particles(n)%speed_z - &198 pts_value_l(0,23) = pts_value_l(0,23) + ( particles(n)%speed_z - & 199 199 pts_value(0,8) )**2 ! w*2 200 pts_value_l(0,2 3) = pts_value_l(0,23) + ( particles(n)%speed_x_sgs- &200 pts_value_l(0,24) = pts_value_l(0,24) + ( particles(n)%rvar1 - & 201 201 pts_value(0,9) )**2 ! u"2 202 pts_value_l(0,2 4) = pts_value_l(0,24) + ( particles(n)%speed_y_sgs- &202 pts_value_l(0,25) = pts_value_l(0,25) + ( particles(n)%rvar2 - & 203 203 pts_value(0,10) )**2 ! v"2 204 pts_value_l(0,2 5) = pts_value_l(0,25) + ( particles(n)%speed_z_sgs- &204 pts_value_l(0,26) = pts_value_l(0,26) + ( particles(n)%rvar3 - & 205 205 pts_value(0,11) )**2 ! w"2 206 206 ! … … 209 209 j = particles(n)%group 210 210 211 pts_value_l(j,1 7) = pts_value_l(j,17) + ( particles(n)%x - &211 pts_value_l(j,18) = pts_value_l(j,18) + ( particles(n)%x - & 212 212 particles(n)%origin_x - pts_value(j,2) )**2 213 pts_value_l(j,1 8) = pts_value_l(j,18) + ( particles(n)%y - &213 pts_value_l(j,19) = pts_value_l(j,19) + ( particles(n)%y - & 214 214 particles(n)%origin_y - pts_value(j,3) )**2 215 pts_value_l(j, 19) = pts_value_l(j,19) + ( particles(n)%z - &215 pts_value_l(j,20) = pts_value_l(j,20) + ( particles(n)%z - & 216 216 particles(n)%origin_z - pts_value(j,4) )**2 217 pts_value_l(j,2 0) = pts_value_l(j,20) + ( particles(n)%speed_x - &217 pts_value_l(j,21) = pts_value_l(j,21) + ( particles(n)%speed_x - & 218 218 pts_value(j,6) )**2 219 pts_value_l(j,2 1) = pts_value_l(j,21) + ( particles(n)%speed_y - &219 pts_value_l(j,22) = pts_value_l(j,22) + ( particles(n)%speed_y - & 220 220 pts_value(j,7) )**2 221 pts_value_l(j,2 2) = pts_value_l(j,22) + ( particles(n)%speed_z - &221 pts_value_l(j,23) = pts_value_l(j,23) + ( particles(n)%speed_z - & 222 222 pts_value(j,8) )**2 223 pts_value_l(j,2 3) = pts_value_l(j,23) + ( particles(n)%speed_x_sgs -&223 pts_value_l(j,24) = pts_value_l(j,24) + ( particles(n)%rvar1 - & 224 224 pts_value(j,9) )**2 225 pts_value_l(j,2 4) = pts_value_l(j,24) + ( particles(n)%speed_y_sgs -&225 pts_value_l(j,25) = pts_value_l(j,25) + ( particles(n)%rvar2 - & 226 226 pts_value(j,10) )**2 227 pts_value_l(j,2 5) = pts_value_l(j,25) + ( particles(n)%speed_z_sgs -&227 pts_value_l(j,26) = pts_value_l(j,26) + ( particles(n)%rvar3 - & 228 228 pts_value(j,11) )**2 229 229 ENDIF … … 231 231 ENDDO 232 232 233 pts_value_l(0,2 6) = ( number_of_particles - pts_value(0,1) / numprocs )**2233 pts_value_l(0,27) = ( number_of_particles - pts_value(0,1) / numprocs )**2 234 234 ! variance of particle numbers 235 235 IF ( number_of_particle_groups > 1 ) THEN 236 236 DO j = 1, number_of_particle_groups 237 pts_value_l(j,2 6) = ( pts_value_l(j,1) - &237 pts_value_l(j,27) = ( pts_value_l(j,1) - & 238 238 pts_value(j,1) / numprocs )**2 239 239 ENDDO … … 246 246 247 247 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 248 CALL MPI_ALLREDUCE( pts_value_l(0,1 7), pts_value(0,17), inum*10, MPI_REAL, &248 CALL MPI_ALLREDUCE( pts_value_l(0,18), pts_value(0,18), inum*10, MPI_REAL, & 249 249 MPI_SUM, comm2d, ierr ) 250 250 #else 251 pts_value(:,1 7:26) = pts_value_l(:,17:26)251 pts_value(:,18:27) = pts_value_l(:,18:27) 252 252 #endif 253 253 … … 264 264 265 265 IF ( pts_value(j,1) > 0.0 ) THEN 266 pts_value(j,1 7:25) = pts_value(j,17:25) / pts_value(j,1)267 ENDIF 268 pts_value(j,2 6) = pts_value(j,26) / numprocs266 pts_value(j,18:26) = pts_value(j,18:26) / pts_value(j,1) 267 ENDIF 268 pts_value(j,27) = pts_value(j,27) / numprocs 269 269 270 270 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.