Changeset 72 for palm/trunk/SOURCE/calc_precipitation.f90
- Timestamp:
- Mar 19, 2007 8:20:46 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/calc_precipitation.f90
r39 r72 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! Precipitation rate and amount are calculated/stored, 7 ! + module control_parameters 7 8 ! 8 9 ! Former revisions: … … 48 49 USE cloud_parameters 49 50 USE constants 51 USE control_parameters 50 52 USE indices 51 53 … … 53 55 54 56 INTEGER :: i, j, k 55 REAL :: precipitation_rate57 REAL :: dqdt_precip 56 58 59 60 precipitation_rate = 0.0 57 61 58 62 DO i = nxl, nxr … … 61 65 62 66 IF ( ql(k,j,i) > ql_crit ) THEN 63 precipitation_rate = prec_time_const * & 64 ( ql(k,j,i) - ql_crit ) 67 dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit ) 65 68 ELSE 66 precipitation_rate= 0.069 dqdt_precip = 0.0 67 70 ENDIF 68 tend(k,j,i) = tend(k,j,i) - precipitation_rate 71 tend(k,j,i) = tend(k,j,i) - dqdt_precip 72 ! 73 !-- Precipitation rate in (kg * 0.001) / m**2 / s (because 1kg 74 !-- gives 1 mm) 75 precipitation_rate(j,i) = precipitation_rate(j,i) + & 76 dqdt_precip * dzw(k) * 0.001 69 77 70 78 ENDDO 79 ! 80 !-- Sum up the precipitation amount (unit kg * 0.001 / m**2) 81 IF ( intermediate_timestep_count == & 82 intermediate_timestep_count_max .AND. & 83 ( dt_do2d_xy-time_do2d_xy ) < precipitation_amount_interval )& 84 THEN 85 precipitation_amount(j,i) = precipitation_amount(j,i) + & 86 precipitation_rate(j,i) * dt_3d 87 ENDIF 71 88 ENDDO 72 89 ENDDO … … 83 100 USE cloud_parameters 84 101 USE constants 102 USE control_parameters 85 103 USE indices 86 104 87 105 IMPLICIT NONE 88 106 89 INTEGER :: i, j, k90 REAL :: precipitation_rate107 INTEGER :: i, j, k 108 REAL :: dqdt_precip 91 109 92 110 111 precipitation_rate(j,i) = 0.0 112 113 ! 114 !-- Ghostpoints are included (although not needed for tend) to avoid a later 115 !-- exchange of these data for the precipitation amount/rate arrays 93 116 DO k = nzb_2d(j,i)+1, nzt 94 117 95 118 IF ( ql(k,j,i) > ql_crit ) THEN 96 precipitation_rate= prec_time_const * ( ql(k,j,i) - ql_crit )119 dqdt_precip = prec_time_const * ( ql(k,j,i) - ql_crit ) 97 120 ELSE 98 precipitation_rate= 0.0121 dqdt_precip = 0.0 99 122 ENDIF 100 tend(k,j,i) = tend(k,j,i) - precipitation_rate 123 tend(k,j,i) = tend(k,j,i) - dqdt_precip 124 125 ! 126 !-- Precipitation rate in (kg * 0.001) / m**2 / s (because 1kg gives 1 mm) 127 ! precipitation_rate(j,i) = precipitation_rate(j,i) + dqdt_precip * & 128 ! dzw(k) * 0.001 129 precipitation_rate(j,i) = 1.0 101 130 102 131 ENDDO 132 133 ! 134 !-- Sum up the precipitation amount (unit kg * 0.001 / m**2) 135 IF ( intermediate_timestep_count == intermediate_timestep_count_max & 136 .AND. ( dt_do2d_xy-time_do2d_xy ) < precipitation_amount_interval )& 137 THEN 138 precipitation_amount(j,i) = precipitation_amount(j,i) + & 139 precipitation_rate(j,i) * dt_3d 140 ENDIF 103 141 104 142 END SUBROUTINE calc_precipitation_ij
Note: See TracChangeset
for help on using the changeset viewer.