Changeset 8a65cb0 in flexpart.git for src/readreleases.f90
- Timestamp:
- Mar 2, 2015, 3:11:55 PM (9 years ago)
- Branches:
- master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
- Children:
- 1d207bb
- Parents:
- 60403cd
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/readreleases.f90
rb7ae015 r8a65cb0 63 63 ! num_min_discrete if less, release cannot be randomized and happens at * 64 64 ! time mid-point of release interval * 65 ! lroot true if serial version, or if MPI and root process * 65 66 ! * 66 67 !***************************************************************************** … … 125 126 126 127 ! prepare namelist output if requested 127 if (nmlout.eqv..true.) then 128 !open(unitreleasesout,file=path(2)(1:length(2))//'RELEASES.namelist',access='append',status='new',err=1000) 129 open(unitreleasesout,file=path(2)(1:length(2))//'RELEASES.namelist',err=1000) 128 if (nmlout.and.lroot) then 129 open(unitreleasesout,file=path(2)(1:length(2))//'RELEASES.namelist',access='append',status='replace',err=1000) 130 130 endif 131 131 … … 259 259 if (stat.ne.0) write(*,*)'ERROR: could not allocate xmasssave' 260 260 261 if (verbosity.gt.0) then 262 write (*,*) 'readreleases> Releasepoints : ', numpoint 263 endif 261 if (lroot) write (*,*) 'Releasepoints : ', numpoint 264 262 265 263 do i=1,numpoint … … 291 289 292 290 ! namelist output 293 if (nmlout. eqv..true.) then291 if (nmlout.and.lroot) then 294 292 write(unitreleasesout,nml=releases_ctrl) 295 293 endif 296 294 297 295 do i=1,nspec 298 if (verbosity.gt.0) then299 print*, 'readreleases> call readspecies', i300 endif301 302 296 if (readerror.ne.0) then 303 297 read(unitreleases,*,err=998) specnum_rel(i) … … 356 350 vsetaver(i)=vsetaver(i)-vset(i,j)*fract(i,j) 357 351 end do 358 write(*,*) 'Average settling velocity: ',i,vsetaver(i)352 if (lroot) write(*,*) 'Average settling velocity: ',i,vsetaver(i) 359 353 endif 360 354 … … 364 358 dryvel(i)=dryvel(i)*0.01 ! conversion to m/s 365 359 366 ! Check if wet deposition or OH reaction shall be calculated 367 !*********************************************************** 368 if (weta(i).gt.0.) then 360 ! Check if wet deposition or OH reaction shall be calculated 361 !*********************************************************** 362 ! NIK 15.02.2015, with new wet dep scheme either A or B parameters can be assigned a positive value which switches on wet dep 363 if (weta(i).gt.0. .or. wetb(i).gt.0.) then 369 364 WETDEP=.true. 370 write (*,*) 'Below-cloud scavenging: ON'371 if (verbosity.gt.0) then372 write (*,*) 'Below-cloud scavenging coefficients: ',weta(i),i373 end if365 if (lroot) then 366 write (*,*) 'Below-cloud scavenging: ON' 367 ! write (*,*) 'Below-cloud scavenging coefficients: ',weta(i),i 368 end if 374 369 else 375 if (verbosity.gt.0) then 376 write (*,*) 'Below-cloud scavenging: OFF' 377 endif 370 if (lroot) write (*,*) 'Below-cloud scavenging: OFF' 378 371 endif 379 372 380 ! NIK 31.01.2013 + 10.12.2013 381 if (weta_in(i).gt.0. ) then373 ! NIK 31.01.2013 + 10.12.2013 + 15.02.2015 374 if (weta_in(i).gt.0. .or. wetb_in(i).gt.0.) then 382 375 WETDEP=.true. 383 write (*,*) 'In-cloud scavenging: ON' 384 if (verbosity.gt.0) then 385 write (*,*) 'In-cloud scavenging coefficients: ',weta_in(i),wetb_in(i), wetc_in(i), wetd_in(i),i 386 endif 387 else 388 if (verbosity.gt.0) then 389 write (*,*) 'In-cloud scavenging: OFF' 390 endif 391 endif 392 393 if (ohreact(i).gt.0) then 376 if (lroot) then 377 write (*,*) 'In-cloud scavenging: ON' 378 write (*,*) 'In-cloud scavenging coefficients: ',& 379 &weta_in(i),wetb_in(i),i !,wetc_in(i), wetd_in(i),i 380 end if 381 else 382 if (lroot) write (*,*) 'In-cloud scavenging: OFF' 383 endif 384 385 if (ohcconst(i).gt.0.) then 394 386 OHREA=.true. 395 write (*,*) 'OHreaction : ON (',ohreact(i),i,')'387 write (*,*) 'OHreaction switched on: ',ohcconst(i),i 396 388 endif 397 389 … … 439 431 440 432 ! namelist output 441 if (nmlout. eqv..true.) then433 if (nmlout.and.lroot) then 442 434 write(unitreleasesout,nml=release) 443 435 endif … … 482 474 483 475 ! namelist output 484 if (nmlout. eqv..true.) then476 if (nmlout.and.lroot) then 485 477 idate1=id1 486 478 itime1=it1 … … 509 501 endif ! if namelist format 510 502 511 512 if (verbosity.gt.1 .and. numpoint.eq.1) then ! verbosity 2 or larger513 write(*,*) 'numpoint=', numpoint514 print*, id1,it1515 print*, id2,it2516 print*, xpoint1(numpoint)517 print*, ypoint1(numpoint)518 print*, xpoint2(numpoint)519 print*, ypoint2(numpoint)520 print*, 'kindz=' , kindz(numpoint)521 print*, zpoint1(numpoint)522 print*, zpoint2(numpoint)523 print*, npart(numpoint)524 do i=1,nspec525 !mass(i)=526 print*, 'xmass=', xmass(numpoint,i)527 end do528 print*, compoint(numpoint)529 endif530 531 532 503 ! If a release point contains no particles, stop and issue error message 533 504 !*********************************************************************** … … 572 543 write(*,*) 'after simulation stops.' 573 544 write(*,*) 'Make files COMMAND and RELEASES consistent.' 574 write(*,*) jul1, ' < ' , bdate575 write(*,*) ' .or. '576 write(*,*) jul2 , ' > ', edate577 578 545 stop 579 546 endif … … 603 570 endif 604 571 605 if (verbosity.gt.1 .and. numpoint.eq.1) then ! verbosity 2 or larger606 print*, 'ireleasestart(',numpoint,')', ireleasestart(numpoint)607 print*, 'ireleaseend(',numpoint,')', ireleaseend(numpoint)608 endif609 610 572 ! Determine the release rate (particles per second) and total number 611 573 ! of particles released during the simulation … … 623 585 250 close(unitreleases) 624 586 625 if (nmlout. eqv..true.) then587 if (nmlout.and.lroot) then 626 588 close(unitreleasesout) 627 589 endif 628 590 629 write (*,*) 'Particles allocated (maxpart) : ',maxpart630 write (*,*) 'Particles released (numpartmax): ',numpartmax591 if (lroot) write (*,*) 'Particles allocated (maxpart) : ',maxpart 592 if (lroot) write (*,*) 'Particles released (numpartmax): ',numpartmax 631 593 numpoint=numpoint-1 632 594 … … 643 605 if (releaserate.gt. & 644 606 0.99*real(maxpart)/real(lage(nageclass))) then 645 if (numpartmax.gt.maxpart ) then607 if (numpartmax.gt.maxpart.and.lroot) then 646 608 write(*,*) '#####################################################' 647 609 write(*,*) '#### FLEXPART MODEL SUBROUTINE READRELEASES: ####'
Note: See TracChangeset
for help on using the changeset viewer.