| 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 |
|---|