Commit 05cf28de authored by Espen Sollum's avatar Espen Sollum

Updated checks and warning messages for wet deposition parameters given in SPECIES files

parent 61df8d93
......@@ -198,8 +198,8 @@ module com_mod
! WET DEPOSITION
! weta_gas, wetb_gas parameters for below-cloud wet scavenging coefficients (gasses)
! crain_aero, in_aero parameters for in-cloud wet scavenging coefficients (aerosols)
! wetc_in, wetd_in parameters for in-cloud wet scavenging coefficients (aerosols)
! crain_aero, csnow_aero parameters for below-cloud wet scavenging coefficients (aerosols)
! ccn_aero, cin_aero parameters for in-cloud wet scavenging coefficients (aerosols)
! GAS DEPOSITION
! reldiff diffusivitiy of species relative to diff. of H2O
......
......@@ -185,7 +185,7 @@ module par_mod
! Maximum number of particles, species, and similar
!**************************************************
integer,parameter :: maxpart=4000000
integer,parameter :: maxpart=1000000
integer,parameter :: maxspec=1
real,parameter :: minmass=0.0001
......
......@@ -104,21 +104,21 @@ subroutine readpartpositions
close(unitpartin)
open(unitpartin,file=path(2)(1:length(2))//'partposit_end', &
form='unformatted',err=998)
100 read(unitpartin,end=99) itimein
i=0
200 i=i+1
read(unitpartin) npoint(i),xlonin,ylatin,ztra1(i),itramem(i), &
topo,pvi,qvi,rhoi,hmixi,tri,tti,(xmass1(i,j),j=1,nspec)
if (xlonin.eq.-9999.9) goto 100
xtra1(i)=(xlonin-xlon0)/dx
ytra1(i)=(ylatin-ylat0)/dy
numparticlecount=max(numparticlecount,npoint(i))
goto 200
99 numpart=i-1
100 read(unitpartin,end=99) itimein
i=0
200 i=i+1
read(unitpartin) npoint(i),xlonin,ylatin,ztra1(i),itramem(i), &
topo,pvi,qvi,rhoi,hmixi,tri,tti,(xmass1(i,j),j=1,nspec)
if (xlonin.eq.-9999.9) goto 100
xtra1(i)=(xlonin-xlon0)/dx
ytra1(i)=(ylatin-ylat0)/dy
numparticlecount=max(numparticlecount,npoint(i))
goto 200
99 numpart=i-1
close(unitpartin)
......
......@@ -132,7 +132,7 @@ subroutine readpartpositions
! All processes read the whole file
!***************************************
open(unitpartin,file=path(2)(1:length(2))//'partposit_end', &
open(unitpartin,file=path(2)(1:length(2))//'partposit_end', &
form='unformatted',err=998)
100 read(unitpartin,end=99) itimein
......
......@@ -361,32 +361,34 @@ subroutine readreleases
! Check if wet deposition or OH reaction shall be calculated
!***********************************************************
! 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
if (weta_gas(i).gt.0. .or. wetb_gas(i).gt.0.) then ! :TODO: or particle
! ESO 04.2016 check for below-cloud scavenging (gas or aerosol)
if ((dquer(i).le.0..and.(weta_gas(i).gt.0. .or. wetb_gas(i).gt.0.)) .or. &
&(dquer(i).gt.0. .and. (crain_aero(i) .gt. 0. .or. csnow_aero(i).gt.0.))) then
WETDEP=.true.
if (lroot) then
write (*,*) 'Below-cloud scavenging: ON'
! write (*,*) 'Below-cloud scavenging coefficients: ',weta(i),i
write (*,*) ' Below-cloud scavenging: ON'
! write (*,*) 'Below-cloud scavenging coefficients: ',weta(i),i
end if
else
if (lroot) write (*,*) 'Below-cloud scavenging: OFF'
if (lroot) write (*,*) ' Below-cloud scavenging: OFF'
endif
! NIK 31.01.2013 + 10.12.2013 + 15.02.2015
if (ccn_aero(i).gt.0. .or. in_aero(i).gt.0.) then
if (dquer(i).gt.0..and.(ccn_aero(i).gt.0. .or. in_aero(i).gt.0.)) then
WETDEP=.true.
if (lroot) then
write (*,*) 'In-cloud scavenging: ON'
write (*,*) ' In-cloud scavenging: ON'
! write (*,*) 'In-cloud scavenging coefficients: ',&
! &ccn_aero(i),in_aero(i),i !,wetc_in(i), wetd_in(i),i
end if
else
if (lroot) write (*,*) 'In-cloud scavenging: OFF'
if (lroot) write (*,*) ' In-cloud scavenging: OFF'
endif
if (ohcconst(i).gt.0.) then
OHREA=.true.
if (lroot) write (*,*) 'OHreaction switched on: ',ohcconst(i),i
if (lroot) write (*,*) ' OHreaction switched on: ',ohcconst(i),i
endif
if ((reldiff(i).gt.0.).or.(density(i).gt.0.).or.(dryvel(i).gt.0.)) then
......
This diff is collapsed.
......@@ -101,7 +101,7 @@ subroutine timemanager
implicit none
integer :: j,ks,kp,l,n,itime,nstop,nstop1
integer :: j,ks,kp,l,n,itime=0,nstop,nstop1
! integer :: ksp
integer :: loutnext,loutstart,loutend
integer :: ix,jy,ldeltat,itage,nage
......
......@@ -136,10 +136,9 @@ subroutine timemanager
!**********************************************************************
! itime=0
if (lroot.or.mp_dev_mode) then
write(*,45) itime,numpart*mp_partgroup_np,gridtotalunc,wetgridtotalunc,drygridtotalunc
! write(*,46) float(itime)/3600,itime,numpart*mp_partgroup_np
! write(*,45) itime,numpart*mp_partgroup_np,gridtotalunc,wetgridtotalunc,drygridtotalunc
write(*,46) float(itime)/3600,itime,numpart*mp_partgroup_np
if (verbosity.gt.0) then
write (*,*) 'timemanager> starting simulation'
......
......@@ -349,18 +349,17 @@ subroutine wetdepo(itime,ltsample,loutnext)
!ZHG Use the activated fraction and the liqid water to calculate the washout
! AEROSOL
!**************************************************
if (dquer(ks).gt.0.) then ! is particle
!********
if (dquer(ks).gt.0.) then
S_i= frac_act/cl
!*********************
! GAS
else ! is gas
!****
else
cle=(1-cl)/(henry(ks)*(r_air/3500.)*act_temp)+cl
!REPLACE to switch old/ new scheme
! S_i=frac_act/cle
! S_i=frac_act/cle
S_i=1/cle
endif ! gas or particle
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment