source: palm/trunk/SOURCE/calc_liquid_water_content.f90 @ 95

Last change on this file since 95 was 95, checked in by raasch, 14 years ago

further preliminary uncomplete changes for ocean version

  • Property svn:keywords set to Id
File size: 2.0 KB
RevLine 
[1]1 SUBROUTINE calc_liquid_water_content
2
3!------------------------------------------------------------------------------!
4! Actual revisions:
5! -----------------
[95]6! hydro_press renamed hyp
[1]7!
8! Former revisions:
9! -----------------
[3]10! $Id: calc_liquid_water_content.f90 95 2007-06-02 16:48:38Z raasch $
[39]11!
12! 19 2007-02-23 04:53:48Z raasch
13! Old comment removed
14!
[3]15! RCS Log replace by Id keyword, revision history cleaned up
16!
[1]17! Revision 1.5  2005/03/26 15:22:06  raasch
18! Arguments for non-cyclic boundary conditions added to argument list of
19! routine exchange_horiz,
20! ql calculated for the ghost points, exchange of ghost points removed
21!
22! Revision 1.1  2000/04/13 14:50:45  schroeter
23! Initial revision
24!
25!
26!
27! Description:
28! ------------
29! Calculation of the liquid water content (0%-or-100%-scheme)
30!------------------------------------------------------------------------------!
31
32
33    USE arrays_3d
34    USE cloud_parameters
35    USE constants
36    USE grid_variables
37    USE indices
38    USE pegrid
39
40    IMPLICIT NONE
41
42    INTEGER :: i, j, k
43
44    REAL :: alpha, e_s, q_s, t_l
45
46    DO  i = nxl-1, nxr+1
47       DO  j = nys-1, nyn+1
48          DO  k = nzb_2d(j,i)+1, nzt
49
50!
51!--          Compute the liquid water temperature
52             t_l = t_d_pt(k) * pt(k,j,i)
53
54!
55!--          Compute saturation water vapor pressure at t_l
56             e_s = 610.78 * EXP( 17.269 * ( t_l - 273.16 ) / &
57                                          ( t_l - 35.86 ) )
58
59!
60!--          Compute approximation of saturation humidity
[95]61             q_s = 0.622 * e_s / ( hyp(k) - 0.378 * e_s )
[1]62
63!
64!--          Correction factor
65             alpha = 0.622 * l_d_r * l_d_cp / ( t_l * t_l )
66
67!
68!--          Correction of the approximated value
69!--          (see: Cuijpers + Duynkerke, 1993, JAS, 23)
70             q_s = q_s * ( 1.0 + alpha * q(k,j,i) ) / ( 1.0 + alpha * q_s )
71
72!
73!--          Compute the liquid water content
74             IF ( ( q(k,j,i) - q_s ) > 0.0 ) THEN
75                ql(k,j,i) = q(k,j,i) - q_s
76             ELSE
77                ql(k,j,i) = 0.0 
78             ENDIF
79
80          ENDDO
81       ENDDO
82    ENDDO
83   
84 END SUBROUTINE calc_liquid_water_content
Note: See TracBrowser for help on using the repository browser.