source: trunk/LMDZ.GENERIC/libf/phystd/stokes.F90 @ 1351

Last change on this file since 1351 was 1324, checked in by bclmd, 10 years ago

R->8.31

File size: 1.6 KB
Line 
1      subroutine stokes(p,t,rd,w,rho_aer)
2
3!==================================================================
4!     Purpose
5!     -------
6!     Compute the sedimentation velocity in a low pressure
7!     atmosphere.
8!
9!     Authors
10!     -------
11!     Francois Forget (1997)
12!
13!==================================================================
14
15!      use radcommon_h, only : Rgas
16
17      implicit none
18
19#include "comcstfi.h"
20
21!     input
22!     -----
23!     pressure (Pa), Temperature (K), particle radius (m), density
24      real p, t, rd, rho_aer
25
26!     output
27!     ------
28!     sedimentation velocity (m/s, >0)
29      real w
30
31!     locally saved variables
32!     ---------------------
33      real a,b,molrad,visc
34      save a,b
35!$OMP THREADPRIVATE(a,b)
36 
37      LOGICAL firstcall
38      SAVE firstcall
39      DATA firstcall/.true./
40!$OMP THREADPRIVATE(firstcall)
41
42      if (firstcall) then
43
44         !print*,'Routine not working: replace Rgas with r'
45         !stop
46         !a = 0.707*Rgas/(4*pi*molrad**2 * avocado)
47
48         molrad=2.2e-10   ! CO2 (only used in condense_co2cloud at the moment)
49         visc=1.e-5       ! CO2
50
51
52         a = 0.707*8.31/(4*pi*molrad**2 * avocado)
53         b = (2./9.) * rho_aer * g / visc
54        !print*,'molrad=',molrad
55        !print*,'visc=',visc
56        !print*,'a=',a
57        !print*,'b=',b
58        !print*,'rho_aer=',rho_aer
59        !stop
60 
61         firstcall=.false.
62      end if
63
64!     Sedimentation velocity =
65!     Stokes' Law corrected for low pressures by the Cunningham
66!     slip-flow correction according to Rossow (Icarus 36, 1-50, 1978)
67      w = b * rd*rd * (1 + 1.333* (a*T/P)/rd ) 
68      return
69    end subroutine stokes
Note: See TracBrowser for help on using the repository browser.