Changeset b5127f9 in flexpart.git
- Timestamp:
- Aug 4, 2017, 2:18:03 PM (7 years ago)
- Branches:
- master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
- Children:
- 61e07ba, 1d072c0
- Parents:
- 5184a7c
- Location:
- src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
src/init_domainfill.f90
r7999df47 rb5127f9 400 400 end do 401 401 402 ! Reduce numpart if invalid particles at end of arrays 403 do i=numpart, 1, -1 404 if (itra1(i).eq.-999999999) then 405 numpart=numpart-1 406 else 407 exit 408 end if 409 end do 410 402 411 ! If particles shall be read in to continue an existing run, 403 412 ! then the accumulated masses at the domain boundaries must be read in, too. … … 414 423 415 424 416 417 418 425 end subroutine init_domainfill -
src/init_domainfill_mpi.f90
r16b61a5 rb5127f9 370 370 !*********************************************** 371 371 372 ! do j=1,numpart 373 do j=1,npoint(1) 372 do j=1,numpart 374 373 if ((xtra1_tmp(j).lt.0.).or.(xtra1_tmp(j).ge.real(nxmin1)).or. & 375 374 (ytra1_tmp(j).lt.0.).or.(ytra1_tmp(j).ge.real(nymin1))) then … … 475 474 endif 476 475 477 numpart = n part(1)/mp_partgroup_np476 numpart = numpart/mp_partgroup_np 478 477 if (mod(numpart,mp_partgroup_np).ne.0) numpart=numpart+1 479 478 … … 488 487 489 488 ! Distribute particles to other processes (numpart is 'per-process', not total) 490 489 call MPI_Bcast(numpart, 1, MPI_INTEGER, id_root, mp_comm_used, mp_ierr) 491 490 ! eso TODO: xmassperparticle: not necessary to send 492 493 491 call MPI_Bcast(xmassperparticle, 1, mp_sp, id_root, mp_comm_used, mp_ierr) 492 call mpif_send_part_properties(numpart) 494 493 495 494 ! Deallocate the temporary arrays used for all particles 496 495 deallocate(itra1_tmp,npoint_tmp,nclass_tmp,idt_tmp,itramem_tmp,& 497 496 & itrasplit_tmp,xtra1_tmp,ytra1_tmp,ztra1_tmp,xmass1_tmp) 498 497 -
src/mean_mod.f90
r4c64400 rb5127f9 180 180 xq=0._sp 181 181 do i=1,number 182 xl=xl+ x_dp(i)183 xq=xq+ x_dp(i)*x_dp(i)182 xl=xl+real(x_dp(i),kind=sp) 183 xq=xq+real(x_dp(i),kind=sp)*real(x_dp(i),kind=sp) 184 184 end do 185 185 … … 237 237 end do 238 238 239 xm= xl/real(number,kind=sp)239 xm=real(xl,kind=sp)/real(number,kind=sp) 240 240 241 241 xaux=xq-xl*xl/real(number,kind=dp) -
src/mpi_mod.f90
r4c64400 rb5127f9 332 332 ! eso 08/2016: Increase maxpart per process, in case of unbalanced distribution 333 333 maxpart_mpi=int(mp_maxpart_factor*real(maxpart)/real(mp_partgroup_np)) 334 if (mp_np == 1) maxpart_mpi = maxpart 334 335 335 336 ! Do not allocate particle data arrays for readwind process … … 550 551 ! "numpart" is larger than the actual used, so we reduce it if there are 551 552 ! invalid particles at the end of the arrays 553 552 554 601 do i=num_part, 1, -1 553 555 if (itra1(i).eq.-999999999) then … … 559 561 560 562 561 !601 end subroutine mpif_send_part_properties562 563 end subroutine mpif_send_part_properties 563 564 -
src/readavailable.f90
r4c64400 rb5127f9 63 63 integer :: i,idiff,ldat,ltim,wftime1(maxwf),numbwfn(maxnests),k 64 64 integer :: wftime1n(maxnests,maxwf),wftimen(maxnests,maxwf) 65 logical :: lwarntd=.true. 65 66 real(kind=dp) :: juldate,jul,beg,end 66 67 character(len=255) :: fname,spec,wfname1(maxwf),wfspec1(maxwf) … … 241 242 &' 242 243 write(*,*) 'THEREFORE, TRAJECTORIES HAVE TO BE SKIPPED.' 243 else if (idiff.gt.idiffnorm.and.lroot ) then244 else if (idiff.gt.idiffnorm.and.lroot.and.lwarntd) then 244 245 write(*,*) 'FLEXPART WARNING: TIME DIFFERENCE BETWEEN TWO' 245 246 write(*,*) 'WIND FIELDS IS BIG. THIS MAY CAUSE A DEGRADATION' 246 247 write(*,*) 'OF SIMULATION QUALITY.' 248 lwarntd=.false. ! only issue this warning once 247 249 endif 248 250 end do -
src/readcommand.f90
r6985a98 rb5127f9 146 146 ohfields_path="../../flexin/" 147 147 148 !Af set release-switch 149 WETBKDEP=.false. 150 DRYBKDEP=.false. 151 148 152 ! Open the command file and read user options 149 153 ! Namelist input first: try to read as namelist file … … 321 325 ind_samp = 0 322 326 endif 323 !Af set release-switch324 WETBKDEP=.false.325 DRYBKDEP=.false.326 327 select case (ind_receptor) 327 328 case (1) ! 1 .. concentration at receptor -
src/timemanager_mpi.f90
r16b61a5 rb5127f9 773 773 endif 774 774 else 775 xmassfract=1. 775 xmassfract=1.0 776 776 endif 777 777 end do … … 781 781 ! xmass1(j,:)), ' of ', sum(xmass(npoint(j),:)),')' 782 782 itra1(j)=-999999999 783 if (verbosity.gt.0) then 784 print*,'terminated particle ',j,' for small mass' 785 endif 783 786 endif 784 787
Note: See TracChangeset
for help on using the changeset viewer.