From b2a216eec43d0bed2985eb7c8b6a98ceeeff7ddf Mon Sep 17 00:00:00 2001
From: lucieb92 <lucie.bakels@univie.ac.at>
Date: Tue, 4 Jun 2024 18:21:11 +0200
Subject: [PATCH] Removed BCSCHEME

Former-commit-id: bb1732decda867c98c7e99cec63247fe4ae3abc9
---
 src/com_mod.f90         |   5 -
 src/par_mod.f90         |   8 --
 src/readoptions_mod.f90 |   4 -
 src/wetdepo_mod.f90     | 212 +++++++++++++---------------------------
 4 files changed, 69 insertions(+), 160 deletions(-)

diff --git a/src/com_mod.f90 b/src/com_mod.f90
index 37a337a9..9e87f459 100644
--- a/src/com_mod.f90
+++ b/src/com_mod.f90
@@ -194,11 +194,6 @@ module com_mod
   integer(selected_int_kind(16)),allocatable,dimension(:) :: icnt_belowcld, &
        &icnt_incld
 
-  integer :: bcscheme ! AT 2021
-  ! = 1 for below cloud scheme of Grythe et al 2017 (based on Laakso and Kyro)
-  ! = 2 for below-cloud scheme of Tipka et al 2023 (based on Wang et al 2014)
-  ! = 3 for below-cloud scheme of Tipka et al 2023 (based on modified Wang et al 2014)
-
   !*********************************************************************
   ! Variables defining the release locations, released species and their
   ! properties, etc.
diff --git a/src/par_mod.f90 b/src/par_mod.f90
index deb503b9..53b482f8 100644
--- a/src/par_mod.f90
+++ b/src/par_mod.f90
@@ -216,14 +216,6 @@ module par_mod
   ! aerosol below-cloud scavenging removal polynomial constants for rain & snow
   !**************************************************************************
 
-  ! for bcscheme = 1
-  ! rain (Laakso et al 2003, figure 7) Size range: 10-510 nm
-  real, parameter :: bclr(6) = &
-      (/274.35758, 332839.59273, 226656.57259, 58005.91340, 6588.38582, 0.244984/)
-  ! snow (Kyro et al 2009) Size range: 10nm-1um
-  real, parameter :: bcls(6) = (/22.7, 0.0, 0.0, 1321.0, 381.0, 0.0/) 
-  
-  ! for bcscheme = 2 & 3
   ! AT (after Wang et al 2014, Table 8)
   ! rain
   real, parameter :: bclr_a(4) = &
diff --git a/src/readoptions_mod.f90 b/src/readoptions_mod.f90
index 3d8366ea..89b38f85 100644
--- a/src/readoptions_mod.f90
+++ b/src/readoptions_mod.f90
@@ -426,8 +426,6 @@ subroutine readcommand
   !     HSO, 1 July 2014                                                       *
   !     Added optional namelist input                                          *
   !                                                                            * 
-  !     June 2023 Anne Tipka                                                   * 
-  !     Added new parameter bcscheme for selcting below cloud scheme           *
   !                                                                            *
   !     January 2024 Rona Thompson                                             *
   !     Added new variables for LCM                                            *
@@ -529,7 +527,6 @@ subroutine readcommand
   maxthreadgrid, &
   maxfilesize, &
   logvertinterp, &
-  bcscheme, &
   ohfields_path, &
   lcmoutput, &
   itsplit  ! deprecated: only for IO back compatibility  
@@ -576,7 +573,6 @@ subroutine readcommand
   maxthreadgrid=1
   maxfilesize=10000
   logvertinterp=0
-  bcscheme=2
   ohfields_path=''
   lcmoutput=0
   itsplit=999999999 ! deprecated: only for IO back compatibility  
diff --git a/src/wetdepo_mod.f90 b/src/wetdepo_mod.f90
index 65da22a7..e13a9c42 100644
--- a/src/wetdepo_mod.f90
+++ b/src/wetdepo_mod.f90
@@ -472,74 +472,40 @@ subroutine get_wetscav_belowcld_aerosol_rain(ks,prec,wetscav)
   ! PS note that solid precip is usually expected for T<Tf, not T<273
   ! also, if freezing/melting point is desired, why not 273.2?
 
-  if (bcscheme .eq. 1) then
-  ! ZHG 2014: Particle rain scavenging coefficient based on Laakso et al 2003, 
-  ! scaling factor Crain (=crain_aero) is read from SPECIES file
-
-  ! Laakso et al. 2003 eq. 6 + 7
-    wetscav = &
-      crain_aero(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**0.5 &
-        )
-          
-  elseif (bcscheme .eq. 2 .or. bcscheme .eq. 3) then
   ! AT parameterization after WANG ET AL 2014   
   !    unit of dquer is in um
   !    unit of precip is in mm/h
-    ! Wang et al. 2014: eq 6+7
-    ldquer = log10(dquer(ks))
-    if (dquer(ks) .le. 2.) then
-     logAd = bclr_a(1)              + &
-             bclr_a(2) * ldquer     + &
-             bclr_a(3) * ldquer**2. + & 
-             bclr_a(4) * ldquer**3.
-       
-     B     = bclr_c(1) + bclr_c(2)*ldquer
-      
-    else ! dquer .gt. 2.
-     logAd = bclr_b(1)              + &
-             bclr_b(2) * ldquer     + &
-             bclr_b(3) * ldquer**2. + &
-             bclr_b(4) * ldquer**3. + &
-             bclr_b(5) * ldquer**4. + &
-             bclr_b(6) * ldquer**5. + &
-             bclr_b(7) * ldquer**6.
-              
-     B    = bclr_e(1)              + &
-            bclr_e(2) * ldquer     + &
-            bclr_e(3) * ldquer**2. + &
-            bclr_e(4) * ldquer**3. + &
-            bclr_e(5) * ldquer**4. + &
-            bclr_e(6) * ldquer**5. + &
-            bclr_e(7) * ldquer**6.
-
-    endif ! dquer
-
-    ! Wang et al. 2014: eq. 4
-    wetscav = 10**(logAd+B*log10(prec))
-
-    if (bcscheme .eq. 3) then
-    ! this is a fix to avoid the scavenging gap
-     ldquer = log10(2.)
-     logAd = bclr_a(1)              + &
-             bclr_a(2) * ldquer     + &
-             bclr_a(3) * ldquer**2. + & 
-             bclr_a(4) * ldquer**3.
-       
-     B     = bclr_c(1) + bclr_c(2)*ldquer
-     
-     wetscavlim = 10**(logAd+B*log10(prec))
-     
-     wetscav = max(wetscav, wetscavlim)
+  ! Wang et al. 2014: eq 6+7
+  ldquer = log10(dquer(ks))
+  if (dquer(ks) .le. 2.) then
+   logAd = bclr_a(1)              + &
+           bclr_a(2) * ldquer     + &
+           bclr_a(3) * ldquer**2. + & 
+           bclr_a(4) * ldquer**3.
      
-    endif
-   
-  endif ! bcscheme Laakso or Wang                  
+   B     = bclr_c(1) + bclr_c(2)*ldquer
+    
+  else ! dquer .gt. 2.
+   logAd = bclr_b(1)              + &
+           bclr_b(2) * ldquer     + &
+           bclr_b(3) * ldquer**2. + &
+           bclr_b(4) * ldquer**3. + &
+           bclr_b(5) * ldquer**4. + &
+           bclr_b(6) * ldquer**5. + &
+           bclr_b(7) * ldquer**6.
+            
+   B    = bclr_e(1)              + &
+          bclr_e(2) * ldquer     + &
+          bclr_e(3) * ldquer**2. + &
+          bclr_e(4) * ldquer**3. + &
+          bclr_e(5) * ldquer**4. + &
+          bclr_e(6) * ldquer**5. + &
+          bclr_e(7) * ldquer**6.
+
+  endif ! dquer
+
+  ! Wang et al. 2014: eq. 4
+  wetscav = 10**(logAd+B*log10(prec))           
 
 end subroutine get_wetscav_belowcld_aerosol_rain
 
@@ -567,90 +533,50 @@ subroutine get_wetscav_belowcld_aerosol_snow(ks,prec,wetscav)
   ! TODO check whether warning is written by readrelease for d > 10 um
   dquer_m = min( 10.e-6, dquer_m )
 
-        
-  if (bcscheme .eq. 1) then
-  ! ZHG 2014 : Particle snow scavenging coefficient based on Kyro et al 2009, 
-  ! scaling factor Csnow (=csnow_aero) is read from SPECIES file
-
-    wetscav = &
-      csnow_aero(ks) * 10**( &
-        bcls(1) + &
-        bcls(2) * log10(dquer_m)**(-4) + &
-        bcls(3) * log10(dquer_m)**(-3) + &
-        bcls(4) * log10(dquer_m)**(-2) + &
-        bcls(5) * log10(dquer_m)**(-1) + &
-        bcls(6) * prec**0.5 &
-        )
-          
-  elseif (bcscheme .eq. 2 .or. bcscheme .eq. 3) then
   ! AT parameterization after WANG ET AL 2014   
   !    unit of dquer is in um
   !    unit of precip is in mm/h
-    ldquer = log10(dquer(ks))
-    ! Wang et al. 2014: eq. 8+9
-    if (dquer(ks) .le. 1.44) then   
-     logAd = bcls_a(1)               + &
-             bcls_a(2)  * ldquer     + &
-             bcls_a(3)  * ldquer**2. + &
-             bcls_a(4)  * ldquer**3. + &
-             bcls_a(5)  * ldquer**4. + &
-             bcls_a(6)  * ldquer**5. + &
-             bcls_a(7)  * ldquer**6.
-       
-     B     = bcls_c(1)              + &
-             bcls_c(2) * ldquer     + &
-             bcls_c(3) * ldquer**2. + &
-             bcls_c(4) * ldquer**3. + &
-             bcls_c(5) * ldquer**4. + &
-             bcls_c(6) * ldquer**5. + &
-             bcls_c(7) * ldquer**6.
-       
-    else ! dquer .gt. 1.44
-     logAd = bcls_b(1)              + &
-             bcls_b(2) * ldquer     + &
-             bcls_b(3) * ldquer**2. + &
-             bcls_b(4) * ldquer**3. + &
-             bcls_b(5) * ldquer**4. + &
-             bcls_b(6) * ldquer**5. + &
-             bcls_b(7) * ldquer**6.
-               
-     B    = bcls_e(1)              + &
-            bcls_e(2) * ldquer     + &
-            bcls_e(3) * ldquer**2. + &
-            bcls_e(4) * ldquer**3. + &
-            bcls_e(5) * ldquer**4. + &
-            bcls_e(6) * ldquer**5. + &
-            bcls_e(7) * ldquer**6.
+  ldquer = log10(dquer(ks))
+  ! Wang et al. 2014: eq. 8+9
+  if (dquer(ks) .le. 1.44) then   
+   logAd = bcls_a(1)               + &
+           bcls_a(2)  * ldquer     + &
+           bcls_a(3)  * ldquer**2. + &
+           bcls_a(4)  * ldquer**3. + &
+           bcls_a(5)  * ldquer**4. + &
+           bcls_a(6)  * ldquer**5. + &
+           bcls_a(7)  * ldquer**6.
      
-    endif ! dquer
-
-    ! Wang et al. 2014: eq. 4
-    wetscav = 10**(logAd+B*log10(prec))
-
-    if (bcscheme .eq. 3) then
-     ldquer = log10(1.44)
-     logAd = bcls_a(1)               + &
-             bcls_a(2)  * ldquer     + &
-             bcls_a(3)  * ldquer**2. + &
-             bcls_a(4)  * ldquer**3. + &
-             bcls_a(5)  * ldquer**4. + &
-             bcls_a(6)  * ldquer**5. + &
-             bcls_a(7)  * ldquer**6.
-       
-     B     = bcls_c(1)              + &
-             bcls_c(2) * ldquer     + &
-             bcls_c(3) * ldquer**2. + &
-             bcls_c(4) * ldquer**3. + &
-             bcls_c(5) * ldquer**4. + &
-             bcls_c(6) * ldquer**5. + &
-             bcls_c(7) * ldquer**6.
+   B     = bcls_c(1)              + &
+           bcls_c(2) * ldquer     + &
+           bcls_c(3) * ldquer**2. + &
+           bcls_c(4) * ldquer**3. + &
+           bcls_c(5) * ldquer**4. + &
+           bcls_c(6) * ldquer**5. + &
+           bcls_c(7) * ldquer**6.
      
-     wetscavlim = 10**(logAd+B*log10(prec))
-     wetscav = max(wetscav, wetscavlim)
-    endif
-     
-  endif ! bcscheme Laakso or Wang
-    
+  else ! dquer .gt. 1.44
+   logAd = bcls_b(1)              + &
+           bcls_b(2) * ldquer     + &
+           bcls_b(3) * ldquer**2. + &
+           bcls_b(4) * ldquer**3. + &
+           bcls_b(5) * ldquer**4. + &
+           bcls_b(6) * ldquer**5. + &
+           bcls_b(7) * ldquer**6.
+             
+   B    = bcls_e(1)              + &
+          bcls_e(2) * ldquer     + &
+          bcls_e(3) * ldquer**2. + &
+          bcls_e(4) * ldquer**3. + &
+          bcls_e(5) * ldquer**4. + &
+          bcls_e(6) * ldquer**5. + &
+          bcls_e(7) * ldquer**6.
+   
+  endif ! dquer
+
+  ! Wang et al. 2014: eq. 4
+  wetscav = 10**(logAd+B*log10(prec))
+
 end subroutine get_wetscav_belowcld_aerosol_snow
 
 subroutine get_wetscav_incld_aerosol(ks,gridfract,prec,cl,cc,t_particle,wetscav)
-- 
GitLab