Changeset 54cbd6c in flexpart.git for src/timemanager.f90
- Timestamp:
- Sep 30, 2016, 11:01:54 AM (8 years ago)
- Branches:
- master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
- Children:
- 9669e1e
- Parents:
- dced13c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/timemanager.f90
r462f74b r54cbd6c 115 115 real :: xold,yold,zold,xmassfract 116 116 real, parameter :: e_inv = 1.0/exp(1.0) 117 logical :: firstdepocalc 117 118 !double precision xm(maxspec,maxpointspec_act), 118 119 ! + xm_depw(maxspec,maxpointspec_act), … … 171 172 write (*,*) 'timemanager> call wetdepo' 172 173 endif 173 call wetdepo(itime,lsynctime,loutnext )174 call wetdepo(itime,lsynctime,loutnext,.false.) 174 175 endif 175 176 … … 541 542 zold=ztra1(j) 542 543 544 545 ! RECEPTOR: dry/wet depovel 546 !**************************** 547 ! Before the particle is moved 548 ! the calculation of the scavenged mass shall only be done once after release 549 ! xscav_frac1 was initialised with a negative value 550 do ks=1,nspec 551 if (DRYBKDEP.and.(xscav_frac1(j,ks).lt.0)) then 552 if (ks.eq.1) then 553 call advance_rec(itime,npoint(j),idt(j),uap(j),ucp(j),uzp(j), & 554 us(j),vs(j),ws(j),nstop,xtra1(j),ytra1(j),ztra1(j),prob, & 555 cbt(j)) 556 endif 557 if (decay(ks).gt.0.) then ! radioactive decay 558 decfact=exp(-real(abs(lsynctime))*decay(ks)) 559 else 560 decfact=1. 561 endif 562 if (DRYDEPSPEC(ks)) then ! dry deposition 563 drydeposit(ks)=xmass1(j,ks)*prob(ks)*decfact 564 xscav_frac1(j,ks)=xscav_frac1(j,ks)*(-1.)* & 565 drydeposit(ks)/xmass1(j,ks) 566 if (decay(ks).gt.0.) then ! correct for decay (see wetdepo) 567 drydeposit(ks)=drydeposit(ks)* & 568 exp(real(abs(ldeltat))*decay(ks)) 569 endif 570 else 571 xmass1(j,ks)=0 572 xscav_frac1(j,ks)=0. 573 endif 574 endif 575 enddo 576 577 firstdepocalc=.false. 578 do ks=1,nspec 579 if ((WETBKDEP).and.(xscav_frac1(j,ks).lt.0) & 580 .and.firstdepocalc.eqv..false.) then 581 ! Backward wetdeposition and first timestep after release 582 call wetdepo(itime,lsynctime,loutnext,.true.) 583 firstdepocalc=.true. 584 endif 585 enddo 586 543 587 ! Integrate Lagevin equation for lsynctime seconds 544 588 !************************************************* 545 589 546 call advance(itime,npoint(j),idt(j),uap(j),ucp(j),uzp(j), & 547 us(j),vs(j),ws(j),nstop,xtra1(j),ytra1(j),ztra1(j),prob, & 548 cbt(j)) 590 if (verbosity.gt.0) then 591 if (j.eq.1) then 592 write (*,*) 'timemanager> call advance' 593 endif 594 endif 595 call advance(itime,npoint(j),idt(j),uap(j),ucp(j),uzp(j), & 596 us(j),vs(j),ws(j),nstop,xtra1(j),ytra1(j),ztra1(j),prob, & 597 cbt(j)) 549 598 550 599 ! Calculate the gross fluxes across layer interfaces
Note: See TracChangeset
for help on using the changeset viewer.