Ignore:
Timestamp:
Nov 25, 2019 10:43:03 AM (19 months ago)
Author:
banzhafs
Message:

Precision clean-up in drydepo_aero_zhang_vd subroutine in chemistry_model_mod

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/chemistry_model_mod.f90

    r4292 r4304  
    2727! -----------------
    2828! $Id$
     29! Precision clean-up in drydepo_aero_zhang_vd subroutine
     30!
     31! 4292 2019-11-11 13:04:50Z banzhafs
    2932! Bugfix for r4290
    3033!
    31 ! 4290 2019-11-11 12:06:14Z banzhafs $
     34! 4290 2019-11-11 12:06:14Z banzhafs
    3235! Bugfix in sedimentation resistance calculation in drydepo_aero_zhang_vd subroutine
    3336!
     
    56775680!
    56785681!-- acceleration of gravity:
    5679     REAL(wp), PARAMETER         ::  grav = 9.80665   !< m/s2
     5682    REAL(wp), PARAMETER         ::  grav = 9.80665_wp   !< m/s2
    56805683
    56815684!-- sedimentation velocity
     
    57115714!-- constants
    57125715
    5713     REAL(wp), PARAMETER ::  grav     = 9.80665             !< acceleration of gravity (m/s2)
    5714 
    5715     REAL(wp), PARAMETER ::  beta     = 2.0
    5716     REAL(wp), PARAMETER ::  epsilon0 = 3.0
    5717     REAL(wp), PARAMETER ::  kb       = 1.38066e-23
     5716    REAL(wp), PARAMETER ::  grav     = 9.80665_wp             !< acceleration of gravity (m/s2)
     5717
     5718    REAL(wp), PARAMETER ::  beta     = 2.0_wp
     5719    REAL(wp), PARAMETER ::  epsilon0 = 3.0_wp
     5720    REAL(wp), PARAMETER ::  kb       = 1.38066E-23_wp
    57185721    REAL(wp), PARAMETER ::  pi       = 3.141592654_wp      !< pi
    57195722
    57205723    REAL(wp), PARAMETER :: alfa_lu(nlu_dep) = &
    5721          (/1.2,  1.2,   1.2,  1.0,  1.0,   100.0, 1.5,  1.2, 50.0, 100.0, 1.2, 1.0, 100.0, 1.2, 50.0/)   
     5724         (/1.2_wp,  1.2_wp,   1.2_wp,  1.0_wp,  1.0_wp,   100.0_wp, 1.5_wp,  1.2_wp, 50.0_wp, 100.0_wp, &
     5725               1.2_wp, 1.0_wp, 100.0_wp, 1.2_wp, 50.0_wp/)   
    57225726    REAL(wp), PARAMETER :: gamma_lu(nlu_dep) = &
    5723          (/0.54, 0.54,  0.54, 0.56, 0.56,  0.50,  0.56, 0.54, 0.58, 0.50, 0.54, 0.56, 0.50, 0.54, 0.54/)   
     5727         (/0.54_wp, 0.54_wp,  0.54_wp, 0.56_wp, 0.56_wp,  0.50_wp,  0.56_wp, 0.54_wp, 0.58_wp, 0.50_wp, &
     5728              0.54_wp, 0.56_wp, 0.50_wp, 0.54_wp, 0.54_wp/)   
    57245729    REAL(wp), PARAMETER ::A_lu(nlu_dep) = &   
    5725          (/3.0,  3.0,   2.0,  2.0,  7.0,  -99.,   10.0, 3.0, -99., -99.,  3.0, 7.0, -99., 2.0, -99./)
     5730         (/3.0_wp,  3.0_wp,   2.0_wp,  2.0_wp,  7.0_wp, -99.0_wp, 10.0_wp, 3.0_wp, -99.0_wp, -99.0_wp,  &
     5731              3.0_wp, 7.0_wp, -99.0_wp, 2.0_wp, -99.0_wp/)
    57265732!
    57275733!--   grass  arabl crops conif decid  water  urba  othr  desr  ice   sav  trf   wai  med   sem     
     
    57405746    kinvisc = viscos1 / dens1    !< only needed at surface
    57415747
    5742     diff_part = kb * tsurf * slipcor / ( 3 * pi * viscos1 * partsize )
     5748    diff_part = kb * tsurf * slipcor / ( 3.0_wp * pi * viscos1 * partsize )
    57435749!
    57445750!-- Schmidt number
     
    57515757!-- and sticking efficiency R (1 = no rebound)
    57525758    IF ( luc == ilu_ice .OR. nwet==9 .OR. luc == ilu_water_sea .OR. luc == ilu_water_inland )  THEN
    5753        stokes = vs1 * ustar**2 / ( grav * kinvisc )
     5759       stokes = vs1 * ustar**2.0_wp / ( grav * kinvisc )
    57545760       Einterc = 0.0_wp
    57555761       Reffic = 1.0_wp
    57565762    ELSE IF ( luc == ilu_other .OR. luc == ilu_desert )  THEN     !<tundra of desert
    5757        stokes = vs1 * ustar**2 / ( grav * kinvisc )
     5763       stokes = vs1 * ustar**2.0_wp / ( grav * kinvisc )
    57585764       Einterc = 0.0_wp
    57595765       Reffic = exp( -Stokes**0.5_wp )
    57605766    ELSE
    5761        stokes = vs1 * ustar / (grav * A_lu(luc) * 1.E-3)
    5762        Einterc = 0.5_wp * ( partsize / (A_lu(luc) * 1E-3 ) )**2
     5767       stokes = vs1 * ustar / ( grav * A_lu(luc) * 1.0E-3_wp )
     5768       Einterc = 0.5_wp * ( partsize / (A_lu(luc) * 1.0E-3_wp ) )**2.0_wp
    57635769       Reffic = exp( -Stokes**0.5_wp )
    57645770    END IF
Note: See TracChangeset for help on using the changeset viewer.