source: palm/trunk/SOURCE/init_cloud_physics.f90 @ 398

Last change on this file since 398 was 226, checked in by raasch, 16 years ago

preparations for the next release

  • Property svn:keywords set to Id
File size: 2.4 KB
Line 
1 SUBROUTINE init_cloud_physics
2
3!------------------------------------------------------------------------------!
4! Actual revisions:
5! -----------------
6!
7!
8! Former revisions:
9! ------------------
10! $Id: init_cloud_physics.f90 226 2009-02-02 07:39:34Z raasch $
11!
12! 221 2009-01-12 15:32:23Z raasch
13! Bugfix: abort in case that absolute temperature is below zero
14!
15! 95 2007-06-02 16:48:38Z raasch
16! hydro_press renamed hyp
17!
18! February 2007
19! RCS Log replace by Id keyword, revision history cleaned up
20!
21! Revision 1.5  2005/06/26 19:55:58  raasch
22! Initialization of cloud droplet constants, gas_constant renamed r_d,
23! latent_heat renamed l_v
24!
25! Revision 1.1  2000/04/13 14:37:22  schroeter
26! Initial revision
27!
28!
29! Description:
30! ------------
31! Initialization of parameters for handling cloud-physics
32!------------------------------------------------------------------------------!
33
34    USE arrays_3d
35    USE cloud_parameters
36    USE control_parameters
37    USE grid_variables
38    USE indices
39
40    IMPLICIT NONE
41
42    INTEGER ::  k
43    REAL    ::  t_surface
44
45    ALLOCATE( hyp(nzb:nzt+1), pt_d_t(nzb:nzt+1), t_d_pt(nzb:nzt+1) )
46
47!
48!-- Compute frequently used parameters
49    l_d_cp = l_v / cp
50    l_d_r  = l_v / r_d
51    l_d_rv = l_v / r_v
52
53!
54!-- Constant b in equation for droplet growth by condensation / evaporation.
55!-- Factor 1E-3 is needed because formula is in cgs units
56    mass_of_solute = 1.0E-17            ! in kg
57    molecular_weight_of_solute = 58.5   ! NaCl
58    b_cond = 4.3 * 2.0 * mass_of_solute / molecular_weight_of_solute * 1.0E-6
59
60!
61!-- Calculate:
62!-- pt / t : ratio of potential and actual temperature (pt_d_t)
63!-- t / pt : ratio of actual and potential temperature (t_d_pt)
64!-- p_0(z) : vertical profile of the hydrostatic pressure (hyp)
65    t_surface = pt_surface * ( surface_pressure / 1000.0 )**0.286
66    DO  k = nzb, nzt+1
67!
68!--    Check temperature in case of too large domain height
69       IF ( ( t_surface - g/cp * zu(k) ) < 0.0 )  THEN
70          WRITE( message_string, * )  'absolute temperature < 0.0 at zu(', k, &
71                                      ') = ', zu(k)
72          CALL message( 'init_cloud_physics', 'PA0142', 1, 2, 0, 6, 0 )
73       ENDIF
74       hyp(k)    = surface_pressure * 100.0 * &
75                   ( (t_surface - g/cp * zu(k)) / t_surface )**(1.0/0.286)
76       pt_d_t(k) = ( 100000.0 / hyp(k) )**0.286
77       t_d_pt(k) = 1.0 / pt_d_t(k)       
78    ENDDO
79
80!
81!-- Compute reference density
82    rho_surface = surface_pressure * 100.0 / ( r_d * t_surface )
83
84
85 END SUBROUTINE init_cloud_physics
Note: See TracBrowser for help on using the repository browser.