Commit 598e9dac authored by Espen Sollum's avatar Espen Sollum
Browse files

Updated SPECIES files

parent 5f42c27a
...@@ -375,8 +375,8 @@ subroutine readreleases ...@@ -375,8 +375,8 @@ subroutine readreleases
WETDEP=.true. WETDEP=.true.
if (lroot) then if (lroot) then
write (*,*) 'In-cloud scavenging: ON' write (*,*) 'In-cloud scavenging: ON'
write (*,*) 'In-cloud scavenging coefficients: ',& ! write (*,*) 'In-cloud scavenging coefficients: ',&
&weta_in(i),wetb_in(i),i !,wetc_in(i), wetd_in(i),i ! &weta_in(i),wetb_in(i),i !,wetc_in(i), wetd_in(i),i
end if end if
else else
if (lroot) write (*,*) 'In-cloud scavenging: OFF' if (lroot) write (*,*) 'In-cloud scavenging: OFF'
......
...@@ -261,7 +261,7 @@ subroutine readspecies(id_spec,pos_spec) ...@@ -261,7 +261,7 @@ subroutine readspecies(id_spec,pos_spec)
else !is gas else !is gas
if (lroot) then if (lroot) then
write(*,'(a,f5.2)') ' Gas below-cloud scavenging parameter A ', weta(pos_spec) write(*,*) ' Gas below-cloud scavenging parameter A ', weta(pos_spec)
write(*,'(a,f5.2)') ' Gas below-cloud scavenging parameter B ', wetb(pos_spec) write(*,'(a,f5.2)') ' Gas below-cloud scavenging parameter B ', wetb(pos_spec)
write(*,*) ' Gas in-cloud scavenging uses default values as in Hertel et al 1995' write(*,*) ' Gas in-cloud scavenging uses default values as in Hertel et al 1995'
end if end if
......
...@@ -509,7 +509,7 @@ subroutine verttransform(n,uuh,vvh,wwh,pvh) ...@@ -509,7 +509,7 @@ subroutine verttransform(n,uuh,vvh,wwh,pvh)
! total cloudheight is stored at level 0 ! total cloudheight is stored at level 0
if (readclouds) write(*,*) 'using cloud water from ECMWF' if (readclouds) write(*,*) 'using cloud water from ECMWF'
if (.not.readclouds) write(*,*) 'using cloud water from parameterization' ! if (.not.readclouds) write(*,*) 'using cloud water from parameterization'
rcw(:,:)=0 rcw(:,:)=0
rpc(:,:)=0 rpc(:,:)=0
......
...@@ -263,9 +263,10 @@ subroutine wetdepo(itime,ltsample,loutnext) ...@@ -263,9 +263,10 @@ subroutine wetdepo(itime,ltsample,loutnext)
!*********************** !***********************
if (clouds_v.ge.4) then !below cloud if (clouds_v.ge.4) then !below cloud
if (weta(ks).gt.0. .or. wetb(ks).gt.0) then !if positive below-cloud parameters given in SPECIES file (either A or B) if (weta(ks).gt.0. .or. wetb(ks).gt.0.) then !if positive below-cloud parameters given in SPECIES file (either A or B)
blc_count=blc_count+1 blc_count=blc_count+1
!GAS !GAS
if (dquer(ks) .le. 0.) then !is gas if (dquer(ks) .le. 0.) then !is gas
! Gas scavenging coefficient based on Hertel et al 1995 using the below-cloud scavenging parameters A (=weta) and B (=wetb) from SPECIES file ! Gas scavenging coefficient based on Hertel et al 1995 using the below-cloud scavenging parameters A (=weta) and B (=wetb) from SPECIES file
...@@ -278,13 +279,13 @@ subroutine wetdepo(itime,ltsample,loutnext) ...@@ -278,13 +279,13 @@ subroutine wetdepo(itime,ltsample,loutnext)
dquer_m=dquer(ks)/1000000. !conversion from um to m dquer_m=dquer(ks)/1000000. !conversion from um to m
!ZHG snow or rain removal is applied based on the temperature. !ZHG snow or rain removal is applied based on the temperature.
if (act_temp .ge. 273) then !Rain if (act_temp .ge. 273 .and. weta(ks).gt.0.) then !Rain
!Particle RAIN scavenging coefficient based on Laakso et al 2003, the below-cloud scavenging (rain efficienty) parameter A (=weta) from SPECIES file !Particle RAIN scavenging coefficient based on Laakso et al 2003, the below-cloud scavenging (rain efficienty) parameter A (=weta) from SPECIES file
wetscav= weta(ks)*10**(bclr(1)+ (bclr(2)*(log10(dquer_m))**(-4))+(bclr(3)*(log10(dquer_m))**(-3))+ (bclr(4)* & wetscav= weta(ks)*10**(bclr(1)+ (bclr(2)*(log10(dquer_m))**(-4))+(bclr(3)*(log10(dquer_m))**(-3))+ (bclr(4)* &
(log10(dquer_m))**(-2))+ (bclr(5)*(log10(dquer_m))**(-1))+ bclr(6)* (prec(1))**(0.5)) (log10(dquer_m))**(-2))+ (bclr(5)*(log10(dquer_m))**(-1))+ bclr(6)* (prec(1))**(0.5))
elseif (act_temp .lt. 273) then !snow elseif (act_temp .lt. 273 .and. wetb(ks).gt.0.) then !snow
!Particle SNOW scavenging coefficient based on Kyro et al 2009, the below-cloud scavenging (Snow efficiency) parameter B (=wetb) from SPECIES file !Particle SNOW scavenging coefficient based on Kyro et al 2009, the below-cloud scavenging (Snow efficiency) parameter B (=wetb) from SPECIES file
wetscav= wetb(ks)*10**(bcls(1)+ (bcls(2)*(log10(dquer_m))**(-4))+(bcls(3)*(log10(dquer_m))**(-3))+ (bcls(4)* & wetscav= wetb(ks)*10**(bcls(1)+ (bcls(2)*(log10(dquer_m))**(-4))+(bcls(3)*(log10(dquer_m))**(-3))+ (bcls(4)* &
...@@ -304,46 +305,57 @@ subroutine wetdepo(itime,ltsample,loutnext) ...@@ -304,46 +305,57 @@ subroutine wetdepo(itime,ltsample,loutnext)
!******************** !********************
if (clouds_v.lt.4) then !in-cloud if (clouds_v.lt.4) then !in-cloud
inc_count=inc_count+1 ! NIK 13 may 2015: only do incloud if positive in-cloud scavenging parameters are given in species file
if (weta_in(ks).gt.0. .or. wetb_in(ks).gt.0.) then !if positive in-cloud parameters given in SPECIES file (either Ai or Bi)
!ZHG liquid water parameterization (CLWC+CIWC) ! if negative coefficients (turned off) set to zero for use in equation
if (readclouds) then !get cloud water clwc & ciwc units Kg/Kg if (weta_in(ks).lt.0.) weta_in(ks)=0.
cl=clwc(ix,jy,hz,n)+ciwc(ix,jy,hz,n) if (wetb_in(ks).lt.0.) wetb_in(ks)=0.
else !parameterize cloudwater
cl=2E-7*prec(1)**0.36
endif
! AEROSOL inc_count=inc_count+1
if (dquer(ks).gt. 0.) then ! is particle
if (act_temp .le. 253) then !ZHG liquid water parameterization (CLWC+CIWC)
liq_frac=0 if (readclouds) then !get cloud water clwc & ciwc units Kg/Kg
else if (act_temp .ge. 273) then cl=clwc(ix,jy,hz,n)+ciwc(ix,jy,hz,n)
liq_frac=1 else !parameterize cloudwater
else cl=2E-7*prec(1)**0.36
liq_frac =((act_temp-273)/(273-253))**2
endif endif
if (act_temp .le. 253) then
liq_frac=0
else if (act_temp .ge. 273) then
liq_frac=1
else
liq_frac =((act_temp-273)/(273-253))**2
endif
! ZHG calculate the activated fraction based on the In-cloud scavenging parameters Ai (=weta_in) and Bi (=wetb_in) from SPECIES file ! ZHG calculate the activated fraction based on the In-cloud scavenging parameters Ai (=weta_in) and Bi (=wetb_in) from SPECIES file
! frac_act is the combined IN and CCN efficiency ! frac_act is the combined IN and CCN efficiency
! The default values are 0.9 for CCN and 0.1 IN ! The default values are 0.9 for CCN and 0.1 IN
! This parameterization is based on Verheggen et al. (2007) & Cozich et al. (2006) ! This parameterization is based on Verheggen et al. (2007) & Cozich et al. (2006)
frac_act = liq_frac*weta_in(ks) +(1-liq_frac)*wetb_in(ks) frac_act = liq_frac*weta_in(ks) +(1-liq_frac)*wetb_in(ks)
!ZHG Use the activated fraction and the liqid water to calculate the washout !ZHG Use the activated fraction and the liqid water to calculate the washout
S_i= frac_act/cl
! AEROSOL
if (dquer(ks).gt. 0.) then ! is particle
S_i= frac_act/cl
! GAS ! GAS
else ! is gas else ! is gas
cle=(1-cl)/(henry(ks)*(r_air/3500.)*act_temp)+cl
S_i=1/cle cle=(1-cl)/(henry(ks)*(r_air/3500.)*act_temp)+cl
endif S_i=frac_act/cle
endif ! gas or particle
! scavenging coefficient based on Hertel et al 1995 - using the S_i for either gas or aerosol ! scavenging coefficient based on Hertel et al 1995 - using the S_i for either gas or aerosol
wetscav=S_i*(prec(1)/3.6E6)/clouds_h wetscav=S_i*(prec(1)/3.6E6)/clouds_h
! write(*,*) 'in-cloud, act_temp=',act_temp,',prec=',prec(1),',wetscav=',wetscav,',jpart=',jpart,',clouds_h=,', & ! write(*,*) 'in-cloud, act_temp=',act_temp,',prec=',prec(1),',wetscav=',wetscav,',jpart=',jpart,',clouds_h=,', &
! clouds_h,',cl=',cl, 'diff to old scheme=', cl-2E-7*prec(1)**0.36 ! clouds_h,',cl=',cl, 'diff to old scheme=', cl-2E-7*prec(1)**0.36
endif ! positive in-cloud scavenging parameters given in Species file
endif !incloud endif !incloud
!************************************************** !**************************************************
......
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